import type { CreateFlowState } from "../../app/(app)/create/types"; import { TRAIT_KEYS, type TraitKey } from "./deckTypes"; export const EMPTY_SETUP_TRAITS: Record = { network: false, nonvoters: false, employer: false, sponsor: false, records: false, risky: false, }; export function tickedSetupTraitIds( traits: CreateFlowState["setupTraits"], ): TraitKey[] { if (!traits) return []; return TRAIT_KEYS.filter((key) => traits[key] === true); } export function setupTraitsFromTickedIds( ids: readonly string[], ): Record { const ticked = new Set(ids); const out = { ...EMPTY_SETUP_TRAITS }; for (const key of TRAIT_KEYS) { out[key] = ticked.has(key); } return out; } export function hasTickedSetupTrait( traits: CreateFlowState["setupTraits"], ): boolean { return tickedSetupTraitIds(traits).length > 0; }