diff --git a/src/components/ui/FieldRenderer.tsx b/src/components/ui/FieldRenderer.tsx index f86ef55..ab0513d 100644 --- a/src/components/ui/FieldRenderer.tsx +++ b/src/components/ui/FieldRenderer.tsx @@ -1,3 +1,4 @@ +import { useState } from 'react'; import type { UseFormRegister, FieldError } from 'react-hook-form'; import type { FieldDef } from '../../schemas/registry'; import { PasswordField } from './PasswordField'; @@ -9,6 +10,8 @@ interface FieldRendererProps { } export function FieldRenderer({ field, register, error }: FieldRendererProps) { + const [showTooltip, setShowTooltip] = useState(false); + // provider field: single-option select — hide from UI, auto-register with default value if (field.key === 'provider' && field.options?.length === 1) { return ( @@ -29,6 +32,7 @@ export function FieldRenderer({ field, register, error }: FieldRendererProps) { registration={register(field.key)} placeholder={field.placeholder} helpText={field.helpText} + tooltipText={field.tooltipText} /> ); } @@ -36,10 +40,27 @@ export function FieldRenderer({ field, register, error }: FieldRendererProps) { if (field.inputType === 'select' && field.options) { return (
- +
+ + {field.tooltipText && ( + + )} +
+ {field.tooltipText && showTooltip && ( +

+ {field.tooltipText} +

+ )} - +
+ + {tooltipText && ( + + )} +
+ {tooltipText && showTooltip && ( +

+ {tooltipText} +

+ )}