diff --git a/apps/mobile/app/components/list/index.js b/apps/mobile/app/components/list/index.js index f0d754673..699a1e5e4 100644 --- a/apps/mobile/app/components/list/index.js +++ b/apps/mobile/app/components/list/index.js @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -import React, { useRef } from "react"; +import React, { useEffect, useRef } from "react"; import { RefreshControl, View } from "react-native"; import { FlashList } from "@shopify/flash-list"; import Animated, { FadeInDown } from "react-native-reanimated"; @@ -154,6 +154,14 @@ const List = ({ [screen] ); + useEffect(() => { + eSendEvent(eScrollEvent, { + y: 0, + screen + }); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + let styles = { width: "100%", minHeight: 1, diff --git a/apps/mobile/app/components/sheets/topic-sheet/index.tsx b/apps/mobile/app/components/sheets/topic-sheet/index.tsx index e872cfcf5..46749a1e2 100644 --- a/apps/mobile/app/components/sheets/topic-sheet/index.tsx +++ b/apps/mobile/app/components/sheets/topic-sheet/index.tsx @@ -25,13 +25,7 @@ import React, { useRef, useState } from "react"; -import { - Animated, - Dimensions, - View, - RefreshControl, - Platform -} from "react-native"; +import { Animated, Platform, RefreshControl, View } from "react-native"; import ActionSheet, { ActionSheetRef, FlatList @@ -59,16 +53,16 @@ import { import { normalize, SIZE } from "../../../utils/size"; import { GroupHeader, NotebookType, TopicType } from "../../../utils/types"; +import { groupArray } from "@notesnook/core/utils/grouping"; +import Config from "react-native-config"; import Icon from "react-native-vector-icons/MaterialCommunityIcons"; +import { notesnook } from "../../../../e2e/test.ids"; import { openEditor } from "../../../screens/notes/common"; import { getTotalNotes, history } from "../../../utils"; -import { Properties } from "../../properties"; import { deleteItems } from "../../../utils/functions"; import { presentDialog } from "../../dialog/functions"; -import Config from "react-native-config"; -import { notesnook } from "../../../../e2e/test.ids"; +import { Properties } from "../../properties"; import Sort from "../sort"; -import { groupArray } from "@notesnook/core/utils/grouping"; export const TopicsSheet = () => { const currentScreen = useNavigationStore((state) => state.currentScreen); @@ -94,8 +88,8 @@ export const TopicsSheet = () => { ); const [animations] = useState({ translate: new Animated.Value(0), - display: new Animated.Value(-5000), - opacity: new Animated.Value(0) + display: new Animated.Value(0), + opacity: new Animated.Value(1) }); const [groupOptions, setGroupOptions] = useState( db.settings?.getGroupOptions("topics") @@ -187,16 +181,14 @@ export const TopicsSheet = () => { if (canShow) { const isTopic = currentScreen.name === "TopicNotes"; const id = isTopic ? currentScreen?.notebookId : currentScreen?.id; - if (!ref.current?.isOpen()) { - animations.display.setValue(5000); - animations.opacity.setValue(0); - } if (id) { onRequestUpdate({ item: db.notebooks?.notebook(id)?.data } as any); } - ref.current?.show(); + setTimeout(() => { + ref.current?.show(); + }, 1); } else { ref.current?.hide(); } @@ -215,7 +207,7 @@ export const TopicsSheet = () => { ref={ref} isModal={false} containerStyle={{ - maxHeight: 400, + maxHeight: 300, borderTopRightRadius: 15, borderTopLeftRadius: 15, backgroundColor: colors.bg, @@ -235,21 +227,11 @@ export const TopicsSheet = () => { ? [100] : [Platform.OS === "ios" ? 25 : 20, 100] } - initialSnapIndex={0} + initialSnapIndex={Config.isTesting === "true" ? 0 : 1} backgroundInteractionEnabled - onChange={(position, height) => { + onChange={(position) => { + if (position === 0) return; animations.translate.setValue(position - 60); - const h = Dimensions.get("window").height; - const minPos = h - height; - if (position - 100 < minPos || !canShow) { - animations.display.setValue(5000); - animations.opacity.setValue(0); - } else { - animations.display.setValue(0); - setTimeout(() => { - animations.opacity.setValue(1); - }, 300); - } }} gestureEnabled ExtraOverlayComponent={ @@ -258,7 +240,6 @@ export const TopicsSheet = () => { top: animations.translate, position: "absolute", right: 12, - opacity: animations.opacity, transform: [ { translateY: animations.display @@ -292,8 +273,8 @@ export const TopicsSheet = () => { > diff --git a/apps/mobile/app/screens/notes/index.tsx b/apps/mobile/app/screens/notes/index.tsx index fd85f15ba..fb1eac904 100644 --- a/apps/mobile/app/screens/notes/index.tsx +++ b/apps/mobile/app/screens/notes/index.tsx @@ -280,7 +280,8 @@ const NotesPage = ({ placeholderData={placeholderData} /> - {notes?.length > 0 || (isFocused && !isMonograph) ? ( + {notes?.length > 0 || + (isFocused && !isMonograph && route.name !== "TopicNotes") ? ( ) : null}