···
import {useCallback} from 'react'
···
import {SettingsListItem as AppIconSettingsListItem} from '#/screens/Settings/AppIconSettings/SettingsListItem'
import {type Alf, atoms as a, native, useAlf, useTheme} from '#/alf'
import * as SegmentedControl from '#/components/forms/SegmentedControl'
import {type Props as SVGIconProps} from '#/components/icons/common'
import {Moon_Stroke2_Corner0_Rounded as MoonIcon} from '#/components/icons/Moon'
import {Phone_Stroke2_Corner0_Rounded as PhoneIcon} from '#/components/icons/Phone'
···
export function AppearanceSettingsScreen({}: Props) {
const {colorMode, colorScheme, darkTheme} = useThemePrefs()
const {setColorMode, setColorScheme, setDarkTheme} = useSetThemePrefs()
···
<LayoutAnimationConfig skipExiting skipEntering>
<Layout.Screen testID="preferencesThreadsScreen">
···
onChange={onChangeAppearance}
-
<AppearanceToggleButtonGroup
-
title={_(msg`Color scheme`)}
-
label: _(msg`Witchsky`),
-
label: _(msg`Bluesky`),
-
label: _(msg`Blacksky`),
-
label: _(msg`Zeppelin`),
-
onChange={onChangeScheme}
{colorMode !== 'light' && (
entering={native(FadeInUp)}
···
<Animated.View layout={native(LinearTransition)}>
···
import {useCallback} from 'react'
+
import {View} from 'react-native'
···
import {SettingsListItem as AppIconSettingsListItem} from '#/screens/Settings/AppIconSettings/SettingsListItem'
import {type Alf, atoms as a, native, useAlf, useTheme} from '#/alf'
import * as SegmentedControl from '#/components/forms/SegmentedControl'
+
import * as Toggle from '#/components/forms/Toggle'
import {type Props as SVGIconProps} from '#/components/icons/common'
import {Moon_Stroke2_Corner0_Rounded as MoonIcon} from '#/components/icons/Moon'
import {Phone_Stroke2_Corner0_Rounded as PhoneIcon} from '#/components/icons/Phone'
···
export function AppearanceSettingsScreen({}: Props) {
const {colorMode, colorScheme, darkTheme} = useThemePrefs()
const {setColorMode, setColorScheme, setDarkTheme} = useSetThemePrefs()
···
+
{name: 'witchsky', label: _(msg`Witchsky`)},
+
{name: 'bluesky', label: _(msg`Bluesky`)},
+
{name: 'blacksky', label: _(msg`Blacksky`)},
+
{name: 'deer', label: _(msg`Deer`)},
+
{name: 'zeppelin', label: _(msg`Zeppelin`)},
+
{name: 'kitty', label: _(msg`Kitty`)},
<LayoutAnimationConfig skipExiting skipEntering>
<Layout.Screen testID="preferencesThreadsScreen">
···
onChange={onChangeAppearance}
{colorMode !== 'light' && (
entering={native(FadeInUp)}
···
+
<SettingsList.ItemIcon icon={PizzaIcon} />
+
<SettingsList.ItemText>
+
<Trans>Color Theme</Trans>
+
</SettingsList.ItemText>
+
<View style={[a.w_full, a.gap_md]}>
+
<Text style={[a.flex_1, t.atoms.text_contrast_medium]}>
+
<Trans>Choose which color scheme to use:</Trans>
+
label={_(msg`Color Theme`)}
+
onChangeScheme(value as typeof colorScheme)
+
<View style={[a.gap_sm, a.flex_1]}>
+
{colorSchemes.map(({name, label}) => (
+
<Toggle.Item key={name} name={name} label={label}>
<Animated.View layout={native(LinearTransition)}>