"use client"; import { useTranslation } from "@turbostarter/i18n"; import { useBreakpoint } from "@turbostarter/ui-web"; import { Button } from "@turbostarter/ui-web/button"; import { Drawer, DrawerContent, DrawerTrigger, } from "@turbostarter/ui-web/drawer"; import { FormControl, FormField, FormItem, FormLabel, } from "@turbostarter/ui-web/form"; import { Icons } from "@turbostarter/ui-web/icons"; import { Popover, PopoverContent, PopoverPortal, PopoverTrigger, } from "@turbostarter/ui-web/popover"; import { Slider } from "@turbostarter/ui-web/slider"; import { Switch } from "@turbostarter/ui-web/switch"; import { Tooltip, TooltipContent, TooltipTrigger, } from "@turbostarter/ui-web/tooltip"; import type { Control, FieldValues, Path } from "react-hook-form"; const SettingLabel = ({ title, description, }: { title: string; description: string; }) => { return ( {title} {description} ); }; interface SettingsProps { control: Control; path: Path; onReset: () => void; } export const Settings = ({ control, path, onReset, }: SettingsProps) => { const { t } = useTranslation(["common", "ai"]); const isDesktop = useBreakpoint("md"); const renderTrigger = () => ( ); const renderContent = () => (
} render={({ field }) => (
{t("slower")} {t("faster")}
{ field.onChange(vals[0]); }} className="flex-1" /> {/* eslint-disable-next-line i18next/no-literal-string */} {Number(field.value).toFixed(2)}x
)} /> } render={({ field }) => (
{t("moreVariable")} {t("moreStable")}
{ field.onChange(vals[0]); }} className="flex-1" /> {(field.value * 100).toFixed(0)}%
)} /> } render={({ field }) => (
{t("low")} {t("high")}
{ field.onChange(vals[0]); }} className="flex-1" /> {(field.value * 100).toFixed(0)}%
)} />
} render={({ field }) => ( )} />
); if (isDesktop) { return ( {renderTrigger()} {renderContent()} ); } return ( {renderTrigger()} {renderContent()} ); };