mirror of
https://github.com/kremalicious/blog.git
synced 2024-06-28 16:48:00 +02:00
24 lines
548 B
TypeScript
24 lines
548 B
TypeScript
import { action } from 'nanostores'
|
|
import { persistentAtom } from '@nanostores/persistent'
|
|
import type { GetToken } from './tokens'
|
|
|
|
// export const $selectedToken = atom<GetToken | undefined>()
|
|
|
|
export const $selectedToken = persistentAtom<GetToken | undefined>(
|
|
'@kremalicious/selectedToken',
|
|
undefined,
|
|
{
|
|
encode: JSON.stringify,
|
|
decode: JSON.parse
|
|
}
|
|
)
|
|
|
|
export const $setSelectedToken = action(
|
|
$selectedToken,
|
|
'setSelectedToken',
|
|
(store, token: GetToken | undefined) => {
|
|
store.set(token)
|
|
return store.get()
|
|
}
|
|
)
|