From 3c579d0e275cdaf6f2c9589abade94bde7905c82 Mon Sep 17 00:00:00 2001
From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
Date: Sat, 26 Apr 2025 22:36:23 +1000
Subject: clean
Remove everything
---
src/widgets/notification.tsx | 179 -------------------------------------------
1 file changed, 179 deletions(-)
delete mode 100644 src/widgets/notification.tsx
(limited to 'src/widgets/notification.tsx')
diff --git a/src/widgets/notification.tsx b/src/widgets/notification.tsx
deleted file mode 100644
index 0dfd368..0000000
--- a/src/widgets/notification.tsx
+++ /dev/null
@@ -1,179 +0,0 @@
-import { desktopEntrySubs } from "@/utils/icons";
-import Thumbnailer from "@/utils/thumbnailer";
-import { setupCustomTooltip } from "@/utils/widgets";
-import { bind, GLib, register, timeout, Variable } from "astal";
-import { Astal, Gtk, Widget } from "astal/gtk3";
-import { notifpopups as config } from "config";
-import AstalNotifd from "gi://AstalNotifd";
-
-const urgencyToString = (urgency: AstalNotifd.Urgency) => {
- switch (urgency) {
- case AstalNotifd.Urgency.LOW:
- return "low";
- case AstalNotifd.Urgency.NORMAL:
- return "normal";
- case AstalNotifd.Urgency.CRITICAL:
- return "critical";
- }
-};
-
-const getTime = (time: number) => {
- const messageTime = GLib.DateTime.new_from_unix_local(time);
- const now = GLib.DateTime.new_now_local();
- const todayDay = now.get_day_of_year();
-
- if (config.agoTime.get()) {
- const diff = now.difference(messageTime) / 1e6;
- if (diff < 60) return "Now";
- if (diff < 3600) {
- const d = Math.floor(diff / 60);
- return `${d} min${d === 1 ? "" : "s"} ago`;
- }
- if (diff < 86400) {
- const d = Math.floor(diff / 3600);
- return `${d} hour${d === 1 ? "" : "s"} ago`;
- }
- } else if (messageTime.get_day_of_year() === todayDay) {
- const aMinuteAgo = GLib.DateTime.new_now_local().add_seconds(-60);
- return aMinuteAgo !== null && messageTime.compare(aMinuteAgo) > 0 ? "Now" : messageTime.format("%H:%M")!;
- }
-
- if (messageTime.get_day_of_year() === todayDay - 1) return "Yesterday";
- return messageTime.format("%d/%m")!;
-};
-
-const AppIcon = ({ appIcon, desktopEntry }: { appIcon: string; desktopEntry: string }) => {
- // Try app icon
- let icon = Astal.Icon.lookup_icon(appIcon) && appIcon;
- // Try desktop entry
- if (!icon) {
- if (desktopEntrySubs.hasOwnProperty(desktopEntry)) icon = desktopEntrySubs[desktopEntry];
- else if (Astal.Icon.lookup_icon(desktopEntry)) icon = desktopEntry;
- }
- return icon ? : null;
-};
-
-const Image = ({ compact, icon }: { compact?: boolean; icon: string }) => {
- if (GLib.file_test(icon, GLib.FileTest.EXISTS))
- return (
-
- Thumbnailer.thumbnail(icon)
- .then(p => (self.css = `background-image: url("${p}");`))
- .catch(console.error)
- }
- />
- );
- if (Astal.Icon.lookup_icon(icon))
- return ;
- return null;
-};
-
-@register()
-export default class Notification extends Widget.Box {
- readonly #revealer;
- #destroyed = false;
-
- constructor({
- notification,
- popup,
- compact = popup,
- }: {
- notification: AstalNotifd.Notification;
- popup?: boolean;
- compact?: boolean;
- }) {
- super({ className: "notification" });
-
- const time = Variable(getTime(notification.time)).poll(60000, () => getTime(notification.time));
- this.hook(config.agoTime, () => time.set(getTime(notification.time)));
-
- this.#revealer = (
-
-
-
-
-
-
-
-
-
-
- {notification.image && }
-
-
- {notification.body && (
-
-
- {!popup && (
-
-
- )}
-
-
-
- ) as Widget.Revealer;
- this.add(this.#revealer);
-
- // Init animation
- const width = this.get_preferred_width()[1];
- if (popup) this.css = `margin-left: ${width}px; margin-right: -${width}px;`;
- timeout(1, () => {
- this.#revealer.revealChild = true;
- this.css = `transition: 300ms cubic-bezier(0.05, 0.9, 0.1, 1.1); margin-left: 0; margin-right: 0;`;
- });
-
- // Close popup after timeout if transient or expire enabled in config
- if (popup && (config.expire.get() || notification.transient))
- timeout(
- notification.expireTimeout > 0
- ? notification.expireTimeout
- : notification.urgency === AstalNotifd.Urgency.CRITICAL
- ? 10000
- : 5000,
- () => this.destroyWithAnims()
- );
- }
-
- destroyWithAnims() {
- if (this.#destroyed) return;
- this.#destroyed = true;
-
- const animTime = 120;
- const animMargin = this.get_allocated_width();
- this.css = `transition: ${animTime}ms cubic-bezier(0.85, 0, 0.15, 1);
- margin-left: ${animMargin}px; margin-right: -${animMargin}px;`;
- timeout(animTime, () => {
- this.#revealer.revealChild = false;
- timeout(this.#revealer.transitionDuration, () => this.destroy());
- });
- }
-}
--
cgit v1.2.3-freya