"use client";

import { useMemo } from "react";
import { useAppLanguage } from "@/components/providers/app-language-provider";
import { CreateIssueDialog } from "@/features/pswg/working-group-issues/components/create-issuses";
import { WgIssueTranslationContext } from "@/features/pswg/working-group-issues/hook/use-wg-issues-translations";
import { useCdcIssueMatrixApiLabels } from "../hook/use-cdc-issue-matrix-translations";
import { normalizeCdcIssueMatrixLanguage } from "./cdc-issue-matrix-i18n";
import { resolveCdcIssueFormDictionary } from "./cdc-issue-form-translations";

type CdcCreateIssueDialogProps = {
  open: boolean;
  issueId?: number;
  onClose: () => void;
  onCreated?: () => void;
  onSaved?: () => void;
};

export function CdcCreateIssueDialog(props: CdcCreateIssueDialogProps) {
  const { language } = useAppLanguage();
  const labels = useCdcIssueMatrixApiLabels(normalizeCdcIssueMatrixLanguage(language));
  const dictionary = useMemo(() => resolveCdcIssueFormDictionary(labels), [labels]);
  return (
    <WgIssueTranslationContext.Provider value={dictionary}>
      <CreateIssueDialog mode="cdc" {...props} />
    </WgIssueTranslationContext.Provider>
  );
}
