import { Box, Container } from "@mui/material"; import { useQueryState } from "nuqs"; import { useMemo } from "react"; import { useTranslation } from "react-i18next"; import { CSSTransition, SwitchTransition } from "react-transition-group"; import ResponsiveTabs, { Tab } from "../../Common/ResponsiveTabs.tsx"; import AppGeneric from "../../Icons/AppGeneric.tsx"; import Icons from "../../Icons/Icons.tsx"; import SettingsOutlined from "../../Icons/SettingsOutlined.tsx"; import TextBulletListSquareEdit from "../../Icons/TextBulletListSquareEdit.tsx"; import PageContainer from "../../Pages/PageContainer.tsx"; import PageHeader, { PageTabQuery } from "../../Pages/PageHeader.tsx"; import SettingsWrapper from "../Settings/SettingWrapper.tsx"; import CustomPropsSetting from "./CustomProps/CustomPropsSetting.tsx"; import FileIcons from "./Icons/FileIcons.tsx"; import Parameters from "./Parameters.tsx"; import ViewerSetting from "./ViewerSetting/ViewerSetting.tsx"; export enum SettingsPageTab { Parameters = "parameters", CustomProps = "customProps", Icon = "icon", FileApp = "fileApp", } const FileSystem = () => { const { t } = useTranslation("dashboard"); const [tab, setTab] = useQueryState(PageTabQuery); const tabs: Tab[] = useMemo(() => { const res = []; res.push( ...[ { label: t("nav.settings"), value: SettingsPageTab.Parameters, icon: , }, { label: t("settings.fileIcons"), value: SettingsPageTab.Icon, icon: , }, { label: t("settings.fileViewers"), value: SettingsPageTab.FileApp, icon: , }, { label: t("nav.customProps"), value: SettingsPageTab.CustomProps, icon: , }, ], ); return res; }, [t]); return ( setTab(newValue)} tabs={tabs} /> node.addEventListener("transitionend", done, false)} classNames="fade" key={`${tab}`} > {(!tab || tab === SettingsPageTab.Parameters) && ( )} {tab === SettingsPageTab.Icon && ( )} {tab === SettingsPageTab.FileApp && ( )} {tab === SettingsPageTab.CustomProps && ( )} ); }; export default FileSystem;