From 0776cd99e55e6b47274e52e36dfe58bb82ebec91 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Mon, 13 May 2024 15:56:48 -0700 Subject: Make feeds easier to reorder (#3998) * Make feeds easier to reorder * Add reorder e2e test * Tweak feed card to only allow one line (#4002) --------- Co-authored-by: Eric Bailey --- __e2e__/flows/feed-reorder.yml | 82 +++++++++++++++++++++++++++++++++++ src/view/com/feeds/FeedSourceCard.tsx | 4 +- src/view/screens/SavedFeeds.tsx | 64 +++++++++++++++------------ 3 files changed, 121 insertions(+), 29 deletions(-) create mode 100644 __e2e__/flows/feed-reorder.yml diff --git a/__e2e__/flows/feed-reorder.yml b/__e2e__/flows/feed-reorder.yml new file mode 100644 index 000000000..4b96a201c --- /dev/null +++ b/__e2e__/flows/feed-reorder.yml @@ -0,0 +1,82 @@ +appId: xyz.blueskyweb.app +--- +- runScript: + file: ../setupServer.js + env: + SERVER_PATH: ?users&follows&posts&feeds +- runFlow: + file: ../setupApp.yml +- tapOn: + id: "e2eSignInAlice" + +# Pin alice's feed +- tapOn: + id: "bottomBarProfileBtn" +- swipe: + from: + id: "profilePager-selector" + direction: LEFT +- tapOn: + id: "profilePager-selector-4" +- tapOn: + id: "feed-alice-favs" +- tapOn: "Pin to Home" +- tapOn: + id: "bottomBarHomeBtn" +- assertNotVisible: "Feeds ✨" +- assertVisible: + id: "homeScreenFeedTabs-selector-0" + text: "Following" +- assertVisible: + id: "homeScreenFeedTabs-selector-1" + text: "alice-favs" + +# Set alice-favs first +- tapOn: + id: "viewHeaderDrawerBtn" +- tapOn: + id: "menuItemButton-Feeds" +- tapOn: "Edit Saved Feeds" +- tapOn: + label: "Tap on down arrow" + point: "79%,23%" +- tapOn: + id: "bottomBarHomeBtn" +- assertVisible: + id: "homeScreenFeedTabs-selector-0" + text: "alice-favs" +- assertVisible: + id: "homeScreenFeedTabs-selector-1" + text: "Following" + +# Set following first +- tapOn: + id: "viewHeaderDrawerBtn" +- tapOn: + id: "menuItemButton-Feeds" +- tapOn: + label: "Tap on down arrow" + point: "79%,23%" +- tapOn: + id: "bottomBarHomeBtn" +- assertVisible: + id: "homeScreenFeedTabs-selector-0" + text: "Following" +- assertVisible: + id: "homeScreenFeedTabs-selector-1" + text: "alice-favs" + +# Remove following +- tapOn: + id: "viewHeaderDrawerBtn" +- tapOn: + id: "menuItemButton-Feeds" +- tapOn: + label: "Tap on unpin" + point: "91%,23%" +- tapOn: + id: "bottomBarHomeBtn" +- assertVisible: + id: "homeScreenFeedTabs-selector-0" + text: "alice-favs" +- assertNotVisible: "Following" diff --git a/src/view/com/feeds/FeedSourceCard.tsx b/src/view/com/feeds/FeedSourceCard.tsx index bb536bccd..9bf6ba6b6 100644 --- a/src/view/com/feeds/FeedSourceCard.tsx +++ b/src/view/com/feeds/FeedSourceCard.tsx @@ -211,10 +211,10 @@ export function FeedSourceCardLoaded({ - + {feed.displayName} - + {feed.type === 'feed' ? ( Feed by {sanitizeHandle(feed.creatorHandle, '@')} ) : ( diff --git a/src/view/screens/SavedFeeds.tsx b/src/view/screens/SavedFeeds.tsx index d50f9f74d..a3aee19dc 100644 --- a/src/view/screens/SavedFeeds.tsx +++ b/src/view/screens/SavedFeeds.tsx @@ -292,21 +292,37 @@ function ListItem({ return ( + {feed.type === 'timeline' ? ( + + ) : ( + + )} {isPinned ? ( - + <> ({ + backgroundColor: pal.viewLight.backgroundColor, + paddingHorizontal: 12, + paddingVertical: 10, + borderRadius: 4, + marginRight: 8, opacity: - state.hovered || state.focused || isUpdatePending ? 0.5 : 1, + state.hovered || state.pressed || isUpdatePending ? 0.5 : 1, })}> ({ + backgroundColor: pal.viewLight.backgroundColor, + paddingHorizontal: 12, + paddingVertical: 10, + borderRadius: 4, + marginRight: 8, opacity: - state.hovered || state.focused || isUpdatePending ? 0.5 : 1, + state.hovered || state.pressed || isUpdatePending ? 0.5 : 1, })}> - + - + ) : null} - {feed.type === 'timeline' ? ( - - ) : ( - - )} ({ + backgroundColor: pal.viewLight.backgroundColor, + paddingHorizontal: 12, + paddingVertical: 10, + borderRadius: 4, opacity: state.hovered || state.focused || isUpdatePending ? 0.5 : 1, })}> @@ -424,14 +442,6 @@ const styles = StyleSheet.create({ alignItems: 'center', borderBottomWidth: 1, }, - webArrowButtonsContainer: { - paddingLeft: 16, - flexDirection: 'column', - justifyContent: 'space-around', - }, - webArrowUpButton: { - marginBottom: 10, - }, noTopBorder: { borderTopWidth: 0, }, -- cgit 1.4.1