import {Accordion, AccordionItem} from '@common/ui/accordion/accordion';
import {Trans} from '@common/i18n/trans';
import {appearanceState} 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 LandingPageSecondaryFeatures() {
const {fields, remove, append} = useFieldArray({
name: 'settings.homepage.appearance.secondaryFeatures',
});
const [expandedValues, setExpandedValues] = useState([0]);
return (
{
setExpandedValues(values as number[]);
if (values.length) {
appearanceState().preview.setHighlight(
`[data-testid="secondary-root-${values[0]}"]`
);
}
}}
>
{fields.map((field, index) => {
return (
}
>
);
})}
}
onClick={() => {
append({});
setExpandedValues([fields.length]);
}}
>
);
}
interface FeatureFormProps {
index: number;
}
function FeatureForm({index}: FeatureFormProps) {
return (
<>
}
defaultValue={getDefaultImage(index)}
diskPrefix="homepage"
/>
}
className="mb-20"
onFocus={() => {
appearanceState().preview.setHighlight(
`[data-testid="secondary-title-${index}"]`
);
}}
/>
}
className="mb-20"
inputElementType="textarea"
rows={4}
onFocus={() => {
appearanceState().preview.setHighlight(
`[data-testid="secondary-subtitle-${index}"]`
);
}}
/>
}
className="mb-20"
inputElementType="textarea"
rows={4}
onFocus={() => {
appearanceState().preview.setHighlight(
`[data-testid="secondary-description-${index}"]`
);
}}
/>
>
);
}
function getDefaultImage(index: number): string | undefined {
return (
appearanceState().defaults?.settings.homepage
.appearance as LandingPageContent
).secondaryFeatures[index]?.image;
}