import type { PhotoshootInput, PhotoshootPlan } from "./photoshoot-data";

const INPUT_KEY = "pos:input";
const PLAN_KEY = "pos:plan";
const EXTRA_KEY = "pos:extraPrompts";

export function saveInput(i: PhotoshootInput) {
  if (typeof window !== "undefined") sessionStorage.setItem(INPUT_KEY, JSON.stringify(i));
}
export function loadInput(): PhotoshootInput | null {
  if (typeof window === "undefined") return null;
  const v = sessionStorage.getItem(INPUT_KEY);
  return v ? (JSON.parse(v) as PhotoshootInput) : null;
}
export function savePlan(p: PhotoshootPlan) {
  if (typeof window !== "undefined") sessionStorage.setItem(PLAN_KEY, JSON.stringify(p));
}
export function loadPlan(): PhotoshootPlan | null {
  if (typeof window === "undefined") return null;
  const v = sessionStorage.getItem(PLAN_KEY);
  return v ? (JSON.parse(v) as PhotoshootPlan) : null;
}

export interface ExtraPromptSelection {
  id: string;
  title: string;
  prompt_text: string;
}

export function saveExtraPrompts(rows: ExtraPromptSelection[]) {
  if (typeof window !== "undefined") sessionStorage.setItem(EXTRA_KEY, JSON.stringify(rows));
}
export function loadExtraPrompts(): ExtraPromptSelection[] {
  if (typeof window === "undefined") return [];
  const v = sessionStorage.getItem(EXTRA_KEY);
  return v ? (JSON.parse(v) as ExtraPromptSelection[]) : [];
}
export function clearExtraPrompts() {
  if (typeof window !== "undefined") sessionStorage.removeItem(EXTRA_KEY);
}
