This commit is contained in:
Josh 2026-01-09 00:16:46 +02:00
commit d69342b2e9
160 changed files with 28681 additions and 0 deletions

19
studio/src/stores/app.ts Normal file
View file

@ -0,0 +1,19 @@
import { atom } from 'nanostores'
export interface Toast {
id: string
message: string
type: 'success' | 'error'
}
export const $toasts = atom<Toast[]>([])
export const addToast = (message: string, type: 'success' | 'error' = 'success') => {
const id = Math.random().toString(36).slice(2)
$toasts.set([...$toasts.get(), { id, message, type }])
setTimeout(() => removeToast(id), 4000)
}
export const removeToast = (id: string) => {
$toasts.set($toasts.get().filter(t => t.id !== id))
}