25 lines
		
	
	
		
			706 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			706 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { Gtk } from "astal/gtk4";
 | 
						|
import Notifd from "gi://AstalNotifd";
 | 
						|
import { fileExists, isIcon } from "./helper";
 | 
						|
 | 
						|
 | 
						|
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;
 | 
						|
}
 |