start initial work on detaching chat to floating window

This commit is contained in:
2026-08-20 20:24:54 +02:00
parent 9657e5092a
commit 37c6a9986e
9 changed files with 190 additions and 29 deletions
@@ -8,6 +8,7 @@ import qs.Services
CustomRect {
id: root
required property Item chatItem
property alias layout: layout
required property ChatSession modelData
@@ -20,6 +21,7 @@ CustomRect {
anchors.left: parent.left
anchors.leftMargin: Tokens.padding.large
anchors.verticalCenter: parent.verticalCenter
color: root.chatItem.ListView.isCurrentItem ? Colors.palette.m3onPrimary : Colors.palette.m3onSurface
font.pointSize: Tokens.font.size.extraLarge
text: root.modelData.icon || "check"
}
@@ -48,6 +50,7 @@ CustomRect {
CustomText {
id: title
color: root.chatItem.ListView.isCurrentItem ? Colors.palette.m3onPrimary : Colors.palette.m3onSurface
text: root.modelData.title
}
@@ -57,7 +60,7 @@ CustomRect {
anchors.left: title.right
anchors.leftMargin: Tokens.spacing.small
anchors.verticalCenter: title.verticalCenter
color: Colors.palette.m3onSurfaceVariant
color: root.chatItem.ListView.isCurrentItem ? Qt.alpha(Colors.palette.m3onPrimary, 0.9) : Colors.palette.m3onSurfaceVariant
text: "•"
visible: titleContainer.enoughSpace
}
@@ -70,7 +73,7 @@ CustomRect {
anchors.top: titleContainer.enoughSpace ? undefined : title.bottom
anchors.topMargin: Tokens.spacing.extraSmall
anchors.verticalCenter: titleContainer.enoughSpace ? title.verticalCenter : undefined
color: Colors.palette.m3onSurfaceVariant
color: root.chatItem.ListView.isCurrentItem ? Qt.alpha(Colors.palette.m3onPrimary, 0.9) : Colors.palette.m3onSurfaceVariant
font.pointSize: Tokens.font.size.small
text: root.modelData.updatedAt.toLocaleString(Qt.locale("en_US"), "MMM d, yyyy - h:mm AP")
}
@@ -78,7 +81,7 @@ CustomRect {
CustomText {
Layout.fillWidth: true
color: Colors.palette.m3outline
color: root.chatItem.ListView.isCurrentItem ? Qt.alpha(Colors.palette.m3onPrimary, 0.9) : Colors.palette.m3onSurfaceVariant
elide: Text.ElideRight
font.pointSize: Tokens.font.size.small
maximumLineCount: 1