From 587760810cd22e57168caf369da6e6488ad6023a Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Fri, 2 May 2025 23:13:09 +1000 Subject: feat: launcher empty placeholder --- modules/launcher/EmptyIndicator.qml | 62 +++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 modules/launcher/EmptyIndicator.qml (limited to 'modules/launcher/EmptyIndicator.qml') diff --git a/modules/launcher/EmptyIndicator.qml b/modules/launcher/EmptyIndicator.qml new file mode 100644 index 0000000..9593a2e --- /dev/null +++ b/modules/launcher/EmptyIndicator.qml @@ -0,0 +1,62 @@ +import "root:/widgets" +import "root:/config" +import QtQuick + +Loader { + id: root + + required property bool empty + + active: false + opacity: 0 + scale: 0 + asynchronous: true + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + + sourceComponent: Item { + implicitWidth: childrenRect.width + implicitHeight: icon.height + + MaterialIcon { + id: icon + + text: "manage_search" + color: Appearance.colours.m3outline + font.pointSize: Appearance.font.size.extraLarge + + anchors.verticalCenter: parent.verticalCenter + } + + StyledText { + anchors.left: icon.right + anchors.leftMargin: Appearance.spacing.small + anchors.verticalCenter: icon.verticalCenter + + text: qsTr("No matching apps found") + color: Appearance.colours.m3outline + font.pointSize: Appearance.font.size.larger + font.weight: 500 + } + } + + states: State { + name: "visible" + when: root.empty + + PropertyChanges { + root.active: true + root.opacity: 1 + root.scale: 1 + } + } + + transitions: Transition { + NumberAnimation { + properties: "opacity,scale" + duration: Appearance.anim.durations.large + easing.type: Easing.BezierSpline + easing.bezierCurve: Appearance.anim.curves.standard + } + } +} -- cgit v1.2.3-freya