From c9d821c5725f491f5ff4ac240b50e4dd325c9f49 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Tue, 12 Mar 2024 13:50:53 -0500 Subject: [PATCH] Combine actions, convert to new menu (#3174) * Combine actions, convert to new menu * remove about tab and move content to header * Tweak alignment * fix missing rkey * hog the like button * Add a little more whitespace * Improve a11y * Yeah toast * Update usage * Pin to Home --------- Co-authored-by: Samuel Newman --- ...d1x3Horizontal_stroke2_corner2_rounded.svg | 1 + src/components/Link.tsx | 4 +- src/components/icons/DotGrid.tsx | 5 + src/components/icons/Heart2.tsx | 9 + src/view/screens/ProfileFeed.tsx | 365 ++++++++---------- 5 files changed, 182 insertions(+), 202 deletions(-) create mode 100644 assets/icons/dotGrid1x3Horizontal_stroke2_corner2_rounded.svg create mode 100644 src/components/icons/DotGrid.tsx create mode 100644 src/components/icons/Heart2.tsx diff --git a/assets/icons/dotGrid1x3Horizontal_stroke2_corner2_rounded.svg b/assets/icons/dotGrid1x3Horizontal_stroke2_corner2_rounded.svg new file mode 100644 index 0000000000..c3b456b100 --- /dev/null +++ b/assets/icons/dotGrid1x3Horizontal_stroke2_corner2_rounded.svg @@ -0,0 +1 @@ + diff --git a/src/components/Link.tsx b/src/components/Link.tsx index ff72a08cec..00e6a56f42 100644 --- a/src/components/Link.tsx +++ b/src/components/Link.tsx @@ -228,6 +228,7 @@ export function InlineLink({ onPress: outerOnPress, download, selectable, + label, ...rest }: InlineLinkProps) { const t = useTheme() @@ -255,7 +256,8 @@ export function InlineLink({ return ( void @@ -148,7 +153,7 @@ export function ProfileFeedScreenInner({ feedInfo: FeedSourceFeedInfo }) { const {_} = useLingui() - const pal = usePalette('default') + const t = useTheme() const {hasSession, currentAccount} = useSession() const {openModal} = useModalControls() const {openComposer} = useComposerControls() @@ -200,9 +205,11 @@ export function ProfileFeedScreenInner({ if (isSaved) { await removeFeed({uri: feedInfo.uri}) resetRemoveFeed() + Toast.show(_(msg`Removed from your feeds`)) } else { await saveFeed({uri: feedInfo.uri}) resetSaveFeed() + Toast.show(_(msg`Saved to your feeds`)) } } catch (err) { Toast.show( @@ -263,130 +270,132 @@ export function ProfileFeedScreenInner({ [feedSectionRef], ) - // render - // = - - const dropdownItems: DropdownItem[] = React.useMemo(() => { - return [ - hasSession && { - testID: 'feedHeaderDropdownToggleSavedBtn', - label: isSaved ? _(msg`Remove from my feeds`) : _(msg`Add to my feeds`), - onPress: isSavePending || isRemovePending ? undefined : onToggleSaved, - icon: isSaved - ? { - ios: { - name: 'trash', - }, - android: 'ic_delete', - web: ['far', 'trash-can'], - } - : { - ios: { - name: 'plus', - }, - android: '', - web: 'plus', - }, - }, - hasSession && { - testID: 'feedHeaderDropdownReportBtn', - label: _(msg`Report feed`), - onPress: onPressReport, - icon: { - ios: { - name: 'exclamationmark.triangle', - }, - android: 'ic_menu_report_image', - web: 'circle-exclamation', - }, - }, - { - testID: 'feedHeaderDropdownShareBtn', - label: _(msg`Share feed`), - onPress: onPressShare, - icon: { - ios: { - name: 'square.and.arrow.up', - }, - android: 'ic_menu_share', - web: 'share', - }, - }, - ].filter(Boolean) as DropdownItem[] - }, [ - hasSession, - onToggleSaved, - onPressReport, - onPressShare, - isSaved, - isSavePending, - isRemovePending, - _, - ]) - const renderHeader = useCallback(() => { return ( - - {feedInfo && hasSession && ( - <> - - {typeof likeCount === 'number' && ( - - )} - - - {isOwner ? ( - Created by you - ) : ( - - Created by{' '} - - - )} - - + + + + {isLiked ? ( + + ) : ( + + )} + + {typeof likeCount === 'number' && ( + + {_(msg`Liked by ${likeCount} ${pluralize(likeCount, 'user')}`)} + + )} + + ) } @@ -647,4 +605,9 @@ const styles = StyleSheet.create({ paddingVertical: 14, borderRadius: 6, }, + aboutSectionContainer: { + paddingVertical: 4, + paddingHorizontal: 16, + gap: 12, + }, })