Bluesky app fork with some witchin' additions 💫
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Wrap all <Text> in a helper that ensures black color is applied by default

+110 -82
+1 -1
src/view/com/composer/Autocomplete.tsx
··· 1 1 import React, {useEffect} from 'react' 2 2 import { 3 3 Animated, 4 - Text, 5 4 TouchableOpacity, 6 5 StyleSheet, 7 6 useWindowDimensions, 8 7 } from 'react-native' 9 8 import {useAnimatedValue} from '../../lib/useAnimatedValue' 9 + import {Text} from '../util/Text' 10 10 import {colors} from '../../lib/styles' 11 11 12 12 interface AutocompleteItem {
+3 -2
src/view/com/composer/ComposePost.tsx
··· 7 7 SafeAreaView, 8 8 ScrollView, 9 9 StyleSheet, 10 - Text, 11 10 TextInput, 12 11 TouchableOpacity, 13 12 View, ··· 16 15 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 17 16 import {UserAutocompleteViewModel} from '../../../state/models/user-autocomplete-view' 18 17 import {Autocomplete} from './Autocomplete' 18 + import {Text} from '../util/Text' 19 19 import * as Toast from '../util/Toast' 20 20 // @ts-ignore no type definition -prf 21 21 import ProgressCircle from 'react-native-progress/Circle' ··· 209 209 </View> 210 210 {isProcessing ? ( 211 211 <View style={styles.processingLine}> 212 - <Text>{processingState}</Text> 212 + <Text style={s.black}>{processingState}</Text> 213 213 </View> 214 214 ) : undefined} 215 215 {error !== '' && ( ··· 401 401 fontSize: 18, 402 402 marginLeft: 8, 403 403 alignSelf: 'flex-start', 404 + color: colors.black, 404 405 }, 405 406 replyToLayout: { 406 407 flexDirection: 'row',
+2 -1
src/view/com/composer/Prompt.tsx
··· 1 1 import React from 'react' 2 - import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' 2 + import {StyleSheet, TouchableOpacity, View} from 'react-native' 3 3 import {colors} from '../../lib/styles' 4 4 import {useStores} from '../../../state' 5 5 import {UserAvatar} from '../util/UserAvatar' 6 + import {Text} from '../util/Text' 6 7 7 8 export function ComposePrompt({ 8 9 noAvi = false,
+1 -1
src/view/com/discover/SuggestedFollows.tsx
··· 3 3 ActivityIndicator, 4 4 FlatList, 5 5 StyleSheet, 6 - Text, 7 6 TouchableOpacity, 8 7 View, 9 8 } from 'react-native' ··· 13 12 import _omit from 'lodash.omit' 14 13 import {ErrorScreen} from '../util/ErrorScreen' 15 14 import {Link} from '../util/Link' 15 + import {Text} from '../util/Text' 16 16 import {UserAvatar} from '../util/UserAvatar' 17 17 import * as Toast from '../util/Toast' 18 18 import {useStores} from '../../../state'
+1 -1
src/view/com/login/CreateAccount.tsx
··· 5 5 KeyboardAvoidingView, 6 6 ScrollView, 7 7 StyleSheet, 8 - Text, 9 8 TextInput, 10 9 TouchableOpacity, 11 10 View, ··· 15 14 import {Logo} from './Logo' 16 15 import {Picker} from '../util/Picker' 17 16 import {TextLink} from '../util/Link' 17 + import {Text} from '../util/Text' 18 18 import {s, colors} from '../../lib/styles' 19 19 import { 20 20 makeValidHandle,
+1 -1
src/view/com/login/Signin.tsx
··· 4 4 Keyboard, 5 5 KeyboardAvoidingView, 6 6 StyleSheet, 7 - Text, 8 7 TextInput, 9 8 TouchableOpacity, 10 9 View, ··· 12 11 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 13 12 import * as EmailValidator from 'email-validator' 14 13 import {Logo} from './Logo' 14 + import {Text} from '../util/Text' 15 15 import {s, colors} from '../../lib/styles' 16 16 import {createFullHandle, toNiceDomain} from '../../../lib/strings' 17 17 import {useStores, RootStoreModel, DEFAULT_SERVICE} from '../../../state'
+1 -1
src/view/com/modals/Confirm.tsx
··· 2 2 import { 3 3 ActivityIndicator, 4 4 StyleSheet, 5 - Text, 6 5 TouchableOpacity, 7 6 View, 8 7 } from 'react-native' 9 8 import LinearGradient from 'react-native-linear-gradient' 9 + import {Text} from '../util/Text' 10 10 import {useStores} from '../../../state' 11 11 import {s, colors, gradients} from '../../lib/styles' 12 12 import {ErrorMessage} from '../util/ErrorMessage'
+1 -1
src/view/com/modals/CreateScene.tsx
··· 3 3 import { 4 4 ActivityIndicator, 5 5 StyleSheet, 6 - Text, 7 6 TouchableOpacity, 8 7 View, 9 8 } from 'react-native' 10 9 import LinearGradient from 'react-native-linear-gradient' 11 10 import {BottomSheetScrollView, BottomSheetTextInput} from '@gorhom/bottom-sheet' 12 11 import {ErrorMessage} from '../util/ErrorMessage' 12 + import {Text} from '../util/Text' 13 13 import {useStores} from '../../../state' 14 14 import {s, colors, gradients} from '../../lib/styles' 15 15 import {
+1 -1
src/view/com/modals/EditProfile.tsx
··· 3 3 import { 4 4 ActivityIndicator, 5 5 StyleSheet, 6 - Text, 7 6 TouchableOpacity, 8 7 View, 9 8 } from 'react-native' 10 9 import LinearGradient from 'react-native-linear-gradient' 11 10 import {BottomSheetScrollView, BottomSheetTextInput} from '@gorhom/bottom-sheet' 12 11 import {Image as PickedImage} from 'react-native-image-crop-picker' 12 + import {Text} from '../util/Text' 13 13 import {ErrorMessage} from '../util/ErrorMessage' 14 14 import {useStores} from '../../../state' 15 15 import {ProfileViewModel} from '../../../state/models/profile-view'
+1 -1
src/view/com/modals/InviteToScene.tsx
··· 5 5 ActivityIndicator, 6 6 FlatList, 7 7 StyleSheet, 8 - Text, 9 8 useWindowDimensions, 10 9 View, 11 10 } from 'react-native' ··· 21 20 import {AtUri} from '../../../third-party/uri' 22 21 import {ProfileCard} from '../profile/ProfileCard' 23 22 import {ErrorMessage} from '../util/ErrorMessage' 23 + import {Text} from '../util/Text' 24 24 import {useStores} from '../../../state' 25 25 import * as apilib from '../../../state/lib/api' 26 26 import {ProfileViewModel} from '../../../state/models/profile-view'
+1 -1
src/view/com/modals/ReportAccount.tsx
··· 2 2 import { 3 3 ActivityIndicator, 4 4 StyleSheet, 5 - Text, 6 5 TouchableOpacity, 7 6 View, 8 7 } from 'react-native' ··· 10 9 import {useStores} from '../../../state' 11 10 import {s, colors, gradients} from '../../lib/styles' 12 11 import {RadioGroup, RadioGroupItem} from '../util/forms/RadioGroup' 12 + import {Text} from '../util/Text' 13 13 import {ErrorMessage} from '../util/ErrorMessage' 14 14 15 15 const ITEMS: RadioGroupItem[] = [
+1 -1
src/view/com/modals/ReportPost.tsx
··· 2 2 import { 3 3 ActivityIndicator, 4 4 StyleSheet, 5 - Text, 6 5 TouchableOpacity, 7 6 View, 8 7 } from 'react-native' ··· 10 9 import {useStores} from '../../../state' 11 10 import {s, colors, gradients} from '../../lib/styles' 12 11 import {RadioGroup, RadioGroupItem} from '../util/forms/RadioGroup' 12 + import {Text} from '../util/Text' 13 13 import {ErrorMessage} from '../util/ErrorMessage' 14 14 15 15 const ITEMS: RadioGroupItem[] = [
+2 -1
src/view/com/modals/ServerInput.tsx
··· 1 1 import React, {useState} from 'react' 2 - import {Platform, StyleSheet, Text, TouchableOpacity, View} from 'react-native' 2 + import {Platform, StyleSheet, TouchableOpacity, View} from 'react-native' 3 3 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 4 4 import {BottomSheetScrollView, BottomSheetTextInput} from '@gorhom/bottom-sheet' 5 + import {Text} from '../util/Text' 5 6 import {useStores} from '../../../state' 6 7 import {s, colors} from '../../lib/styles' 7 8 import {
+2 -1
src/view/com/notifications/FeedItem.tsx
··· 1 1 import React, {useMemo} from 'react' 2 2 import {observer} from 'mobx-react-lite' 3 - import {StyleSheet, Text, View} from 'react-native' 3 + import {StyleSheet, View} from 'react-native' 4 4 import {AtUri} from '../../../third-party/uri' 5 5 import {FontAwesomeIcon, Props} from '@fortawesome/react-native-fontawesome' 6 6 import {NotificationsViewItemModel} from '../../../state/models/notifications-view' ··· 8 8 import {s, colors} from '../../lib/styles' 9 9 import {ago, pluralize} from '../../../lib/strings' 10 10 import {UpIconSolid} from '../../lib/icons' 11 + import {Text} from '../util/Text' 11 12 import {UserAvatar} from '../util/UserAvatar' 12 13 import {ErrorMessage} from '../util/ErrorMessage' 13 14 import {Post} from '../post/Post'
+2 -1
src/view/com/notifications/InviteAccepter.tsx
··· 1 1 import React, {useState} from 'react' 2 - import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' 2 + import {StyleSheet, TouchableOpacity, View} from 'react-native' 3 3 import LinearGradient from 'react-native-linear-gradient' 4 4 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 5 5 import * as apilib from '../../../state/lib/api' ··· 8 8 import {useStores} from '../../../state' 9 9 import {ProfileCard} from '../profile/ProfileCard' 10 10 import * as Toast from '../util/Toast' 11 + import {Text} from '../util/Text' 11 12 import {s, colors, gradients} from '../../lib/styles' 12 13 13 14 export function InviteAccepter({item}: {item: NotificationsViewItemModel}) {
+1 -1
src/view/com/onboard/FeatureExplainer.tsx
··· 4 4 Image, 5 5 SafeAreaView, 6 6 StyleSheet, 7 - Text, 8 7 TouchableOpacity, 9 8 useWindowDimensions, 10 9 View, 11 10 } from 'react-native' 12 11 import {TabView, SceneMap, Route, TabBarProps} from 'react-native-tab-view' 13 12 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 13 + import {Text} from '../util/Text' 14 14 import {UserGroupIcon} from '../../lib/icons' 15 15 import {useStores} from '../../../state' 16 16 import {s} from '../../lib/styles'
+2 -7
src/view/com/onboard/Follows.tsx
··· 1 1 import React from 'react' 2 - import { 3 - SafeAreaView, 4 - StyleSheet, 5 - Text, 6 - TouchableOpacity, 7 - View, 8 - } from 'react-native' 2 + import {SafeAreaView, StyleSheet, TouchableOpacity, View} from 'react-native' 9 3 import {observer} from 'mobx-react-lite' 10 4 import {SuggestedFollows} from '../discover/SuggestedFollows' 5 + import {Text} from '../util/Text' 11 6 import {useStores} from '../../../state' 12 7 import {s} from '../../lib/styles' 13 8
+2 -1
src/view/com/post-thread/PostRepostedBy.tsx
··· 1 1 import React, {useState, useEffect} from 'react' 2 2 import {observer} from 'mobx-react-lite' 3 - import {ActivityIndicator, FlatList, StyleSheet, Text, View} from 'react-native' 3 + import {ActivityIndicator, FlatList, StyleSheet, View} from 'react-native' 4 4 import { 5 5 RepostedByViewModel, 6 6 RepostedByViewItemModel, ··· 8 8 import {UserAvatar} from '../util/UserAvatar' 9 9 import {ErrorMessage} from '../util/ErrorMessage' 10 10 import {Link} from '../util/Link' 11 + import {Text} from '../util/Text' 11 12 import {useStores} from '../../../state' 12 13 import {s, colors} from '../../lib/styles' 13 14
+2 -1
src/view/com/post-thread/PostThreadItem.tsx
··· 1 1 import React, {useMemo, useState} from 'react' 2 2 import {observer} from 'mobx-react-lite' 3 - import {StyleSheet, Text, View} from 'react-native' 3 + import {StyleSheet, View} from 'react-native' 4 4 import Clipboard from '@react-native-clipboard/clipboard' 5 5 import {AtUri} from '../../../third-party/uri' 6 6 import * as PostType from '../../../third-party/api/src/client/types/app/bsky/feed/post' ··· 8 8 import {PostThreadViewPostModel} from '../../../state/models/post-thread-view' 9 9 import {Link} from '../util/Link' 10 10 import {RichText} from '../util/RichText' 11 + import {Text} from '../util/Text' 11 12 import {PostDropdownBtn} from '../util/DropdownBtn' 12 13 import * as Toast from '../util/Toast' 13 14 import {UserAvatar} from '../util/UserAvatar'
+2 -1
src/view/com/post-thread/PostVotedBy.tsx
··· 1 1 import React, {useState, useEffect} from 'react' 2 2 import {observer} from 'mobx-react-lite' 3 - import {ActivityIndicator, FlatList, StyleSheet, Text, View} from 'react-native' 3 + import {ActivityIndicator, FlatList, StyleSheet, View} from 'react-native' 4 4 import { 5 5 VotesViewModel, 6 6 VotesViewItemModel, 7 7 } from '../../../state/models/votes-view' 8 8 import {Link} from '../util/Link' 9 + import {Text} from '../util/Text' 9 10 import {ErrorMessage} from '../util/ErrorMessage' 10 11 import {UserAvatar} from '../util/UserAvatar' 11 12 import {useStores} from '../../../state'
+1 -1
src/view/com/post/Post.tsx
··· 3 3 ActivityIndicator, 4 4 StyleProp, 5 5 StyleSheet, 6 - Text, 7 6 View, 8 7 ViewStyle, 9 8 } from 'react-native' ··· 18 17 import {PostMeta} from '../util/PostMeta' 19 18 import {PostEmbeds} from '../util/PostEmbeds' 20 19 import {PostCtrls} from '../util/PostCtrls' 20 + import {Text} from '../util/Text' 21 21 import {RichText} from '../util/RichText' 22 22 import * as Toast from '../util/Toast' 23 23 import {UserAvatar} from '../util/UserAvatar'
+2 -1
src/view/com/post/PostText.tsx
··· 1 1 import React, {useState, useEffect} from 'react' 2 2 import {observer} from 'mobx-react-lite' 3 - import {Text, View} from 'react-native' 3 + import {View} from 'react-native' 4 4 import {LoadingPlaceholder} from '../util/LoadingPlaceholder' 5 5 import {ErrorMessage} from '../util/ErrorMessage' 6 + import {Text} from '../util/Text' 6 7 import {PostModel} from '../../../state/models/post' 7 8 import {useStores} from '../../../state' 8 9
+2 -1
src/view/com/posts/FeedItem.tsx
··· 1 1 import React, {useMemo, useState} from 'react' 2 2 import {observer} from 'mobx-react-lite' 3 - import {StyleSheet, Text, View} from 'react-native' 3 + import {StyleSheet, View} from 'react-native' 4 4 import Clipboard from '@react-native-clipboard/clipboard' 5 5 import Svg, {Circle, Line} from 'react-native-svg' 6 6 import {AtUri} from '../../../third-party/uri' ··· 8 8 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 9 9 import {FeedItemModel} from '../../../state/models/feed-view' 10 10 import {Link} from '../util/Link' 11 + import {Text} from '../util/Text' 11 12 import {UserInfoText} from '../util/UserInfoText' 12 13 import {Post} from '../post/Post' 13 14 import {PostMeta} from '../util/PostMeta'
+3 -2
src/view/com/profile/ProfileCard.tsx
··· 1 1 import React from 'react' 2 - import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' 2 + import {StyleSheet, TouchableOpacity, View} from 'react-native' 3 3 import {Link} from '../util/Link' 4 + import {Text} from '../util/Text' 4 5 import {UserAvatar} from '../util/UserAvatar' 5 6 import {s, colors} from '../../lib/styles' 6 7 ··· 35 36 /> 36 37 </View> 37 38 <View style={styles.layoutContent}> 38 - <Text style={[s.f16, s.bold]} numberOfLines={1}> 39 + <Text style={[s.f16, s.bold, s.black]} numberOfLines={1}> 39 40 {displayName || handle} 40 41 </Text> 41 42 <Text style={[s.f15, s.gray5]} numberOfLines={1}>
+5 -2
src/view/com/profile/ProfileFollowers.tsx
··· 1 1 import React, {useState, useEffect} from 'react' 2 2 import {observer} from 'mobx-react-lite' 3 - import {ActivityIndicator, FlatList, StyleSheet, Text, View} from 'react-native' 3 + import {ActivityIndicator, FlatList, StyleSheet, View} from 'react-native' 4 4 import { 5 5 UserFollowersViewModel, 6 6 FollowerItem, 7 7 } from '../../../state/models/user-followers-view' 8 8 import {Link} from '../util/Link' 9 + import {Text} from '../util/Text' 9 10 import {ErrorMessage} from '../util/ErrorMessage' 10 11 import {UserAvatar} from '../util/UserAvatar' 11 12 import {useStores} from '../../../state' ··· 96 97 /> 97 98 </View> 98 99 <View style={styles.layoutContent}> 99 - <Text style={[s.f15, s.bold]}>{item.displayName || item.handle}</Text> 100 + <Text style={[s.f15, s.bold, s.black]}> 101 + {item.displayName || item.handle} 102 + </Text> 100 103 <Text style={[s.f14, s.gray5]}>@{item.handle}</Text> 101 104 </View> 102 105 </View>
+5 -2
src/view/com/profile/ProfileFollows.tsx
··· 1 1 import React, {useState, useEffect} from 'react' 2 2 import {observer} from 'mobx-react-lite' 3 - import {ActivityIndicator, FlatList, StyleSheet, Text, View} from 'react-native' 3 + import {ActivityIndicator, FlatList, StyleSheet, View} from 'react-native' 4 4 import { 5 5 UserFollowsViewModel, 6 6 FollowItem, 7 7 } from '../../../state/models/user-follows-view' 8 8 import {useStores} from '../../../state' 9 9 import {Link} from '../util/Link' 10 + import {Text} from '../util/Text' 10 11 import {ErrorMessage} from '../util/ErrorMessage' 11 12 import {UserAvatar} from '../util/UserAvatar' 12 13 import {s, colors} from '../../lib/styles' ··· 96 97 /> 97 98 </View> 98 99 <View style={styles.layoutContent}> 99 - <Text style={[s.f15, s.bold]}>{item.displayName || item.handle}</Text> 100 + <Text style={[s.f15, s.bold, s.black]}> 101 + {item.displayName || item.handle} 102 + </Text> 100 103 <Text style={[s.f14, s.gray5]}>@{item.handle}</Text> 101 104 </View> 102 105 </View>
+3 -1
src/view/com/profile/ProfileHeader.tsx
··· 1 1 import React, {useMemo} from 'react' 2 2 import {observer} from 'mobx-react-lite' 3 - import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' 3 + import {StyleSheet, TouchableOpacity, View} from 'react-native' 4 4 import LinearGradient from 'react-native-linear-gradient' 5 5 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 6 6 import {AtUri} from '../../../third-party/uri' ··· 19 19 import {DropdownBtn, DropdownItem} from '../util/DropdownBtn' 20 20 import * as Toast from '../util/Toast' 21 21 import {LoadingPlaceholder} from '../util/LoadingPlaceholder' 22 + import {Text} from '../util/Text' 22 23 import {RichText} from '../util/RichText' 23 24 import {UserAvatar} from '../util/UserAvatar' 24 25 import {UserBanner} from '../util/UserBanner' ··· 408 409 marginBottom: 8, 409 410 fontSize: 16, 410 411 lineHeight: 20.8, // 1.3 of 16px 412 + color: colors.black, 411 413 }, 412 414 413 415 relationshipsLine: {
+1 -1
src/view/com/util/DropdownBtn.tsx
··· 3 3 Share, 4 4 StyleProp, 5 5 StyleSheet, 6 - Text, 7 6 TouchableOpacity, 8 7 TouchableWithoutFeedback, 9 8 View, ··· 12 11 import {IconProp} from '@fortawesome/fontawesome-svg-core' 13 12 import RootSiblings from 'react-native-root-siblings' 14 13 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 14 + import {Text} from './Text' 15 15 import {colors} from '../../lib/styles' 16 16 import {toShareUrl} from '../../../lib/strings' 17 17 import {useStores} from '../../../state'
+2 -1
src/view/com/util/EmptyState.tsx
··· 1 1 import React from 'react' 2 - import {StyleProp, StyleSheet, Text, View, ViewStyle} from 'react-native' 2 + import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native' 3 3 import {IconProp} from '@fortawesome/fontawesome-svg-core' 4 4 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 5 + import {Text} from './Text' 5 6 import {UserGroupIcon} from '../../lib/icons' 6 7 import {colors} from '../../lib/styles' 7 8
+1 -1
src/view/com/util/ErrorMessage.tsx
··· 1 1 import React from 'react' 2 2 import { 3 3 StyleSheet, 4 - Text, 5 4 TouchableOpacity, 6 5 StyleProp, 7 6 View, ··· 9 8 } from 'react-native' 10 9 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 11 10 import LinearGradient from 'react-native-linear-gradient' 11 + import {Text} from './Text' 12 12 import {colors, gradients} from '../../lib/styles' 13 13 14 14 export function ErrorMessage({
+2 -1
src/view/com/util/ErrorScreen.tsx
··· 1 1 import React from 'react' 2 - import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' 2 + import {StyleSheet, TouchableOpacity, View} from 'react-native' 3 3 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 4 + import {Text} from './Text' 4 5 import {colors} from '../../lib/styles' 5 6 6 7 export function ErrorScreen({
+1 -1
src/view/com/util/Link.tsx
··· 3 3 import { 4 4 Linking, 5 5 StyleProp, 6 - Text, 7 6 TouchableWithoutFeedback, 8 7 TouchableOpacity, 9 8 TextStyle, 10 9 View, 11 10 ViewStyle, 12 11 } from 'react-native' 12 + import {Text} from './Text' 13 13 import {useStores, RootStoreModel} from '../../../state' 14 14 import {convertBskyAppUrlIfNeeded} from '../../../lib/strings' 15 15
+1 -1
src/view/com/util/Picker.tsx
··· 2 2 import { 3 3 StyleProp, 4 4 StyleSheet, 5 - Text, 6 5 TextStyle, 7 6 TouchableOpacity, 8 7 TouchableWithoutFeedback, ··· 14 13 FontAwesomeIconStyle, 15 14 } from '@fortawesome/react-native-fontawesome' 16 15 import RootSiblings from 'react-native-root-siblings' 16 + import {Text} from './Text' 17 17 import {colors} from '../../lib/styles' 18 18 19 19 interface PickerItem {
+2 -8
src/view/com/util/PostCtrls.tsx
··· 1 1 import React from 'react' 2 - import { 3 - Animated, 4 - StyleSheet, 5 - Text, 6 - TouchableOpacity, 7 - View, 8 - Vibration, 9 - } from 'react-native' 2 + import {Animated, StyleSheet, TouchableOpacity, View} from 'react-native' 10 3 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 11 4 import ReactNativeHapticFeedback from 'react-native-haptic-feedback' 5 + import {Text} from './Text' 12 6 import {UpIcon, UpIconSolid} from '../../lib/icons' 13 7 import {s, colors} from '../../lib/styles' 14 8 import {useAnimatedValue} from '../../lib/useAnimatedValue'
+5 -11
src/view/com/util/PostEmbeds.tsx
··· 1 1 import React from 'react' 2 - import { 3 - ImageStyle, 4 - StyleSheet, 5 - StyleProp, 6 - Text, 7 - View, 8 - ViewStyle, 9 - } from 'react-native' 2 + import {ImageStyle, StyleSheet, StyleProp, View, ViewStyle} from 'react-native' 10 3 import * as AppBskyEmbedImages from '../../../third-party/api/src/client/types/app/bsky/embed/images' 11 4 import * as AppBskyEmbedExternal from '../../../third-party/api/src/client/types/app/bsky/embed/external' 12 5 import {Link} from '../util/Link' 6 + import {Text} from '../util/Text' 13 7 import {colors} from '../../lib/styles' 14 8 import {AutoSizedImage} from './images/AutoSizedImage' 15 9 import {ImagesLightbox} from '../../../state/models/shell-ui' ··· 152 146 borderRadius: 8, 153 147 padding: 10, 154 148 }, 155 - extImage: { 156 - // TODO 157 - }, 149 + extImage: {}, 158 150 extTitle: { 159 151 fontSize: 16, 160 152 fontWeight: 'bold', 153 + color: colors.black, 161 154 }, 162 155 extDescription: { 163 156 marginTop: 4, 164 157 fontSize: 15, 158 + color: colors.black, 165 159 }, 166 160 extUrl: { 167 161 color: colors.gray4,
+2 -1
src/view/com/util/PostMeta.tsx
··· 1 1 import React from 'react' 2 - import {StyleSheet, Text, View} from 'react-native' 2 + import {StyleSheet, View} from 'react-native' 3 3 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 4 4 import {Link} from '../util/Link' 5 + import {Text} from '../util/Text' 5 6 import {PostDropdownBtn} from '../util/DropdownBtn' 6 7 import {s} from '../../lib/styles' 7 8 import {ago} from '../../../lib/strings'
+2 -1
src/view/com/util/RichText.tsx
··· 1 1 import React from 'react' 2 - import {Text, TextStyle, StyleProp} from 'react-native' 2 + import {TextStyle, StyleProp} from 'react-native' 3 3 import {TextLink} from './Link' 4 + import {Text} from './Text' 4 5 import {s} from '../../lib/styles' 5 6 import {toShortUrl} from '../../../lib/strings' 6 7
+2 -1
src/view/com/util/Selector.tsx
··· 2 2 import { 3 3 Animated, 4 4 StyleSheet, 5 - Text, 6 5 TouchableWithoutFeedback, 7 6 View, 8 7 } from 'react-native' 8 + import {Text} from './Text' 9 9 import {colors} from '../../lib/styles' 10 10 11 11 interface Layout { ··· 122 122 labelSelected: { 123 123 fontWeight: '600', 124 124 fontSize: 16, 125 + color: colors.black, 125 126 }, 126 127 underline: { 127 128 position: 'absolute',
+15
src/view/com/util/Text.tsx
··· 1 + import React from 'react' 2 + import {Text as RNText, TextProps} from 'react-native' 3 + import {s} from '../../lib/styles' 4 + 5 + export function Text({ 6 + children, 7 + style, 8 + ...props 9 + }: React.PropsWithChildren<TextProps>) { 10 + return ( 11 + <RNText style={[s.black, style]} {...props}> 12 + {children} 13 + </RNText> 14 + ) 15 + }
+1 -1
src/view/com/util/UserAvatar.tsx
··· 1 1 import React, {useCallback} from 'react' 2 - import {StyleSheet, View, TouchableOpacity, Alert, Image} from 'react-native' 2 + import {Alert, Image, StyleSheet, TouchableOpacity, View} from 'react-native' 3 3 import Svg, {Circle, Text, Defs, LinearGradient, Stop} from 'react-native-svg' 4 4 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 5 5 import {
+2 -1
src/view/com/util/UserInfoText.tsx
··· 1 1 import React, {useState, useEffect} from 'react' 2 2 import * as GetProfile from '../../../third-party/api/src/client/types/app/bsky/actor/getProfile' 3 - import {StyleProp, Text, TextStyle} from 'react-native' 3 + import {StyleProp, TextStyle} from 'react-native' 4 4 import {Link} from './Link' 5 + import {Text} from './Text' 5 6 import {LoadingPlaceholder} from './LoadingPlaceholder' 6 7 import {useStores} from '../../../state' 7 8
+1 -1
src/view/com/util/ViewHeader.tsx
··· 3 3 import { 4 4 ActivityIndicator, 5 5 StyleSheet, 6 - Text, 7 6 TouchableOpacity, 8 7 View, 9 8 } from 'react-native' 10 9 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 11 10 import {UserAvatar} from './UserAvatar' 11 + import {Text} from './Text' 12 12 import {s, colors} from '../../lib/styles' 13 13 import {MagnifyingGlassIcon} from '../../lib/icons' 14 14 import {useStores} from '../../../state'
+2 -1
src/view/com/util/forms/RadioButton.tsx
··· 1 1 import React from 'react' 2 - import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' 2 + import {StyleSheet, TouchableOpacity, View} from 'react-native' 3 + import {Text} from '../Text' 3 4 import {colors} from '../../../lib/styles' 4 5 5 6 export function RadioButton({
+1 -1
src/view/com/util/images/AutoSizedImage.tsx
··· 5 5 LayoutChangeEvent, 6 6 StyleProp, 7 7 StyleSheet, 8 - Text, 9 8 TouchableWithoutFeedback, 10 9 View, 11 10 ViewStyle, 12 11 } from 'react-native' 12 + import {Text} from '../Text' 13 13 import {colors} from '../../../lib/styles' 14 14 15 15 const MAX_HEIGHT = 300
+2 -1
src/view/screens/Contacts.tsx
··· 1 1 import React, {useEffect, useState, useRef} from 'react' 2 - import {StyleSheet, Text, TextInput, View} from 'react-native' 2 + import {StyleSheet, TextInput, View} from 'react-native' 3 3 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 4 4 import {ProfileFollows as ProfileFollowsComponent} from '../com/profile/ProfileFollows' 5 5 import {Selector} from '../com/util/Selector' 6 + import {Text} from '../com/util/Text' 6 7 import {colors} from '../lib/styles' 7 8 import {ScreenParams} from '../routes' 8 9 import {useStores} from '../../state'
+3 -3
src/view/screens/Home.tsx
··· 1 - import React, {useState, useEffect, useMemo} from 'react' 2 - import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' 1 + import React, {useState, useEffect} from 'react' 2 + import {StyleSheet, TouchableOpacity, View} from 'react-native' 3 3 import {observer} from 'mobx-react-lite' 4 4 import useAppState from 'react-native-appstate-hook' 5 5 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 6 6 import {useSafeAreaInsets} from 'react-native-safe-area-context' 7 7 import {ViewHeader} from '../com/util/ViewHeader' 8 8 import {Feed} from '../com/posts/Feed' 9 + import {Text} from '../com/util/Text' 9 10 import {useStores} from '../../state' 10 - import {FeedModel} from '../../state/models/feed-view' 11 11 import {ScreenParams} from '../routes' 12 12 import {s, colors} from '../lib/styles' 13 13 import {useOnMainScroll} from '../lib/useOnMainScroll'
+1 -1
src/view/screens/Login.tsx
··· 1 1 import React, {useState} from 'react' 2 2 import { 3 3 StyleSheet, 4 - Text, 5 4 TouchableOpacity, 6 5 View, 7 6 useWindowDimensions, ··· 11 10 import {Signin} from '../com/login/Signin' 12 11 import {Logo} from '../com/login/Logo' 13 12 import {CreateAccount} from '../com/login/CreateAccount' 13 + import {Text} from '../com/util/Text' 14 14 import {s, colors} from '../lib/styles' 15 15 16 16 enum ScreenState {
+2 -1
src/view/screens/NotFound.tsx
··· 1 1 import React from 'react' 2 - import {Text, Button, View} from 'react-native' 2 + import {Button, View} from 'react-native' 3 3 import {ViewHeader} from '../com/util/ViewHeader' 4 + import {Text} from '../com/util/Text' 4 5 import {useStores} from '../../state' 5 6 6 7 export const NotFound = () => {
+2 -1
src/view/screens/Profile.tsx
··· 1 1 import React, {useEffect, useState, useMemo} from 'react' 2 - import {ActivityIndicator, StyleSheet, Text, View} from 'react-native' 2 + import {ActivityIndicator, StyleSheet, View} from 'react-native' 3 3 import {observer} from 'mobx-react-lite' 4 4 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 5 5 import {ViewSelector} from '../com/util/ViewSelector' ··· 15 15 import {ErrorScreen} from '../com/util/ErrorScreen' 16 16 import {ErrorMessage} from '../com/util/ErrorMessage' 17 17 import {EmptyState} from '../com/util/EmptyState' 18 + import {Text} from '../com/util/Text' 18 19 import {ViewHeader} from '../com/util/ViewHeader' 19 20 import * as Toast from '../com/util/Toast' 20 21 import {s, colors} from '../lib/styles'
+1 -1
src/view/screens/Search.tsx
··· 3 3 Keyboard, 4 4 ScrollView, 5 5 StyleSheet, 6 - Text, 7 6 TextInput, 8 7 TouchableOpacity, 9 8 View, ··· 11 10 import {ViewHeader} from '../com/util/ViewHeader' 12 11 import {SuggestedFollows} from '../com/discover/SuggestedFollows' 13 12 import {UserAvatar} from '../com/util/UserAvatar' 13 + import {Text} from '../com/util/Text' 14 14 import {ScreenParams} from '../routes' 15 15 import {useStores} from '../../state' 16 16 import {UserAutocompleteViewModel} from '../../state/models/user-autocomplete-view'
+2 -1
src/view/screens/Settings.tsx
··· 1 1 import React, {useEffect} from 'react' 2 - import {StyleSheet, Text, TouchableOpacity, View} from 'react-native' 2 + import {StyleSheet, TouchableOpacity, View} from 'react-native' 3 3 import {observer} from 'mobx-react-lite' 4 4 import {useStores} from '../../state' 5 5 import {ScreenParams} from '../routes' 6 6 import {s, colors} from '../lib/styles' 7 7 import {ViewHeader} from '../com/util/ViewHeader' 8 8 import {Link} from '../com/util/Link' 9 + import {Text} from '../com/util/Text' 9 10 import {UserAvatar} from '../com/util/UserAvatar' 10 11 11 12 export const Settings = observer(function Settings({
+1 -1
src/view/shell/mobile/Menu.tsx
··· 2 2 import { 3 3 StyleProp, 4 4 StyleSheet, 5 - Text, 6 5 TouchableOpacity, 7 6 View, 8 7 ViewStyle, ··· 18 17 MagnifyingGlassIcon, 19 18 } from '../../lib/icons' 20 19 import {UserAvatar} from '../../com/util/UserAvatar' 20 + import {Text} from '../../com/util/Text' 21 21 import {CreateSceneModal} from '../../../state/models/shell-ui' 22 22 23 23 export const Menu = ({
+1 -1
src/view/shell/mobile/TabsSelector.tsx
··· 5 5 ScrollView, 6 6 Share, 7 7 StyleSheet, 8 - Text, 9 8 TouchableWithoutFeedback, 10 9 View, 11 10 } from 'react-native' 12 11 import {useSafeAreaInsets} from 'react-native-safe-area-context' 13 12 import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' 13 + import {Text} from '../../com/util/Text' 14 14 import Swipeable from 'react-native-gesture-handler/Swipeable' 15 15 import {useStores} from '../../../state' 16 16 import {s, colors} from '../../lib/styles'
+1 -1
src/view/shell/mobile/index.tsx
··· 7 7 GestureResponderEvent, 8 8 SafeAreaView, 9 9 StyleSheet, 10 - Text, 11 10 TouchableOpacity, 12 11 TouchableWithoutFeedback, 13 12 useColorScheme, ··· 30 29 import {HorzSwipe} from '../../com/util/gestures/HorzSwipe' 31 30 import {Modal} from '../../com/modals/Modal' 32 31 import {Lightbox} from '../../com/lightbox/Lightbox' 32 + import {Text} from '../../com/util/Text' 33 33 import {TabsSelector} from './TabsSelector' 34 34 import {Composer} from './Composer' 35 35 import {s, colors} from '../../lib/styles'