summaryrefslogtreecommitdiff
path: root/ChatGroup.ui.qml
blob: d8160b9df6c67f7263e02feda4ba6649cd892e80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import QtGraphicalEffects 1.15

Page {
    property string titleText: qsTr("Bootstrap Community")

    header: ToolBar {
        Label {
            text: titleText
            anchors.centerIn: parent
        }
    }

    ListView {
        id: listView
        anchors {
            fill: parent
            leftMargin: 20
            rightMargin: 20
        }
        model: [11, 1, 6, 1, 11, 1, 7, 1, 11, 1]
        delegate: Item {
            width: listView.width
            height: message.height + 16

            ColumnLayout {
                id: message
                width: parent.width
                layoutDirection: modelData === 1 ? Qt.RightToLeft : Qt.LeftToRight
                anchors {
                    left: modelData !== 1 ? messageAvatar.right : undefined
                    right: modelData === 1 ? messageAvatar.left : undefined
                    bottom: parent.bottom
                }
                spacing: 8

                Label {
                    id: messageText
                    text: qsTr("Hey, Marshall! How are you? Can you please change the color theme of the website to pink and purple? 😂")
                    wrapMode: Text.Wrap
                    rightPadding: 20
                    leftPadding: 20
                    bottomPadding: 16
                    topPadding: 16
                    Layout.maximumWidth: parent.width - (messageAvatar.width + 16)
                    background: Rectangle {
                        radius: 16
                        color: modelData == 1 ? "#2787f5" : "#95aac9"
                    }
                }

                Label {
                    id: messageTimestamp
                    text: qsTr("08:45 PM")
                }
            }

            Image {
                id: messageAvatar
                anchors {
                    left: modelData !== 1 ? parent.left : undefined
                    right: modelData === 1 ? parent.right : undefined
                    bottom: parent.bottom
                }
                source: "https://offsetcode.com/themes/messenger/2.2.0/assets/img/avatars/"
                        + modelData + ".jpg"
                sourceSize {
                    width: 26
                    height: 26
                }
                layer {
                    enabled: true
                    effect: OpacityMask {
                        maskSource: Rectangle {
                            width: 26
                            height: 26
                            radius: 13
                        }
                    }
                }
            }
        }
    }

    footer: Pane {
        RowLayout {
            width: parent.width
            Rectangle {
                color: "#ebf1f7"
                anchors.fill: parent
                radius: 100
            }

            TextArea {
                id: messageField
                Layout.fillWidth: true
                placeholderText: qsTr("Type your message...")
                wrapMode: TextArea.Wrap
                Layout.leftMargin: 16
            }

            RoundButton {
                id: sendButton
                text: qsTr("Send")
                icon.source: "../qeduport/Material/svg/outlined/send.svg"
                display: AbstractButton.IconOnly
                Layout.margins: 8
                enabled: messageField.length > 0
            }
        }
    }
}