/* global window */

function backendScreen(props) {
  return window.GenericOpsScreen(props);
}

function ScreenResearch({ opsPayload, opsError }) {
  return backendScreen({
    sectionName: 'documents',
    payload: opsPayload,
    error: opsError,
    eyebrow: 'Research ja dokumendid',
    title: 'Dokumendid ja research',
    description: 'Research kuvab documents backend jaotise read ja mõõdikud. Puuduv või osaline allikas jääb eksplitsiitseks olekuks.',
  });
}

function ScreenGrants({ opsPayload, opsError }) {
  return backendScreen({
    sectionName: 'grants',
    payload: opsPayload,
    error: opsError,
    eyebrow: 'Toetused ja rahastus',
    title: 'Toetuste haldus',
    description: 'Toetuste vaade ei sisalda kohalikku reegliandmestikku. Kuvatakse ainult grants backend jaotise andmed.',
  });
}

function ScreenInvestor({ opsPayload, opsError }) {
  return backendScreen({
    sectionName: 'investors',
    payload: opsPayload,
    error: opsError,
    eyebrow: 'Investorid ja data room',
    title: 'Investor readiness ja due diligence',
    description: 'Investorivaade kasutab investors backend jaotist ega lisa readiness, data room või diligence ridu kohalikust failist.',
  });
}

function ScreenMarketing({ opsPayload, opsError }) {
  return backendScreen({
    sectionName: 'marketing',
    payload: opsPayload,
    error: opsError,
    eyebrow: 'Turundus',
    title: 'Veebilehe operatsioonid',
    description: 'Turunduse read, vormid ja väiteaudit pärinevad marketing backend jaotisest või kuvatakse puudumise olekuna.',
  });
}

function ScreenContent({ opsPayload, opsError }) {
  return backendScreen({
    sectionName: 'documents',
    payload: opsPayload,
    error: opsError,
    eyebrow: 'Sisu ja meedia',
    title: 'Content Studio',
    description: 'Sisuvaade kasutab documents backend jaotist. Kohalikke blogi, meedia ega tootetutvustuse näidisridu ei laadita.',
  });
}

function ScreenFinance({ opsPayload, opsError }) {
  return backendScreen({
    sectionName: 'finance',
    payload: opsPayload,
    error: opsError,
    eyebrow: 'Finants',
    title: 'Runway ja ärilised mõõdikud',
    description: 'Finantsvaade kuvab finance backend jaotise andmeid. Puuduv mudel ei asendu kohapealsete suunavate numbritega.',
  });
}

function ScreenLegal({ opsPayload, opsError }) {
  return backendScreen({
    sectionName: 'legal',
    payload: opsPayload,
    error: opsError,
    eyebrow: 'Õigus ja compliance',
    title: 'Õiguslikud ja turvariskid',
    description: 'Õigusvaade kuvab legal backend jaotise andmeid ning ei lisa kohalikku riskiregistrit.',
  });
}

function ScreenAutomation({ opsPayload, opsError }) {
  return backendScreen({
    sectionName: 'automations',
    payload: opsPayload,
    error: opsError,
    eyebrow: 'Automaatika',
    title: 'Automaatikakeskus',
    description: 'Automaatika staatused ja reeglid tulevad automations backend jaotisest või jäävad selgelt puuduvaks.',
  });
}

function ScreenMission({ opsPayload, opsError }) {
  return backendScreen({
    sectionName: 'summary',
    payload: opsPayload,
    error: opsError,
    eyebrow: 'Missioon',
    title: 'Missioon ja põhimõtted',
    description: 'Missioonivaade kasutab summary backend jaotist. Kohalikud uskumuste ja guardrailide read ei ole runtime fallback.',
  });
}

function ScreenSettings({ opsPayload, opsError }) {
  return backendScreen({
    sectionName: 'settings',
    payload: opsPayload,
    error: opsError,
    eyebrow: 'Seaded',
    title: 'Integratsioonid ja õigused',
    description: 'Seadete vaade kuvab settings backend jaotise integratsioonid, rollid ja õigused või selge puudumise oleku.',
  });
}

Object.assign(window, {
  ScreenResearch,
  ScreenGrants,
  ScreenInvestor,
  ScreenMarketing,
  ScreenContent,
  ScreenFinance,
  ScreenLegal,
  ScreenAutomation,
  ScreenMission,
  ScreenSettings,
});
