src/options/options.ts

Total Symbols
1
Lines of Code
35
Avg Complexity
2.0
Symbol Types
1

File Relationships

graph LR main["main"] main -->|calls| main click main "../symbols/14348c66c1e5604a.html"

Symbols by Kind

function 1

All Symbols

Name Kind Visibility Status Lines Signature
main function - 17-32 main(): : Promise<void>

Full Source

/**
 * Options page — orchestrator that initialises all tab modules.
 */

import "./options.css";
import "../lib/ui/searchable-select.css";
import { initTabs, initSearchableSelects } from "./shared";
import { initSettingsTab } from "./settings-section";
import { initRulesTab } from "./rules-section";
import { initFormsTab } from "./forms-section";
import { initCacheTab } from "./cache-section";
import { initDatasetTab } from "./dataset-section";
import { initLogTab } from "./log-section";
import { initI18n, localizeHTML } from "@/lib/i18n";
import type { Settings } from "@/types";

async function main(): Promise<void> {
  const settings = (await chrome.runtime
    .sendMessage({ type: "GET_SETTINGS" })
    .catch(() => null)) as Settings | null;
  await initI18n(settings?.uiLanguage ?? "auto");
  localizeHTML();

  initTabs();
  initSearchableSelects();
  initSettingsTab();
  initRulesTab();
  initFormsTab();
  initCacheTab();
  initDatasetTab();
  initLogTab();
}

void main();