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;
 | |
| }
 | |
| 
 |