Align all font weights
This commit is contained in:
+3
-6
@@ -276,16 +276,13 @@ export const atoms = {
|
|||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
},
|
},
|
||||||
font_normal: {
|
font_normal: {
|
||||||
fontWeight: tokens.fontWeight.normal,
|
fontWeight: tokens.fontWeight.regular,
|
||||||
},
|
|
||||||
font_semibold: {
|
|
||||||
fontWeight: tokens.fontWeight.semibold,
|
|
||||||
},
|
},
|
||||||
font_bold: {
|
font_bold: {
|
||||||
fontWeight: tokens.fontWeight.bold,
|
fontWeight: tokens.fontWeight.semibold,
|
||||||
},
|
},
|
||||||
font_heavy: {
|
font_heavy: {
|
||||||
fontWeight: tokens.fontWeight.heavy,
|
fontWeight: tokens.fontWeight.extrabold,
|
||||||
},
|
},
|
||||||
italic: {
|
italic: {
|
||||||
fontStyle: 'italic',
|
fontStyle: 'italic',
|
||||||
|
|||||||
+9
-4
@@ -47,11 +47,16 @@ export const borderRadius = {
|
|||||||
full: 999,
|
full: 999,
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
|
/**
|
||||||
|
* These correspond to Inter font files we actually load.
|
||||||
|
*/
|
||||||
export const fontWeight = {
|
export const fontWeight = {
|
||||||
normal: '400',
|
regular: '400',
|
||||||
semibold: '500',
|
// medium: '500',
|
||||||
bold: '600',
|
semibold: '600',
|
||||||
heavy: '700',
|
// bold: '700',
|
||||||
|
extrabold: '800',
|
||||||
|
// black: '900',
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export const gradients = {
|
export const gradients = {
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ export function LikeCount({count}: {count: number}) {
|
|||||||
a.mt_sm,
|
a.mt_sm,
|
||||||
a.text_sm,
|
a.text_sm,
|
||||||
t.atoms.text_contrast_medium,
|
t.atoms.text_contrast_medium,
|
||||||
{fontWeight: '500'},
|
{fontWeight: '600'},
|
||||||
]}>
|
]}>
|
||||||
<Plural value={count} one="Liked by # user" other="Liked by # users" />
|
<Plural value={count} one="Liked by # user" other="Liked by # users" />
|
||||||
</Text>
|
</Text>
|
||||||
|
|||||||
@@ -170,6 +170,6 @@ const styles = StyleSheet.create({
|
|||||||
alt: {
|
alt: {
|
||||||
color: 'white',
|
color: 'white',
|
||||||
fontSize: 7,
|
fontSize: 7,
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ export function Label({
|
|||||||
<Text
|
<Text
|
||||||
style={[
|
style={[
|
||||||
text,
|
text,
|
||||||
a.font_semibold,
|
a.font_bold,
|
||||||
a.leading_tight,
|
a.leading_tight,
|
||||||
t.atoms.text_contrast_medium,
|
t.atoms.text_contrast_medium,
|
||||||
{paddingRight: 3},
|
{paddingRight: 3},
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ export function ProgressGuideList({style}: {style?: StyleProp<ViewStyle>}) {
|
|||||||
<Text
|
<Text
|
||||||
style={[
|
style={[
|
||||||
t.atoms.text_contrast_medium,
|
t.atoms.text_contrast_medium,
|
||||||
a.font_semibold,
|
a.font_bold,
|
||||||
a.text_sm,
|
a.text_sm,
|
||||||
{textTransform: 'uppercase'},
|
{textTransform: 'uppercase'},
|
||||||
]}>
|
]}>
|
||||||
|
|||||||
@@ -35,9 +35,7 @@ export function ProgressGuideTask({
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
<View style={[a.flex_col, a.gap_2xs, {marginTop: -2}]}>
|
<View style={[a.flex_col, a.gap_2xs, {marginTop: -2}]}>
|
||||||
<Text style={[a.text_sm, a.font_semibold, a.leading_tight]}>
|
<Text style={[a.text_sm, a.font_bold, a.leading_tight]}>{title}</Text>
|
||||||
{title}
|
|
||||||
</Text>
|
|
||||||
{subtitle && (
|
{subtitle && (
|
||||||
<Text
|
<Text
|
||||||
style={[a.text_sm, t.atoms.text_contrast_medium, a.leading_tight]}>
|
style={[a.text_sm, t.atoms.text_contrast_medium, a.leading_tight]}>
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ export const ProgressGuideToast = React.forwardRef<
|
|||||||
ref={animatedCheckRef}
|
ref={animatedCheckRef}
|
||||||
/>
|
/>
|
||||||
<View>
|
<View>
|
||||||
<Text style={[a.text_md, a.font_semibold]}>{title}</Text>
|
<Text style={[a.text_md, a.font_bold]}>{title}</Text>
|
||||||
{subtitle && (
|
{subtitle && (
|
||||||
<Text style={[a.text_sm, t.atoms.text_contrast_medium]}>
|
<Text style={[a.text_sm, t.atoms.text_contrast_medium]}>
|
||||||
{subtitle}
|
{subtitle}
|
||||||
|
|||||||
@@ -77,8 +77,7 @@ function LabelerButton({
|
|||||||
handle: labeler.creator.handle,
|
handle: labeler.creator.handle,
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
<Text
|
<Text style={[t.atoms.text_contrast_medium, a.text_sm, a.font_bold]}>
|
||||||
style={[t.atoms.text_contrast_medium, a.text_sm, a.font_semibold]}>
|
|
||||||
@{labeler.creator.handle}
|
@{labeler.creator.handle}
|
||||||
</Text>
|
</Text>
|
||||||
</LabelingServiceCard.Content>
|
</LabelingServiceCard.Content>
|
||||||
|
|||||||
@@ -491,9 +491,7 @@ function Selectable({
|
|||||||
},
|
},
|
||||||
style,
|
style,
|
||||||
]}>
|
]}>
|
||||||
<Text style={[a.text_sm, isSelected && a.font_semibold]}>
|
<Text style={[a.text_sm, isSelected && a.font_bold]}>{label}</Text>
|
||||||
{label}
|
|
||||||
</Text>
|
|
||||||
{isSelected ? (
|
{isSelected ? (
|
||||||
<Check size="sm" fill={t.palette.primary_500} />
|
<Check size="sm" fill={t.palette.primary_500} />
|
||||||
) : (
|
) : (
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ export function NeueTypography() {
|
|||||||
<Dialog.ScrollableInner label={_(msg`Introducing new font settings`)}>
|
<Dialog.ScrollableInner label={_(msg`Introducing new font settings`)}>
|
||||||
<View style={[a.gap_xl]}>
|
<View style={[a.gap_xl]}>
|
||||||
<View style={[a.gap_md]}>
|
<View style={[a.gap_md]}>
|
||||||
<Text style={[a.text_3xl, {fontWeight: '900'}]}>
|
<Text style={[a.text_3xl, a.font_heavy]}>
|
||||||
<Trans>New font settings ✨</Trans>
|
<Trans>New font settings ✨</Trans>
|
||||||
</Text>
|
</Text>
|
||||||
<Text style={[a.text_lg, a.leading_snug, {maxWidth: 400}]}>
|
<Text style={[a.text_lg, a.leading_snug, {maxWidth: 400}]}>
|
||||||
|
|||||||
@@ -19,10 +19,10 @@ import {isIOS, isNative} from '#/platform/detection'
|
|||||||
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
||||||
import {useProfileQuery} from '#/state/queries/profile'
|
import {useProfileQuery} from '#/state/queries/profile'
|
||||||
import {useAgent, useSession} from '#/state/session'
|
import {useAgent, useSession} from '#/state/session'
|
||||||
import {useComposerControls} from 'state/shell'
|
import {useComposerControls} from '#/state/shell'
|
||||||
import {formatCount} from '#/view/com/util/numeric/format'
|
import {formatCount} from '#/view/com/util/numeric/format'
|
||||||
|
import * as Toast from '#/view/com/util/Toast'
|
||||||
import {Logomark} from '#/view/icons/Logomark'
|
import {Logomark} from '#/view/icons/Logomark'
|
||||||
import * as Toast from 'view/com/util/Toast'
|
|
||||||
import {
|
import {
|
||||||
atoms as a,
|
atoms as a,
|
||||||
ThemeProvider,
|
ThemeProvider,
|
||||||
@@ -441,10 +441,10 @@ export function TenMillionInner({
|
|||||||
allowFontScaling={false}
|
allowFontScaling={false}
|
||||||
style={[
|
style={[
|
||||||
a.absolute,
|
a.absolute,
|
||||||
|
a.font_heavy,
|
||||||
{
|
{
|
||||||
color: t.palette.primary_500,
|
color: t.palette.primary_500,
|
||||||
fontSize: 32,
|
fontSize: 32,
|
||||||
fontWeight: '900',
|
|
||||||
width: 32,
|
width: 32,
|
||||||
top: isNative ? -10 : 0,
|
top: isNative ? -10 : 0,
|
||||||
left: 0,
|
left: 0,
|
||||||
@@ -462,11 +462,11 @@ export function TenMillionInner({
|
|||||||
style={[
|
style={[
|
||||||
a.relative,
|
a.relative,
|
||||||
a.text_center,
|
a.text_center,
|
||||||
|
a.font_heavy,
|
||||||
{
|
{
|
||||||
fontStyle: 'italic',
|
fontStyle: 'italic',
|
||||||
fontSize: getFontSize(userNumber),
|
fontSize: getFontSize(userNumber),
|
||||||
lineHeight: getFontSize(userNumber),
|
lineHeight: getFontSize(userNumber),
|
||||||
fontWeight: '900',
|
|
||||||
letterSpacing: -2,
|
letterSpacing: -2,
|
||||||
},
|
},
|
||||||
]}>
|
]}>
|
||||||
@@ -536,7 +536,7 @@ export function TenMillionInner({
|
|||||||
style={[
|
style={[
|
||||||
a.flex_1,
|
a.flex_1,
|
||||||
a.text_sm,
|
a.text_sm,
|
||||||
a.font_semibold,
|
a.font_bold,
|
||||||
a.leading_snug,
|
a.leading_snug,
|
||||||
lightTheme.atoms.text_contrast_medium,
|
lightTheme.atoms.text_contrast_medium,
|
||||||
]}>
|
]}>
|
||||||
@@ -551,7 +551,7 @@ export function TenMillionInner({
|
|||||||
style={[
|
style={[
|
||||||
a.flex_1,
|
a.flex_1,
|
||||||
a.text_sm,
|
a.text_sm,
|
||||||
a.font_semibold,
|
a.font_bold,
|
||||||
a.leading_snug,
|
a.leading_snug,
|
||||||
a.text_right,
|
a.text_right,
|
||||||
lightTheme.atoms.text_contrast_low,
|
lightTheme.atoms.text_contrast_low,
|
||||||
@@ -643,14 +643,7 @@ export function TenMillionInner({
|
|||||||
<View style={[gtMobile ? a.p_2xl : a.p_xl]}>
|
<View style={[gtMobile ? a.p_2xl : a.p_xl]}>
|
||||||
<Text
|
<Text
|
||||||
allowFontScaling={false}
|
allowFontScaling={false}
|
||||||
style={[
|
style={[a.text_5xl, a.leading_tight, a.pb_lg, a.font_heavy]}>
|
||||||
a.text_5xl,
|
|
||||||
a.leading_tight,
|
|
||||||
a.pb_lg,
|
|
||||||
{
|
|
||||||
fontWeight: '900',
|
|
||||||
},
|
|
||||||
]}>
|
|
||||||
<Trans>Thanks for being one of our first 10 million users.</Trans>
|
<Trans>Thanks for being one of our first 10 million users.</Trans>
|
||||||
</Text>
|
</Text>
|
||||||
|
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ export function ContentHider({
|
|||||||
a.text_left,
|
a.text_left,
|
||||||
a.font_bold,
|
a.font_bold,
|
||||||
a.leading_snug,
|
a.leading_snug,
|
||||||
gtMobile && [a.font_semibold],
|
gtMobile && [a.font_bold],
|
||||||
t.atoms.text_contrast_medium,
|
t.atoms.text_contrast_medium,
|
||||||
web({
|
web({
|
||||||
marginBottom: 1,
|
marginBottom: 1,
|
||||||
@@ -107,7 +107,7 @@ export function ContentHider({
|
|||||||
style={[
|
style={[
|
||||||
a.font_bold,
|
a.font_bold,
|
||||||
a.leading_snug,
|
a.leading_snug,
|
||||||
gtMobile && [a.font_semibold],
|
gtMobile && [a.font_bold],
|
||||||
t.atoms.text_contrast_high,
|
t.atoms.text_contrast_high,
|
||||||
web({
|
web({
|
||||||
marginBottom: 1,
|
marginBottom: 1,
|
||||||
|
|||||||
@@ -236,8 +236,7 @@ export function LabelerLabelPreference({
|
|||||||
<View style={[a.flex_row, a.gap_xs, a.align_center, a.mt_xs]}>
|
<View style={[a.flex_row, a.gap_xs, a.align_center, a.mt_xs]}>
|
||||||
<CircleInfo size="sm" fill={t.atoms.text_contrast_high.color} />
|
<CircleInfo size="sm" fill={t.atoms.text_contrast_high.color} />
|
||||||
|
|
||||||
<Text
|
<Text style={[t.atoms.text_contrast_medium, a.font_bold, a.italic]}>
|
||||||
style={[t.atoms.text_contrast_medium, a.font_semibold, a.italic]}>
|
|
||||||
{adultDisabled ? (
|
{adultDisabled ? (
|
||||||
<Trans>Adult content is disabled.</Trans>
|
<Trans>Adult content is disabled.</Trans>
|
||||||
) : isGlobalLabel ? (
|
) : isGlobalLabel ? (
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ import {msg, Trans} from '@lingui/macro'
|
|||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
import {useNavigation} from '@react-navigation/native'
|
import {useNavigation} from '@react-navigation/native'
|
||||||
|
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
|
import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
import {NavigationProp} from '#/lib/routes/types'
|
||||||
import {NavigationProp} from 'lib/routes/types'
|
|
||||||
import {CenteredView} from '#/view/com/util/Views'
|
import {CenteredView} from '#/view/com/util/Views'
|
||||||
import {atoms as a, useTheme, web} from '#/alf'
|
import {atoms as a, useTheme, web} from '#/alf'
|
||||||
import {Button, ButtonText} from '#/components/Button'
|
import {Button, ButtonText} from '#/components/Button'
|
||||||
@@ -86,13 +86,7 @@ export function ScreenHider({
|
|||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
<Text
|
<Text
|
||||||
style={[
|
style={[a.text_4xl, a.font_bold, a.text_center, a.mb_md, t.atoms.text]}>
|
||||||
a.text_4xl,
|
|
||||||
a.font_semibold,
|
|
||||||
a.text_center,
|
|
||||||
a.mb_md,
|
|
||||||
t.atoms.text,
|
|
||||||
]}>
|
|
||||||
{isNoPwi ? (
|
{isNoPwi ? (
|
||||||
<Trans>Sign-in Required</Trans>
|
<Trans>Sign-in Required</Trans>
|
||||||
) : (
|
) : (
|
||||||
@@ -118,7 +112,7 @@ export function ScreenHider({
|
|||||||
<Text
|
<Text
|
||||||
style={[
|
style={[
|
||||||
a.text_lg,
|
a.text_lg,
|
||||||
a.font_semibold,
|
a.font_bold,
|
||||||
a.leading_snug,
|
a.leading_snug,
|
||||||
t.atoms.text,
|
t.atoms.text,
|
||||||
a.ml_xs,
|
a.ml_xs,
|
||||||
|
|||||||
+4
-5
@@ -1,6 +1,6 @@
|
|||||||
import {Dimensions, StyleProp, StyleSheet, TextStyle} from 'react-native'
|
import {Dimensions, StyleProp, StyleSheet, TextStyle} from 'react-native'
|
||||||
|
|
||||||
import {isWeb} from 'platform/detection'
|
import {isWeb} from '#/platform/detection'
|
||||||
import {Theme, TypographyVariant} from './ThemeContext'
|
import {Theme, TypographyVariant} from './ThemeContext'
|
||||||
|
|
||||||
// 1 is lightest, 2 is light, 3 is mid, 4 is dark, 5 is darkest
|
// 1 is lightest, 2 is light, 3 is mid, 4 is dark, 5 is darkest
|
||||||
@@ -79,14 +79,13 @@ export const s = StyleSheet.create({
|
|||||||
|
|
||||||
// font weights
|
// font weights
|
||||||
fw600: {fontWeight: '600'},
|
fw600: {fontWeight: '600'},
|
||||||
bold: {fontWeight: '700'},
|
bold: {fontWeight: '600'},
|
||||||
fw500: {fontWeight: '500'},
|
fw500: {fontWeight: '600'},
|
||||||
semiBold: {fontWeight: '500'},
|
semiBold: {fontWeight: '600'},
|
||||||
fw400: {fontWeight: '400'},
|
fw400: {fontWeight: '400'},
|
||||||
normal: {fontWeight: '400'},
|
normal: {fontWeight: '400'},
|
||||||
fw300: {fontWeight: '400'},
|
fw300: {fontWeight: '400'},
|
||||||
light: {fontWeight: '400'},
|
light: {fontWeight: '400'},
|
||||||
fw200: {fontWeight: '200'},
|
|
||||||
|
|
||||||
// text decoration
|
// text decoration
|
||||||
underline: {textDecorationLine: 'underline'},
|
underline: {textDecorationLine: 'underline'},
|
||||||
|
|||||||
+19
-19
@@ -100,12 +100,12 @@ export const defaultTheme: Theme = {
|
|||||||
'2xl-medium': {
|
'2xl-medium': {
|
||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'2xl-bold': {
|
'2xl-bold': {
|
||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '700',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'2xl-heavy': {
|
'2xl-heavy': {
|
||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
@@ -125,12 +125,12 @@ export const defaultTheme: Theme = {
|
|||||||
'xl-medium': {
|
'xl-medium': {
|
||||||
fontSize: 17,
|
fontSize: 17,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'xl-bold': {
|
'xl-bold': {
|
||||||
fontSize: 17,
|
fontSize: 17,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '700',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'xl-heavy': {
|
'xl-heavy': {
|
||||||
fontSize: 17,
|
fontSize: 17,
|
||||||
@@ -150,12 +150,12 @@ export const defaultTheme: Theme = {
|
|||||||
'lg-medium': {
|
'lg-medium': {
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'lg-bold': {
|
'lg-bold': {
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '700',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'lg-heavy': {
|
'lg-heavy': {
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
@@ -175,12 +175,12 @@ export const defaultTheme: Theme = {
|
|||||||
'md-medium': {
|
'md-medium': {
|
||||||
fontSize: 15,
|
fontSize: 15,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'md-bold': {
|
'md-bold': {
|
||||||
fontSize: 15,
|
fontSize: 15,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '700',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'md-heavy': {
|
'md-heavy': {
|
||||||
fontSize: 15,
|
fontSize: 15,
|
||||||
@@ -200,12 +200,12 @@ export const defaultTheme: Theme = {
|
|||||||
'sm-medium': {
|
'sm-medium': {
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'sm-bold': {
|
'sm-bold': {
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '700',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'sm-heavy': {
|
'sm-heavy': {
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
@@ -225,12 +225,12 @@ export const defaultTheme: Theme = {
|
|||||||
'xs-medium': {
|
'xs-medium': {
|
||||||
fontSize: 13,
|
fontSize: 13,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'xs-bold': {
|
'xs-bold': {
|
||||||
fontSize: 13,
|
fontSize: 13,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '700',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'xs-heavy': {
|
'xs-heavy': {
|
||||||
fontSize: 13,
|
fontSize: 13,
|
||||||
@@ -241,24 +241,24 @@ export const defaultTheme: Theme = {
|
|||||||
'title-2xl': {
|
'title-2xl': {
|
||||||
fontSize: 34,
|
fontSize: 34,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'title-xl': {
|
'title-xl': {
|
||||||
fontSize: 28,
|
fontSize: 28,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
'title-lg': {
|
'title-lg': {
|
||||||
fontSize: 22,
|
fontSize: 22,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
fontSize: 20,
|
fontSize: 20,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
},
|
},
|
||||||
'title-sm': {
|
'title-sm': {
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
fontSize: 17,
|
fontSize: 17,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
},
|
},
|
||||||
@@ -273,12 +273,12 @@ export const defaultTheme: Theme = {
|
|||||||
fontWeight: '400',
|
fontWeight: '400',
|
||||||
},
|
},
|
||||||
'button-lg': {
|
'button-lg': {
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
},
|
},
|
||||||
button: {
|
button: {
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
letterSpacing: tokens.TRACKING,
|
letterSpacing: tokens.TRACKING,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -339,7 +339,7 @@ export function ModerationScreenInner({
|
|||||||
a.justify_between,
|
a.justify_between,
|
||||||
disabledOnIOS && {opacity: 0.5},
|
disabledOnIOS && {opacity: 0.5},
|
||||||
]}>
|
]}>
|
||||||
<Text style={[a.font_semibold, t.atoms.text_contrast_high]}>
|
<Text style={[a.font_bold, t.atoms.text_contrast_high]}>
|
||||||
<Trans>Enable adult content</Trans>
|
<Trans>Enable adult content</Trans>
|
||||||
</Text>
|
</Text>
|
||||||
<Toggle.Item
|
<Toggle.Item
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ import React from 'react'
|
|||||||
import {View} from 'react-native'
|
import {View} from 'react-native'
|
||||||
import {AppBskyActorDefs, ModerationDecision} from '@atproto/api'
|
import {AppBskyActorDefs, ModerationDecision} from '@atproto/api'
|
||||||
|
|
||||||
|
import {sanitizeDisplayName} from '#/lib/strings/display-names'
|
||||||
|
import {sanitizeHandle} from '#/lib/strings/handles'
|
||||||
import {Shadow} from '#/state/cache/types'
|
import {Shadow} from '#/state/cache/types'
|
||||||
import {sanitizeDisplayName} from 'lib/strings/display-names'
|
|
||||||
import {sanitizeHandle} from 'lib/strings/handles'
|
|
||||||
import {atoms as a, useTheme} from '#/alf'
|
import {atoms as a, useTheme} from '#/alf'
|
||||||
import {Text} from '#/components/Typography'
|
import {Text} from '#/components/Typography'
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ export function ProfileHeaderDisplayName({
|
|||||||
<View pointerEvents="none">
|
<View pointerEvents="none">
|
||||||
<Text
|
<Text
|
||||||
testID="profileHeaderDisplayName"
|
testID="profileHeaderDisplayName"
|
||||||
style={[t.atoms.text, a.text_4xl, a.self_start, {fontWeight: '500'}]}>
|
style={[t.atoms.text, a.text_4xl, a.self_start, {fontWeight: '600'}]}>
|
||||||
{sanitizeDisplayName(
|
{sanitizeDisplayName(
|
||||||
profile.displayName || sanitizeHandle(profile.handle),
|
profile.displayName || sanitizeHandle(profile.handle),
|
||||||
moderation.ui('displayName'),
|
moderation.ui('displayName'),
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import {useLingui} from '@lingui/react'
|
|||||||
import {useAnalytics} from '#/lib/analytics/analytics'
|
import {useAnalytics} from '#/lib/analytics/analytics'
|
||||||
import {FEEDBACK_FORM_URL} from '#/lib/constants'
|
import {FEEDBACK_FORM_URL} from '#/lib/constants'
|
||||||
import {useServiceQuery} from '#/state/queries/service'
|
import {useServiceQuery} from '#/state/queries/service'
|
||||||
import {useStarterPackQuery} from 'state/queries/starter-packs'
|
import {useStarterPackQuery} from '#/state/queries/starter-packs'
|
||||||
import {useActiveStarterPack} from 'state/shell/starter-pack'
|
import {useActiveStarterPack} from '#/state/shell/starter-pack'
|
||||||
import {LoggedOutLayout} from '#/view/com/util/layouts/LoggedOutLayout'
|
import {LoggedOutLayout} from '#/view/com/util/layouts/LoggedOutLayout'
|
||||||
import {
|
import {
|
||||||
initialState,
|
initialState,
|
||||||
@@ -132,7 +132,7 @@ export function Signup({onPressBack}: {onPressBack: () => void}) {
|
|||||||
!gtMobile && {paddingBottom: 100},
|
!gtMobile && {paddingBottom: 100},
|
||||||
]}>
|
]}>
|
||||||
<View style={[a.gap_sm, a.pb_3xl]}>
|
<View style={[a.gap_sm, a.pb_3xl]}>
|
||||||
<Text style={[a.font_semibold, t.atoms.text_contrast_medium]}>
|
<Text style={[a.font_bold, t.atoms.text_contrast_medium]}>
|
||||||
<Trans>
|
<Trans>
|
||||||
Step {state.activeStep + 1} of{' '}
|
Step {state.activeStep + 1} of{' '}
|
||||||
{state.serviceDescription &&
|
{state.serviceDescription &&
|
||||||
|
|||||||
@@ -11,22 +11,22 @@ import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
|
|||||||
import {msg, Trans} from '@lingui/macro'
|
import {msg, Trans} from '@lingui/macro'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
|
|
||||||
|
import {isAndroidWeb} from '#/lib/browser'
|
||||||
import {JOINED_THIS_WEEK} from '#/lib/constants'
|
import {JOINED_THIS_WEEK} from '#/lib/constants'
|
||||||
import {isAndroidWeb} from 'lib/browser'
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
import {logEvent} from '#/lib/statsig/statsig'
|
||||||
import {logEvent} from 'lib/statsig/statsig'
|
import {createStarterPackGooglePlayUri} from '#/lib/strings/starter-pack'
|
||||||
import {createStarterPackGooglePlayUri} from 'lib/strings/starter-pack'
|
import {isWeb} from '#/platform/detection'
|
||||||
import {isWeb} from 'platform/detection'
|
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
||||||
import {useModerationOpts} from 'state/preferences/moderation-opts'
|
import {useStarterPackQuery} from '#/state/queries/starter-packs'
|
||||||
import {useStarterPackQuery} from 'state/queries/starter-packs'
|
|
||||||
import {
|
import {
|
||||||
useActiveStarterPack,
|
useActiveStarterPack,
|
||||||
useSetActiveStarterPack,
|
useSetActiveStarterPack,
|
||||||
} from 'state/shell/starter-pack'
|
} from '#/state/shell/starter-pack'
|
||||||
|
import {LoggedOutScreenState} from '#/view/com/auth/LoggedOut'
|
||||||
import {formatCount} from '#/view/com/util/numeric/format'
|
import {formatCount} from '#/view/com/util/numeric/format'
|
||||||
import {LoggedOutScreenState} from 'view/com/auth/LoggedOut'
|
import {CenteredView} from '#/view/com/util/Views'
|
||||||
import {CenteredView} from 'view/com/util/Views'
|
import {Logo} from '#/view/icons/Logo'
|
||||||
import {Logo} from 'view/icons/Logo'
|
|
||||||
import {atoms as a, useTheme} from '#/alf'
|
import {atoms as a, useTheme} from '#/alf'
|
||||||
import {Button, ButtonText} from '#/components/Button'
|
import {Button, ButtonText} from '#/components/Button'
|
||||||
import {useDialogControl} from '#/components/Dialog'
|
import {useDialogControl} from '#/components/Dialog'
|
||||||
@@ -188,12 +188,7 @@ function LandingScreenLoaded({
|
|||||||
{record.name}
|
{record.name}
|
||||||
</Text>
|
</Text>
|
||||||
<Text
|
<Text
|
||||||
style={[
|
style={[a.text_center, a.font_bold, a.text_md, {color: 'white'}]}>
|
||||||
a.text_center,
|
|
||||||
a.font_semibold,
|
|
||||||
a.text_md,
|
|
||||||
{color: 'white'},
|
|
||||||
]}>
|
|
||||||
Starter pack by {`@${creator.handle}`}
|
Starter pack by {`@${creator.handle}`}
|
||||||
</Text>
|
</Text>
|
||||||
</LinearGradientBackground>
|
</LinearGradientBackground>
|
||||||
@@ -219,11 +214,7 @@ function LandingScreenLoaded({
|
|||||||
color={t.atoms.text_contrast_medium.color}
|
color={t.atoms.text_contrast_medium.color}
|
||||||
/>
|
/>
|
||||||
<Text
|
<Text
|
||||||
style={[
|
style={[a.font_bold, a.text_sm, t.atoms.text_contrast_medium]}
|
||||||
a.font_semibold,
|
|
||||||
a.text_sm,
|
|
||||||
t.atoms.text_contrast_medium,
|
|
||||||
]}
|
|
||||||
numberOfLines={1}>
|
numberOfLines={1}>
|
||||||
<Trans>
|
<Trans>
|
||||||
{formatCount(i18n, JOINED_THIS_WEEK)} joined this week
|
{formatCount(i18n, JOINED_THIS_WEEK)} joined this week
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ import {useSafeAreaInsets} from 'react-native-safe-area-context'
|
|||||||
import {msg, Trans} from '@lingui/macro'
|
import {msg, Trans} from '@lingui/macro'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
|
|
||||||
|
import {ErrorBoundary} from '#/view/com/util/ErrorBoundary'
|
||||||
import {Logo} from '#/view/icons/Logo'
|
import {Logo} from '#/view/icons/Logo'
|
||||||
import {Logotype} from '#/view/icons/Logotype'
|
import {Logotype} from '#/view/icons/Logotype'
|
||||||
import {ErrorBoundary} from 'view/com/util/ErrorBoundary'
|
|
||||||
import {atoms as a, useTheme} from '#/alf'
|
import {atoms as a, useTheme} from '#/alf'
|
||||||
import {AppLanguageDropdown} from '#/components/AppLanguageDropdown'
|
import {AppLanguageDropdown} from '#/components/AppLanguageDropdown'
|
||||||
import {Button, ButtonText} from '#/components/Button'
|
import {Button, ButtonText} from '#/components/Button'
|
||||||
@@ -35,8 +35,7 @@ export const SplashScreen = ({
|
|||||||
<Logotype width={161} fill={t.atoms.text.color} />
|
<Logotype width={161} fill={t.atoms.text.color} />
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
<Text
|
<Text style={[a.text_md, a.font_bold, t.atoms.text_contrast_medium]}>
|
||||||
style={[a.text_md, a.font_semibold, t.atoms.text_contrast_medium]}>
|
|
||||||
<Trans>What's up?</Trans>
|
<Trans>What's up?</Trans>
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
|
|||||||
import {msg, Trans} from '@lingui/macro'
|
import {msg, Trans} from '@lingui/macro'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
|
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
import {useKawaiiMode} from '#/state/preferences/kawaii'
|
import {useKawaiiMode} from '#/state/preferences/kawaii'
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
import {ErrorBoundary} from '#/view/com/util/ErrorBoundary'
|
||||||
import {Logo} from '#/view/icons/Logo'
|
import {Logo} from '#/view/icons/Logo'
|
||||||
import {Logotype} from '#/view/icons/Logotype'
|
import {Logotype} from '#/view/icons/Logotype'
|
||||||
import {ErrorBoundary} from 'view/com/util/ErrorBoundary'
|
|
||||||
import {atoms as a, useTheme} from '#/alf'
|
import {atoms as a, useTheme} from '#/alf'
|
||||||
import {AppLanguageDropdown} from '#/components/AppLanguageDropdown'
|
import {AppLanguageDropdown} from '#/components/AppLanguageDropdown'
|
||||||
import {Button, ButtonText} from '#/components/Button'
|
import {Button, ButtonText} from '#/components/Button'
|
||||||
@@ -78,11 +78,7 @@ export const SplashScreen = ({
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
<Text
|
<Text
|
||||||
style={[
|
style={[a.text_md, a.font_bold, t.atoms.text_contrast_medium]}>
|
||||||
a.text_md,
|
|
||||||
a.font_semibold,
|
|
||||||
t.atoms.text_contrast_medium,
|
|
||||||
]}>
|
|
||||||
<Trans>What's up?</Trans>
|
<Trans>What's up?</Trans>
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
@@ -7,13 +7,13 @@ import {msg, Trans} from '@lingui/macro'
|
|||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
import {observer} from 'mobx-react-lite'
|
import {observer} from 'mobx-react-lite'
|
||||||
|
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
|
import {Dimensions} from '#/lib/media/types'
|
||||||
|
import {colors, s} from '#/lib/styles'
|
||||||
|
import {isNative} from '#/platform/detection'
|
||||||
import {useModalControls} from '#/state/modals'
|
import {useModalControls} from '#/state/modals'
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
import {GalleryModel} from '#/state/models/media/gallery'
|
||||||
import {Dimensions} from 'lib/media/types'
|
import {Text} from '#/view/com/util/text/Text'
|
||||||
import {colors, s} from 'lib/styles'
|
|
||||||
import {isNative} from 'platform/detection'
|
|
||||||
import {GalleryModel} from 'state/models/media/gallery'
|
|
||||||
import {Text} from 'view/com/util/text/Text'
|
|
||||||
import {useTheme} from '#/alf'
|
import {useTheme} from '#/alf'
|
||||||
|
|
||||||
const IMAGE_GAP = 8
|
const IMAGE_GAP = 8
|
||||||
@@ -263,7 +263,7 @@ const styles = StyleSheet.create({
|
|||||||
altTextControlLabel: {
|
altTextControlLabel: {
|
||||||
color: 'white',
|
color: 'white',
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
letterSpacing: 1,
|
letterSpacing: 1,
|
||||||
},
|
},
|
||||||
altTextHiddenRegion: {
|
altTextHiddenRegion: {
|
||||||
|
|||||||
@@ -14,22 +14,22 @@ import {AppBskyGraphDefs, RichText as RichTextAPI} from '@atproto/api'
|
|||||||
import {msg, Trans} from '@lingui/macro'
|
import {msg, Trans} from '@lingui/macro'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
|
|
||||||
|
import {useAnalytics} from '#/lib/analytics/analytics'
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
|
import {compressIfNeeded} from '#/lib/media/manip'
|
||||||
|
import {cleanError, isNetworkError} from '#/lib/strings/errors'
|
||||||
|
import {enforceLen} from '#/lib/strings/helpers'
|
||||||
import {richTextToString} from '#/lib/strings/rich-text-helpers'
|
import {richTextToString} from '#/lib/strings/rich-text-helpers'
|
||||||
import {shortenLinks, stripInvalidMentions} from '#/lib/strings/rich-text-manip'
|
import {shortenLinks, stripInvalidMentions} from '#/lib/strings/rich-text-manip'
|
||||||
|
import {colors, gradients, s} from '#/lib/styles'
|
||||||
|
import {useTheme} from '#/lib/ThemeContext'
|
||||||
import {useModalControls} from '#/state/modals'
|
import {useModalControls} from '#/state/modals'
|
||||||
import {
|
import {
|
||||||
useListCreateMutation,
|
useListCreateMutation,
|
||||||
useListMetadataMutation,
|
useListMetadataMutation,
|
||||||
} from '#/state/queries/list'
|
} from '#/state/queries/list'
|
||||||
import {useAgent} from '#/state/session'
|
import {useAgent} from '#/state/session'
|
||||||
import {useAnalytics} from 'lib/analytics/analytics'
|
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
||||||
import {compressIfNeeded} from 'lib/media/manip'
|
|
||||||
import {cleanError, isNetworkError} from 'lib/strings/errors'
|
|
||||||
import {enforceLen} from 'lib/strings/helpers'
|
|
||||||
import {colors, gradients, s} from 'lib/styles'
|
|
||||||
import {useTheme} from 'lib/ThemeContext'
|
|
||||||
import {ErrorMessage} from '../util/error/ErrorMessage'
|
import {ErrorMessage} from '../util/error/ErrorMessage'
|
||||||
import {Text} from '../util/text/Text'
|
import {Text} from '../util/text/Text'
|
||||||
import * as Toast from '../util/Toast'
|
import * as Toast from '../util/Toast'
|
||||||
@@ -359,7 +359,7 @@ export function Component({
|
|||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
title: {
|
title: {
|
||||||
textAlign: 'center',
|
textAlign: 'center',
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
fontSize: 24,
|
fontSize: 24,
|
||||||
marginBottom: 18,
|
marginBottom: 18,
|
||||||
},
|
},
|
||||||
@@ -373,7 +373,7 @@ const styles = StyleSheet.create({
|
|||||||
marginTop: 20,
|
marginTop: 20,
|
||||||
},
|
},
|
||||||
label: {
|
label: {
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
form: {
|
form: {
|
||||||
paddingHorizontal: 6,
|
paddingHorizontal: 6,
|
||||||
|
|||||||
@@ -8,16 +8,16 @@ import {Slider} from '@miblanchard/react-native-slider'
|
|||||||
import {observer} from 'mobx-react-lite'
|
import {observer} from 'mobx-react-lite'
|
||||||
import ImageEditor, {Position} from 'react-avatar-editor'
|
import ImageEditor, {Position} from 'react-avatar-editor'
|
||||||
|
|
||||||
|
import {MAX_ALT_TEXT} from '#/lib/constants'
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
|
import {enforceLen} from '#/lib/strings/helpers'
|
||||||
|
import {gradients, s} from '#/lib/styles'
|
||||||
|
import {useTheme} from '#/lib/ThemeContext'
|
||||||
|
import {getKeys} from '#/lib/type-assertions'
|
||||||
import {useModalControls} from '#/state/modals'
|
import {useModalControls} from '#/state/modals'
|
||||||
import {MAX_ALT_TEXT} from 'lib/constants'
|
import {GalleryModel} from '#/state/models/media/gallery'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
import {ImageModel} from '#/state/models/media/image'
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
||||||
import {enforceLen} from 'lib/strings/helpers'
|
|
||||||
import {gradients, s} from 'lib/styles'
|
|
||||||
import {useTheme} from 'lib/ThemeContext'
|
|
||||||
import {getKeys} from 'lib/type-assertions'
|
|
||||||
import {GalleryModel} from 'state/models/media/gallery'
|
|
||||||
import {ImageModel} from 'state/models/media/image'
|
|
||||||
import {atoms as a} from '#/alf'
|
import {atoms as a} from '#/alf'
|
||||||
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
|
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
|
||||||
import {
|
import {
|
||||||
@@ -333,7 +333,7 @@ const styles = StyleSheet.create({
|
|||||||
subsection: {marginTop: 12},
|
subsection: {marginTop: 12},
|
||||||
gap18: {gap: 18},
|
gap18: {gap: 18},
|
||||||
title: {
|
title: {
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
fontSize: 24,
|
fontSize: 24,
|
||||||
},
|
},
|
||||||
btns: {
|
btns: {
|
||||||
|
|||||||
@@ -15,18 +15,18 @@ import {AppBskyActorDefs} from '@atproto/api'
|
|||||||
import {msg, Trans} from '@lingui/macro'
|
import {msg, Trans} from '@lingui/macro'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
|
|
||||||
|
import {useAnalytics} from '#/lib/analytics/analytics'
|
||||||
|
import {MAX_DESCRIPTION, MAX_DISPLAY_NAME} from '#/lib/constants'
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {compressIfNeeded} from '#/lib/media/manip'
|
||||||
|
import {cleanError} from '#/lib/strings/errors'
|
||||||
|
import {enforceLen} from '#/lib/strings/helpers'
|
||||||
|
import {colors, gradients, s} from '#/lib/styles'
|
||||||
|
import {useTheme} from '#/lib/ThemeContext'
|
||||||
import {logger} from '#/logger'
|
import {logger} from '#/logger'
|
||||||
|
import {isWeb} from '#/platform/detection'
|
||||||
import {useModalControls} from '#/state/modals'
|
import {useModalControls} from '#/state/modals'
|
||||||
import {useProfileUpdateMutation} from '#/state/queries/profile'
|
import {useProfileUpdateMutation} from '#/state/queries/profile'
|
||||||
import {useAnalytics} from 'lib/analytics/analytics'
|
|
||||||
import {MAX_DESCRIPTION, MAX_DISPLAY_NAME} from 'lib/constants'
|
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
|
||||||
import {compressIfNeeded} from 'lib/media/manip'
|
|
||||||
import {cleanError} from 'lib/strings/errors'
|
|
||||||
import {enforceLen} from 'lib/strings/helpers'
|
|
||||||
import {colors, gradients, s} from 'lib/styles'
|
|
||||||
import {useTheme} from 'lib/ThemeContext'
|
|
||||||
import {isWeb} from 'platform/detection'
|
|
||||||
import {ErrorMessage} from '../util/error/ErrorMessage'
|
import {ErrorMessage} from '../util/error/ErrorMessage'
|
||||||
import {Text} from '../util/text/Text'
|
import {Text} from '../util/text/Text'
|
||||||
import * as Toast from '../util/Toast'
|
import * as Toast from '../util/Toast'
|
||||||
@@ -261,12 +261,12 @@ export function Component({
|
|||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
title: {
|
title: {
|
||||||
textAlign: 'center',
|
textAlign: 'center',
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
fontSize: 24,
|
fontSize: 24,
|
||||||
marginBottom: 18,
|
marginBottom: 18,
|
||||||
},
|
},
|
||||||
label: {
|
label: {
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
paddingHorizontal: 4,
|
paddingHorizontal: 4,
|
||||||
paddingBottom: 4,
|
paddingBottom: 4,
|
||||||
marginTop: 20,
|
marginTop: 20,
|
||||||
|
|||||||
@@ -1,19 +1,18 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import {StyleSheet, View} from 'react-native'
|
import {StyleSheet, View} from 'react-native'
|
||||||
|
|
||||||
import {s} from 'lib/styles'
|
|
||||||
import {Text} from '../util/text/Text'
|
|
||||||
import {Button} from '../util/forms/Button'
|
|
||||||
import {ScrollView} from './util'
|
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
|
||||||
|
|
||||||
import {msg, Trans} from '@lingui/macro'
|
import {msg, Trans} from '@lingui/macro'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
|
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {s} from '#/lib/styles'
|
||||||
import {useModalControls} from '#/state/modals'
|
import {useModalControls} from '#/state/modals'
|
||||||
import {
|
import {
|
||||||
useOpenLink,
|
useOpenLink,
|
||||||
useSetInAppBrowser,
|
useSetInAppBrowser,
|
||||||
} from '#/state/preferences/in-app-browser'
|
} from '#/state/preferences/in-app-browser'
|
||||||
|
import {Button} from '../util/forms/Button'
|
||||||
|
import {Text} from '../util/text/Text'
|
||||||
|
import {ScrollView} from './util'
|
||||||
|
|
||||||
export const snapPoints = [350]
|
export const snapPoints = [350]
|
||||||
|
|
||||||
@@ -89,7 +88,7 @@ export function Component({href}: {href: string}) {
|
|||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
title: {
|
title: {
|
||||||
textAlign: 'center',
|
textAlign: 'center',
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
fontSize: 24,
|
fontSize: 24,
|
||||||
marginBottom: 12,
|
marginBottom: 12,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -9,7 +9,12 @@ import {AppBskyGraphDefs as GraphDefs} from '@atproto/api'
|
|||||||
import {msg, Trans} from '@lingui/macro'
|
import {msg, Trans} from '@lingui/macro'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
|
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {sanitizeDisplayName} from '#/lib/strings/display-names'
|
||||||
import {cleanError} from '#/lib/strings/errors'
|
import {cleanError} from '#/lib/strings/errors'
|
||||||
|
import {sanitizeHandle} from '#/lib/strings/handles'
|
||||||
|
import {s} from '#/lib/styles'
|
||||||
|
import {isAndroid, isMobileWeb, isWeb} from '#/platform/detection'
|
||||||
import {useModalControls} from '#/state/modals'
|
import {useModalControls} from '#/state/modals'
|
||||||
import {
|
import {
|
||||||
getMembership,
|
getMembership,
|
||||||
@@ -19,11 +24,6 @@ import {
|
|||||||
useListMembershipRemoveMutation,
|
useListMembershipRemoveMutation,
|
||||||
} from '#/state/queries/list-memberships'
|
} from '#/state/queries/list-memberships'
|
||||||
import {useSession} from '#/state/session'
|
import {useSession} from '#/state/session'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
|
||||||
import {sanitizeDisplayName} from 'lib/strings/display-names'
|
|
||||||
import {sanitizeHandle} from 'lib/strings/handles'
|
|
||||||
import {s} from 'lib/styles'
|
|
||||||
import {isAndroid, isMobileWeb, isWeb} from 'platform/detection'
|
|
||||||
import {MyLists} from '../lists/MyLists'
|
import {MyLists} from '../lists/MyLists'
|
||||||
import {Button} from '../util/forms/Button'
|
import {Button} from '../util/forms/Button'
|
||||||
import {Text} from '../util/text/Text'
|
import {Text} from '../util/text/Text'
|
||||||
@@ -71,7 +71,7 @@ export function Component({
|
|||||||
style={[
|
style={[
|
||||||
{
|
{
|
||||||
textAlign: 'center',
|
textAlign: 'center',
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
fontSize: 20,
|
fontSize: 20,
|
||||||
marginBottom: 12,
|
marginBottom: 12,
|
||||||
paddingHorizontal: 12,
|
paddingHorizontal: 12,
|
||||||
|
|||||||
@@ -2,14 +2,14 @@ import React from 'react'
|
|||||||
import {StyleSheet, View} from 'react-native'
|
import {StyleSheet, View} from 'react-native'
|
||||||
import {Trans} from '@lingui/macro'
|
import {Trans} from '@lingui/macro'
|
||||||
|
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
import {deviceLanguageCodes} from '#/locale/deviceLocales'
|
import {deviceLanguageCodes} from '#/locale/deviceLocales'
|
||||||
import {useModalControls} from '#/state/modals'
|
import {useModalControls} from '#/state/modals'
|
||||||
import {
|
import {
|
||||||
useLanguagePrefs,
|
useLanguagePrefs,
|
||||||
useLanguagePrefsApi,
|
useLanguagePrefsApi,
|
||||||
} from '#/state/preferences/languages'
|
} from '#/state/preferences/languages'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
||||||
import {LANGUAGES, LANGUAGES_MAP_CODE2} from '../../../../locale/languages'
|
import {LANGUAGES, LANGUAGES_MAP_CODE2} from '../../../../locale/languages'
|
||||||
import {Text} from '../../util/text/Text'
|
import {Text} from '../../util/text/Text'
|
||||||
import {ScrollView} from '../util'
|
import {ScrollView} from '../util'
|
||||||
@@ -111,7 +111,7 @@ const styles = StyleSheet.create({
|
|||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
textAlign: 'center',
|
textAlign: 'center',
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
fontSize: 24,
|
fontSize: 24,
|
||||||
marginBottom: 12,
|
marginBottom: 12,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ import React from 'react'
|
|||||||
import {StyleSheet, View} from 'react-native'
|
import {StyleSheet, View} from 'react-native'
|
||||||
import {Trans} from '@lingui/macro'
|
import {Trans} from '@lingui/macro'
|
||||||
|
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
import {deviceLanguageCodes} from '#/locale/deviceLocales'
|
import {deviceLanguageCodes} from '#/locale/deviceLocales'
|
||||||
import {useModalControls} from '#/state/modals'
|
import {useModalControls} from '#/state/modals'
|
||||||
import {
|
import {
|
||||||
@@ -9,9 +11,7 @@ import {
|
|||||||
useLanguagePrefs,
|
useLanguagePrefs,
|
||||||
useLanguagePrefsApi,
|
useLanguagePrefsApi,
|
||||||
} from '#/state/preferences/languages'
|
} from '#/state/preferences/languages'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
import {ToggleButton} from '#/view/com/util/forms/ToggleButton'
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
||||||
import {ToggleButton} from 'view/com/util/forms/ToggleButton'
|
|
||||||
import {LANGUAGES, LANGUAGES_MAP_CODE2} from '../../../../locale/languages'
|
import {LANGUAGES, LANGUAGES_MAP_CODE2} from '../../../../locale/languages'
|
||||||
import {Text} from '../../util/text/Text'
|
import {Text} from '../../util/text/Text'
|
||||||
import {ScrollView} from '../util'
|
import {ScrollView} from '../util'
|
||||||
@@ -119,7 +119,7 @@ const styles = StyleSheet.create({
|
|||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
textAlign: 'center',
|
textAlign: 'center',
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
fontSize: 24,
|
fontSize: 24,
|
||||||
marginBottom: 12,
|
marginBottom: 12,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -22,21 +22,21 @@ import {useLingui} from '@lingui/react'
|
|||||||
import {useNavigation} from '@react-navigation/native'
|
import {useNavigation} from '@react-navigation/native'
|
||||||
import {useQueryClient} from '@tanstack/react-query'
|
import {useQueryClient} from '@tanstack/react-query'
|
||||||
|
|
||||||
|
import {useAnimatedValue} from '#/lib/hooks/useAnimatedValue'
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {makeProfileLink} from '#/lib/routes/links'
|
||||||
|
import {NavigationProp} from '#/lib/routes/types'
|
||||||
|
import {forceLTR} from '#/lib/strings/bidi'
|
||||||
|
import {sanitizeDisplayName} from '#/lib/strings/display-names'
|
||||||
|
import {sanitizeHandle} from '#/lib/strings/handles'
|
||||||
|
import {niceDate} from '#/lib/strings/time'
|
||||||
|
import {colors, s} from '#/lib/styles'
|
||||||
import {logger} from '#/logger'
|
import {logger} from '#/logger'
|
||||||
|
import {isWeb} from '#/platform/detection'
|
||||||
|
import {DM_SERVICE_HEADERS} from '#/state/queries/messages/const'
|
||||||
import {FeedNotification} from '#/state/queries/notifications/feed'
|
import {FeedNotification} from '#/state/queries/notifications/feed'
|
||||||
import {useAnimatedValue} from 'lib/hooks/useAnimatedValue'
|
import {precacheProfile} from '#/state/queries/profile'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
import {useAgent} from '#/state/session'
|
||||||
import {makeProfileLink} from 'lib/routes/links'
|
|
||||||
import {NavigationProp} from 'lib/routes/types'
|
|
||||||
import {forceLTR} from 'lib/strings/bidi'
|
|
||||||
import {sanitizeDisplayName} from 'lib/strings/display-names'
|
|
||||||
import {sanitizeHandle} from 'lib/strings/handles'
|
|
||||||
import {niceDate} from 'lib/strings/time'
|
|
||||||
import {colors, s} from 'lib/styles'
|
|
||||||
import {isWeb} from 'platform/detection'
|
|
||||||
import {DM_SERVICE_HEADERS} from 'state/queries/messages/const'
|
|
||||||
import {precacheProfile} from 'state/queries/profile'
|
|
||||||
import {useAgent} from 'state/session'
|
|
||||||
import {atoms as a, useTheme} from '#/alf'
|
import {atoms as a, useTheme} from '#/alf'
|
||||||
import {Button, ButtonText} from '#/components/Button'
|
import {Button, ButtonText} from '#/components/Button'
|
||||||
import {
|
import {
|
||||||
@@ -632,7 +632,7 @@ const styles = StyleSheet.create({
|
|||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
},
|
},
|
||||||
aviExtraCount: {
|
aviExtraCount: {
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
paddingLeft: 6,
|
paddingLeft: 6,
|
||||||
},
|
},
|
||||||
meta: {
|
meta: {
|
||||||
|
|||||||
@@ -5,16 +5,16 @@ import {msg, Trans} from '@lingui/macro'
|
|||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
import {useNavigation} from '@react-navigation/native'
|
import {useNavigation} from '@react-navigation/native'
|
||||||
|
|
||||||
|
import {BACK_HITSLOP} from '#/lib/constants'
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
|
import {makeProfileLink} from '#/lib/routes/links'
|
||||||
|
import {NavigationProp} from '#/lib/routes/types'
|
||||||
|
import {sanitizeHandle} from '#/lib/strings/handles'
|
||||||
|
import {isNative} from '#/platform/detection'
|
||||||
import {emitSoftReset} from '#/state/events'
|
import {emitSoftReset} from '#/state/events'
|
||||||
import {ImagesLightbox, useLightboxControls} from '#/state/lightbox'
|
import {ImagesLightbox, useLightboxControls} from '#/state/lightbox'
|
||||||
import {useSetDrawerOpen} from '#/state/shell'
|
import {useSetDrawerOpen} from '#/state/shell'
|
||||||
import {BACK_HITSLOP} from 'lib/constants'
|
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
||||||
import {makeProfileLink} from 'lib/routes/links'
|
|
||||||
import {NavigationProp} from 'lib/routes/types'
|
|
||||||
import {sanitizeHandle} from 'lib/strings/handles'
|
|
||||||
import {isNative} from 'platform/detection'
|
|
||||||
import {Menu_Stroke2_Corner0_Rounded as Menu} from '#/components/icons/Menu'
|
import {Menu_Stroke2_Corner0_Rounded as Menu} from '#/components/icons/Menu'
|
||||||
import {StarterPack} from '#/components/icons/StarterPack'
|
import {StarterPack} from '#/components/icons/StarterPack'
|
||||||
import {TextLink} from '../util/Link'
|
import {TextLink} from '../util/Link'
|
||||||
@@ -145,7 +145,7 @@ export function ProfileSubpageHeader({
|
|||||||
testID="headerTitle"
|
testID="headerTitle"
|
||||||
type="title-xl"
|
type="title-xl"
|
||||||
href={href}
|
href={href}
|
||||||
style={[pal.text, {fontWeight: 'bold'}]}
|
style={[pal.text, {fontWeight: '600'}]}
|
||||||
text={title || ''}
|
text={title || ''}
|
||||||
onPress={emitSoftReset}
|
onPress={emitSoftReset}
|
||||||
numberOfLines={4}
|
numberOfLines={4}
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
import * as React from 'react'
|
import * as React from 'react'
|
||||||
import {StyleSheet, View} from 'react-native'
|
import {StyleSheet, View} from 'react-native'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
|
||||||
import {useTheme} from 'lib/ThemeContext'
|
|
||||||
import {Text} from './text/Text'
|
|
||||||
import {TextLink} from './Link'
|
|
||||||
import {
|
import {
|
||||||
H1 as ExpoH1,
|
H1 as ExpoH1,
|
||||||
H2 as ExpoH2,
|
H2 as ExpoH2,
|
||||||
H3 as ExpoH3,
|
H3 as ExpoH3,
|
||||||
H4 as ExpoH4,
|
H4 as ExpoH4,
|
||||||
} from '@expo/html-elements'
|
} from '@expo/html-elements'
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
|
import {useTheme} from '#/lib/ThemeContext'
|
||||||
|
import {TextLink} from './Link'
|
||||||
|
import {Text} from './text/Text'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* These utilities are used to define long documents in an html-like
|
* These utilities are used to define long documents in an html-like
|
||||||
@@ -166,7 +167,7 @@ const useStyles = () => {
|
|||||||
h4: {
|
h4: {
|
||||||
marginTop: 0,
|
marginTop: 0,
|
||||||
marginBottom: 10,
|
marginBottom: 10,
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
p: {
|
p: {
|
||||||
marginBottom: 10,
|
marginBottom: 10,
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ import {msg} from '@lingui/macro'
|
|||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
import {useNavigation} from '@react-navigation/native'
|
import {useNavigation} from '@react-navigation/native'
|
||||||
|
|
||||||
|
import {useAnalytics} from '#/lib/analytics/analytics'
|
||||||
|
import {useMinimalShellHeaderTransform} from '#/lib/hooks/useMinimalShellTransform'
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
|
import {NavigationProp} from '#/lib/routes/types'
|
||||||
import {useSetDrawerOpen} from '#/state/shell'
|
import {useSetDrawerOpen} from '#/state/shell'
|
||||||
import {useAnalytics} from 'lib/analytics/analytics'
|
|
||||||
import {useMinimalShellHeaderTransform} from 'lib/hooks/useMinimalShellTransform'
|
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
||||||
import {NavigationProp} from 'lib/routes/types'
|
|
||||||
import {useTheme} from '#/alf'
|
import {useTheme} from '#/alf'
|
||||||
import {Menu_Stroke2_Corner0_Rounded as Menu} from '#/components/icons/Menu'
|
import {Menu_Stroke2_Corner0_Rounded as Menu} from '#/components/icons/Menu'
|
||||||
import {Text} from './text/Text'
|
import {Text} from './text/Text'
|
||||||
@@ -250,7 +250,7 @@ const styles = StyleSheet.create({
|
|||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
subtitle: {
|
subtitle: {
|
||||||
fontSize: 13,
|
fontSize: 13,
|
||||||
|
|||||||
@@ -1,20 +1,21 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import {
|
import {
|
||||||
|
ActivityIndicator,
|
||||||
GestureResponderEvent,
|
GestureResponderEvent,
|
||||||
|
NativeSyntheticEvent,
|
||||||
|
NativeTouchEvent,
|
||||||
|
Pressable,
|
||||||
|
PressableStateCallbackType,
|
||||||
StyleProp,
|
StyleProp,
|
||||||
StyleSheet,
|
StyleSheet,
|
||||||
TextStyle,
|
TextStyle,
|
||||||
Pressable,
|
|
||||||
ViewStyle,
|
|
||||||
PressableStateCallbackType,
|
|
||||||
ActivityIndicator,
|
|
||||||
View,
|
View,
|
||||||
NativeSyntheticEvent,
|
ViewStyle,
|
||||||
NativeTouchEvent,
|
|
||||||
} from 'react-native'
|
} from 'react-native'
|
||||||
|
|
||||||
|
import {choose} from '#/lib/functions'
|
||||||
|
import {useTheme} from '#/lib/ThemeContext'
|
||||||
import {Text} from '../text/Text'
|
import {Text} from '../text/Text'
|
||||||
import {useTheme} from 'lib/ThemeContext'
|
|
||||||
import {choose} from 'lib/functions'
|
|
||||||
|
|
||||||
export type ButtonType =
|
export type ButtonType =
|
||||||
| 'primary'
|
| 'primary'
|
||||||
@@ -112,7 +113,7 @@ export function Button({
|
|||||||
},
|
},
|
||||||
secondary: {
|
secondary: {
|
||||||
color: theme.palette.secondary.text,
|
color: theme.palette.secondary.text,
|
||||||
fontWeight: theme.palette.secondary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.secondary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
default: {
|
default: {
|
||||||
color: theme.palette.default.text,
|
color: theme.palette.default.text,
|
||||||
@@ -123,23 +124,23 @@ export function Button({
|
|||||||
},
|
},
|
||||||
'primary-outline': {
|
'primary-outline': {
|
||||||
color: theme.palette.primary.textInverted,
|
color: theme.palette.primary.textInverted,
|
||||||
fontWeight: theme.palette.primary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.primary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'secondary-outline': {
|
'secondary-outline': {
|
||||||
color: theme.palette.secondary.textInverted,
|
color: theme.palette.secondary.textInverted,
|
||||||
fontWeight: theme.palette.secondary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.secondary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'primary-light': {
|
'primary-light': {
|
||||||
color: theme.palette.primary.textInverted,
|
color: theme.palette.primary.textInverted,
|
||||||
fontWeight: theme.palette.primary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.primary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'secondary-light': {
|
'secondary-light': {
|
||||||
color: theme.palette.secondary.textInverted,
|
color: theme.palette.secondary.textInverted,
|
||||||
fontWeight: theme.palette.secondary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.secondary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'default-light': {
|
'default-light': {
|
||||||
color: theme.palette.default.text,
|
color: theme.palette.default.text,
|
||||||
fontWeight: theme.palette.default.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.default.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -17,11 +17,11 @@ import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
|
|||||||
import {msg} from '@lingui/macro'
|
import {msg} from '@lingui/macro'
|
||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
|
|
||||||
import {HITSLOP_10} from 'lib/constants'
|
import {HITSLOP_10} from '#/lib/constants'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
import {colors} from 'lib/styles'
|
import {colors} from '#/lib/styles'
|
||||||
import {useTheme} from 'lib/ThemeContext'
|
import {useTheme} from '#/lib/ThemeContext'
|
||||||
import {isWeb} from 'platform/detection'
|
import {isWeb} from '#/platform/detection'
|
||||||
import {native} from '#/alf'
|
import {native} from '#/alf'
|
||||||
import {FullWindowOverlay} from '#/components/FullWindowOverlay'
|
import {FullWindowOverlay} from '#/components/FullWindowOverlay'
|
||||||
import {Text} from '../text/Text'
|
import {Text} from '../text/Text'
|
||||||
@@ -382,6 +382,6 @@ const styles = StyleSheet.create({
|
|||||||
},
|
},
|
||||||
headingLabel: {
|
headingLabel: {
|
||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
|
|||||||
import * as DropdownMenu from '@radix-ui/react-dropdown-menu'
|
import * as DropdownMenu from '@radix-ui/react-dropdown-menu'
|
||||||
import {MenuItemCommonProps} from 'zeego/lib/typescript/menu'
|
import {MenuItemCommonProps} from 'zeego/lib/typescript/menu'
|
||||||
|
|
||||||
import {HITSLOP_10} from 'lib/constants'
|
import {HITSLOP_10} from '#/lib/constants'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
import {useTheme} from 'lib/ThemeContext'
|
import {useTheme} from '#/lib/ThemeContext'
|
||||||
|
|
||||||
// Custom Dropdown Menu Components
|
// Custom Dropdown Menu Components
|
||||||
// ==
|
// ==
|
||||||
@@ -267,7 +267,7 @@ const styles = StyleSheet.create({
|
|||||||
},
|
},
|
||||||
itemTitle: {
|
itemTitle: {
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
paddingRight: 10,
|
paddingRight: 10,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import {StyleProp, StyleSheet, TextStyle, View, ViewStyle} from 'react-native'
|
import {StyleProp, StyleSheet, TextStyle, View, ViewStyle} from 'react-native'
|
||||||
|
|
||||||
import {choose} from 'lib/functions'
|
import {choose} from '#/lib/functions'
|
||||||
import {useTheme} from 'lib/ThemeContext'
|
import {useTheme} from '#/lib/ThemeContext'
|
||||||
import {Text} from '../text/Text'
|
import {Text} from '../text/Text'
|
||||||
import {Button, ButtonType} from './Button'
|
import {Button, ButtonType} from './Button'
|
||||||
|
|
||||||
@@ -86,39 +86,39 @@ export function RadioButton({
|
|||||||
const labelStyle = choose<TextStyle, Record<ButtonType, TextStyle>>(type, {
|
const labelStyle = choose<TextStyle, Record<ButtonType, TextStyle>>(type, {
|
||||||
primary: {
|
primary: {
|
||||||
color: theme.palette.primary.text,
|
color: theme.palette.primary.text,
|
||||||
fontWeight: theme.palette.primary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.primary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
secondary: {
|
secondary: {
|
||||||
color: theme.palette.secondary.text,
|
color: theme.palette.secondary.text,
|
||||||
fontWeight: theme.palette.secondary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.secondary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
inverted: {
|
inverted: {
|
||||||
color: theme.palette.inverted.text,
|
color: theme.palette.inverted.text,
|
||||||
fontWeight: theme.palette.inverted.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.inverted.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'primary-outline': {
|
'primary-outline': {
|
||||||
color: theme.palette.primary.textInverted,
|
color: theme.palette.primary.textInverted,
|
||||||
fontWeight: theme.palette.primary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.primary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'secondary-outline': {
|
'secondary-outline': {
|
||||||
color: theme.palette.secondary.textInverted,
|
color: theme.palette.secondary.textInverted,
|
||||||
fontWeight: theme.palette.secondary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.secondary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'primary-light': {
|
'primary-light': {
|
||||||
color: theme.palette.primary.textInverted,
|
color: theme.palette.primary.textInverted,
|
||||||
fontWeight: theme.palette.primary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.primary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'secondary-light': {
|
'secondary-light': {
|
||||||
color: theme.palette.secondary.textInverted,
|
color: theme.palette.secondary.textInverted,
|
||||||
fontWeight: theme.palette.secondary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.secondary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
default: {
|
default: {
|
||||||
color: theme.palette.default.text,
|
color: theme.palette.default.text,
|
||||||
fontWeight: theme.palette.default.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.default.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'default-light': {
|
'default-light': {
|
||||||
color: theme.palette.default.text,
|
color: theme.palette.default.text,
|
||||||
fontWeight: theme.palette.default.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.default.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import {StyleProp, StyleSheet, TextStyle, View, ViewStyle} from 'react-native'
|
import {StyleProp, StyleSheet, TextStyle, View, ViewStyle} from 'react-native'
|
||||||
|
|
||||||
|
import {choose} from '#/lib/functions'
|
||||||
|
import {colors} from '#/lib/styles'
|
||||||
|
import {useTheme} from '#/lib/ThemeContext'
|
||||||
|
import {TypographyVariant} from '#/lib/ThemeContext'
|
||||||
import {Text} from '../text/Text'
|
import {Text} from '../text/Text'
|
||||||
import {Button, ButtonType} from './Button'
|
import {Button, ButtonType} from './Button'
|
||||||
import {useTheme} from 'lib/ThemeContext'
|
|
||||||
import {choose} from 'lib/functions'
|
|
||||||
import {colors} from 'lib/styles'
|
|
||||||
import {TypographyVariant} from 'lib/ThemeContext'
|
|
||||||
|
|
||||||
export function ToggleButton({
|
export function ToggleButton({
|
||||||
testID,
|
testID,
|
||||||
@@ -100,39 +101,39 @@ export function ToggleButton({
|
|||||||
const labelStyle = choose<TextStyle, Record<ButtonType, TextStyle>>(type, {
|
const labelStyle = choose<TextStyle, Record<ButtonType, TextStyle>>(type, {
|
||||||
primary: {
|
primary: {
|
||||||
color: theme.palette.primary.text,
|
color: theme.palette.primary.text,
|
||||||
fontWeight: theme.palette.primary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.primary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
secondary: {
|
secondary: {
|
||||||
color: theme.palette.secondary.text,
|
color: theme.palette.secondary.text,
|
||||||
fontWeight: theme.palette.secondary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.secondary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
inverted: {
|
inverted: {
|
||||||
color: theme.palette.inverted.text,
|
color: theme.palette.inverted.text,
|
||||||
fontWeight: theme.palette.inverted.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.inverted.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'primary-outline': {
|
'primary-outline': {
|
||||||
color: theme.palette.primary.textInverted,
|
color: theme.palette.primary.textInverted,
|
||||||
fontWeight: theme.palette.primary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.primary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'secondary-outline': {
|
'secondary-outline': {
|
||||||
color: theme.palette.secondary.textInverted,
|
color: theme.palette.secondary.textInverted,
|
||||||
fontWeight: theme.palette.secondary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.secondary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'primary-light': {
|
'primary-light': {
|
||||||
color: theme.palette.primary.textInverted,
|
color: theme.palette.primary.textInverted,
|
||||||
fontWeight: theme.palette.primary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.primary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'secondary-light': {
|
'secondary-light': {
|
||||||
color: theme.palette.secondary.textInverted,
|
color: theme.palette.secondary.textInverted,
|
||||||
fontWeight: theme.palette.secondary.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.secondary.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
default: {
|
default: {
|
||||||
color: theme.palette.default.text,
|
color: theme.palette.default.text,
|
||||||
fontWeight: theme.palette.default.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.default.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
'default-light': {
|
'default-light': {
|
||||||
color: theme.palette.default.text,
|
color: theme.palette.default.text,
|
||||||
fontWeight: theme.palette.default.isLowContrast ? '500' : undefined,
|
fontWeight: theme.palette.default.isLowContrast ? '600' : undefined,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ import {useLingui} from '@lingui/react'
|
|||||||
|
|
||||||
import {HITSLOP_20} from '#/lib/constants'
|
import {HITSLOP_20} from '#/lib/constants'
|
||||||
import {parseAltFromGIFDescription} from '#/lib/gif-alt-text'
|
import {parseAltFromGIFDescription} from '#/lib/gif-alt-text'
|
||||||
|
import {EmbedPlayerParams} from '#/lib/strings/embed-player'
|
||||||
import {isWeb} from '#/platform/detection'
|
import {isWeb} from '#/platform/detection'
|
||||||
|
import {useAutoplayDisabled} from '#/state/preferences'
|
||||||
import {useLargeAltBadgeEnabled} from '#/state/preferences/large-alt-badge'
|
import {useLargeAltBadgeEnabled} from '#/state/preferences/large-alt-badge'
|
||||||
import {EmbedPlayerParams} from 'lib/strings/embed-player'
|
|
||||||
import {useAutoplayDisabled} from 'state/preferences'
|
|
||||||
import {atoms as a, useTheme} from '#/alf'
|
import {atoms as a, useTheme} from '#/alf'
|
||||||
import {Fill} from '#/components/Fill'
|
import {Fill} from '#/components/Fill'
|
||||||
import {Loader} from '#/components/Loader'
|
import {Loader} from '#/components/Loader'
|
||||||
@@ -210,6 +210,6 @@ const styles = StyleSheet.create({
|
|||||||
alt: {
|
alt: {
|
||||||
color: 'white',
|
color: 'white',
|
||||||
fontSize: isWeb ? 10 : 7,
|
fontSize: isWeb ? 10 : 7,
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -20,10 +20,10 @@ import {
|
|||||||
ModerationDecision,
|
ModerationDecision,
|
||||||
} from '@atproto/api'
|
} from '@atproto/api'
|
||||||
|
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
import {ImagesLightbox, useLightboxControls} from '#/state/lightbox'
|
import {ImagesLightbox, useLightboxControls} from '#/state/lightbox'
|
||||||
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
import {useModerationOpts} from '#/state/preferences/moderation-opts'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
import {FeedSourceCard} from '#/view/com/feeds/FeedSourceCard'
|
||||||
import {FeedSourceCard} from 'view/com/feeds/FeedSourceCard'
|
|
||||||
import {atoms as a, useTheme} from '#/alf'
|
import {atoms as a, useTheme} from '#/alf'
|
||||||
import * as ListCard from '#/components/ListCard'
|
import * as ListCard from '#/components/ListCard'
|
||||||
import {Embed as StarterPackCard} from '#/components/StarterPack/StarterPackCard'
|
import {Embed as StarterPackCard} from '#/components/StarterPack/StarterPackCard'
|
||||||
@@ -259,7 +259,7 @@ const styles = StyleSheet.create({
|
|||||||
alt: {
|
alt: {
|
||||||
color: 'white',
|
color: 'white',
|
||||||
fontSize: 7,
|
fontSize: 7,
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
},
|
},
|
||||||
customFeedOuter: {
|
customFeedOuter: {
|
||||||
borderWidth: StyleSheet.hairlineWidth,
|
borderWidth: StyleSheet.hairlineWidth,
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ export function AccessibilitySettingsScreen({}: Props) {
|
|||||||
},
|
},
|
||||||
]}>
|
]}>
|
||||||
<View style={a.flex_1}>
|
<View style={a.flex_1}>
|
||||||
<Text type="title-lg" style={[pal.text, {fontWeight: 'bold'}]}>
|
<Text type="title-lg" style={[pal.text, {fontWeight: '600'}]}>
|
||||||
<Trans>Accessibility Settings</Trans>
|
<Trans>Accessibility Settings</Trans>
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
@@ -9,19 +9,19 @@ import {msg, Trans} from '@lingui/macro'
|
|||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
import {useFocusEffect} from '@react-navigation/native'
|
import {useFocusEffect} from '@react-navigation/native'
|
||||||
|
|
||||||
|
import {APP_LANGUAGES, LANGUAGES} from '#/lib/../locale/languages'
|
||||||
|
import {useAnalytics} from '#/lib/analytics/analytics'
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
|
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
|
||||||
|
import {s} from '#/lib/styles'
|
||||||
import {sanitizeAppLanguageSetting} from '#/locale/helpers'
|
import {sanitizeAppLanguageSetting} from '#/locale/helpers'
|
||||||
import {useModalControls} from '#/state/modals'
|
import {useModalControls} from '#/state/modals'
|
||||||
import {useLanguagePrefs, useLanguagePrefsApi} from '#/state/preferences'
|
import {useLanguagePrefs, useLanguagePrefsApi} from '#/state/preferences'
|
||||||
import {useSetMinimalShellMode} from '#/state/shell'
|
import {useSetMinimalShellMode} from '#/state/shell'
|
||||||
import {APP_LANGUAGES, LANGUAGES} from 'lib/../locale/languages'
|
import {Button} from '#/view/com/util/forms/Button'
|
||||||
import {useAnalytics} from 'lib/analytics/analytics'
|
import {ViewHeader} from '#/view/com/util/ViewHeader'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
import {CenteredView} from '#/view/com/util/Views'
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
||||||
import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
|
|
||||||
import {s} from 'lib/styles'
|
|
||||||
import {Button} from 'view/com/util/forms/Button'
|
|
||||||
import {ViewHeader} from 'view/com/util/ViewHeader'
|
|
||||||
import {CenteredView} from 'view/com/util/Views'
|
|
||||||
import {Text} from '../com/util/text/Text'
|
import {Text} from '../com/util/text/Text'
|
||||||
|
|
||||||
type Props = NativeStackScreenProps<CommonNavigatorParams, 'LanguageSettings'>
|
type Props = NativeStackScreenProps<CommonNavigatorParams, 'LanguageSettings'>
|
||||||
@@ -118,7 +118,7 @@ export function LanguageSettingsScreen(_props: Props) {
|
|||||||
color: pal.text.color,
|
color: pal.text.color,
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
letterSpacing: 0.5,
|
letterSpacing: 0.5,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
paddingHorizontal: 14,
|
paddingHorizontal: 14,
|
||||||
paddingVertical: 8,
|
paddingVertical: 8,
|
||||||
borderRadius: 24,
|
borderRadius: 24,
|
||||||
@@ -128,7 +128,7 @@ export function LanguageSettingsScreen(_props: Props) {
|
|||||||
color: pal.text.color,
|
color: pal.text.color,
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
letterSpacing: 0.5,
|
letterSpacing: 0.5,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
paddingHorizontal: 14,
|
paddingHorizontal: 14,
|
||||||
paddingVertical: 8,
|
paddingVertical: 8,
|
||||||
borderRadius: 24,
|
borderRadius: 24,
|
||||||
@@ -147,7 +147,7 @@ export function LanguageSettingsScreen(_props: Props) {
|
|||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
fontFamily: 'inherit',
|
fontFamily: 'inherit',
|
||||||
letterSpacing: 0.5,
|
letterSpacing: 0.5,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
paddingHorizontal: 14,
|
paddingHorizontal: 14,
|
||||||
paddingVertical: 8,
|
paddingVertical: 8,
|
||||||
borderRadius: 24,
|
borderRadius: 24,
|
||||||
@@ -211,7 +211,7 @@ export function LanguageSettingsScreen(_props: Props) {
|
|||||||
color: pal.text.color,
|
color: pal.text.color,
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
letterSpacing: 0.5,
|
letterSpacing: 0.5,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
paddingHorizontal: 14,
|
paddingHorizontal: 14,
|
||||||
paddingVertical: 8,
|
paddingVertical: 8,
|
||||||
borderRadius: 24,
|
borderRadius: 24,
|
||||||
@@ -221,7 +221,7 @@ export function LanguageSettingsScreen(_props: Props) {
|
|||||||
color: pal.text.color,
|
color: pal.text.color,
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
letterSpacing: 0.5,
|
letterSpacing: 0.5,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
paddingHorizontal: 14,
|
paddingHorizontal: 14,
|
||||||
paddingVertical: 8,
|
paddingVertical: 8,
|
||||||
borderRadius: 24,
|
borderRadius: 24,
|
||||||
@@ -239,7 +239,7 @@ export function LanguageSettingsScreen(_props: Props) {
|
|||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
fontFamily: 'inherit',
|
fontFamily: 'inherit',
|
||||||
letterSpacing: 0.5,
|
letterSpacing: 0.5,
|
||||||
fontWeight: '500',
|
fontWeight: '600',
|
||||||
paddingHorizontal: 14,
|
paddingHorizontal: 14,
|
||||||
paddingVertical: 8,
|
paddingVertical: 8,
|
||||||
borderRadius: 24,
|
borderRadius: 24,
|
||||||
|
|||||||
@@ -5,17 +5,17 @@ import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
|
|||||||
import {Trans} from '@lingui/macro'
|
import {Trans} from '@lingui/macro'
|
||||||
import {useFocusEffect, useNavigation} from '@react-navigation/native'
|
import {useFocusEffect, useNavigation} from '@react-navigation/native'
|
||||||
|
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
|
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
|
||||||
|
import {NavigationProp} from '#/lib/routes/types'
|
||||||
|
import {s} from '#/lib/styles'
|
||||||
import {useModalControls} from '#/state/modals'
|
import {useModalControls} from '#/state/modals'
|
||||||
import {useSetMinimalShellMode} from '#/state/shell'
|
import {useSetMinimalShellMode} from '#/state/shell'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
||||||
import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
|
|
||||||
import {NavigationProp} from 'lib/routes/types'
|
|
||||||
import {s} from 'lib/styles'
|
|
||||||
import {MyLists} from '#/view/com/lists/MyLists'
|
import {MyLists} from '#/view/com/lists/MyLists'
|
||||||
import {Button} from 'view/com/util/forms/Button'
|
import {Button} from '#/view/com/util/forms/Button'
|
||||||
import {SimpleViewHeader} from 'view/com/util/SimpleViewHeader'
|
import {SimpleViewHeader} from '#/view/com/util/SimpleViewHeader'
|
||||||
import {Text} from 'view/com/util/text/Text'
|
import {Text} from '#/view/com/util/text/Text'
|
||||||
|
|
||||||
type Props = NativeStackScreenProps<CommonNavigatorParams, 'Lists'>
|
type Props = NativeStackScreenProps<CommonNavigatorParams, 'Lists'>
|
||||||
export function ListsScreen({}: Props) {
|
export function ListsScreen({}: Props) {
|
||||||
@@ -61,7 +61,7 @@ export function ListsScreen({}: Props) {
|
|||||||
},
|
},
|
||||||
]}>
|
]}>
|
||||||
<View style={{flex: 1}}>
|
<View style={{flex: 1}}>
|
||||||
<Text type="title-lg" style={[pal.text, {fontWeight: 'bold'}]}>
|
<Text type="title-lg" style={[pal.text, {fontWeight: '600'}]}>
|
||||||
<Trans>User Lists</Trans>
|
<Trans>User Lists</Trans>
|
||||||
</Text>
|
</Text>
|
||||||
<Text style={pal.textLight}>
|
<Text style={pal.textLight}>
|
||||||
|
|||||||
@@ -1,20 +1,21 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import {View} from 'react-native'
|
import {View} from 'react-native'
|
||||||
import {useFocusEffect, useNavigation} from '@react-navigation/native'
|
|
||||||
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
|
|
||||||
import {AtUri} from '@atproto/api'
|
import {AtUri} from '@atproto/api'
|
||||||
import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types'
|
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
|
||||||
import {MyLists} from '#/view/com/lists/MyLists'
|
|
||||||
import {Text} from 'view/com/util/text/Text'
|
|
||||||
import {Button} from 'view/com/util/forms/Button'
|
|
||||||
import {NavigationProp} from 'lib/routes/types'
|
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
||||||
import {SimpleViewHeader} from 'view/com/util/SimpleViewHeader'
|
|
||||||
import {s} from 'lib/styles'
|
|
||||||
import {useSetMinimalShellMode} from '#/state/shell'
|
|
||||||
import {useModalControls} from '#/state/modals'
|
|
||||||
import {Trans} from '@lingui/macro'
|
import {Trans} from '@lingui/macro'
|
||||||
|
import {useFocusEffect, useNavigation} from '@react-navigation/native'
|
||||||
|
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
|
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
|
||||||
|
import {NavigationProp} from '#/lib/routes/types'
|
||||||
|
import {s} from '#/lib/styles'
|
||||||
|
import {useModalControls} from '#/state/modals'
|
||||||
|
import {useSetMinimalShellMode} from '#/state/shell'
|
||||||
|
import {MyLists} from '#/view/com/lists/MyLists'
|
||||||
|
import {Button} from '#/view/com/util/forms/Button'
|
||||||
|
import {SimpleViewHeader} from '#/view/com/util/SimpleViewHeader'
|
||||||
|
import {Text} from '#/view/com/util/text/Text'
|
||||||
|
|
||||||
type Props = NativeStackScreenProps<CommonNavigatorParams, 'ModerationModlists'>
|
type Props = NativeStackScreenProps<CommonNavigatorParams, 'ModerationModlists'>
|
||||||
export function ModerationModlistsScreen({}: Props) {
|
export function ModerationModlistsScreen({}: Props) {
|
||||||
@@ -54,7 +55,7 @@ export function ModerationModlistsScreen({}: Props) {
|
|||||||
!isMobile && [pal.border, {borderLeftWidth: 1, borderRightWidth: 1}]
|
!isMobile && [pal.border, {borderLeftWidth: 1, borderRightWidth: 1}]
|
||||||
}>
|
}>
|
||||||
<View style={{flex: 1}}>
|
<View style={{flex: 1}}>
|
||||||
<Text type="title-lg" style={[pal.text, {fontWeight: 'bold'}]}>
|
<Text type="title-lg" style={[pal.text, {fontWeight: '600'}]}>
|
||||||
<Trans>Moderation Lists</Trans>
|
<Trans>Moderation Lists</Trans>
|
||||||
</Text>
|
</Text>
|
||||||
<Text style={pal.textLight}>
|
<Text style={pal.textLight}>
|
||||||
|
|||||||
@@ -3,21 +3,21 @@ import {StyleSheet, View} from 'react-native'
|
|||||||
import {Trans} from '@lingui/macro'
|
import {Trans} from '@lingui/macro'
|
||||||
import {useFocusEffect} from '@react-navigation/native'
|
import {useFocusEffect} from '@react-navigation/native'
|
||||||
|
|
||||||
|
import {useAnalytics} from '#/lib/analytics/analytics'
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
|
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
|
||||||
import {
|
import {
|
||||||
EmbedPlayerSource,
|
EmbedPlayerSource,
|
||||||
externalEmbedLabels,
|
externalEmbedLabels,
|
||||||
} from '#/lib/strings/embed-player'
|
} from '#/lib/strings/embed-player'
|
||||||
import {useSetMinimalShellMode} from '#/state/shell'
|
import {s} from '#/lib/styles'
|
||||||
import {useAnalytics} from 'lib/analytics/analytics'
|
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
||||||
import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
|
|
||||||
import {s} from 'lib/styles'
|
|
||||||
import {
|
import {
|
||||||
useExternalEmbedsPrefs,
|
useExternalEmbedsPrefs,
|
||||||
useSetExternalEmbedPref,
|
useSetExternalEmbedPref,
|
||||||
} from 'state/preferences'
|
} from '#/state/preferences'
|
||||||
import {ToggleButton} from 'view/com/util/forms/ToggleButton'
|
import {useSetMinimalShellMode} from '#/state/shell'
|
||||||
|
import {ToggleButton} from '#/view/com/util/forms/ToggleButton'
|
||||||
import {atoms as a} from '#/alf'
|
import {atoms as a} from '#/alf'
|
||||||
import {SimpleViewHeader} from '../com/util/SimpleViewHeader'
|
import {SimpleViewHeader} from '../com/util/SimpleViewHeader'
|
||||||
import {Text} from '../com/util/text/Text'
|
import {Text} from '../com/util/text/Text'
|
||||||
@@ -50,7 +50,7 @@ export function PreferencesExternalEmbeds({}: Props) {
|
|||||||
showBackButton={isTabletOrMobile}
|
showBackButton={isTabletOrMobile}
|
||||||
style={[pal.border, a.border_b]}>
|
style={[pal.border, a.border_b]}>
|
||||||
<View style={a.flex_1}>
|
<View style={a.flex_1}>
|
||||||
<Text type="title-lg" style={[pal.text, {fontWeight: 'bold'}]}>
|
<Text type="title-lg" style={[pal.text, {fontWeight: '600'}]}>
|
||||||
<Trans>External Media Preferences</Trans>
|
<Trans>External Media Preferences</Trans>
|
||||||
</Text>
|
</Text>
|
||||||
<Text style={pal.textLight}>
|
<Text style={pal.textLight}>
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ export function PreferencesFollowingFeed({}: Props) {
|
|||||||
showBackButton={isTabletOrMobile}
|
showBackButton={isTabletOrMobile}
|
||||||
style={[pal.border, a.border_b]}>
|
style={[pal.border, a.border_b]}>
|
||||||
<View style={a.flex_1}>
|
<View style={a.flex_1}>
|
||||||
<Text type="title-lg" style={[pal.text, {fontWeight: 'bold'}]}>
|
<Text type="title-lg" style={[pal.text, {fontWeight: '600'}]}>
|
||||||
<Trans>Following Feed Preferences</Trans>
|
<Trans>Following Feed Preferences</Trans>
|
||||||
</Text>
|
</Text>
|
||||||
<Text style={pal.textLight}>
|
<Text style={pal.textLight}>
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export function PreferencesThreads({}: Props) {
|
|||||||
showBackButton={isTabletOrMobile}
|
showBackButton={isTabletOrMobile}
|
||||||
style={[pal.border, a.border_b]}>
|
style={[pal.border, a.border_b]}>
|
||||||
<View style={a.flex_1}>
|
<View style={a.flex_1}>
|
||||||
<Text type="title-lg" style={[pal.text, {fontWeight: 'bold'}]}>
|
<Text type="title-lg" style={[pal.text, {fontWeight: '600'}]}>
|
||||||
<Trans>Thread Preferences</Trans>
|
<Trans>Thread Preferences</Trans>
|
||||||
</Text>
|
</Text>
|
||||||
<Text style={pal.textLight}>
|
<Text style={pal.textLight}>
|
||||||
|
|||||||
@@ -24,11 +24,18 @@ import {useFocusEffect, useNavigation} from '@react-navigation/native'
|
|||||||
import {useAnalytics} from '#/lib/analytics/analytics'
|
import {useAnalytics} from '#/lib/analytics/analytics'
|
||||||
import {createHitslop} from '#/lib/constants'
|
import {createHitslop} from '#/lib/constants'
|
||||||
import {HITSLOP_10} from '#/lib/constants'
|
import {HITSLOP_10} from '#/lib/constants'
|
||||||
|
import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
|
||||||
import {usePalette} from '#/lib/hooks/usePalette'
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
import {MagnifyingGlassIcon} from '#/lib/icons'
|
import {MagnifyingGlassIcon} from '#/lib/icons'
|
||||||
import {makeProfileLink} from '#/lib/routes/links'
|
import {makeProfileLink} from '#/lib/routes/links'
|
||||||
import {NavigationProp} from '#/lib/routes/types'
|
import {NavigationProp} from '#/lib/routes/types'
|
||||||
|
import {
|
||||||
|
NativeStackScreenProps,
|
||||||
|
SearchTabNavigatorParams,
|
||||||
|
} from '#/lib/routes/types'
|
||||||
import {augmentSearchQuery} from '#/lib/strings/helpers'
|
import {augmentSearchQuery} from '#/lib/strings/helpers'
|
||||||
|
import {useTheme} from '#/lib/ThemeContext'
|
||||||
import {logger} from '#/logger'
|
import {logger} from '#/logger'
|
||||||
import {isNative, isWeb} from '#/platform/detection'
|
import {isNative, isWeb} from '#/platform/detection'
|
||||||
import {listenSoftReset} from '#/state/events'
|
import {listenSoftReset} from '#/state/events'
|
||||||
@@ -40,13 +47,6 @@ import {useSearchPostsQuery} from '#/state/queries/search-posts'
|
|||||||
import {useSession} from '#/state/session'
|
import {useSession} from '#/state/session'
|
||||||
import {useSetDrawerOpen} from '#/state/shell'
|
import {useSetDrawerOpen} from '#/state/shell'
|
||||||
import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell'
|
import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell'
|
||||||
import {useNonReactiveCallback} from 'lib/hooks/useNonReactiveCallback'
|
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
||||||
import {
|
|
||||||
NativeStackScreenProps,
|
|
||||||
SearchTabNavigatorParams,
|
|
||||||
} from 'lib/routes/types'
|
|
||||||
import {useTheme} from 'lib/ThemeContext'
|
|
||||||
import {Pager} from '#/view/com/pager/Pager'
|
import {Pager} from '#/view/com/pager/Pager'
|
||||||
import {TabBar} from '#/view/com/pager/TabBar'
|
import {TabBar} from '#/view/com/pager/TabBar'
|
||||||
import {Post} from '#/view/com/post/Post'
|
import {Post} from '#/view/com/post/Post'
|
||||||
@@ -414,7 +414,7 @@ let SearchScreenInner = ({query}: {query?: string}): React.ReactNode => {
|
|||||||
display: 'flex',
|
display: 'flex',
|
||||||
paddingVertical: 12,
|
paddingVertical: 12,
|
||||||
paddingHorizontal: 18,
|
paddingHorizontal: 18,
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
borderBottomWidth: 1,
|
borderBottomWidth: 1,
|
||||||
},
|
},
|
||||||
]}>
|
]}>
|
||||||
@@ -1134,7 +1134,7 @@ const styles = StyleSheet.create({
|
|||||||
borderRadius: 8,
|
borderRadius: 8,
|
||||||
},
|
},
|
||||||
searchHistoryTitle: {
|
searchHistoryTitle: {
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
paddingVertical: 12,
|
paddingVertical: 12,
|
||||||
paddingHorizontal: 10,
|
paddingHorizontal: 10,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -18,6 +18,18 @@ import {useLingui} from '@lingui/react'
|
|||||||
import {useFocusEffect, useNavigation} from '@react-navigation/native'
|
import {useFocusEffect, useNavigation} from '@react-navigation/native'
|
||||||
import {useQueryClient} from '@tanstack/react-query'
|
import {useQueryClient} from '@tanstack/react-query'
|
||||||
|
|
||||||
|
import {useAnalytics} from '#/lib/analytics/analytics'
|
||||||
|
import {appVersion, BUNDLE_DATE, bundleInfo} from '#/lib/app-info'
|
||||||
|
import {STATUS_PAGE_URL} from '#/lib/constants'
|
||||||
|
import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher'
|
||||||
|
import {useCustomPalette} from '#/lib/hooks/useCustomPalette'
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
|
import {HandIcon, HashtagIcon} from '#/lib/icons'
|
||||||
|
import {makeProfileLink} from '#/lib/routes/links'
|
||||||
|
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
|
||||||
|
import {NavigationProp} from '#/lib/routes/types'
|
||||||
|
import {colors, s} from '#/lib/styles'
|
||||||
import {isNative} from '#/platform/detection'
|
import {isNative} from '#/platform/detection'
|
||||||
import {useModalControls} from '#/state/modals'
|
import {useModalControls} from '#/state/modals'
|
||||||
import {clearStorage} from '#/state/persisted'
|
import {clearStorage} from '#/state/persisted'
|
||||||
@@ -33,26 +45,14 @@ import {SessionAccount, useSession, useSessionApi} from '#/state/session'
|
|||||||
import {useOnboardingDispatch, useSetMinimalShellMode} from '#/state/shell'
|
import {useOnboardingDispatch, useSetMinimalShellMode} from '#/state/shell'
|
||||||
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
|
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
|
||||||
import {useCloseAllActiveElements} from '#/state/util'
|
import {useCloseAllActiveElements} from '#/state/util'
|
||||||
import {useAnalytics} from 'lib/analytics/analytics'
|
import {AccountDropdownBtn} from '#/view/com/util/AccountDropdownBtn'
|
||||||
import {appVersion, BUNDLE_DATE, bundleInfo} from 'lib/app-info'
|
import {ToggleButton} from '#/view/com/util/forms/ToggleButton'
|
||||||
import {STATUS_PAGE_URL} from 'lib/constants'
|
import {Link, TextLink} from '#/view/com/util/Link'
|
||||||
import {useAccountSwitcher} from 'lib/hooks/useAccountSwitcher'
|
import {SimpleViewHeader} from '#/view/com/util/SimpleViewHeader'
|
||||||
import {useCustomPalette} from 'lib/hooks/useCustomPalette'
|
import {Text} from '#/view/com/util/text/Text'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
import * as Toast from '#/view/com/util/Toast'
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
import {UserAvatar} from '#/view/com/util/UserAvatar'
|
||||||
import {HandIcon, HashtagIcon} from 'lib/icons'
|
import {ScrollView} from '#/view/com/util/Views'
|
||||||
import {makeProfileLink} from 'lib/routes/links'
|
|
||||||
import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
|
|
||||||
import {NavigationProp} from 'lib/routes/types'
|
|
||||||
import {colors, s} from 'lib/styles'
|
|
||||||
import {AccountDropdownBtn} from 'view/com/util/AccountDropdownBtn'
|
|
||||||
import {ToggleButton} from 'view/com/util/forms/ToggleButton'
|
|
||||||
import {Link, TextLink} from 'view/com/util/Link'
|
|
||||||
import {SimpleViewHeader} from 'view/com/util/SimpleViewHeader'
|
|
||||||
import {Text} from 'view/com/util/text/Text'
|
|
||||||
import * as Toast from 'view/com/util/Toast'
|
|
||||||
import {UserAvatar} from 'view/com/util/UserAvatar'
|
|
||||||
import {ScrollView} from 'view/com/util/Views'
|
|
||||||
import {DeactivateAccountDialog} from '#/screens/Settings/components/DeactivateAccountDialog'
|
import {DeactivateAccountDialog} from '#/screens/Settings/components/DeactivateAccountDialog'
|
||||||
import {atoms as a, useTheme} from '#/alf'
|
import {atoms as a, useTheme} from '#/alf'
|
||||||
import {useDialogControl} from '#/components/Dialog'
|
import {useDialogControl} from '#/components/Dialog'
|
||||||
@@ -298,7 +298,7 @@ export function SettingsScreen({}: Props) {
|
|||||||
!isMobile && {borderLeftWidth: 1, borderRightWidth: 1},
|
!isMobile && {borderLeftWidth: 1, borderRightWidth: 1},
|
||||||
]}>
|
]}>
|
||||||
<View style={{flex: 1}}>
|
<View style={{flex: 1}}>
|
||||||
<Text type="title-lg" style={[pal.text, {fontWeight: 'bold'}]}>
|
<Text type="title-lg" style={[pal.text, {fontWeight: '600'}]}>
|
||||||
<Trans>Settings</Trans>
|
<Trans>Settings</Trans>
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
+13
-13
@@ -14,25 +14,25 @@ import {msg, Plural, Trans} from '@lingui/macro'
|
|||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
import {StackActions, useNavigation} from '@react-navigation/native'
|
import {StackActions, useNavigation} from '@react-navigation/native'
|
||||||
|
|
||||||
|
import {useAnalytics} from '#/lib/analytics/analytics'
|
||||||
|
import {FEEDBACK_FORM_URL, HELP_DESK_URL} from '#/lib/constants'
|
||||||
|
import {useNavigationTabState} from '#/lib/hooks/useNavigationTabState'
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {getTabState, TabState} from '#/lib/routes/helpers'
|
||||||
|
import {NavigationProp} from '#/lib/routes/types'
|
||||||
|
import {colors, s} from '#/lib/styles'
|
||||||
|
import {useTheme} from '#/lib/ThemeContext'
|
||||||
|
import {isWeb} from '#/platform/detection'
|
||||||
import {emitSoftReset} from '#/state/events'
|
import {emitSoftReset} from '#/state/events'
|
||||||
import {useKawaiiMode} from '#/state/preferences/kawaii'
|
import {useKawaiiMode} from '#/state/preferences/kawaii'
|
||||||
import {useUnreadNotifications} from '#/state/queries/notifications/unread'
|
import {useUnreadNotifications} from '#/state/queries/notifications/unread'
|
||||||
import {useProfileQuery} from '#/state/queries/profile'
|
import {useProfileQuery} from '#/state/queries/profile'
|
||||||
import {SessionAccount, useSession} from '#/state/session'
|
import {SessionAccount, useSession} from '#/state/session'
|
||||||
import {useSetDrawerOpen} from '#/state/shell'
|
import {useSetDrawerOpen} from '#/state/shell'
|
||||||
import {useAnalytics} from 'lib/analytics/analytics'
|
import {formatCount} from '#/view/com/util/numeric/format'
|
||||||
import {FEEDBACK_FORM_URL, HELP_DESK_URL} from 'lib/constants'
|
import {Text} from '#/view/com/util/text/Text'
|
||||||
import {useNavigationTabState} from 'lib/hooks/useNavigationTabState'
|
import {UserAvatar} from '#/view/com/util/UserAvatar'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
|
||||||
import {getTabState, TabState} from 'lib/routes/helpers'
|
|
||||||
import {NavigationProp} from 'lib/routes/types'
|
|
||||||
import {colors, s} from 'lib/styles'
|
|
||||||
import {useTheme} from 'lib/ThemeContext'
|
|
||||||
import {isWeb} from 'platform/detection'
|
|
||||||
import {NavSignupCard} from '#/view/shell/NavSignupCard'
|
import {NavSignupCard} from '#/view/shell/NavSignupCard'
|
||||||
import {formatCount} from 'view/com/util/numeric/format'
|
|
||||||
import {Text} from 'view/com/util/text/Text'
|
|
||||||
import {UserAvatar} from 'view/com/util/UserAvatar'
|
|
||||||
import {atoms as a} from '#/alf'
|
import {atoms as a} from '#/alf'
|
||||||
import {useTheme as useAlfTheme} from '#/alf'
|
import {useTheme as useAlfTheme} from '#/alf'
|
||||||
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
|
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
|
||||||
@@ -674,7 +674,7 @@ const styles = StyleSheet.create({
|
|||||||
},
|
},
|
||||||
menuItemCountLabel: {
|
menuItemCountLabel: {
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
fontVariant: ['tabular-nums'],
|
fontVariant: ['tabular-nums'],
|
||||||
color: colors.white,
|
color: colors.white,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import {StyleSheet} from 'react-native'
|
import {StyleSheet} from 'react-native'
|
||||||
|
|
||||||
import {colors} from 'lib/styles'
|
import {colors} from '#/lib/styles'
|
||||||
|
|
||||||
export const styles = StyleSheet.create({
|
export const styles = StyleSheet.create({
|
||||||
bottomBar: {
|
bottomBar: {
|
||||||
@@ -40,7 +40,7 @@ export const styles = StyleSheet.create({
|
|||||||
},
|
},
|
||||||
notificationCountLabel: {
|
notificationCountLabel: {
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
color: colors.white,
|
color: colors.white,
|
||||||
fontVariant: ['tabular-nums'],
|
fontVariant: ['tabular-nums'],
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ import {msg} from '@lingui/macro'
|
|||||||
import {useLingui} from '@lingui/react'
|
import {useLingui} from '@lingui/react'
|
||||||
import {useNavigation, useNavigationState} from '@react-navigation/native'
|
import {useNavigation, useNavigationState} from '@react-navigation/native'
|
||||||
|
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {getCurrentRoute} from '#/lib/routes/helpers'
|
||||||
|
import {NavigationProp} from '#/lib/routes/types'
|
||||||
import {emitSoftReset} from '#/state/events'
|
import {emitSoftReset} from '#/state/events'
|
||||||
import {usePinnedFeedsInfos} from '#/state/queries/feed'
|
import {usePinnedFeedsInfos} from '#/state/queries/feed'
|
||||||
import {useSelectedFeed, useSetSelectedFeed} from '#/state/shell/selected-feed'
|
import {useSelectedFeed, useSetSelectedFeed} from '#/state/shell/selected-feed'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
import {TextLink} from '#/view/com/util/Link'
|
||||||
import {getCurrentRoute} from 'lib/routes/helpers'
|
|
||||||
import {NavigationProp} from 'lib/routes/types'
|
|
||||||
import {TextLink} from 'view/com/util/Link'
|
|
||||||
|
|
||||||
export function DesktopFeeds() {
|
export function DesktopFeeds() {
|
||||||
const pal = usePalette('default')
|
const pal = usePalette('default')
|
||||||
@@ -81,7 +81,7 @@ function FeedItem({
|
|||||||
onPress={onPress}
|
onPress={onPress}
|
||||||
style={[
|
style={[
|
||||||
current ? pal.text : pal.textLight,
|
current ? pal.text : pal.textLight,
|
||||||
{letterSpacing: 0.15, fontWeight: current ? '500' : 'normal'},
|
{letterSpacing: 0.15, fontWeight: current ? '600' : '400'},
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
@@ -12,7 +12,13 @@ import {
|
|||||||
useNavigationState,
|
useNavigationState,
|
||||||
} from '@react-navigation/native'
|
} from '@react-navigation/native'
|
||||||
|
|
||||||
|
import {usePalette} from '#/lib/hooks/usePalette'
|
||||||
|
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
|
||||||
|
import {getCurrentRoute, isStateAtTabRoot, isTab} from '#/lib/routes/helpers'
|
||||||
|
import {makeProfileLink} from '#/lib/routes/links'
|
||||||
|
import {CommonNavigatorParams, NavigationProp} from '#/lib/routes/types'
|
||||||
import {isInvalidHandle} from '#/lib/strings/handles'
|
import {isInvalidHandle} from '#/lib/strings/handles'
|
||||||
|
import {colors, s} from '#/lib/styles'
|
||||||
import {emitSoftReset} from '#/state/events'
|
import {emitSoftReset} from '#/state/events'
|
||||||
import {useFetchHandle} from '#/state/queries/handle'
|
import {useFetchHandle} from '#/state/queries/handle'
|
||||||
import {useUnreadMessageCount} from '#/state/queries/messages/list-converations'
|
import {useUnreadMessageCount} from '#/state/queries/messages/list-converations'
|
||||||
@@ -20,18 +26,12 @@ import {useUnreadNotifications} from '#/state/queries/notifications/unread'
|
|||||||
import {useProfileQuery} from '#/state/queries/profile'
|
import {useProfileQuery} from '#/state/queries/profile'
|
||||||
import {useSession} from '#/state/session'
|
import {useSession} from '#/state/session'
|
||||||
import {useComposerControls} from '#/state/shell/composer'
|
import {useComposerControls} from '#/state/shell/composer'
|
||||||
import {usePalette} from 'lib/hooks/usePalette'
|
import {Link} from '#/view/com/util/Link'
|
||||||
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
import {LoadingPlaceholder} from '#/view/com/util/LoadingPlaceholder'
|
||||||
import {getCurrentRoute, isStateAtTabRoot, isTab} from 'lib/routes/helpers'
|
import {PressableWithHover} from '#/view/com/util/PressableWithHover'
|
||||||
import {makeProfileLink} from 'lib/routes/links'
|
import {Text} from '#/view/com/util/text/Text'
|
||||||
import {CommonNavigatorParams, NavigationProp} from 'lib/routes/types'
|
import {UserAvatar} from '#/view/com/util/UserAvatar'
|
||||||
import {colors, s} from 'lib/styles'
|
|
||||||
import {NavSignupCard} from '#/view/shell/NavSignupCard'
|
import {NavSignupCard} from '#/view/shell/NavSignupCard'
|
||||||
import {Link} from 'view/com/util/Link'
|
|
||||||
import {LoadingPlaceholder} from 'view/com/util/LoadingPlaceholder'
|
|
||||||
import {PressableWithHover} from 'view/com/util/PressableWithHover'
|
|
||||||
import {Text} from 'view/com/util/text/Text'
|
|
||||||
import {UserAvatar} from 'view/com/util/UserAvatar'
|
|
||||||
import {
|
import {
|
||||||
Bell_Filled_Corner0_Rounded as BellFilled,
|
Bell_Filled_Corner0_Rounded as BellFilled,
|
||||||
Bell_Stroke2_Corner0_Rounded as Bell,
|
Bell_Stroke2_Corner0_Rounded as Bell,
|
||||||
@@ -468,7 +468,7 @@ const styles = StyleSheet.create({
|
|||||||
backgroundColor: colors.blue3,
|
backgroundColor: colors.blue3,
|
||||||
color: colors.white,
|
color: colors.white,
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
fontWeight: 'bold',
|
fontWeight: '600',
|
||||||
paddingHorizontal: 4,
|
paddingHorizontal: 4,
|
||||||
borderRadius: 6,
|
borderRadius: 6,
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user