import {useAdminSettings} from '../requests/use-admin-settings'; import {FormTextField} from '@common/ui/forms/input-field/text-field/text-field'; import {FormSelect, Option} from '../../../ui/forms/select/select'; import {FormSwitch} from '@common/ui/forms/toggle/switch'; import {Button} from '@common/ui/buttons/button'; import {useGenerateSitemap} from '../generate-sitemap'; import {ExternalLink} from '@common/ui/buttons/external-link'; import {SettingsPanel} from '../settings-panel'; import {SettingsSeparator} from '../settings-separator'; import {LearnMoreLink} from '../learn-more-link'; import {Trans} from '@common/i18n/trans'; import {Fragment, useContext} from 'react'; import {SiteConfigContext} from '@common/core/settings/site-config-context'; import {useSettings} from '@common/core/settings/use-settings'; import {useBootstrapData} from '@common/core/bootstrap-data/bootstrap-data-context'; import {useValueLists} from '@common/http/value-lists'; import {useFormContext} from 'react-hook-form'; import {AdminSettingsWithFiles} from '@common/admin/settings/requests/update-admin-settings'; export function GeneralSettings() { return ( } description={ } > ); } function SiteUrlSection() { const {data} = useAdminSettings(); if (!data) return null; let append = null; const server = data!.server; const isInvalid = server.newAppUrl && server.newAppUrl !== server.app_url; if (isInvalid) { append = (
{chunks}, }} message="Base site url is set as :baseUrl in configuration, but current url is :currentUrl. It is recommended to set the primary url you want to use in configuration file and then redirect all other url versions to this primary version via cpanel or .htaccess file." />
); } return ( } description={ } /> {append} ); } function HomepageSection() { const {watch} = useFormContext(); const {homepage} = useContext(SiteConfigContext); const {data} = useValueLists(['menuItemCategories']); const selectedType = watch('client.homepage.type'); return (
} description={ } > {homepage.options.map(option => ( ))} {data?.menuItemCategories?.map(category => ( ))} {data?.menuItemCategories?.map(category => { return selectedType === category.type ? ( } > {category.items.map(item => ( ))} ) : null; })}
); } function ThemeSection() { const { data: {themes}, } = useBootstrapData(); return ( } description={ } > {themes.all.map(theme => ( ))} } > ); } function SitemapSection() { const generateSitemap = useGenerateSitemap(); const {base_url} = useSettings(); const url = `${base_url}/storage/sitemaps/sitemap-index.xml`; const link = {url}; return ( <>
); }