From 9e8634d892c559c5b44565a68bf35b13cbcb5572 Mon Sep 17 00:00:00 2001
From: Aylur <k.demeter@protonmail.com>
Date: Thu, 16 Jan 2025 17:37:00 +0100
Subject: add: gtk3 ts popover example

closes #224
closes #157
---
 examples/js/applauncher/widget/Applauncher.tsx | 87 --------------------------
 1 file changed, 87 deletions(-)
 delete mode 100644 examples/js/applauncher/widget/Applauncher.tsx

(limited to 'examples/js/applauncher/widget/Applauncher.tsx')

diff --git a/examples/js/applauncher/widget/Applauncher.tsx b/examples/js/applauncher/widget/Applauncher.tsx
deleted file mode 100644
index c7bac68..0000000
--- a/examples/js/applauncher/widget/Applauncher.tsx
+++ /dev/null
@@ -1,87 +0,0 @@
-import Apps from "gi://AstalApps"
-import { App, Astal, Gdk, Gtk } from "astal/gtk3"
-import { Variable } from "astal"
-
-const MAX_ITEMS = 8
-
-function hide() {
-    App.get_window("launcher")!.hide()
-}
-
-function AppButton({ app }: { app: Apps.Application }) {
-    return <button
-        className="AppButton"
-        onClicked={() => { hide(); app.launch() }}>
-        <box>
-            <icon icon={app.iconName} />
-            <box valign={Gtk.Align.CENTER} vertical>
-                <label
-                    className="name"
-                    truncate
-                    xalign={0}
-                    label={app.name}
-                />
-                {app.description && <label
-                    className="description"
-                    wrap
-                    xalign={0}
-                    label={app.description}
-                />}
-            </box>
-        </box>
-    </button>
-}
-
-export default function Applauncher() {
-    const { CENTER } = Gtk.Align
-    const apps = new Apps.Apps()
-
-    const text = Variable("")
-    const list = text(text => apps.fuzzy_query(text).slice(0, MAX_ITEMS))
-    const onEnter = () => {
-        apps.fuzzy_query(text.get())?.[0].launch()
-        hide()
-    }
-
-    return <window
-        name="launcher"
-        anchor={Astal.WindowAnchor.TOP | Astal.WindowAnchor.BOTTOM}
-        exclusivity={Astal.Exclusivity.IGNORE}
-        keymode={Astal.Keymode.ON_DEMAND}
-        application={App}
-        onShow={() => text.set("")}
-        onKeyPressEvent={function (self, event: Gdk.Event) {
-            if (event.get_keyval()[1] === Gdk.KEY_Escape)
-                self.hide()
-        }}>
-        <box>
-            <eventbox widthRequest={4000} expand onClick={hide} />
-            <box hexpand={false} vertical>
-                <eventbox heightRequest={100} onClick={hide} />
-                <box widthRequest={500} className="Applauncher" vertical>
-                    <entry
-                        placeholderText="Search"
-                        text={text()}
-                        onChanged={self => text.set(self.text)}
-                        onActivate={onEnter}
-                    />
-                    <box spacing={6} vertical>
-                        {list.as(list => list.map(app => (
-                            <AppButton app={app} />
-                        )))}
-                    </box>
-                    <box
-                        halign={CENTER}
-                        className="not-found"
-                        vertical
-                        visible={list.as(l => l.length === 0)}>
-                        <icon icon="system-search-symbolic" />
-                        <label label="No match found" />
-                    </box>
-                </box>
-                <eventbox expand onClick={hide} />
-            </box>
-            <eventbox widthRequest={4000} expand onClick={hide} />
-        </box>
-    </window>
-}
-- 
cgit v1.2.3

