summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/NotificationCenterButton.qml
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/NotificationCenterButton.qml')
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/NotificationCenterButton.qml40
1 files changed, 40 insertions, 0 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/NotificationCenterButton.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/NotificationCenterButton.qml
new file mode 100644
index 0000000..d7bcc1e
--- /dev/null
+++ b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/NotificationCenterButton.qml
@@ -0,0 +1,40 @@
+import QtQuick
+import qs.Common
+import qs.Modules.Plugins
+import qs.Widgets
+
+BasePill {
+ id: root
+
+ property bool hasUnread: false
+ property bool isActive: false
+
+ content: Component {
+ Item {
+ implicitWidth: notifIcon.width
+ implicitHeight: root.widgetThickness - root.horizontalPadding * 2
+
+ DankIcon {
+ id: notifIcon
+ anchors.centerIn: parent
+ name: SessionData.doNotDisturb ? "notifications_off" : "notifications"
+ size: Theme.barIconSize(root.barThickness, -4, root.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale)
+ color: SessionData.doNotDisturb ? Theme.primary : (root.isActive ? Theme.primary : Theme.widgetIconColor)
+ }
+
+ Rectangle {
+ width: 6
+ height: 6
+ radius: 3
+ color: Theme.error
+ anchors.right: notifIcon.right
+ anchors.top: notifIcon.top
+ visible: root.hasUnread
+ }
+ }
+ }
+
+ onRightClicked: {
+ SessionData.setDoNotDisturb(!SessionData.doNotDisturb);
+ }
+}