diff --git a/client/src/app/admin/settings/page.tsx b/client/src/app/admin/settings/page.tsx index c1109ee..c8de7a8 100644 --- a/client/src/app/admin/settings/page.tsx +++ b/client/src/app/admin/settings/page.tsx @@ -49,6 +49,15 @@ export default function AdminSettingsPage() { return acc; }, {} as Record); + const categories = Object.keys(groupedSettings); + const [activeTab, setActiveTab] = useState(''); + + useEffect(() => { + if (categories.length > 0 && !activeTab) { + setActiveTab(categories[0]); + } + }, [categories, activeTab]); + return (
@@ -72,19 +81,40 @@ export default function AdminSettingsPage() {
+ {categories.length > 0 && ( +
+ +
+ )} +
- {Object.keys(groupedSettings).map(category => ( -
- + {activeTab && groupedSettings[activeTab] && ( +
{/* Category Header */}
-

{category} Configuration

+

{activeTab} Configuration

- {groupedSettings[category].map(setting => { - const isSecret = setting.key.includes('key') || setting.key.includes('secret') || setting.key.includes('password'); + {groupedSettings[activeTab].map(setting => { + const isSecret = setting.key.includes('key') || setting.key.includes('secret') || setting.key.includes('password') || setting.key.includes('pass'); return (
- ))} + )}
);