diff options
54 files changed, 110 insertions, 82 deletions
diff --git a/src/view/com/composer/Autocomplete.tsx b/src/view/com/composer/Autocomplete.tsx index 3d71db635..1637108f8 100644 --- a/src/view/com/composer/Autocomplete.tsx +++ b/src/view/com/composer/Autocomplete.tsx @@ -1,12 +1,12 @@ import React, {useEffect} from 'react' import { Animated, - Text, TouchableOpacity, StyleSheet, useWindowDimensions, } from 'react-native' import {useAnimatedValue} from '../../lib/useAnimatedValue' +import {Text} from '../util/Text' import {colors} from '../../lib/styles' interface AutocompleteItem { diff --git a/src/view/com/composer/ComposePost.tsx b/src/view/com/composer/ComposePost.tsx index 5e2942617..bed552bd3 100644 --- a/src/view/com/composer/ComposePost.tsx +++ b/src/view/com/composer/ComposePost.tsx @@ -7,7 +7,6 @@ import { SafeAreaView, ScrollView, StyleSheet, - Text, TextInput, TouchableOpacity, View, @@ -16,6 +15,7 @@ import LinearGradient from 'react-native-linear-gradient' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {UserAutocompleteViewModel} from '../../../state/models/user-autocomplete-view' import {Autocomplete} from './Autocomplete' +import {Text} from '../util/Text' import * as Toast from '../util/Toast' // @ts-ignore no type definition -prf import ProgressCircle from 'react-native-progress/Circle' @@ -209,7 +209,7 @@ export const ComposePost = observer(function ComposePost({ </View> {isProcessing ? ( <View style={styles.processingLine}> - <Text>{processingState}</Text> + <Text style={s.black}>{processingState}</Text> </View> ) : undefined} {error !== '' && ( @@ -401,6 +401,7 @@ const styles = StyleSheet.create({ fontSize: 18, marginLeft: 8, alignSelf: 'flex-start', + color: colors.black, }, replyToLayout: { flexDirection: 'row', diff --git a/src/view/com/composer/Prompt.tsx b/src/view/com/composer/Prompt.tsx index 55730dc70..2b1559df4 100644 --- a/src/view/com/composer/Prompt.tsx +++ b/src/view/com/composer/Prompt.tsx @@ -1,8 +1,9 @@ import React from 'react' -import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' +import {StyleSheet, TouchableOpacity, View} from 'react-native' import {colors} from '../../lib/styles' import {useStores} from '../../../state' import {UserAvatar} from '../util/UserAvatar' +import {Text} from '../util/Text' export function ComposePrompt({ noAvi = false, diff --git a/src/view/com/discover/SuggestedFollows.tsx b/src/view/com/discover/SuggestedFollows.tsx index 315249159..b78bae889 100644 --- a/src/view/com/discover/SuggestedFollows.tsx +++ b/src/view/com/discover/SuggestedFollows.tsx @@ -3,7 +3,6 @@ import { ActivityIndicator, FlatList, StyleSheet, - Text, TouchableOpacity, View, } from 'react-native' @@ -13,6 +12,7 @@ import {observer} from 'mobx-react-lite' import _omit from 'lodash.omit' import {ErrorScreen} from '../util/ErrorScreen' import {Link} from '../util/Link' +import {Text} from '../util/Text' import {UserAvatar} from '../util/UserAvatar' import * as Toast from '../util/Toast' import {useStores} from '../../../state' diff --git a/src/view/com/login/CreateAccount.tsx b/src/view/com/login/CreateAccount.tsx index 58d305d54..4614098db 100644 --- a/src/view/com/login/CreateAccount.tsx +++ b/src/view/com/login/CreateAccount.tsx @@ -5,7 +5,6 @@ import { KeyboardAvoidingView, ScrollView, StyleSheet, - Text, TextInput, TouchableOpacity, View, @@ -15,6 +14,7 @@ import * as EmailValidator from 'email-validator' import {Logo} from './Logo' import {Picker} from '../util/Picker' import {TextLink} from '../util/Link' +import {Text} from '../util/Text' import {s, colors} from '../../lib/styles' import { makeValidHandle, diff --git a/src/view/com/login/Signin.tsx b/src/view/com/login/Signin.tsx index 5e8891c08..a6ecd7f79 100644 --- a/src/view/com/login/Signin.tsx +++ b/src/view/com/login/Signin.tsx @@ -4,7 +4,6 @@ import { Keyboard, KeyboardAvoidingView, StyleSheet, - Text, TextInput, TouchableOpacity, View, @@ -12,6 +11,7 @@ import { import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import * as EmailValidator from 'email-validator' import {Logo} from './Logo' +import {Text} from '../util/Text' import {s, colors} from '../../lib/styles' import {createFullHandle, toNiceDomain} from '../../../lib/strings' import {useStores, RootStoreModel, DEFAULT_SERVICE} from '../../../state' diff --git a/src/view/com/modals/Confirm.tsx b/src/view/com/modals/Confirm.tsx index 5afe7c087..a18043f1a 100644 --- a/src/view/com/modals/Confirm.tsx +++ b/src/view/com/modals/Confirm.tsx @@ -2,11 +2,11 @@ import React, {useState} from 'react' import { ActivityIndicator, StyleSheet, - Text, TouchableOpacity, View, } from 'react-native' import LinearGradient from 'react-native-linear-gradient' +import {Text} from '../util/Text' import {useStores} from '../../../state' import {s, colors, gradients} from '../../lib/styles' import {ErrorMessage} from '../util/ErrorMessage' diff --git a/src/view/com/modals/CreateScene.tsx b/src/view/com/modals/CreateScene.tsx index 52498c32c..be310c9ac 100644 --- a/src/view/com/modals/CreateScene.tsx +++ b/src/view/com/modals/CreateScene.tsx @@ -3,13 +3,13 @@ import * as Toast from '../util/Toast' import { ActivityIndicator, StyleSheet, - Text, TouchableOpacity, View, } from 'react-native' import LinearGradient from 'react-native-linear-gradient' import {BottomSheetScrollView, BottomSheetTextInput} from '@gorhom/bottom-sheet' import {ErrorMessage} from '../util/ErrorMessage' +import {Text} from '../util/Text' import {useStores} from '../../../state' import {s, colors, gradients} from '../../lib/styles' import { diff --git a/src/view/com/modals/EditProfile.tsx b/src/view/com/modals/EditProfile.tsx index dcb0ba834..8d9f2e9fe 100644 --- a/src/view/com/modals/EditProfile.tsx +++ b/src/view/com/modals/EditProfile.tsx @@ -3,13 +3,13 @@ import * as Toast from '../util/Toast' import { ActivityIndicator, StyleSheet, - Text, TouchableOpacity, View, } from 'react-native' import LinearGradient from 'react-native-linear-gradient' import {BottomSheetScrollView, BottomSheetTextInput} from '@gorhom/bottom-sheet' import {Image as PickedImage} from 'react-native-image-crop-picker' +import {Text} from '../util/Text' import {ErrorMessage} from '../util/ErrorMessage' import {useStores} from '../../../state' import {ProfileViewModel} from '../../../state/models/profile-view' diff --git a/src/view/com/modals/InviteToScene.tsx b/src/view/com/modals/InviteToScene.tsx index 95ae087a9..28380b6a8 100644 --- a/src/view/com/modals/InviteToScene.tsx +++ b/src/view/com/modals/InviteToScene.tsx @@ -5,7 +5,6 @@ import { ActivityIndicator, FlatList, StyleSheet, - Text, useWindowDimensions, View, } from 'react-native' @@ -21,6 +20,7 @@ import _omit from 'lodash.omit' import {AtUri} from '../../../third-party/uri' import {ProfileCard} from '../profile/ProfileCard' import {ErrorMessage} from '../util/ErrorMessage' +import {Text} from '../util/Text' import {useStores} from '../../../state' import * as apilib from '../../../state/lib/api' import {ProfileViewModel} from '../../../state/models/profile-view' diff --git a/src/view/com/modals/ReportAccount.tsx b/src/view/com/modals/ReportAccount.tsx index e54916783..582e24238 100644 --- a/src/view/com/modals/ReportAccount.tsx +++ b/src/view/com/modals/ReportAccount.tsx @@ -2,7 +2,6 @@ import React, {useState} from 'react' import { ActivityIndicator, StyleSheet, - Text, TouchableOpacity, View, } from 'react-native' @@ -10,6 +9,7 @@ import LinearGradient from 'react-native-linear-gradient' import {useStores} from '../../../state' import {s, colors, gradients} from '../../lib/styles' import {RadioGroup, RadioGroupItem} from '../util/forms/RadioGroup' +import {Text} from '../util/Text' import {ErrorMessage} from '../util/ErrorMessage' const ITEMS: RadioGroupItem[] = [ diff --git a/src/view/com/modals/ReportPost.tsx b/src/view/com/modals/ReportPost.tsx index 5f5a41801..6f134032a 100644 --- a/src/view/com/modals/ReportPost.tsx +++ b/src/view/com/modals/ReportPost.tsx @@ -2,7 +2,6 @@ import React, {useState} from 'react' import { ActivityIndicator, StyleSheet, - Text, TouchableOpacity, View, } from 'react-native' @@ -10,6 +9,7 @@ import LinearGradient from 'react-native-linear-gradient' import {useStores} from '../../../state' import {s, colors, gradients} from '../../lib/styles' import {RadioGroup, RadioGroupItem} from '../util/forms/RadioGroup' +import {Text} from '../util/Text' import {ErrorMessage} from '../util/ErrorMessage' const ITEMS: RadioGroupItem[] = [ diff --git a/src/view/com/modals/ServerInput.tsx b/src/view/com/modals/ServerInput.tsx index 15632ba39..1a841c0da 100644 --- a/src/view/com/modals/ServerInput.tsx +++ b/src/view/com/modals/ServerInput.tsx @@ -1,7 +1,8 @@ import React, {useState} from 'react' -import {Platform, StyleSheet, Text, TouchableOpacity, View} from 'react-native' +import {Platform, StyleSheet, TouchableOpacity, View} from 'react-native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {BottomSheetScrollView, BottomSheetTextInput} from '@gorhom/bottom-sheet' +import {Text} from '../util/Text' import {useStores} from '../../../state' import {s, colors} from '../../lib/styles' import { diff --git a/src/view/com/notifications/FeedItem.tsx b/src/view/com/notifications/FeedItem.tsx index c71bf969a..de370385a 100644 --- a/src/view/com/notifications/FeedItem.tsx +++ b/src/view/com/notifications/FeedItem.tsx @@ -1,6 +1,6 @@ import React, {useMemo} from 'react' import {observer} from 'mobx-react-lite' -import {StyleSheet, Text, View} from 'react-native' +import {StyleSheet, View} from 'react-native' import {AtUri} from '../../../third-party/uri' import {FontAwesomeIcon, Props} from '@fortawesome/react-native-fontawesome' import {NotificationsViewItemModel} from '../../../state/models/notifications-view' @@ -8,6 +8,7 @@ import {PostThreadViewModel} from '../../../state/models/post-thread-view' import {s, colors} from '../../lib/styles' import {ago, pluralize} from '../../../lib/strings' import {UpIconSolid} from '../../lib/icons' +import {Text} from '../util/Text' import {UserAvatar} from '../util/UserAvatar' import {ErrorMessage} from '../util/ErrorMessage' import {Post} from '../post/Post' diff --git a/src/view/com/notifications/InviteAccepter.tsx b/src/view/com/notifications/InviteAccepter.tsx index 767c57e3f..4df8b2e4f 100644 --- a/src/view/com/notifications/InviteAccepter.tsx +++ b/src/view/com/notifications/InviteAccepter.tsx @@ -1,5 +1,5 @@ import React, {useState} from 'react' -import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' +import {StyleSheet, TouchableOpacity, View} from 'react-native' import LinearGradient from 'react-native-linear-gradient' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import * as apilib from '../../../state/lib/api' @@ -8,6 +8,7 @@ import {ConfirmModal} from '../../../state/models/shell-ui' import {useStores} from '../../../state' import {ProfileCard} from '../profile/ProfileCard' import * as Toast from '../util/Toast' +import {Text} from '../util/Text' import {s, colors, gradients} from '../../lib/styles' export function InviteAccepter({item}: {item: NotificationsViewItemModel}) { diff --git a/src/view/com/onboard/FeatureExplainer.tsx b/src/view/com/onboard/FeatureExplainer.tsx index d9f70cf4f..31863ad50 100644 --- a/src/view/com/onboard/FeatureExplainer.tsx +++ b/src/view/com/onboard/FeatureExplainer.tsx @@ -4,13 +4,13 @@ import { Image, SafeAreaView, StyleSheet, - Text, TouchableOpacity, useWindowDimensions, View, } from 'react-native' import {TabView, SceneMap, Route, TabBarProps} from 'react-native-tab-view' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import {Text} from '../util/Text' import {UserGroupIcon} from '../../lib/icons' import {useStores} from '../../../state' import {s} from '../../lib/styles' diff --git a/src/view/com/onboard/Follows.tsx b/src/view/com/onboard/Follows.tsx index ab65cd45d..4026c879a 100644 --- a/src/view/com/onboard/Follows.tsx +++ b/src/view/com/onboard/Follows.tsx @@ -1,13 +1,8 @@ import React from 'react' -import { - SafeAreaView, - StyleSheet, - Text, - TouchableOpacity, - View, -} from 'react-native' +import {SafeAreaView, StyleSheet, TouchableOpacity, View} from 'react-native' import {observer} from 'mobx-react-lite' import {SuggestedFollows} from '../discover/SuggestedFollows' +import {Text} from '../util/Text' import {useStores} from '../../../state' import {s} from '../../lib/styles' diff --git a/src/view/com/post-thread/PostRepostedBy.tsx b/src/view/com/post-thread/PostRepostedBy.tsx index a58644cb7..6328b34e7 100644 --- a/src/view/com/post-thread/PostRepostedBy.tsx +++ b/src/view/com/post-thread/PostRepostedBy.tsx @@ -1,6 +1,6 @@ import React, {useState, useEffect} from 'react' import {observer} from 'mobx-react-lite' -import {ActivityIndicator, FlatList, StyleSheet, Text, View} from 'react-native' +import {ActivityIndicator, FlatList, StyleSheet, View} from 'react-native' import { RepostedByViewModel, RepostedByViewItemModel, @@ -8,6 +8,7 @@ import { import {UserAvatar} from '../util/UserAvatar' import {ErrorMessage} from '../util/ErrorMessage' import {Link} from '../util/Link' +import {Text} from '../util/Text' import {useStores} from '../../../state' import {s, colors} from '../../lib/styles' diff --git a/src/view/com/post-thread/PostThreadItem.tsx b/src/view/com/post-thread/PostThreadItem.tsx index e54931532..70b313ecc 100644 --- a/src/view/com/post-thread/PostThreadItem.tsx +++ b/src/view/com/post-thread/PostThreadItem.tsx @@ -1,6 +1,6 @@ import React, {useMemo, useState} from 'react' import {observer} from 'mobx-react-lite' -import {StyleSheet, Text, View} from 'react-native' +import {StyleSheet, View} from 'react-native' import Clipboard from '@react-native-clipboard/clipboard' import {AtUri} from '../../../third-party/uri' import * as PostType from '../../../third-party/api/src/client/types/app/bsky/feed/post' @@ -8,6 +8,7 @@ import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {PostThreadViewPostModel} from '../../../state/models/post-thread-view' import {Link} from '../util/Link' import {RichText} from '../util/RichText' +import {Text} from '../util/Text' import {PostDropdownBtn} from '../util/DropdownBtn' import * as Toast from '../util/Toast' import {UserAvatar} from '../util/UserAvatar' diff --git a/src/view/com/post-thread/PostVotedBy.tsx b/src/view/com/post-thread/PostVotedBy.tsx index 5857f3792..f3773e47b 100644 --- a/src/view/com/post-thread/PostVotedBy.tsx +++ b/src/view/com/post-thread/PostVotedBy.tsx @@ -1,11 +1,12 @@ import React, {useState, useEffect} from 'react' import {observer} from 'mobx-react-lite' -import {ActivityIndicator, FlatList, StyleSheet, Text, View} from 'react-native' +import {ActivityIndicator, FlatList, StyleSheet, View} from 'react-native' import { VotesViewModel, VotesViewItemModel, } from '../../../state/models/votes-view' import {Link} from '../util/Link' +import {Text} from '../util/Text' import {ErrorMessage} from '../util/ErrorMessage' import {UserAvatar} from '../util/UserAvatar' import {useStores} from '../../../state' diff --git a/src/view/com/post/Post.tsx b/src/view/com/post/Post.tsx index fd23d6d47..73c8bab68 100644 --- a/src/view/com/post/Post.tsx +++ b/src/view/com/post/Post.tsx @@ -3,7 +3,6 @@ import { ActivityIndicator, StyleProp, StyleSheet, - Text, View, ViewStyle, } from 'react-native' @@ -18,6 +17,7 @@ import {UserInfoText} from '../util/UserInfoText' import {PostMeta} from '../util/PostMeta' import {PostEmbeds} from '../util/PostEmbeds' import {PostCtrls} from '../util/PostCtrls' +import {Text} from '../util/Text' import {RichText} from '../util/RichText' import * as Toast from '../util/Toast' import {UserAvatar} from '../util/UserAvatar' diff --git a/src/view/com/post/PostText.tsx b/src/view/com/post/PostText.tsx index 5d6c45113..90765a836 100644 --- a/src/view/com/post/PostText.tsx +++ b/src/view/com/post/PostText.tsx @@ -1,8 +1,9 @@ import React, {useState, useEffect} from 'react' import {observer} from 'mobx-react-lite' -import {Text, View} from 'react-native' +import {View} from 'react-native' import {LoadingPlaceholder} from '../util/LoadingPlaceholder' import {ErrorMessage} from '../util/ErrorMessage' +import {Text} from '../util/Text' import {PostModel} from '../../../state/models/post' import {useStores} from '../../../state' diff --git a/src/view/com/posts/FeedItem.tsx b/src/view/com/posts/FeedItem.tsx index f653a4db7..f7f702c3c 100644 --- a/src/view/com/posts/FeedItem.tsx +++ b/src/view/com/posts/FeedItem.tsx @@ -1,6 +1,6 @@ import React, {useMemo, useState} from 'react' import {observer} from 'mobx-react-lite' -import {StyleSheet, Text, View} from 'react-native' +import {StyleSheet, View} from 'react-native' import Clipboard from '@react-native-clipboard/clipboard' import Svg, {Circle, Line} from 'react-native-svg' import {AtUri} from '../../../third-party/uri' @@ -8,6 +8,7 @@ import * as PostType from '../../../third-party/api/src/client/types/app/bsky/fe import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {FeedItemModel} from '../../../state/models/feed-view' import {Link} from '../util/Link' +import {Text} from '../util/Text' import {UserInfoText} from '../util/UserInfoText' import {Post} from '../post/Post' import {PostMeta} from '../util/PostMeta' diff --git a/src/view/com/profile/ProfileCard.tsx b/src/view/com/profile/ProfileCard.tsx index 241c8f10a..1d5b93a4c 100644 --- a/src/view/com/profile/ProfileCard.tsx +++ b/src/view/com/profile/ProfileCard.tsx @@ -1,6 +1,7 @@ import React from 'react' -import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' +import {StyleSheet, TouchableOpacity, View} from 'react-native' import {Link} from '../util/Link' +import {Text} from '../util/Text' import {UserAvatar} from '../util/UserAvatar' import {s, colors} from '../../lib/styles' @@ -35,7 +36,7 @@ export function ProfileCard({ /> </View> <View style={styles.layoutContent}> - <Text style={[s.f16, s.bold]} numberOfLines={1}> + <Text style={[s.f16, s.bold, s.black]} numberOfLines={1}> {displayName || handle} </Text> <Text style={[s.f15, s.gray5]} numberOfLines={1}> diff --git a/src/view/com/profile/ProfileFollowers.tsx b/src/view/com/profile/ProfileFollowers.tsx index 09162614e..280173f9e 100644 --- a/src/view/com/profile/ProfileFollowers.tsx +++ b/src/view/com/profile/ProfileFollowers.tsx @@ -1,11 +1,12 @@ import React, {useState, useEffect} from 'react' import {observer} from 'mobx-react-lite' -import {ActivityIndicator, FlatList, StyleSheet, Text, View} from 'react-native' +import {ActivityIndicator, FlatList, StyleSheet, View} from 'react-native' import { UserFollowersViewModel, FollowerItem, } from '../../../state/models/user-followers-view' import {Link} from '../util/Link' +import {Text} from '../util/Text' import {ErrorMessage} from '../util/ErrorMessage' import {UserAvatar} from '../util/UserAvatar' import {useStores} from '../../../state' @@ -96,7 +97,9 @@ const User = ({item}: {item: FollowerItem}) => { /> </View> <View style={styles.layoutContent}> - <Text style={[s.f15, s.bold]}>{item.displayName || item.handle}</Text> + <Text style={[s.f15, s.bold, s.black]}> + {item.displayName || item.handle} + </Text> <Text style={[s.f14, s.gray5]}>@{item.handle}</Text> </View> </View> diff --git a/src/view/com/profile/ProfileFollows.tsx b/src/view/com/profile/ProfileFollows.tsx index 2652c9acb..5f8cdd68c 100644 --- a/src/view/com/profile/ProfileFollows.tsx +++ b/src/view/com/profile/ProfileFollows.tsx @@ -1,12 +1,13 @@ import React, {useState, useEffect} from 'react' import {observer} from 'mobx-react-lite' -import {ActivityIndicator, FlatList, StyleSheet, Text, View} from 'react-native' +import {ActivityIndicator, FlatList, StyleSheet, View} from 'react-native' import { UserFollowsViewModel, FollowItem, } from '../../../state/models/user-follows-view' import {useStores} from '../../../state' import {Link} from '../util/Link' +import {Text} from '../util/Text' import {ErrorMessage} from '../util/ErrorMessage' import {UserAvatar} from '../util/UserAvatar' import {s, colors} from '../../lib/styles' @@ -96,7 +97,9 @@ const User = ({item}: {item: FollowItem}) => { /> </View> <View style={styles.layoutContent}> - <Text style={[s.f15, s.bold]}>{item.displayName || item.handle}</Text> + <Text style={[s.f15, s.bold, s.black]}> + {item.displayName || item.handle} + </Text> <Text style={[s.f14, s.gray5]}>@{item.handle}</Text> </View> </View> diff --git a/src/view/com/profile/ProfileHeader.tsx b/src/view/com/profile/ProfileHeader.tsx index e35f40cdf..c9da0d96c 100644 --- a/src/view/com/profile/ProfileHeader.tsx +++ b/src/view/com/profile/ProfileHeader.tsx @@ -1,6 +1,6 @@ import React, {useMemo} from 'react' import {observer} from 'mobx-react-lite' -import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' +import {StyleSheet, TouchableOpacity, View} from 'react-native' import LinearGradient from 'react-native-linear-gradient' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {AtUri} from '../../../third-party/uri' @@ -19,6 +19,7 @@ import {getGradient} from '../../lib/asset-gen' import {DropdownBtn, DropdownItem} from '../util/DropdownBtn' import * as Toast from '../util/Toast' import {LoadingPlaceholder} from '../util/LoadingPlaceholder' +import {Text} from '../util/Text' import {RichText} from '../util/RichText' import {UserAvatar} from '../util/UserAvatar' import {UserBanner} from '../util/UserBanner' @@ -408,6 +409,7 @@ const styles = StyleSheet.create({ marginBottom: 8, fontSize: 16, lineHeight: 20.8, // 1.3 of 16px + color: colors.black, }, relationshipsLine: { diff --git a/src/view/com/util/DropdownBtn.tsx b/src/view/com/util/DropdownBtn.tsx index 0ca7e2cf1..3c6421934 100644 --- a/src/view/com/util/DropdownBtn.tsx +++ b/src/view/com/util/DropdownBtn.tsx @@ -3,7 +3,6 @@ import { Share, StyleProp, StyleSheet, - Text, TouchableOpacity, TouchableWithoutFeedback, View, @@ -12,6 +11,7 @@ import { import {IconProp} from '@fortawesome/fontawesome-svg-core' import RootSiblings from 'react-native-root-siblings' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import {Text} from './Text' import {colors} from '../../lib/styles' import {toShareUrl} from '../../../lib/strings' import {useStores} from '../../../state' diff --git a/src/view/com/util/EmptyState.tsx b/src/view/com/util/EmptyState.tsx index adae9e314..8d98807e3 100644 --- a/src/view/com/util/EmptyState.tsx +++ b/src/view/com/util/EmptyState.tsx @@ -1,7 +1,8 @@ import React from 'react' -import {StyleProp, StyleSheet, Text, View, ViewStyle} from 'react-native' +import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native' import {IconProp} from '@fortawesome/fontawesome-svg-core' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import {Text} from './Text' import {UserGroupIcon} from '../../lib/icons' import {colors} from '../../lib/styles' diff --git a/src/view/com/util/ErrorMessage.tsx b/src/view/com/util/ErrorMessage.tsx index 3f6522b86..b87b77baa 100644 --- a/src/view/com/util/ErrorMessage.tsx +++ b/src/view/com/util/ErrorMessage.tsx @@ -1,7 +1,6 @@ import React from 'react' import { StyleSheet, - Text, TouchableOpacity, StyleProp, View, @@ -9,6 +8,7 @@ import { } from 'react-native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import LinearGradient from 'react-native-linear-gradient' +import {Text} from './Text' import {colors, gradients} from '../../lib/styles' export function ErrorMessage({ diff --git a/src/view/com/util/ErrorScreen.tsx b/src/view/com/util/ErrorScreen.tsx index 4a3e41dc9..d0e1e2755 100644 --- a/src/view/com/util/ErrorScreen.tsx +++ b/src/view/com/util/ErrorScreen.tsx @@ -1,6 +1,7 @@ import React from 'react' -import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' +import {StyleSheet, TouchableOpacity, View} from 'react-native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import {Text} from './Text' import {colors} from '../../lib/styles' export function ErrorScreen({ diff --git a/src/view/com/util/Link.tsx b/src/view/com/util/Link.tsx index 2210469d5..2bb553575 100644 --- a/src/view/com/util/Link.tsx +++ b/src/view/com/util/Link.tsx @@ -3,13 +3,13 @@ import {observer} from 'mobx-react-lite' import { Linking, StyleProp, - Text, TouchableWithoutFeedback, TouchableOpacity, TextStyle, View, ViewStyle, } from 'react-native' +import {Text} from './Text' import {useStores, RootStoreModel} from '../../../state' import {convertBskyAppUrlIfNeeded} from '../../../lib/strings' diff --git a/src/view/com/util/Picker.tsx b/src/view/com/util/Picker.tsx index a02daef15..84a627b6d 100644 --- a/src/view/com/util/Picker.tsx +++ b/src/view/com/util/Picker.tsx @@ -2,7 +2,6 @@ import React, {useRef} from 'react' import { StyleProp, StyleSheet, - Text, TextStyle, TouchableOpacity, TouchableWithoutFeedback, @@ -14,6 +13,7 @@ import { FontAwesomeIconStyle, } from '@fortawesome/react-native-fontawesome' import RootSiblings from 'react-native-root-siblings' +import {Text} from './Text' import {colors} from '../../lib/styles' interface PickerItem { diff --git a/src/view/com/util/PostCtrls.tsx b/src/view/com/util/PostCtrls.tsx index fe7390058..264210768 100644 --- a/src/view/com/util/PostCtrls.tsx +++ b/src/view/com/util/PostCtrls.tsx @@ -1,14 +1,8 @@ import React from 'react' -import { - Animated, - StyleSheet, - Text, - TouchableOpacity, - View, - Vibration, -} from 'react-native' +import {Animated, StyleSheet, TouchableOpacity, View} from 'react-native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import ReactNativeHapticFeedback from 'react-native-haptic-feedback' +import {Text} from './Text' import {UpIcon, UpIconSolid} from '../../lib/icons' import {s, colors} from '../../lib/styles' import {useAnimatedValue} from '../../lib/useAnimatedValue' diff --git a/src/view/com/util/PostEmbeds.tsx b/src/view/com/util/PostEmbeds.tsx index 5e1d570b6..fa88bbdb1 100644 --- a/src/view/com/util/PostEmbeds.tsx +++ b/src/view/com/util/PostEmbeds.tsx @@ -1,15 +1,9 @@ import React from 'react' -import { - ImageStyle, - StyleSheet, - StyleProp, - Text, - View, - ViewStyle, -} from 'react-native' +import {ImageStyle, StyleSheet, StyleProp, View, ViewStyle} from 'react-native' import * as AppBskyEmbedImages from '../../../third-party/api/src/client/types/app/bsky/embed/images' import * as AppBskyEmbedExternal from '../../../third-party/api/src/client/types/app/bsky/embed/external' import {Link} from '../util/Link' +import {Text} from '../util/Text' import {colors} from '../../lib/styles' import {AutoSizedImage} from './images/AutoSizedImage' import {ImagesLightbox} from '../../../state/models/shell-ui' @@ -152,16 +146,16 @@ const styles = StyleSheet.create({ borderRadius: 8, padding: 10, }, - extImage: { - // TODO - }, + extImage: {}, extTitle: { fontSize: 16, fontWeight: 'bold', + color: colors.black, }, extDescription: { marginTop: 4, fontSize: 15, + color: colors.black, }, extUrl: { color: colors.gray4, diff --git a/src/view/com/util/PostMeta.tsx b/src/view/com/util/PostMeta.tsx index 6d94c7719..42c725a60 100644 --- a/src/view/com/util/PostMeta.tsx +++ b/src/view/com/util/PostMeta.tsx @@ -1,7 +1,8 @@ import React from 'react' -import {StyleSheet, Text, View} from 'react-native' +import {StyleSheet, View} from 'react-native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {Link} from '../util/Link' +import {Text} from '../util/Text' import {PostDropdownBtn} from '../util/DropdownBtn' import {s} from '../../lib/styles' import {ago} from '../../../lib/strings' diff --git a/src/view/com/util/RichText.tsx b/src/view/com/util/RichText.tsx index 66b0e2536..d6f193f9d 100644 --- a/src/view/com/util/RichText.tsx +++ b/src/view/com/util/RichText.tsx @@ -1,6 +1,7 @@ import React from 'react' -import {Text, TextStyle, StyleProp} from 'react-native' +import {TextStyle, StyleProp} from 'react-native' import {TextLink} from './Link' +import {Text} from './Text' import {s} from '../../lib/styles' import {toShortUrl} from '../../../lib/strings' diff --git a/src/view/com/util/Selector.tsx b/src/view/com/util/Selector.tsx index ed042d7c1..954360b32 100644 --- a/src/view/com/util/Selector.tsx +++ b/src/view/com/util/Selector.tsx @@ -2,10 +2,10 @@ import React, {createRef, useState, useMemo} from 'react' import { Animated, StyleSheet, - Text, TouchableWithoutFeedback, View, } from 'react-native' +import {Text} from './Text' import {colors} from '../../lib/styles' interface Layout { @@ -122,6 +122,7 @@ const styles = StyleSheet.create({ labelSelected: { fontWeight: '600', fontSize: 16, + color: colors.black, }, underline: { position: 'absolute', diff --git a/src/view/com/util/Text.tsx b/src/view/com/util/Text.tsx new file mode 100644 index 000000000..acf7589e0 --- /dev/null +++ b/src/view/com/util/Text.tsx @@ -0,0 +1,15 @@ +import React from 'react' +import {Text as RNText, TextProps} from 'react-native' +import {s} from '../../lib/styles' + +export function Text({ + children, + style, + ...props +}: React.PropsWithChildren<TextProps>) { + return ( + <RNText style={[s.black, style]} {...props}> + {children} + </RNText> + ) +} diff --git a/src/view/com/util/UserAvatar.tsx b/src/view/com/util/UserAvatar.tsx index f4ac4a322..07d657007 100644 --- a/src/view/com/util/UserAvatar.tsx +++ b/src/view/com/util/UserAvatar.tsx @@ -1,5 +1,5 @@ import React, {useCallback} from 'react' -import {StyleSheet, View, TouchableOpacity, Alert, Image} from 'react-native' +import {Alert, Image, StyleSheet, TouchableOpacity, View} from 'react-native' import Svg, {Circle, Text, Defs, LinearGradient, Stop} from 'react-native-svg' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import { diff --git a/src/view/com/util/UserInfoText.tsx b/src/view/com/util/UserInfoText.tsx index d1292cc70..51d130ca5 100644 --- a/src/view/com/util/UserInfoText.tsx +++ b/src/view/com/util/UserInfoText.tsx @@ -1,7 +1,8 @@ import React, {useState, useEffect} from 'react' import * as GetProfile from '../../../third-party/api/src/client/types/app/bsky/actor/getProfile' -import {StyleProp, Text, TextStyle} from 'react-native' +import {StyleProp, TextStyle} from 'react-native' import {Link} from './Link' +import {Text} from './Text' import {LoadingPlaceholder} from './LoadingPlaceholder' import {useStores} from '../../../state' diff --git a/src/view/com/util/ViewHeader.tsx b/src/view/com/util/ViewHeader.tsx index 141d2dd50..e14c2412d 100644 --- a/src/view/com/util/ViewHeader.tsx +++ b/src/view/com/util/ViewHeader.tsx @@ -3,12 +3,12 @@ import {observer} from 'mobx-react-lite' import { ActivityIndicator, StyleSheet, - Text, TouchableOpacity, View, } from 'react-native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {UserAvatar} from './UserAvatar' +import {Text} from './Text' import {s, colors} from '../../lib/styles' import {MagnifyingGlassIcon} from '../../lib/icons' import {useStores} from '../../../state' diff --git a/src/view/com/util/forms/RadioButton.tsx b/src/view/com/util/forms/RadioButton.tsx index b311a4260..9da404bea 100644 --- a/src/view/com/util/forms/RadioButton.tsx +++ b/src/view/com/util/forms/RadioButton.tsx @@ -1,5 +1,6 @@ import React from 'react' -import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' +import {StyleSheet, TouchableOpacity, View} from 'react-native' +import {Text} from '../Text' import {colors} from '../../../lib/styles' export function RadioButton({ diff --git a/src/view/com/util/images/AutoSizedImage.tsx b/src/view/com/util/images/AutoSizedImage.tsx index 7243e6fb3..05425eb31 100644 --- a/src/view/com/util/images/AutoSizedImage.tsx +++ b/src/view/com/util/images/AutoSizedImage.tsx @@ -5,11 +5,11 @@ import { LayoutChangeEvent, StyleProp, StyleSheet, - Text, TouchableWithoutFeedback, View, ViewStyle, } from 'react-native' +import {Text} from '../Text' import {colors} from '../../../lib/styles' const MAX_HEIGHT = 300 diff --git a/src/view/screens/Contacts.tsx b/src/view/screens/Contacts.tsx index be92f74c9..05256a7eb 100644 --- a/src/view/screens/Contacts.tsx +++ b/src/view/screens/Contacts.tsx @@ -1,8 +1,9 @@ import React, {useEffect, useState, useRef} from 'react' -import {StyleSheet, Text, TextInput, View} from 'react-native' +import {StyleSheet, TextInput, View} from 'react-native' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {ProfileFollows as ProfileFollowsComponent} from '../com/profile/ProfileFollows' import {Selector} from '../com/util/Selector' +import {Text} from '../com/util/Text' import {colors} from '../lib/styles' import {ScreenParams} from '../routes' import {useStores} from '../../state' diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx index 059abfb37..834010b0a 100644 --- a/src/view/screens/Home.tsx +++ b/src/view/screens/Home.tsx @@ -1,13 +1,13 @@ -import React, {useState, useEffect, useMemo} from 'react' -import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' +import React, {useState, useEffect} from 'react' +import {StyleSheet, TouchableOpacity, View} from 'react-native' import {observer} from 'mobx-react-lite' import useAppState from 'react-native-appstate-hook' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {useSafeAreaInsets} from 'react-native-safe-area-context' import {ViewHeader} from '../com/util/ViewHeader' import {Feed} from '../com/posts/Feed' +import {Text} from '../com/util/Text' import {useStores} from '../../state' -import {FeedModel} from '../../state/models/feed-view' import {ScreenParams} from '../routes' import {s, colors} from '../lib/styles' import {useOnMainScroll} from '../lib/useOnMainScroll' diff --git a/src/view/screens/Login.tsx b/src/view/screens/Login.tsx index 0bb672b3b..734903d7e 100644 --- a/src/view/screens/Login.tsx +++ b/src/view/screens/Login.tsx @@ -1,7 +1,6 @@ import React, {useState} from 'react' import { StyleSheet, - Text, TouchableOpacity, View, useWindowDimensions, @@ -11,6 +10,7 @@ import {observer} from 'mobx-react-lite' import {Signin} from '../com/login/Signin' import {Logo} from '../com/login/Logo' import {CreateAccount} from '../com/login/CreateAccount' +import {Text} from '../com/util/Text' import {s, colors} from '../lib/styles' enum ScreenState { diff --git a/src/view/screens/NotFound.tsx b/src/view/screens/NotFound.tsx index 6b196500d..16d75c386 100644 --- a/src/view/screens/NotFound.tsx +++ b/src/view/screens/NotFound.tsx @@ -1,6 +1,7 @@ import React from 'react' -import {Text, Button, View} from 'react-native' +import {Button, View} from 'react-native' import {ViewHeader} from '../com/util/ViewHeader' +import {Text} from '../com/util/Text' import {useStores} from '../../state' export const NotFound = () => { diff --git a/src/view/screens/Profile.tsx b/src/view/screens/Profile.tsx index 86be47fbd..8d41d9ad1 100644 --- a/src/view/screens/Profile.tsx +++ b/src/view/screens/Profile.tsx @@ -1,5 +1,5 @@ import React, {useEffect, useState, useMemo} from 'react' -import {ActivityIndicator, StyleSheet, Text, View} from 'react-native' +import {ActivityIndicator, StyleSheet, View} from 'react-native' import {observer} from 'mobx-react-lite' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {ViewSelector} from '../com/util/ViewSelector' @@ -15,6 +15,7 @@ import {PostFeedLoadingPlaceholder} from '../com/util/LoadingPlaceholder' import {ErrorScreen} from '../com/util/ErrorScreen' import {ErrorMessage} from '../com/util/ErrorMessage' import {EmptyState} from '../com/util/EmptyState' +import {Text} from '../com/util/Text' import {ViewHeader} from '../com/util/ViewHeader' import * as Toast from '../com/util/Toast' import {s, colors} from '../lib/styles' diff --git a/src/view/screens/Search.tsx b/src/view/screens/Search.tsx index 2335962c5..d1d36265f 100644 --- a/src/view/screens/Search.tsx +++ b/src/view/screens/Search.tsx @@ -3,7 +3,6 @@ import { Keyboard, ScrollView, StyleSheet, - Text, TextInput, TouchableOpacity, View, @@ -11,6 +10,7 @@ import { import {ViewHeader} from '../com/util/ViewHeader' import {SuggestedFollows} from '../com/discover/SuggestedFollows' import {UserAvatar} from '../com/util/UserAvatar' +import {Text} from '../com/util/Text' import {ScreenParams} from '../routes' import {useStores} from '../../state' import {UserAutocompleteViewModel} from '../../state/models/user-autocomplete-view' diff --git a/src/view/screens/Settings.tsx b/src/view/screens/Settings.tsx index 3199c4d9a..1656d3b68 100644 --- a/src/view/screens/Settings.tsx +++ b/src/view/screens/Settings.tsx @@ -1,11 +1,12 @@ import React, {useEffect} from 'react' -import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' +import {StyleSheet, TouchableOpacity, View} from 'react-native' import {observer} from 'mobx-react-lite' import {useStores} from '../../state' import {ScreenParams} from '../routes' import {s, colors} from '../lib/styles' import {ViewHeader} from '../com/util/ViewHeader' import {Link} from '../com/util/Link' +import {Text} from '../com/util/Text' import {UserAvatar} from '../com/util/UserAvatar' export const Settings = observer(function Settings({ diff --git a/src/view/shell/mobile/Menu.tsx b/src/view/shell/mobile/Menu.tsx index d57447d41..8c11e3e8e 100644 --- a/src/view/shell/mobile/Menu.tsx +++ b/src/view/shell/mobile/Menu.tsx @@ -2,7 +2,6 @@ import React, {useEffect} from 'react' import { StyleProp, StyleSheet, - Text, TouchableOpacity, View, ViewStyle, @@ -18,6 +17,7 @@ import { MagnifyingGlassIcon, } from '../../lib/icons' import {UserAvatar} from '../../com/util/UserAvatar' +import {Text} from '../../com/util/Text' import {CreateSceneModal} from '../../../state/models/shell-ui' export const Menu = ({ diff --git a/src/view/shell/mobile/TabsSelector.tsx b/src/view/shell/mobile/TabsSelector.tsx index 28f488f01..d44a8e0c6 100644 --- a/src/view/shell/mobile/TabsSelector.tsx +++ b/src/view/shell/mobile/TabsSelector.tsx @@ -5,12 +5,12 @@ import { ScrollView, Share, StyleSheet, - Text, TouchableWithoutFeedback, View, } from 'react-native' import {useSafeAreaInsets} from 'react-native-safe-area-context' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' +import {Text} from '../../com/util/Text' import Swipeable from 'react-native-gesture-handler/Swipeable' import {useStores} from '../../../state' import {s, colors} from '../../lib/styles' diff --git a/src/view/shell/mobile/index.tsx b/src/view/shell/mobile/index.tsx index 308501d24..6437d6969 100644 --- a/src/view/shell/mobile/index.tsx +++ b/src/view/shell/mobile/index.tsx @@ -7,7 +7,6 @@ import { GestureResponderEvent, SafeAreaView, StyleSheet, - Text, TouchableOpacity, TouchableWithoutFeedback, useColorScheme, @@ -30,6 +29,7 @@ import {Onboard} from '../../screens/Onboard' import {HorzSwipe} from '../../com/util/gestures/HorzSwipe' import {Modal} from '../../com/modals/Modal' import {Lightbox} from '../../com/lightbox/Lightbox' +import {Text} from '../../com/util/Text' import {TabsSelector} from './TabsSelector' import {Composer} from './Composer' import {s, colors} from '../../lib/styles' |