2021-08-30 09:50:45 +00:00
import QtQuick 2.14
2021-10-27 21:27:49 +00:00
import shared 1.0
import shared . panels 1.0
2021-09-28 15:04:06 +00:00
2022-09-08 12:46:28 +00:00
import StatusQ . Core 0.1
2022-03-14 19:32:52 +00:00
import StatusQ . Core . Utils 0.1 as StatusQUtils
2022-04-01 11:46:32 +00:00
import StatusQ . Components 0.1
2021-09-28 15:04:06 +00:00
import utils 1.0
2020-07-15 21:04:14 +00:00
2021-01-25 20:01:00 +00:00
Column {
2021-10-21 22:39:53 +00:00
id: root
2021-01-25 20:01:00 +00:00
spacing: Style . current . padding
2020-07-15 21:04:14 +00:00
anchors.horizontalCenter: parent . horizontalCenter
2021-08-30 09:50:45 +00:00
topPadding: visible ? Style.current.bigPadding : 0
bottomPadding: visible ? 50 : 0
2020-07-15 21:04:14 +00:00
2022-01-27 18:10:21 +00:00
property bool amIChatAdmin: false
2021-12-10 16:11:18 +00:00
property string chatName: ""
2022-04-01 11:46:32 +00:00
property string chatId: ""
2021-12-10 16:11:18 +00:00
property int chatType: - 1
property string chatColor: ""
2022-03-14 19:32:52 +00:00
property string chatEmoji: ""
2021-12-10 16:11:18 +00:00
property string chatIcon: ""
2021-10-21 22:39:53 +00:00
2022-04-01 11:46:32 +00:00
StatusSmartIdenticon {
2022-08-15 11:43:38 +00:00
objectName: "channelIdentifierSmartIdenticon"
2020-07-15 21:04:14 +00:00
anchors.horizontalCenter: parent . horizontalCenter
2022-04-01 11:46:32 +00:00
name: root . chatName
2022-08-11 11:55:08 +00:00
asset {
2020-07-15 21:04:14 +00:00
width: 120
height: 120
2022-04-07 19:05:33 +00:00
color: root . chatType === Constants . chatType . oneToOne ? Utils . colorForPubkey ( root . chatId ) : root . chatColor
2022-04-01 11:46:32 +00:00
emoji: root . chatEmoji
2022-08-11 11:55:08 +00:00
name: root . chatIcon
isImage: true
2022-04-01 11:46:32 +00:00
charactersLen: root . chatType === Constants . chatType . oneToOne ? 2 : 1
2020-07-15 21:04:14 +00:00
}
2022-04-01 11:46:32 +00:00
ringSettings.ringSpecModel: root . chatType === Constants . chatType . oneToOne ? Utils . getColorHashAsJson ( root . chatId ) : undefined
2020-07-15 21:04:14 +00:00
}
StyledText {
id: channelName
2022-07-21 16:16:25 +00:00
objectName: "channelIdentifierNameText"
2022-09-21 09:57:08 +00:00
width: parent . width
2020-07-15 21:04:14 +00:00
wrapMode: Text . Wrap
2021-12-10 16:11:18 +00:00
text: root . chatName
2020-07-15 21:04:14 +00:00
font.weight: Font . Bold
font.pixelSize: 22
2020-07-17 11:36:36 +00:00
color: Style . current . textColor
2022-09-21 09:57:08 +00:00
horizontalAlignment: Text . AlignHCenter
2020-07-15 21:04:14 +00:00
}
2022-09-08 12:46:28 +00:00
StatusBaseText {
2021-04-28 17:33:10 +00:00
id: descText
2022-09-08 12:46:28 +00:00
width: parent . width
2021-04-28 17:33:10 +00:00
wrapMode: Text . Wrap
text: {
2021-12-10 16:11:18 +00:00
switch ( root . chatType ) {
case Constants.chatType.privateGroupChat:
2022-04-04 11:26:30 +00:00
return qsTr ( "Welcome to the beginning of the <span style='color: %1'>%2</span> group!" ) . arg ( Style . current . textColor ) . arg ( root . chatName ) ;
2022-09-08 12:46:28 +00:00
case Constants.chatType.communityChat:
return qsTr ( "Welcome to the beginning of the <span style='color: %1'>#%2</span> channel!" ) . arg ( Style . current . textColor ) . arg ( root . chatName ) ;
2021-12-10 16:11:18 +00:00
case Constants.chatType.oneToOne:
2022-04-04 11:26:30 +00:00
return qsTr ( "Any messages you send here are encrypted and can only be read by you and <span style='color: %1'>%2</span>" ) . arg ( Style . current . textColor ) . arg ( root . chatName )
2021-04-28 17:33:10 +00:00
default: return "" ;
2020-08-07 21:36:35 +00:00
}
}
2021-04-28 17:33:10 +00:00
font.pixelSize: Style . current . primaryTextFontSize
color: Style . current . secondaryText
horizontalAlignment: Text . AlignHCenter
textFormat: Text . RichText
2020-08-07 21:36:35 +00:00
}
2020-07-15 21:04:14 +00:00
}