import React from "react"; import queryString from "query-string"; import { Tab, Nav, Row, Col } from "react-bootstrap"; import { useHistory, useLocation } from "react-router-dom"; import { FormattedMessage, useIntl } from "react-intl"; import { Helmet } from "react-helmet"; import { TITLE_SUFFIX } from "src/components/Shared"; import { SettingsAboutPanel } from "./SettingsAboutPanel"; import { SettingsConfigurationPanel } from "./SettingsSystemPanel"; import { SettingsInterfacePanel } from "./SettingsInterfacePanel/SettingsInterfacePanel"; import { SettingsLogsPanel } from "./SettingsLogsPanel"; import { SettingsTasksPanel } from "./Tasks/SettingsTasksPanel"; import { SettingsPluginsPanel } from "./SettingsPluginsPanel"; import { SettingsScrapingPanel } from "./SettingsScrapingPanel"; import { SettingsToolsPanel } from "./SettingsToolsPanel"; import { SettingsServicesPanel } from "./SettingsServicesPanel"; import { SettingsContext } from "./context"; import { SettingsLibraryPanel } from "./SettingsLibraryPanel"; import { SettingsSecurityPanel } from "./SettingsSecurityPanel"; import Changelog from "../Changelog/Changelog"; export const Settings: React.FC = () => { const intl = useIntl(); const location = useLocation(); const history = useHistory(); const defaultTab = queryString.parse(location.search).tab ?? "tasks"; const onSelect = (val: string) => history.push(`?tab=${val}`); const title_template = `${intl.formatMessage({ id: "settings", })} ${TITLE_SUFFIX}`; return ( tab && onSelect(tab)} > ); }; export default Settings;