import {appearanceState, useAppearanceStore} from '../appearance-store'; import {FormImageSelector} from '@common/ui/images/image-selector'; import {FormTextField} from '@common/ui/forms/input-field/text-field/text-field'; import {Trans} from '@common/i18n/trans'; import {Fragment, ReactNode} from 'react'; import {Settings} from '../../../core/settings/settings'; export function GeneralSection() { return ( } description={ } type="favicon" /> } description={} type="logo_light" /> } description={ } type="logo_dark" /> } description={ } type="logo_light_mobile" /> } description={ } type="logo_dark_mobile" /> ); } interface ImageSelectorProps { label: ReactNode; description: ReactNode; type: keyof Settings['branding']; } function BrandingImageSelector({label, description, type}: ImageSelectorProps) { const defaultValue = useAppearanceStore( s => s.defaults?.settings.branding[type] ); return ( { appearanceState().preview.setHighlight('[data-logo="navbar"]'); }} /> ); } function SiteNameTextField() { return ( } /> ); } function SiteDescriptionTextArea() { return ( } /> ); }