import {Accordion, AccordionItem} from '@common/ui/accordion/accordion';
import {Trans} from '@common/i18n/trans';
import {
appearanceState,
useAppearanceStore,
} from '@common/admin/appearance/appearance-store';
import {useFieldArray} from 'react-hook-form';
import {FormTextField} from '@common/ui/forms/input-field/text-field/text-field';
import {LandingPageContent} from '@app/landing/landing-page-content';
import {Button} from '@common/ui/buttons/button';
import {AddIcon} from '@common/icons/material/Add';
import {useState} from 'react';
import {FormImageSelector} from '@common/ui/images/image-selector';
export function LandingPageSectionPrimaryFeatures() {
const {fields, remove, append} = useFieldArray({
name: 'settings.homepage.appearance.primaryFeatures',
});
const [expandedValues, setExpandedValues] = useState([0]);
return (
{
setExpandedValues(values as number[]);
if (values.length) {
appearanceState().preview.setHighlight(
`[data-testid="primary-root-${values[0]}"]`
);
}
}}
>
{fields.map((field, index) => {
return (
}
>
);
})}
}
onClick={() => {
append({});
setExpandedValues([fields.length]);
}}
>
);
}
interface FeatureFormProps {
index: number;
}
function FeatureForm({index}: FeatureFormProps) {
const defaultImage = useAppearanceStore(
s =>
(s.defaults?.settings.homepage.appearance as LandingPageContent)
?.primaryFeatures[index]?.image
);
return (
<>
}
defaultValue={defaultImage}
diskPrefix="homepage"
/>
}
className="mb-20"
onFocus={() => {
appearanceState().preview.setHighlight(
`[data-testid="primary-title-${index}"]`
);
}}
/>
}
className="mb-20"
inputElementType="textarea"
rows={4}
onFocus={() => {
appearanceState().preview.setHighlight(
`[data-testid="primary-subtitle-${index}"]`
);
}}
/>
>
);
}