/** * Pure survey eligibility helpers (client-safe: type-only payload-types import). * The list/detail pages use them server-side to mirror the enforced gates in * formBuilderConfig.ts, so users never see surveys they cannot submit. */ import type { Form } from "@/payload-types"; export interface SurveyAudienceContext { userId: number; roleIds: number[]; qualificationNames: string[]; } export function isSurveyOpen( form: Pick