import React, { useState } from 'react' import { Slider, Input, Tooltip, TooltipArrow, TooltipContent, TooltipPortal, TooltipTrigger, } from '@janhq/uikit' import { InfoIcon } from 'lucide-react' import { useClickOutside } from '@/hooks/useClickOutside' type Props = { name: string title: string disabled: boolean description: string min: number max: number step: number value: number onValueChanged: (e: string | number | boolean) => void } const SliderRightPanel: React.FC = ({ title, disabled, min, max, step, description, value, onValueChanged, }) => { const [showTooltip, setShowTooltip] = useState({ max: false, min: false }) useClickOutside(() => setShowTooltip({ max: false, min: false }), null, []) return (

{title}

{description}
onValueChanged?.(e[0])} min={min} max={max} step={step} disabled={disabled} />

{min}

{max}

{ if (Number(e.target.value) > Number(max)) { onValueChanged?.(Number(max)) setShowTooltip({ max: true, min: false }) } else if (Number(e.target.value) < Number(min)) { onValueChanged?.(Number(min)) setShowTooltip({ max: false, min: true }) } }} onChange={(e) => { onValueChanged?.(Number(e.target.value)) }} /> {showTooltip.max && ( Automatically set to the maximum allowed tokens )} {showTooltip.min && ( Automatically set to the minimum allowed tokens )}
) } export default SliderRightPanel