{
const isQuick = v === 'quick';
setQuickPositionModeSelected(isQuick);
setCustomPositionModeSelected(!isQuick);
}}
options={[
{ value: 'quick', label: t('quickPosition', 'Quick Position') },
{ value: 'custom', label: t('customPosition', 'Custom Position') },
]}
disabled={endpointLoading}
buttonClassName={styles.modeToggleButton}
textClassName={styles.modeToggleButtonText}
/>
)}
{params.parameters.stampType === 'image' && customPositionModeSelected && (
{t('AddStampRequest.customPosition', 'Drag the stamp to the desired location in the preview window.')}
)}
{params.parameters.stampType === 'image' && !customPositionModeSelected && (
{t('AddStampRequest.quickPosition', 'Select a position on the page to place the stamp.')}
)}
{/* Icon pill buttons row */}
{/* Single slider bound to selected pill */}
{(params.parameters as any)._activePill === 'fontSize' && (
{params.parameters.stampType === 'image'
? t('AddStampRequest.imageSize', 'Image Size')
: t('AddStampRequest.fontSize', 'Font Size')
}
params.updateParameter('fontSize', typeof v === 'number' ? v : 1)}
min={1}
max={400}
step={1}
size="sm"
className={styles.numberInput}
disabled={endpointLoading}
/>
params.updateParameter('fontSize', v as number)}
min={1}
max={400}
step={1}
className={styles.slider}
/>
)}
{(params.parameters as any)._activePill === 'rotation' && (
{t('AddStampRequest.rotation', 'Rotation')}
params.updateParameter('rotation', typeof v === 'number' ? v : 0)}
min={-180}
max={180}
step={1}
size="sm"
className={styles.numberInput}
hideControls
disabled={endpointLoading}
/>
params.updateParameter('rotation', v as number)}
min={-180}
max={180}
step={1}
className={styles.sliderWide}
/>
)}
{(params.parameters as any)._activePill === 'opacity' && (
{t('AddStampRequest.opacity', 'Opacity')}
params.updateParameter('opacity', typeof v === 'number' ? v : 0)}
min={0}
max={100}
step={1}
size="sm"
className={styles.numberInput}
disabled={endpointLoading}
/>
params.updateParameter('opacity', v as number)}
min={0}
max={100}
step={1}
className={styles.slider}
/>
)}
{params.parameters.stampType !== 'image' && (
params.updateParameter('customColor', value)}
format="hex"
disabled={endpointLoading}
/>
)}
{/* Unified preview; when in quick mode, overlay grid inside preview */}