34 lines
830 B
QML
34 lines
830 B
QML
pragma Singleton
|
|
|
|
import QtQuick
|
|
import Quickshell
|
|
import ZShell.Llm
|
|
import qs.Services
|
|
|
|
Singleton {
|
|
id: root
|
|
|
|
property ChatSession chatSession: LlmClient.chats.draft()
|
|
readonly property string title: chatSession?.title || "Chat"
|
|
property int currentIdx: -1
|
|
property bool firstOpen: true
|
|
property bool inChat: false
|
|
property bool fabExpanded: false
|
|
property bool isWindow: false
|
|
property bool isWide: false
|
|
property bool settledSlim: false
|
|
property bool settledWide: false
|
|
property bool narrowSidebarExpanded: false
|
|
property bool windowIsWide: false
|
|
property ShellScreen screen
|
|
property bool sidebarVisible: ShellState.forActive().sidebar
|
|
|
|
function openDraft(): void {
|
|
root.chatSession = LlmClient.chats.draft();
|
|
root.currentIdx = -1;
|
|
}
|
|
|
|
onSidebarVisibleChanged: if (!sidebarVisible)
|
|
fabExpanded = false
|
|
}
|