import React from 'react'; import useSWR from 'swr'; import LoadingSpinner from '../Common/LoadingSpinner'; import type { MainSettings } from '../../../server/lib/settings'; import CopyButton from './CopyButton'; import { Form, Formik, Field } from 'formik'; import axios from 'axios'; import Button from '../Common/Button'; import { defineMessages, useIntl } from 'react-intl'; import { useUser, Permission } from '../../hooks/useUser'; const messages = defineMessages({ generalsettings: 'General Settings', generalsettingsDescription: 'These are settings related to general Overseerr configuration.', save: 'Save Changes', saving: 'Saving...', apikey: 'API Key', applicationurl: 'Application URL', }); const SettingsMain: React.FC = () => { const { hasPermission } = useUser(); const intl = useIntl(); const { data, error, revalidate } = useSWR( '/api/v1/settings/main' ); if (!data && !error) { return ; } return ( <>

{intl.formatMessage(messages.generalsettings)}

{intl.formatMessage(messages.generalsettingsDescription)}

{ try { await axios.post('/api/v1/settings/main', { applicationUrl: values.applicationUrl, }); } catch (e) { // TODO show error } finally { revalidate(); } }} > {({ isSubmitting }) => { return (
{hasPermission(Permission.ADMIN) && (
)}
); }}
); }; export default SettingsMain;