diff --git a/src/components/ui/FieldRenderer.tsx b/src/components/ui/FieldRenderer.tsx
index 3cbd151..dc4167f 100644
--- a/src/components/ui/FieldRenderer.tsx
+++ b/src/components/ui/FieldRenderer.tsx
@@ -12,6 +12,7 @@ interface FieldRendererProps {
export function FieldRenderer({ field, register, error }: FieldRendererProps) {
const [showTooltip, setShowTooltip] = useState(false);
+ const [hoverTooltip, setHoverTooltip] = useState(false);
// provider field: single-option select — hide from UI, auto-register with default value
if (field.key === 'provider' && field.options?.length === 1) {
@@ -48,7 +49,9 @@ export function FieldRenderer({ field, register, error }: FieldRendererProps) {
{field.tooltipText && (
)}
- {field.tooltipText && showTooltip && (
+ {field.tooltipText && (showTooltip || hoverTooltip) && (
{field.tooltipText}
@@ -80,23 +83,23 @@ export function FieldRenderer({ field, register, error }: FieldRendererProps) {
}
// text (default) — uses TextFieldMD3 for floating label
+ const tooltipIcon = field.tooltipText ? (
+
+ ) : undefined;
+
+ const tooltipVisible = showTooltip || hoverTooltip;
+
return (
- {field.tooltipText && (
-
- )}
- {field.tooltipText && showTooltip && (
-
- {field.tooltipText}
-
- )}
+ {field.tooltipText && tooltipVisible && (
+
+ {field.tooltipText}
+
+ )}
);
}
diff --git a/src/components/ui/PasswordField.tsx b/src/components/ui/PasswordField.tsx
index 00980b1..91da6e4 100644
--- a/src/components/ui/PasswordField.tsx
+++ b/src/components/ui/PasswordField.tsx
@@ -14,6 +14,7 @@ interface PasswordFieldProps {
export function PasswordField({ id, label, error, registration, helpText, tooltipText }: PasswordFieldProps) {
const [show, setShow] = useState(false);
const [showTooltip, setShowTooltip] = useState(false);
+ const [hoverTooltip, setHoverTooltip] = useState(false);
const toggleButton = (