Files
leocrm/frontend/src/pages/SettingsSystem.tsx
T

49 lines
1.7 KiB
TypeScript
Raw Normal View History

import React, { useState } from 'react';
2026-07-04 00:26:22 +00:00
import { useTranslation } from 'react-i18next';
import { SettingsMenuOrderPage } from './SettingsMenuOrder';
import { SettingsThemePage } from './SettingsTheme';
import { SettingsPluginsPage } from './SettingsPlugins';
2026-07-04 00:26:22 +00:00
export function SettingsSystemPage() {
const { t } = useTranslation();
const [activeTab, setActiveTab] = useState('menu');
2026-07-04 00:26:22 +00:00
const tabs = [
{ key: 'menu', label: t('settings.menuOrder', 'Menü') },
{ key: 'theme', label: t('settings.theme', 'Theme') },
{ key: 'plugins', label: t('settings.plugins', 'Plugins') },
];
2026-07-04 00:26:22 +00:00
return (
<div className="space-y-6" data-testid="settings-system-page">
<h1 className="text-2xl font-bold text-secondary-900">System</h1>
<div className="border-b border-secondary-200">
<nav className="flex gap-4" role="tablist" aria-label="System Tabs">
{tabs.map((tab) => (
<button
key={tab.key}
onClick={() => setActiveTab(tab.key)}
role="tab"
aria-selected={activeTab === tab.key}
className={`px-4 py-2 text-sm font-medium border-b-2 transition-colors ${
activeTab === tab.key
? 'border-primary-500 text-primary-700'
: 'border-transparent text-secondary-600 hover:text-secondary-900 hover:border-secondary-300'
}`}
>
{tab.label}
</button>
))}
</nav>
</div>
2026-07-04 00:26:22 +00:00
<div role="tabpanel">
{activeTab === 'menu' && <SettingsMenuOrderPage />}
{activeTab === 'theme' && <SettingsThemePage />}
{activeTab === 'plugins' && <SettingsPluginsPage />}
</div>
2026-07-04 00:26:22 +00:00
</div>
);
}