import { MINISTRY_TRANSLATIONS } from './ministry.translation.seed';
import { PSWG_MEETING_SUMMARY_LABELS } from './pswg-meeting-summary-labels.seed';
import type { TranslationSeedItem, TranslationSeedModule } from './translation-seed.types';

// Shared UI shape, independent records: never overwrite a module's own wording.
export function withSharedMeetingSummaryLabels(
  module: TranslationSeedModule,
  items: TranslationSeedItem[],
): TranslationSeedItem[] {
  const page = 'meeting_summary';
  const existing = new Set(items.filter(item => item.page === page).map(item => item.translationKey));
  if (!existing.has('title')) return items;
  const defaults = new Map(MINISTRY_TRANSLATIONS.filter(item => item.page === page).map(item => [item.translationKey, item]));
  for (const [translationKey, englishText, khmerText] of PSWG_MEETING_SUMMARY_LABELS) {
    if (!defaults.has(translationKey)) defaults.set(translationKey, { module, page, translationKey, englishText, khmerText, isActive: true });
  }
  return [
    ...items,
    ...Array.from(defaults.values())
      .filter(item => item.page === page && !existing.has(item.translationKey))
      .map(item => ({
        ...item,
        module,
        parent: { module, page, translationKey: 'title' },
      })),
  ];
}
