|
2 | 2 | import { page } from "$app/state" |
3 | 3 | import ExecuteButton from "$lib/components/ExecuteButton.svelte" |
4 | 4 | import LinkButton from "$lib/components/LinkButton.svelte" |
| 5 | + import { refreshSession } from "$lib/supabase" |
| 6 | + import { Tooltip } from "@skeletonlabs/skeleton-svelte" |
5 | 7 | import type { Session } from "@supabase/supabase-js" |
| 8 | + import { invoke } from "@tauri-apps/api/core" |
6 | 9 |
|
7 | 10 | const session: Session = $derived(page.data.session) |
8 | 11 |
|
9 | 12 | const args = $derived(["", "latest", "latest", "", "", session.refresh_token]) |
10 | 13 |
|
11 | 14 | let settingsBtn = $derived(page.url.pathname == "/settings" ? "/scripts" : "/settings") |
| 15 | +
|
| 16 | + async function execute() { |
| 17 | + const res = await invoke("run_executable", { exe: "devsimba", args }) |
| 18 | + console.log(res) |
| 19 | + await refreshSession() |
| 20 | + } |
| 21 | + let openState = $state(false) |
12 | 22 | </script> |
13 | 23 |
|
14 | 24 | <div class="flex h-full flex-col justify-end gap-1 border-l-1 border-surface-500 px-1"> |
15 | | - <ExecuteButton icon="🦁" label="Open Simba" exe="devsimba" {args} /> |
| 25 | + <Tooltip |
| 26 | + open={openState} |
| 27 | + onOpenChange={(e) => (openState = e.open)} |
| 28 | + positioning={{ placement: "top" }} |
| 29 | + triggerBase="underline" |
| 30 | + contentBase="card preset-filled p-4" |
| 31 | + openDelay={1000} |
| 32 | + arrow |
| 33 | + > |
| 34 | + {#snippet trigger()} |
| 35 | + <button class="btn preset-filled-surface-500 [&>*]:pointer-events-none" onclick={execute}> |
| 36 | + 🦁 |
| 37 | + </button> |
| 38 | + {/snippet} |
| 39 | + {#snippet content()} |
| 40 | + Open Simba |
| 41 | + {/snippet} |
| 42 | + </Tooltip> |
16 | 43 | <ExecuteButton icon="💻" label="RuneLite" exe="runelite" args={[]} /> |
17 | 44 | <ExecuteButton icon="🚀" label="OSClient" exe="osclient" args={[]} /> |
18 | 45 | <LinkButton icon="⚙️" label="Settings" href={settingsBtn} /> |
|
0 commit comments