feat: v0.1.0 — client Sailfish per hermes-webui con voce
- ApiClient HTTP/SSE: login, sessioni, chat/start, stream SSE, transcribe, tts - ChatModel: streaming live + risincronizzazione dallo stato del server - CookieJar persistente (0600, mai la password); Settings - Recorder OGG/Opus (fallback WAV/PCM, retry); Player TTS (QMediaPlayer) - UI Silica: splash, login, sessioni, chat (dettatura + read-aloud), settings, cover - Sailjail Internet;Audio;Microphone; icone; spec RPM; docs PROTOCOL/BUILD - tests/core_test: unit parser SSE + integrazione live (probe :8899)
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import QtQuick 2.0
|
||||
import Sailfish.Silica 1.0
|
||||
|
||||
// Avvio: verifica lo stato dell'autenticazione (cookie persistito) e
|
||||
// indirizza verso la lista sessioni o il login.
|
||||
Page {
|
||||
id: page
|
||||
|
||||
Column {
|
||||
anchors.centerIn: parent
|
||||
spacing: Theme.paddingLarge
|
||||
width: parent.width - 2 * Theme.horizontalPageMargin
|
||||
|
||||
Label {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
text: "Hermes"
|
||||
font.pixelSize: Theme.fontSizeHuge
|
||||
color: Theme.highlightColor
|
||||
}
|
||||
|
||||
BusyIndicator {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
size: BusyIndicatorSize.Large
|
||||
running: true
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: api
|
||||
onAuthChecked: page.route(loggedIn)
|
||||
}
|
||||
|
||||
Component.onCompleted: api.checkAuth()
|
||||
|
||||
function route(loggedIn) {
|
||||
if (loggedIn)
|
||||
pageStack.replace(Qt.resolvedUrl("SessionsPage.qml"))
|
||||
else
|
||||
pageStack.replace(Qt.resolvedUrl("LoginPage.qml"))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user