import { DeleteOutline } from "@mui/icons-material"; import { Box, FormControl, FormControlLabel, Link, Switch, Typography } from "@mui/material"; import { useSnackbar } from "notistack"; import { useContext, useState } from "react"; import { Trans, useTranslation } from "react-i18next"; import { sendClearBlobUrlCache } from "../../../../api/api.ts"; import { useAppDispatch } from "../../../../redux/hooks.ts"; import { isTrueVal } from "../../../../session/utils.ts"; import { DefaultCloseAction } from "../../../Common/Snackbar/snackbar.tsx"; import { DenseFilledTextField, SecondaryButton } from "../../../Common/StyledComponents.tsx"; import SettingForm from "../../../Pages/Setting/SettingForm.tsx"; import { NoMarginHelperText, SettingSection, SettingSectionContent } from "../../Settings/Settings.tsx"; import { SettingContext } from "../../Settings/SettingWrapper.tsx"; const AdvancedOptionsSection = () => { const { t } = useTranslation("dashboard"); const { setSettings, values } = useContext(SettingContext); const [loading, setLoading] = useState(false); const dispatch = useAppDispatch(); const { enqueueSnackbar } = useSnackbar(); const clearBlobUrlCache = () => { setLoading(true); dispatch(sendClearBlobUrlCache()) .then(() => { setLoading(false); enqueueSnackbar(t("settings.cacheCleared"), { variant: "success", action: DefaultCloseAction }); }) .catch(() => { setLoading(false); }); }; return ( {t("settings.advanceOptions")} setSettings({ archive_timeout: e.target.value, }) } required /> setSettings({ upload_session_timeout: e.target.value, }) } required /> {t("settings.uploadSessionDes")} setSettings({ slave_api_timeout: e.target.value, }) } required /> {t("settings.slaveAPIExpirationDes")} setSettings({ folder_props_timeout: e.target.value, }) } required /> {t("settings.folderPropsTimeoutDes")} setSettings({ chunk_retries: e.target.value, }) } required /> {t("settings.failedChunkRetryDes")} setSettings({ use_temp_chunk_buffer: e.target.checked ? "1" : "0", }) } /> } label={t("settings.cacheChunks")} /> {t("settings.cacheChunksDes")} setSettings({ max_parallel_transfer: e.target.value, }) } required /> {t("settings.transitParallelNumDes")} setSettings({ cron_oauth_cred_refresh: e.target.value, }) } /> ]} /> setSettings({ viewer_session_timeout: e.target.value, }) } required /> {t("settings.wopiSessionTimeoutDes")} setSettings({ entity_url_default_ttl: e.target.value, }) } required /> {t("settings.fileBlobTimeoutDes")} setSettings({ entity_url_cache_margin: e.target.value, }) } required /> {t("settings.fileBlobMarginDes")} } variant="contained" loading={loading} color="primary" onClick={clearBlobUrlCache} > {t("settings.clearBlobUrlCache")} {t("settings.clearBlobUrlCacheDes")} ); }; export default AdvancedOptionsSection;