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