diff options
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/Button.tsx | 62 | ||||
-rw-r--r-- | src/components/IconCircle.tsx | 11 | ||||
-rw-r--r-- | src/components/dialogs/MutedWords.tsx | 7 | ||||
-rw-r--r-- | src/components/dialogs/ThreadgateEditor.tsx | 5 | ||||
-rw-r--r-- | src/components/dms/MessageItem.tsx | 10 | ||||
-rw-r--r-- | src/components/forms/TextField.tsx | 9 | ||||
-rw-r--r-- | src/components/forms/Toggle.tsx | 21 | ||||
-rw-r--r-- | src/components/icons/common.tsx | 5 |
8 files changed, 58 insertions, 72 deletions
diff --git a/src/components/Button.tsx b/src/components/Button.tsx index dfdcde6ed..457164d11 100644 --- a/src/components/Button.tsx +++ b/src/components/Button.tsx @@ -13,7 +13,7 @@ import { } from 'react-native' import {LinearGradient} from 'expo-linear-gradient' -import {android, atoms as a, flatten, tokens, useTheme} from '#/alf' +import {android, atoms as a, flatten, select, tokens, useTheme} from '#/alf' import {Props as SVGIconProps} from '#/components/icons/common' import {normalizeTextStyles} from '#/components/Typography' @@ -152,7 +152,6 @@ export const Button = React.forwardRef<View, ButtonProps>( const {baseStyles, hoverStyles} = React.useMemo(() => { const baseStyles: ViewStyle[] = [] const hoverStyles: ViewStyle[] = [] - const light = t.name === 'light' if (color === 'primary') { if (variant === 'solid') { @@ -165,7 +164,11 @@ export const Button = React.forwardRef<View, ButtonProps>( }) } else { baseStyles.push({ - backgroundColor: t.palette.primary_700, + backgroundColor: select(t.name, { + light: t.palette.primary_700, + dim: t.palette.primary_300, + dark: t.palette.primary_300, + }), }) } } else if (variant === 'outline') { @@ -178,24 +181,18 @@ export const Button = React.forwardRef<View, ButtonProps>( borderColor: t.palette.primary_500, }) hoverStyles.push(a.border, { - backgroundColor: light - ? t.palette.primary_50 - : t.palette.primary_950, + backgroundColor: t.palette.primary_50, }) } else { baseStyles.push(a.border, { - borderColor: light - ? t.palette.primary_200 - : t.palette.primary_900, + borderColor: t.palette.primary_200, }) } } else if (variant === 'ghost') { if (!disabled) { baseStyles.push(t.atoms.bg) hoverStyles.push({ - backgroundColor: light - ? t.palette.primary_100 - : t.palette.primary_900, + backgroundColor: t.palette.primary_100, }) } } @@ -203,14 +200,26 @@ export const Button = React.forwardRef<View, ButtonProps>( if (variant === 'solid') { if (!disabled) { baseStyles.push({ - backgroundColor: t.palette.contrast_25, + backgroundColor: select(t.name, { + light: t.palette.contrast_25, + dim: t.palette.contrast_100, + dark: t.palette.contrast_100, + }), }) hoverStyles.push({ - backgroundColor: t.palette.contrast_50, + backgroundColor: select(t.name, { + light: t.palette.contrast_50, + dim: t.palette.contrast_200, + dark: t.palette.contrast_200, + }), }) } else { baseStyles.push({ - backgroundColor: t.palette.contrast_100, + backgroundColor: select(t.name, { + light: t.palette.contrast_100, + dim: t.palette.contrast_25, + dark: t.palette.contrast_25, + }), }) } } else if (variant === 'outline') { @@ -247,7 +256,7 @@ export const Button = React.forwardRef<View, ButtonProps>( }) } else { baseStyles.push({ - backgroundColor: t.palette.contrast_700, + backgroundColor: t.palette.contrast_600, }) } } else if (variant === 'outline') { @@ -284,7 +293,11 @@ export const Button = React.forwardRef<View, ButtonProps>( }) } else { baseStyles.push({ - backgroundColor: t.palette.negative_700, + backgroundColor: select(t.name, { + light: t.palette.negative_700, + dim: t.palette.negative_300, + dark: t.palette.negative_300, + }), }) } } else if (variant === 'outline') { @@ -297,24 +310,18 @@ export const Button = React.forwardRef<View, ButtonProps>( borderColor: t.palette.negative_500, }) hoverStyles.push(a.border, { - backgroundColor: light - ? t.palette.negative_50 - : t.palette.negative_975, + backgroundColor: t.palette.negative_50, }) } else { baseStyles.push(a.border, { - borderColor: light - ? t.palette.negative_200 - : t.palette.negative_900, + borderColor: t.palette.negative_200, }) } } else if (variant === 'ghost') { if (!disabled) { baseStyles.push(t.atoms.bg) hoverStyles.push({ - backgroundColor: light - ? t.palette.negative_100 - : t.palette.negative_975, + backgroundColor: t.palette.negative_100, }) } } @@ -482,7 +489,6 @@ export function useSharedButtonTextStyles() { const {color, variant, disabled, size} = useButtonContext() return React.useMemo(() => { const baseStyles: TextStyle[] = [] - const light = t.name === 'light' if (color === 'primary') { if (variant === 'solid') { @@ -494,7 +500,7 @@ export function useSharedButtonTextStyles() { } else if (variant === 'outline') { if (!disabled) { baseStyles.push({ - color: light ? t.palette.primary_600 : t.palette.primary_500, + color: t.palette.primary_600, }) } else { baseStyles.push({color: t.palette.primary_600, opacity: 0.5}) diff --git a/src/components/IconCircle.tsx b/src/components/IconCircle.tsx index aa779e37f..806d35c38 100644 --- a/src/components/IconCircle.tsx +++ b/src/components/IconCircle.tsx @@ -2,14 +2,14 @@ import React from 'react' import {View} from 'react-native' import { - useTheme, atoms as a, - ViewStyleProp, - TextStyleProp, flatten, + TextStyleProp, + useTheme, + ViewStyleProp, } from '#/alf' -import {Growth_Stroke2_Corner0_Rounded as Growth} from '#/components/icons/Growth' import {Props} from '#/components/icons/common' +import {Growth_Stroke2_Corner0_Rounded as Growth} from '#/components/icons/Growth' export function IconCircle({ icon: Icon, @@ -32,8 +32,7 @@ export function IconCircle({ { width: size === 'lg' ? 52 : 64, height: size === 'lg' ? 52 : 64, - backgroundColor: - t.name === 'light' ? t.palette.primary_50 : t.palette.primary_950, + backgroundColor: t.palette.primary_50, }, flatten(style), ]}> diff --git a/src/components/dialogs/MutedWords.tsx b/src/components/dialogs/MutedWords.tsx index 534263422..526652be9 100644 --- a/src/components/dialogs/MutedWords.tsx +++ b/src/components/dialogs/MutedWords.tsx @@ -357,12 +357,11 @@ function TargetToggle({children}: React.PropsWithChildren<{}>) { a.px_sm, gtMobile && a.px_md, a.rounded_sm, - t.atoms.bg_contrast_50, - (ctx.hovered || ctx.focused) && t.atoms.bg_contrast_100, + t.atoms.bg_contrast_25, + (ctx.hovered || ctx.focused) && t.atoms.bg_contrast_50, ctx.selected && [ { - backgroundColor: - t.name === 'light' ? t.palette.primary_50 : t.palette.primary_975, + backgroundColor: t.palette.primary_50, }, ], ctx.disabled && { diff --git a/src/components/dialogs/ThreadgateEditor.tsx b/src/components/dialogs/ThreadgateEditor.tsx index 104766e26..92dd157b2 100644 --- a/src/components/dialogs/ThreadgateEditor.tsx +++ b/src/components/dialogs/ThreadgateEditor.tsx @@ -196,10 +196,7 @@ function Selectable({ t.atoms.bg_contrast_50, (hovered || focused) && t.atoms.bg_contrast_100, isSelected && { - backgroundColor: - t.name === 'light' - ? t.palette.primary_50 - : t.palette.primary_975, + backgroundColor: t.palette.primary_100, }, style, ]}> diff --git a/src/components/dms/MessageItem.tsx b/src/components/dms/MessageItem.tsx index 61358c989..573c24f77 100644 --- a/src/components/dms/MessageItem.tsx +++ b/src/components/dms/MessageItem.tsx @@ -72,8 +72,7 @@ let MessageItem = ({ lastInGroupRef.current = isLastInGroup } - const pendingColor = - t.name === 'light' ? t.palette.primary_200 : t.palette.primary_800 + const pendingColor = t.palette.primary_200 const rt = useMemo(() => { return new RichTextAPI({text: message.text, facets: message.facets}) @@ -110,12 +109,7 @@ let MessageItem = ({ }> <RichText value={rt} - style={[ - a.text_md, - isFromSelf && {color: t.palette.white}, - isPending && - t.name !== 'light' && {color: t.palette.primary_300}, - ]} + style={[a.text_md, isFromSelf && {color: t.palette.white}]} interactiveStyle={a.underline} enableTags emojiMultiplier={3} diff --git a/src/components/forms/TextField.tsx b/src/components/forms/TextField.tsx index d513a6db9..a5ecfdcb8 100644 --- a/src/components/forms/TextField.tsx +++ b/src/components/forms/TextField.tsx @@ -101,16 +101,13 @@ export function useSharedInputStyles() { ] const error: ViewStyle[] = [ { - backgroundColor: - t.name === 'light' ? t.palette.negative_25 : t.palette.negative_900, - borderColor: - t.name === 'light' ? t.palette.negative_300 : t.palette.negative_800, + backgroundColor: t.palette.negative_25, + borderColor: t.palette.negative_300, }, ] const errorHover: ViewStyle[] = [ { - backgroundColor: - t.name === 'light' ? t.palette.negative_25 : t.palette.negative_900, + backgroundColor: t.palette.negative_25, borderColor: t.palette.negative_500, }, ] diff --git a/src/components/forms/Toggle.tsx b/src/components/forms/Toggle.tsx index 7285e5fac..8036223f2 100644 --- a/src/components/forms/Toggle.tsx +++ b/src/components/forms/Toggle.tsx @@ -281,24 +281,20 @@ export function createSharedToggleStyles({ if (selected) { base.push({ - backgroundColor: - t.name === 'light' ? t.palette.primary_25 : t.palette.primary_900, + backgroundColor: t.palette.primary_25, borderColor: t.palette.primary_500, }) if (hovered) { baseHover.push({ - backgroundColor: - t.name === 'light' ? t.palette.primary_100 : t.palette.primary_800, - borderColor: - t.name === 'light' ? t.palette.primary_600 : t.palette.primary_400, + backgroundColor: t.palette.primary_100, + borderColor: t.palette.primary_600, }) } } else { if (hovered) { baseHover.push({ - backgroundColor: - t.name === 'light' ? t.palette.contrast_50 : t.palette.contrast_100, + backgroundColor: t.palette.contrast_50, borderColor: t.palette.contrast_500, }) } @@ -306,16 +302,13 @@ export function createSharedToggleStyles({ if (isInvalid) { base.push({ - backgroundColor: - t.name === 'light' ? t.palette.negative_25 : t.palette.negative_975, - borderColor: - t.name === 'light' ? t.palette.negative_300 : t.palette.negative_800, + backgroundColor: t.palette.negative_25, + borderColor: t.palette.negative_300, }) if (hovered) { baseHover.push({ - backgroundColor: - t.name === 'light' ? t.palette.negative_25 : t.palette.negative_900, + backgroundColor: t.palette.negative_25, borderColor: t.palette.negative_600, }) } diff --git a/src/components/icons/common.tsx b/src/components/icons/common.tsx index 662718338..387115d3a 100644 --- a/src/components/icons/common.tsx +++ b/src/components/icons/common.tsx @@ -4,7 +4,7 @@ import type {PathProps, SvgProps} from 'react-native-svg' import {Defs, LinearGradient, Stop} from 'react-native-svg' import {nanoid} from 'nanoid/non-secure' -import {tokens} from '#/alf' +import {tokens, useTheme} from '#/alf' export type Props = { fill?: PathProps['fill'] @@ -22,10 +22,11 @@ export const sizes = { } export function useCommonSVGProps(props: Props) { + const t = useTheme() const {fill, size, gradient, ...rest} = props const style = StyleSheet.flatten(rest.style) const _size = Number(size ? sizes[size] : rest.width || sizes.md) - let _fill = fill || style?.color || tokens.color.blue_500 + let _fill = fill || style?.color || t.palette.primary_500 let gradientDef = null if (gradient && tokens.gradients[gradient]) { |