nosignal-shell/modules/lock/Center.qml
2026-05-29 00:47:35 +08:00

52 lines
1.3 KiB
QML

import "center"
import QtQuick
import QtQuick.Layouts
import Caelestia.Config
import qs.components
import qs.services
ColumnLayout {
id: root
required property var lock
readonly property real centerScale: Math.min(1, (lock.screen?.height ?? 1440) / 1440)
readonly property int centerWidth: Tokens.sizes.lock.centerWidth * centerScale
Layout.preferredWidth: centerWidth
Layout.fillWidth: false
Layout.fillHeight: true
spacing: Tokens.spacing.largeIncreased
Clock {
Layout.alignment: Qt.AlignHCenter
Layout.topMargin: Tokens.padding.large
centerScale: root.centerScale
}
StyledText {
Layout.alignment: Qt.AlignHCenter
text: Time.format("dddd • d MMM").toUpperCase()
color: Colours.palette.m3onSurface
font: Tokens.font.title.builders.medium.weight(Font.DemiBold).build()
}
ProfilePic {
Layout.alignment: Qt.AlignHCenter
Layout.topMargin: Tokens.spacing.largeIncreased
Layout.bottomMargin: Tokens.spacing.medium
centerWidth: root.centerWidth
}
PasswordInput {
Layout.alignment: Qt.AlignHCenter
centerWidth: root.centerWidth
lock: root.lock
}
StateMessage {
Layout.fillWidth: true
pam: root.lock.pam
}
}