Files

30 lines
901 B
TypeScript

import * as schema from '~~/drizzle/schema';
type Generation = typeof schema.generations.$inferSelect;
export const useTokenDropdown = () => {
const isOpen = useState('token-dropdown:open', () => false);
const activeGeneration = useState<Generation | null>('token-dropdown:generation', () => null);
const triggerElement = useState<HTMLElement | null>('token-dropdown:trigger', () => null);
const open = (generation: Generation, trigger: HTMLElement) => {
console.log("open", generation, trigger);
activeGeneration.value = generation;
triggerElement.value = trigger;
isOpen.value = true;
};
const close = () => {
isOpen.value = false;
};
return {
isOpen: readonly(isOpen),
activeGeneration: readonly(activeGeneration),
triggerElement: readonly(triggerElement),
open,
close,
};
};