import { TextInput } from '@mantine/core'; import { useTranslation } from 'next-i18next'; import { ChangeEventHandler, useState } from 'react'; import { useConfigContext } from '../../../../config/provider'; import { useConfigStore } from '../../../../config/store'; interface LogoImageChangerProps { defaultValue: string | undefined; } export const LogoImageChanger = ({ defaultValue }: LogoImageChangerProps) => { const { t } = useTranslation('settings/customization/page-appearance'); const updateConfig = useConfigStore((x) => x.updateConfig); const { name: configName } = useConfigContext(); const [logoImageSrc, setLogoImageSrc] = useState(defaultValue); if (!configName) return null; const handleChange: ChangeEventHandler = (ev) => { const { value } = ev.currentTarget; const logoImageSrc = value.trim().length === 0 ? undefined : value; setLogoImageSrc(logoImageSrc); updateConfig(configName, (prev) => ({ ...prev, settings: { ...prev.settings, customization: { ...prev.settings.customization, logoImageUrl: logoImageSrc, }, }, })); }; return ( ); };