Use Tamagui slider for branding controls
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-01-15 08:58:09 +01:00
parent 725a7a29b3
commit 92b341bdcd

View File

@@ -5,6 +5,7 @@ import { Image as ImageIcon, RefreshCcw, UploadCloud, Trash2, ChevronDown, Save,
import { YStack, XStack } from '@tamagui/stacks'; import { YStack, XStack } from '@tamagui/stacks';
import { SizableText as Text } from '@tamagui/text'; import { SizableText as Text } from '@tamagui/text';
import { Pressable } from '@tamagui/react-native-web-lite'; import { Pressable } from '@tamagui/react-native-web-lite';
import { Slider } from 'tamagui';
import { MobileShell, HeaderActionButton } from './components/MobileShell'; import { MobileShell, HeaderActionButton } from './components/MobileShell';
import { MobileCard, CTAButton, SkeletonCard } from './components/Primitives'; import { MobileCard, CTAButton, SkeletonCard } from './components/Primitives';
import { TenantEvent, getEvent, updateEvent, getTenantFonts, getTenantSettings, TenantFont, WatermarkSettings, trackOnboarding } from '../api'; import { TenantEvent, getEvent, updateEvent, getTenantFonts, getTenantSettings, TenantFont, WatermarkSettings, trackOnboarding } from '../api';
@@ -1275,7 +1276,7 @@ function LabeledSlider({
disabled?: boolean; disabled?: boolean;
suffix?: string; suffix?: string;
}) { }) {
const { textStrong, muted, primary } = useAdminTheme(); const { textStrong, muted, primary, border, surface } = useAdminTheme();
return ( return (
<YStack space="$1.5"> <YStack space="$1.5">
<XStack alignItems="center" justifyContent="space-between"> <XStack alignItems="center" justifyContent="space-between">
@@ -1287,16 +1288,20 @@ function LabeledSlider({
{suffix ? ` ${suffix}` : ''} {suffix ? ` ${suffix}` : ''}
</Text> </Text>
</XStack> </XStack>
<input <Slider
type="range" width="100%"
min={min} min={min}
max={max} max={max}
step={step} step={step}
value={value} value={[value]}
onValueChange={(next) => onChange(next[0] ?? value)}
disabled={disabled} disabled={disabled}
onChange={(event) => onChange(Number(event.target.value))} >
style={{ width: '100%', height: 28, accentColor: primary }} <Slider.Track height={6} borderRadius={999} backgroundColor={border}>
/> <Slider.TrackActive backgroundColor={primary} />
</Slider.Track>
<Slider.Thumb index={0} size="$1" backgroundColor={surface} borderColor={primary} borderWidth={2} />
</Slider>
</YStack> </YStack>
); );
} }