Bluesky app fork with some witchin' additions 💫
0
fork

Configure Feed

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

Fix a few border nits (#4349)

* replace w/ hairline width

* no border for placeholder

* few notifications screen fixes tablet

* still show the border on desktop

* Simp

---------

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>

authored by

Hailey
Dan Abramov
and committed by
GitHub
9f001526 d6b83139

+19 -11
+6 -1
src/view/com/notifications/Feed.tsx
··· 129 129 ) 130 130 } else if (item === LOADING_ITEM) { 131 131 return ( 132 - <View style={[pal.border, {borderTopWidth: hairlineWidth}]}> 132 + <View 133 + style={[ 134 + pal.border, 135 + !isTabletOrMobile && {borderTopWidth: hairlineWidth}, 136 + ]}> 133 137 <NotificationFeedLoadingPlaceholder /> 134 138 </View> 135 139 ) ··· 185 189 desktopFixedHeight 186 190 initialNumToRender={initialNumToRender} 187 191 windowSize={11} 192 + sideBorders={false} 188 193 /> 189 194 </View> 190 195 )
+6 -2
src/view/screens/Notifications.tsx
··· 29 29 import {TextLink} from 'view/com/util/Link' 30 30 import {ListMethods} from 'view/com/util/List' 31 31 import {LoadLatestBtn} from 'view/com/util/load-latest/LoadLatestBtn' 32 + import {CenteredView} from 'view/com/util/Views' 32 33 import {Feed} from '../com/notifications/Feed' 33 34 import {FAB} from '../com/util/fab/FAB' 34 35 import {MainScrollProvider} from '../com/util/MainScrollProvider' ··· 145 146 }, [isDesktop, pal, hasNew]) 146 147 147 148 return ( 148 - <View testID="notificationsScreen" style={s.hContentRegion}> 149 + <CenteredView 150 + testID="notificationsScreen" 151 + style={s.hContentRegion} 152 + sideBorders={true}> 149 153 <ViewHeader 150 154 title={_(msg`Notifications`)} 151 155 canGoBack={false} ··· 173 177 accessibilityLabel={_(msg`New post`)} 174 178 accessibilityHint="" 175 179 /> 176 - </View> 180 + </CenteredView> 177 181 ) 178 182 }
+7 -8
src/view/screens/SavedFeeds.tsx
··· 32 32 import {NoSavedFeedsOfAnyType} from '#/screens/Feeds/NoSavedFeedsOfAnyType' 33 33 import {atoms as a, useTheme} from '#/alf' 34 34 import {FilterTimeline_Stroke2_Corner0_Rounded as FilterTimeline} from '#/components/icons/FilterTimeline' 35 + import hairlineWidth = StyleSheet.hairlineWidth 35 36 36 37 const HITSLOP_TOP = { 37 38 top: 20, ··· 92 93 <ViewHeader title={_(msg`Edit My Feeds`)} showOnDesktop showBorder /> 93 94 <ScrollView style={s.flex1} contentContainerStyle={[styles.noBorder]}> 94 95 {noSavedFeedsOfAnyType && ( 95 - <View style={[pal.border, {borderBottomWidth: 1}]}> 96 + <View style={[pal.border, {borderBottomWidth: hairlineWidth}]}> 96 97 <NoSavedFeedsOfAnyType /> 97 98 </View> 98 99 )} ··· 134 135 )} 135 136 136 137 {noFollowingFeed && ( 137 - <View style={[pal.border, {borderBottomWidth: 1}]}> 138 + <View style={[pal.border, {borderBottomWidth: hairlineWidth}]}> 138 139 <NoFollowingFeed /> 139 140 </View> 140 141 )} ··· 298 299 <FeedSourceCard 299 300 key={feedUri} 300 301 feedUri={feedUri} 301 - style={[styles.noTopBorder, isPinned && {paddingRight: 8}]} 302 + style={[isPinned && {paddingRight: 8}]} 302 303 showMinimalPlaceholder 303 304 showSaveBtn={!isPinned} 305 + hideTopBorder={true} 304 306 /> 305 307 )} 306 308 {isPinned ? ( ··· 435 437 paddingHorizontal: 14, 436 438 paddingTop: 20, 437 439 paddingBottom: 10, 438 - borderBottomWidth: 1, 440 + borderBottomWidth: hairlineWidth, 439 441 }, 440 442 itemContainer: { 441 443 flexDirection: 'row', 442 444 alignItems: 'center', 443 - borderBottomWidth: 1, 444 - }, 445 - noTopBorder: { 446 - borderTopWidth: 0, 445 + borderBottomWidth: hairlineWidth, 447 446 }, 448 447 footerText: { 449 448 paddingHorizontal: 26,