mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-06 05:25:41 -05:00
114 lines
3.1 KiB
QML
114 lines
3.1 KiB
QML
import QtQuick
|
|
import qs.Common
|
|
import qs.Services
|
|
import qs.Widgets
|
|
|
|
Rectangle {
|
|
id: root
|
|
|
|
property bool editMode: false
|
|
|
|
signal powerButtonClicked()
|
|
signal lockRequested()
|
|
signal editModeToggled()
|
|
signal settingsButtonClicked()
|
|
|
|
implicitHeight: 70
|
|
radius: Theme.cornerRadius
|
|
color: Theme.surfaceContainerHigh
|
|
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g,
|
|
Theme.outline.b, 0.08)
|
|
border.width: 0
|
|
|
|
Row {
|
|
anchors.left: parent.left
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.leftMargin: Theme.spacingL
|
|
anchors.rightMargin: Theme.spacingL
|
|
spacing: Theme.spacingM
|
|
|
|
DankCircularImage {
|
|
id: avatarContainer
|
|
|
|
width: 60
|
|
height: 60
|
|
imageSource: {
|
|
if (PortalService.profileImage === "")
|
|
return ""
|
|
|
|
if (PortalService.profileImage.startsWith("/"))
|
|
return "file://" + PortalService.profileImage
|
|
|
|
return PortalService.profileImage
|
|
}
|
|
fallbackIcon: "person"
|
|
}
|
|
|
|
Column {
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
spacing: 2
|
|
|
|
Typography {
|
|
text: UserInfoService.fullName
|
|
|| UserInfoService.username || "User"
|
|
style: Typography.Style.Subtitle
|
|
color: Theme.surfaceText
|
|
}
|
|
|
|
Typography {
|
|
text: (UserInfoService.uptime || "Unknown")
|
|
style: Typography.Style.Caption
|
|
color: Theme.surfaceVariantText
|
|
}
|
|
}
|
|
}
|
|
|
|
Row {
|
|
id: actionButtonsRow
|
|
anchors.right: parent.right
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
anchors.rightMargin: Theme.spacingXS
|
|
spacing: Theme.spacingXS
|
|
|
|
DankActionButton {
|
|
buttonSize: 36
|
|
iconName: "lock"
|
|
iconSize: Theme.iconSize - 4
|
|
iconColor: Theme.surfaceText
|
|
backgroundColor: "transparent"
|
|
onClicked: {
|
|
root.lockRequested()
|
|
}
|
|
}
|
|
|
|
DankActionButton {
|
|
buttonSize: 36
|
|
iconName: "power_settings_new"
|
|
iconSize: Theme.iconSize - 4
|
|
iconColor: Theme.surfaceText
|
|
backgroundColor: "transparent"
|
|
onClicked: root.powerButtonClicked()
|
|
}
|
|
|
|
DankActionButton {
|
|
buttonSize: 36
|
|
iconName: "settings"
|
|
iconSize: Theme.iconSize - 4
|
|
iconColor: Theme.surfaceText
|
|
backgroundColor: "transparent"
|
|
onClicked: {
|
|
root.settingsButtonClicked()
|
|
settingsModal.show()
|
|
}
|
|
}
|
|
|
|
DankActionButton {
|
|
buttonSize: 36
|
|
iconName: editMode ? "done" : "edit"
|
|
iconSize: Theme.iconSize - 4
|
|
iconColor: editMode ? Theme.primary : Theme.surfaceText
|
|
backgroundColor: "transparent"
|
|
onClicked: root.editModeToggled()
|
|
}
|
|
}
|
|
} |