init
This commit is contained in:
commit
d69342b2e9
160 changed files with 28681 additions and 0 deletions
19
studio/src/stores/app.ts
Normal file
19
studio/src/stores/app.ts
Normal 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))
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue