Use Tamagui slider for branding controls
This commit is contained in:
@@ -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>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user