init
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import "../components"
|
||||
|
||||
Item {
|
||||
id: page
|
||||
|
||||
property var status: ({ state: "idle" })
|
||||
|
||||
function stateText(s) {
|
||||
switch (s) {
|
||||
case "staging": return "Распаковка пакета…"
|
||||
case "switching": return "Переключение версии…"
|
||||
case "health_check": return "Проверка работоспособности…"
|
||||
case "success": return "Обновление успешно применено"
|
||||
case "rolledback": return "Запуск новой версии не удался — выполнен откат"
|
||||
case "rollback_done": return "Откат выполнен"
|
||||
case "error": return "Ошибка обновления"
|
||||
default: return "Готово к обновлению"
|
||||
}
|
||||
}
|
||||
|
||||
function reload() {
|
||||
status = systemInfo.updateStatus()
|
||||
systemInfo.refresh()
|
||||
}
|
||||
|
||||
Component.onCompleted: reload()
|
||||
|
||||
Timer {
|
||||
interval: 2500
|
||||
running: true
|
||||
repeat: true
|
||||
onTriggered: page.reload()
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 8
|
||||
spacing: 12
|
||||
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
Button { text: "\u2190 Назад"; onClicked: page.StackView.view.pop() }
|
||||
Label {
|
||||
Layout.fillWidth: true
|
||||
text: "Обновление ПО"
|
||||
font.bold: true
|
||||
font.pixelSize: 16
|
||||
color: settingsContainer.darkMode ? "white" : "black"
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
}
|
||||
Button { text: "\u21BB"; onClicked: page.reload() }
|
||||
}
|
||||
|
||||
Text {
|
||||
Layout.fillWidth: true
|
||||
text: "Текущая версия: " + systemInfo.currentVersion
|
||||
color: settingsContainer.darkMode ? "white" : "black"
|
||||
font.pixelSize: 14
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: stTxt.implicitHeight + 20
|
||||
radius: 6
|
||||
color: settingsContainer.darkMode ? "#40222c58" : "#40ffffff"
|
||||
border.color: settingsContainer.darkMode ? "#80ffffff" : "#80000000"
|
||||
border.width: 1
|
||||
Text {
|
||||
id: stTxt
|
||||
anchors.fill: parent
|
||||
anchors.margins: 10
|
||||
text: "Статус: " + page.stateText(page.status.state)
|
||||
+ (page.status.message ? "\n" + page.status.message : "")
|
||||
color: settingsContainer.darkMode ? "white" : "black"
|
||||
wrapMode: Text.Wrap
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
Layout.fillWidth: true
|
||||
text: "Загрузка нового пакета ПО выполняется через веб-конфигуратор. После применения выполняется проверка запуска; при ошибке произойдёт автоматический откат на предыдущую версию."
|
||||
color: settingsContainer.darkMode ? "#cccccc" : "#444444"
|
||||
font.pixelSize: 12
|
||||
wrapMode: Text.Wrap
|
||||
}
|
||||
|
||||
Item { Layout.fillHeight: true }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user