From c4d7223115865474f09661cdbfee60a559f4b2c2 Mon Sep 17 00:00:00 2001 From: MohamedBassem Date: Fri, 15 Mar 2024 18:19:09 +0000 Subject: [PATCH] fix(mobile): Scroll to the top when the main tab is clicked --- apps/mobile/app.json | 2 +- apps/mobile/app/dashboard/(tabs)/lists.tsx | 16 +++++++++------- .../mobile/components/bookmarks/BookmarkList.tsx | 6 +++++- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/apps/mobile/app.json b/apps/mobile/app.json index f2a34cd0..927a94e1 100644 --- a/apps/mobile/app.json +++ b/apps/mobile/app.json @@ -3,7 +3,7 @@ "name": "Hoarder App", "slug": "hoarder", "scheme": "hoarder", - "version": "1.2.2", + "version": "1.2.3", "orientation": "portrait", "icon": "./assets/icon.png", "userInterfaceStyle": "light", diff --git a/apps/mobile/app/dashboard/(tabs)/lists.tsx b/apps/mobile/app/dashboard/(tabs)/lists.tsx index 92ae1c93..2aece541 100644 --- a/apps/mobile/app/dashboard/(tabs)/lists.tsx +++ b/apps/mobile/app/dashboard/(tabs)/lists.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { FlatList, View } from "react-native"; +import { FlatList, View, Text, Pressable } from "react-native"; import { Link } from "expo-router"; import { api } from "@/lib/trpc"; import { ChevronRight } from "lucide-react-native"; @@ -53,12 +53,14 @@ export default function Lists() { marginTop: 5, }} renderItem={(l) => ( - - - {l.item.logo} {l.item.name} - - - + + + + {l.item.logo} {l.item.name} + + + + )} data={links} refreshing={refreshing} diff --git a/apps/mobile/components/bookmarks/BookmarkList.tsx b/apps/mobile/components/bookmarks/BookmarkList.tsx index e3c2bdb1..48272fb3 100644 --- a/apps/mobile/components/bookmarks/BookmarkList.tsx +++ b/apps/mobile/components/bookmarks/BookmarkList.tsx @@ -1,10 +1,11 @@ -import { useEffect, useState } from "react"; +import { useEffect, useRef, useState } from "react"; import { Text, View, Keyboard } from "react-native"; import Animated, { LinearTransition } from "react-native-reanimated"; import { api } from "@/lib/trpc"; import FullPageSpinner from "../ui/FullPageSpinner"; import BookmarkCard from "./BookmarkCard"; +import { useScrollToTop } from '@react-navigation/native'; export default function BookmarkList({ favourited, @@ -17,6 +18,8 @@ export default function BookmarkList({ }) { const apiUtils = api.useUtils(); const [refreshing, setRefreshing] = useState(false); + const flatListRef = useRef(null); + useScrollToTop(flatListRef); const { data, isPending, isPlaceholderData } = api.bookmarks.getBookmarks.useQuery({ favourited, @@ -39,6 +42,7 @@ export default function BookmarkList({ return (