Files
z-bar-qt/Modules/Notifications/Sidebar/Content.qml
T

92 lines
1.5 KiB
QML

pragma ComponentBehavior: Bound
import ZShell.Config
import ZShell.Llm
import QtQuick
import QtQuick.Layouts
import qs.Components
import qs.Modules.Notifications.Sidebar.Chat
import qs.Services
Item {
id: root
required property Props props
required property var visibilities
ColumnLayout {
id: layout
anchors.fill: parent
spacing: Tokens.spacing.small
Tabs {
Layout.fillWidth: true
dashState: root.props
nonAnimWidth: layout.width
}
CustomClippingRect {
Layout.fillHeight: true
Layout.fillWidth: true
radius: Tokens.rounding.small
Item {
id: pages
anchors.fill: parent
opacity: root.props.currentTab === 0 ? 1 : 0
visible: opacity > 0.01
Behavior on opacity {
Anim {
}
}
CustomRect {
anchors.fill: parent
color: Colors.tPalette.m3surfaceContainerLow
radius: Tokens.rounding.small
NotifDock {
props: root.props
visibilities: root.visibilities
}
}
}
Item {
id: chatPage
anchors.fill: parent
opacity: visible ? 1 : 0
visible: root.props.currentTab === 1
z: 1
Behavior on opacity {
Anim {
}
}
CustomRect {
anchors.fill: parent
color: Colors.tPalette.m3surfaceContainerLow
radius: Tokens.rounding.small
ChatPanel {
anchors.fill: parent
props: root.props
}
}
}
}
CustomRect {
Layout.fillWidth: true
Layout.topMargin: Tokens.padding.small - layout.spacing
color: Colors.tPalette.m3outlineVariant
implicitHeight: 1
}
}
}