From fbb939403832b0860302f1b400ad021794e1fadb Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 9 Jul 2025 21:48:28 +1000 Subject: notifs: add indicators for offscreen notifs --- widgets/ExtraIndicator.qml | 52 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 widgets/ExtraIndicator.qml (limited to 'widgets/ExtraIndicator.qml') diff --git a/widgets/ExtraIndicator.qml b/widgets/ExtraIndicator.qml new file mode 100644 index 0000000..807cfaf --- /dev/null +++ b/widgets/ExtraIndicator.qml @@ -0,0 +1,52 @@ +import "root:/services" +import "root:/config" +import QtQuick +import QtQuick.Effects + +StyledRect { + required property int extra + + anchors.right: parent.right + anchors.margins: Appearance.padding.normal + + color: Colours.palette.m3tertiary + radius: Appearance.rounding.small + + implicitWidth: count.implicitWidth + Appearance.padding.normal * 2 + implicitHeight: count.implicitHeight + Appearance.padding.small * 2 + + layer.enabled: opacity > 0 + layer.effect: MultiEffect { + shadowEnabled: true + blurMax: 10 + shadowColor: Colours.palette.m3shadow + } + + opacity: extra > 0 ? 1 : 0 + scale: extra > 0 ? 1 : 0.5 + + StyledText { + id: count + + anchors.centerIn: parent + animate: parent.opacity > 0 + text: qsTr("+%1").arg(parent.extra) + color: Colours.palette.m3onTertiary + } + + Behavior on opacity { + NumberAnimation { + duration: Appearance.anim.durations.expressiveFastSpatial + easing.type: Easing.BezierSpline + easing.bezierCurve: Appearance.anim.curves.standard + } + } + + Behavior on scale { + NumberAnimation { + duration: Appearance.anim.durations.expressiveFastSpatial + easing.type: Easing.BezierSpline + easing.bezierCurve: Appearance.anim.curves.expressiveFastSpatial + } + } +} -- cgit v1.2.3-freya