import { motion } from "framer-motion"; import { useTranslation } from "renderer/hooks/use-translation.hook"; import { CSSProperties } from "react" type Props = { id?: HTMLDivElement["id"]; items: RadioItem[]; selectedItemId?: number; selectedItemValue?: T; direction?: CSSProperties["flexDirection"], onItemSelected?: (item: RadioItem) => void }; export function SettingRadioArray({ id, items, selectedItemId, selectedItemValue, onItemSelected, direction = "column" }: Props) { const t = useTranslation(); const isSelected = (item: RadioItem) => { return item.id === selectedItemId || item.value === selectedItemValue; } return (
{items.map(i => (
onItemSelected(i)} key={i.id} className={`py-3 w-full flex cursor-pointer justify-between items-center rounded-md px-2 transition-colors duration-300 ${isSelected(i) ? "bg-light-main-color-3 dark:bg-main-color-3" : "bg-light-main-color-1 dark:bg-main-color-1"} ${i.className}`}>

{t(i.text)}

{i.icon && (
{i.textIcon && {t(i.textIcon)}} {i.icon}
)}
))}
); } export interface RadioItem { id: number; text: string; icon?: JSX.Element; textIcon?: string; className?: string; value?: T; }