import OLModal, {
OLModalBody,
OLModalHeader,
OLModalTitle,
} from '@/features/ui/components/ol/ol-modal'
import { useLayoutContext } from '@/shared/context/layout-context'
import { useTranslation } from 'react-i18next'
import { SettingsEntry, SettingsModalBody } from './settings-modal-body'
import AppearanceSettings from './appearance-settings/appearance-settings'
import CompilerSettings from './compiler-settings/compiler-settings'
import EditorSettings from './editor-settings/editor-settings'
import { useMemo, useState } from 'react'
const SettingsModal = () => {
// TODO ide-redesign-cleanup: Either rename the field, or introduce a separate
// one
const { leftMenuShown, setLeftMenuShown } = useLayoutContext()
const { t } = useTranslation()
const settingsTabs: SettingsEntry[] = useMemo(
() => [
{
key: 'editor',
title: t('editor'),
icon: 'code',
component: ,
},
{
key: 'compiler',
title: t('compiler'),
icon: 'picture_as_pdf',
component: ,
},
{
key: 'appearance',
title: t('appearance'),
icon: 'brush',
component: ,
},
{
key: 'account_settings',
title: t('account_settings'),
icon: 'settings',
href: '/user/settings',
},
{
key: 'subscription',
title: t('subscription'),
icon: 'account_balance',
href: '/user/subscription',
},
],
[t]
)
const [activeTab, setActiveTab] = useState(
settingsTabs[0]?.key
)
return (
setLeftMenuShown(false)}
size="lg"
backdropClassName={
activeTab === 'appearance'
? 'ide-settings-modal-transparent-backdrop'
: undefined
}
>
{t('settings')}
)
}
export default SettingsModal