import { LOCALES, languageNames, type Locale, type Messages } from './i18n'; export const SETTINGS_NAV_ITEMS = [ { targetId: 'settings-general', title: '일반', detail: '표시 · 언어' }, { targetId: 'settings-models', title: '모델', detail: 'owner · reviewer · arbiter', }, { targetId: 'settings-runtime', title: '런타임', detail: 'skills · MCP · config', }, { targetId: 'settings-moa', title: 'MoA', detail: '참조 모델 · 연결 테스트' }, { targetId: 'settings-codex', title: 'Codex', detail: 'fast mode · /goal' }, { targetId: 'settings-accounts', title: '계정', detail: 'Claude · Codex' }, ] as const; export type SettingsSectionId = (typeof SETTINGS_NAV_ITEMS)[number]['targetId']; export function SettingsNav({ activeSection, onSelect, }: { activeSection: SettingsSectionId; onSelect: (section: SettingsSectionId) => void; }) { return (
{SETTINGS_NAV_ITEMS.map((item) => ( ))}
); } export function GeneralSettings({ locale, nickname, onLocaleChange, onNicknameChange, t, }: { locale: Locale; nickname: string; onLocaleChange: (locale: Locale) => void; onNicknameChange: (next: string) => void; t: Messages; }) { return (
); } export function SettingsSectionHeading({ detail, title, description, }: { detail: string; title: string; description: string; }) { return (
{detail}

{title}

{description}

); } export function SettingsApplyCard({ onRestartStack, }: { onRestartStack: () => void; }) { return (
Apply 저장 후 재시작 모델, MoA, Codex, 계정 변경은 스택 재시작 후 반영됩니다.
); }