export type ViewMeetingSummaryIssueRow = {
  id: number;
  wgName: string;
  issue: string;
  category: string;
  issueDescription: string;
  recommendation: string;
  rgcDecision: string;
  nextStep: string;
  remark: string;
  issueReference: string;
  status: string;
  primaryAgency: string;
  primaryAgencyLogo?: string | null;
  secondAgency: string;
  secondAgencyLogo?: string | null;
  thirdAgency: string;
  thirdAgencyLogo?: string | null;
  fourthAgency: string;
  fourthAgencyLogo?: string | null;
  fifthAgency: string;
  fifthAgencyLogo?: string | null;
  issueEscalation: string;
  agencies?: Array<{ id: number; name: string; logo?: string | null }>;
};

export type MeetingSummaryParticipants = {
  pswgReporter: string;
  pswgReporterPosition: string;
  pswgRepresentative: string;
  pswgRepresentativePosition: string;
  ministryReporter: string;
  ministryReporterPosition: string;
  ministryRepresentative: string;
  ministryRepresentativePosition: string;
};

export const EMPTY_MEETING_SUMMARY_PARTICIPANTS: MeetingSummaryParticipants = {
  pswgReporter: "",
  pswgReporterPosition: "",
  pswgRepresentative: "",
  pswgRepresentativePosition: "",
  ministryReporter: "",
  ministryReporterPosition: "",
  ministryRepresentative: "",
  ministryRepresentativePosition: "",
};

export type ViewMeetingSummaryDetail = {
  id: number;
  status?: "DRAFT" | "REVIEWED" | "SUBMITTED" | "COMPLETED";
  share: boolean;
  privateSectorWg: string;
  meetingRequestDocument: string;
  meetingRequestDocumentSize: string;
  wgMeeting: string;
  meetingDocument: string;
  meetingDocumentSize: string;
  governmentAgency: string;
  governmentAgencyLogo?: string | null;
  sentBy: string;
  time: string;
  date: string;
  location: string;
  participants: MeetingSummaryParticipants;
  summaryReference: {
    name: string;
    size: string;
    uploadStatus: "Uploading" | "Completed";
    // Absolute URL of the uploaded PDF, so the view can open/print it.
    url: string | null;
  };
  issues: ViewMeetingSummaryIssueRow[];
};
