1
0
mirror of https://github.com/checktheroads/hyperglass synced 2024-05-11 05:55:08 +00:00
Files
checktheroads-hyperglass/hyperglass/ui/hooks/useGreeting.ts
2021-12-06 11:29:26 -07:00

37 lines
896 B
TypeScript

import create from 'zustand';
import { persist } from 'zustand/middleware';
import { withDev } from '~/util';
interface UseGreeting {
isAck: boolean;
isOpen: boolean;
greetingReady: boolean;
ack(value: boolean, required: boolean): void;
open(): void;
close(): void;
}
export const useGreeting = create<UseGreeting>(
persist(
withDev<UseGreeting>(
set => ({
isOpen: false,
isAck: false,
greetingReady: false,
ack(isAck: boolean, required: boolean): void {
const greetingReady = isAck ? true : !required ? true : false;
set(() => ({ isAck, greetingReady, isOpen: false }));
},
open(): void {
set(() => ({ isOpen: true }));
},
close(): void {
set(() => ({ isOpen: false }));
},
}),
'useGreeting',
),
{ name: 'hyperglass-greeting' },
),
);