mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-30 16:54:57 +00:00
feat(styles): create global styles entry point and organize global styles feat(styles): implement base HTML element styles and utility classes for flexbox feat(styles): establish layout, position, spacing, and text utility classes feat(styles): introduce mixins for animations, cards, dialogs, flexbox, grid, and responsive design test(quick_guide): add component and metadata validation tests for quick_guide package test(ui_level6): implement metadata validation tests for ui_level6 package
58 lines
1.4 KiB
QML
58 lines
1.4 KiB
QML
import QtQuick
|
|
import QtQuick.Controls
|
|
import QtQuick.Layouts
|
|
|
|
Item {
|
|
id: emptyState
|
|
|
|
property string icon: "📭"
|
|
property string title: "Nothing here"
|
|
property string description: ""
|
|
property string actionText: ""
|
|
|
|
signal actionClicked()
|
|
|
|
implicitWidth: 300
|
|
implicitHeight: contentColumn.implicitHeight
|
|
|
|
ColumnLayout {
|
|
id: contentColumn
|
|
anchors.centerIn: parent
|
|
spacing: 16
|
|
|
|
Text {
|
|
Layout.alignment: Qt.AlignHCenter
|
|
text: emptyState.icon
|
|
font.pixelSize: 48
|
|
opacity: 0.5
|
|
}
|
|
|
|
Text {
|
|
Layout.alignment: Qt.AlignHCenter
|
|
text: emptyState.title
|
|
font.pixelSize: 16
|
|
font.weight: Font.Medium
|
|
color: "#888888"
|
|
}
|
|
|
|
Text {
|
|
Layout.alignment: Qt.AlignHCenter
|
|
Layout.maximumWidth: 240
|
|
text: emptyState.description
|
|
font.pixelSize: 13
|
|
color: "#666666"
|
|
horizontalAlignment: Text.AlignHCenter
|
|
wrapMode: Text.WordWrap
|
|
visible: emptyState.description
|
|
}
|
|
|
|
CButton {
|
|
Layout.alignment: Qt.AlignHCenter
|
|
text: emptyState.actionText
|
|
variant: "primary"
|
|
visible: emptyState.actionText
|
|
onClicked: emptyState.actionClicked()
|
|
}
|
|
}
|
|
}
|