export type SysMenuItem = {
  id: string;
  label: string;
  connected: boolean;
  checkmark?: boolean;
};

export type SysMenuSection = {
  id: string;
  label: string;
  items: SysMenuItem[];
};

export const SYS_MENU: SysMenuSection[] = [
  {
    id: 'file',
    label: 'FILE',
    items: [
      { id: 'file.settings', label: 'Settings', connected: true },
      { id: 'file.reload_ui', label: 'Reload UI', connected: true },
      { id: 'file.reboot_backend', label: 'Reboot Backend', connected: false },
      { id: 'file.resync_ai_lm', label: 'Resync AI / LM', connected: false },
      { id: 'file.exit', label: 'Exit', connected: true }
    ]
  },
  {
    id: 'edit',
    label: 'EDIT',
    items: [
      { id: 'edit.copy', label: 'Copy', connected: true },
      { id: 'edit.cut', label: 'Cut', connected: true },
      { id: 'edit.paste', label: 'Paste', connected: true },
      { id: 'edit.delete', label: 'Delete', connected: true },
      { id: 'edit.find', label: 'Find', connected: true }
    ]
  },
  {
    id: 'project',
    label: 'PROJECT',
    items: [
      { id: 'project.switch_project', label: 'Switch Project', connected: true },
      { id: 'project.create_project', label: 'Create Project', connected: true },
      { id: 'project.save_project', label: 'Save Project', connected: true },
      { id: 'project.reset_project_form', label: 'Reset Project Form', connected: true },
      { id: 'project.copy_project_overview', label: 'Copy Project Overview to Clipboard', connected: true }
    ]
  },
  {
    id: 'diagnostics',
    label: 'DIAGNOSTICS',
    items: [
      { id: 'diagnostics.view_dubs_tape', label: 'View Dubs Tape', connected: true },
      { id: 'diagnostics.view_diagnostics', label: 'View Diagnostics', connected: true },
      { id: 'diagnostics.view_errors', label: 'View Errors', connected: true },
      { id: 'diagnostics.clear_tape', label: 'Clear Tape', connected: true },
      { id: 'diagnostics.archive_tape', label: 'Archive Tape', connected: true }
    ]
  },
  {
    id: 'transport',
    label: 'TRANSPORT',
    items: [
      { id: 'transport.auto_accept_chat', label: 'Auto Accept Chat Proposal', connected: true, checkmark: true },
      { id: 'transport.auto_accept_diagnostic', label: 'Auto Accept Diagnostic', connected: true, checkmark: true },
      { id: 'transport.auto_accept_enhancement', label: 'Auto Accept Enhancement', connected: true, checkmark: true },
      { id: 'transport.pause', label: 'Pause', connected: true },
      { id: 'transport.next', label: 'Next', connected: true },
      { id: 'transport.previous', label: 'Previous', connected: true }
    ]
  },
  {
    id: 'utilities',
    label: 'UTILITIES',
    items: [
      { id: 'utilities.scrape_project', label: 'Scrape Project', connected: false },
      { id: 'utilities.add_restore_point', label: 'Add Restore Point', connected: true },
      { id: 'utilities.view_restore_points', label: 'View Restore Points', connected: true },
      { id: 'utilities.apply_diagnostic_repair', label: 'Apply Diagnostic Repair', connected: false }
    ]
  },
  {
    id: 'help',
    label: 'HELP',
    items: [
      { id: 'help.get_input_contract', label: 'Get Input Contract', connected: false },
      { id: 'help.get_agent_yaml', label: 'Get Agent YAML', connected: false },
      { id: 'help.subscription', label: 'Subscription', connected: false },
      { id: 'help.check_version', label: 'Check Version', connected: false },
      { id: 'help.get_help', label: 'Get Help', connected: false },
      { id: 'help.about', label: 'About', connected: true }
    ]
  }
];
