26 lines
816 B
TypeScript
26 lines
816 B
TypeScript
import { Gtk } from "astal/gtk4";
|
|
import Notifd from "gi://AstalNotifd";
|
|
import { fileExists, isIcon } from "../../../util/notifd";
|
|
|
|
|
|
export function NotificationIcon(notification: Notifd.Notification) {
|
|
if (notification.image || notification.appIcon || notification.desktopEntry) {
|
|
const icon = notification.image || notification.appIcon || notification.desktopEntry;
|
|
if (fileExists(icon)) {
|
|
return (
|
|
<box expand={false} valign={Gtk.Align.CENTER}>
|
|
<image file={icon} />
|
|
</box>
|
|
);
|
|
} else if (isIcon(icon)) {
|
|
return (
|
|
<box expand={false} valign={Gtk.Align.CENTER}>
|
|
<image iconName={icon} />
|
|
</box>
|
|
);
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|