diff --git a/apps/mobile/app/components/dialogs/vault/index.js b/apps/mobile/app/components/dialogs/vault/index.js index c192cc7a4..746cab70d 100644 --- a/apps/mobile/app/components/dialogs/vault/index.js +++ b/apps/mobile/app/components/dialogs/vault/index.js @@ -553,7 +553,7 @@ export class VaultDialog extends Component { item: note }); if (!DDS.isTab) { - fluidTabsRef.current?.goToPage(1); + fluidTabsRef.current?.goToPage("editor"); } }); } diff --git a/apps/mobile/app/components/fluid-panels/index.tsx b/apps/mobile/app/components/fluid-panels/index.tsx index e4c8298e1..f0b5e4e82 100644 --- a/apps/mobile/app/components/fluid-panels/index.tsx +++ b/apps/mobile/app/components/fluid-panels/index.tsx @@ -53,14 +53,16 @@ interface TabProps extends ViewProps { onDrawerStateChange: (state: boolean) => void; } +type FluidTabPage = "home" | "editor"; + export interface TabsRef { - goToPage: (page: number, animated?: boolean) => void; + goToPage: (page: FluidTabPage, animated?: boolean) => void; goToIndex: (index: number, animated?: boolean) => 0 | undefined; unlock: () => boolean; lock: () => boolean; openDrawer: (animated?: boolean) => void; closeDrawer: (animated?: boolean) => void; - page: () => number; + page: () => FluidTabPage; setScrollEnabled: () => true; isDrawerOpen: () => boolean; node: RefObject; @@ -164,19 +166,18 @@ export const FluidPanels = forwardRef(function FluidTabs( useImperativeHandle( ref, (): TabsRef => ({ - goToPage: (page: number, animated = true) => { + goToPage: (page: FluidTabPage, animated = true) => { if (deviceMode === "tablet") { translateX.value = animated ? withTiming(0) : 0; return; } - page = page + 1; - if (page === 1) { + if (page === "home") { onDrawerStateChange(false); translateX.value = !animated ? homePosition : withTiming(homePosition); currentTab.value = 1; - } else if (page === 2) { + } else if (page === "editor") { onDrawerStateChange(false); translateX.value = !animated ? editorPosition @@ -242,7 +243,7 @@ export const FluidPanels = forwardRef(function FluidTabs( onDrawerStateChange(false); isDrawerOpen.value = false; }, - page: () => currentTab.value, + page: () => (currentTab.value === 1 ? "home" : "editor"), setScrollEnabled: () => true, node: node }), diff --git a/apps/mobile/app/components/list-items/note/wrapper.tsx b/apps/mobile/app/components/list-items/note/wrapper.tsx index 153f68143..28be0a843 100644 --- a/apps/mobile/app/components/list-items/note/wrapper.tsx +++ b/apps/mobile/app/components/list-items/note/wrapper.tsx @@ -66,7 +66,7 @@ export const openNote = async ( item: note }); if (!DDS.isTab) { - fluidTabsRef.current?.goToPage(1); + fluidTabsRef.current?.goToPage("editor"); } } }; diff --git a/apps/mobile/app/components/properties/index.js b/apps/mobile/app/components/properties/index.js index 23245edad..f26e748f8 100644 --- a/apps/mobile/app/components/properties/index.js +++ b/apps/mobile/app/components/properties/index.js @@ -143,7 +143,7 @@ export const Properties = ({ close = () => {}, item, buttons = [] }) => { newTab: true }); if (!DDS.isTab) { - fluidTabsRef.current?.goToPage(1); + fluidTabsRef.current?.goToPage("editor"); } }} /> diff --git a/apps/mobile/app/components/sheets/references/index.tsx b/apps/mobile/app/components/sheets/references/index.tsx index 13f5caef9..35413fa2c 100644 --- a/apps/mobile/app/components/sheets/references/index.tsx +++ b/apps/mobile/app/components/sheets/references/index.tsx @@ -423,7 +423,7 @@ export const ReferencesList = ({ item, close }: ReferencesListProps) => { item: note, blockId: blockId }); - fluidTabsRef.current?.goToPage(1); + fluidTabsRef.current?.goToPage("editor"); close?.(); }} reference={item as Note} diff --git a/apps/mobile/app/hooks/use-app-events.tsx b/apps/mobile/app/hooks/use-app-events.tsx index 1278b24bd..64401720f 100644 --- a/apps/mobile/app/hooks/use-app-events.tsx +++ b/apps/mobile/app/hooks/use-app-events.tsx @@ -167,7 +167,7 @@ const onAppOpenedFromURL = async (event: { url: string }) => { clearAppState(); editorState().movedAway = false; eSendEvent(eOnLoadNote, { newNote: true }); - fluidTabsRef.current?.goToPage(1, false); + fluidTabsRef.current?.goToPage("editor", false); return; } else if (url.startsWith("https://notesnook.com/open_note")) { const id = new URL(url).searchParams.get("id"); @@ -177,7 +177,7 @@ const onAppOpenedFromURL = async (event: { url: string }) => { eSendEvent(eOnLoadNote, { item: note }); - fluidTabsRef.current?.goToPage(1, false); + fluidTabsRef.current?.goToPage("editor", false); } } } else if (url.startsWith("https://notesnook.com/open_reminder")) { diff --git a/apps/mobile/app/navigation/fluid-panels-view.tsx b/apps/mobile/app/navigation/fluid-panels-view.tsx index 7af907fe2..1e73f51e5 100644 --- a/apps/mobile/app/navigation/fluid-panels-view.tsx +++ b/apps/mobile/app/navigation/fluid-panels-view.tsx @@ -104,7 +104,7 @@ export const FluidPanelsView = React.memo( onShortcutPressed: async (item) => { if (!item && getAppState()) { editorState().movedAway = false; - fluidTabsRef.current?.goToPage(1, false); + fluidTabsRef.current?.goToPage("editor", false); return; } if (item?.type === "notesnook.action.newnote") { @@ -113,13 +113,13 @@ export const FluidPanelsView = React.memo( setTimeout(() => { eSendEvent(eOnLoadNote, { newNote: true }); editorState().movedAway = false; - fluidTabsRef.current?.goToPage(1, false); + fluidTabsRef.current?.goToPage("editor", false); }, 3000); return; } eSendEvent(eOnLoadNote, { newNote: true }); editorState().movedAway = false; - fluidTabsRef.current?.goToPage(1, false); + fluidTabsRef.current?.goToPage("editor", false); } } }); diff --git a/apps/mobile/app/screens/editor/tiptap/use-editor-events.tsx b/apps/mobile/app/screens/editor/tiptap/use-editor-events.tsx index ee2ee4df4..baf2f33b2 100644 --- a/apps/mobile/app/screens/editor/tiptap/use-editor-events.tsx +++ b/apps/mobile/app/screens/editor/tiptap/use-editor-events.tsx @@ -259,7 +259,7 @@ export const useEditorEvents = ( if (deviceMode === "mobile") { editorState().movedAway = true; - fluidTabsRef.current?.goToPage(0); + fluidTabsRef.current?.goToPage("home"); } setTimeout(() => { @@ -269,7 +269,7 @@ export const useEditorEvents = ( }, [editor, deviceMode, fullscreen]); const onHardwareBackPress = useCallback(() => { - if (fluidTabsRef.current?.page() === 2) { + if (fluidTabsRef.current?.page() === "editor") { onBackPress(); return true; } diff --git a/apps/mobile/app/screens/editor/tiptap/use-editor.ts b/apps/mobile/app/screens/editor/tiptap/use-editor.ts index bd329ffd1..a33263940 100644 --- a/apps/mobile/app/screens/editor/tiptap/use-editor.ts +++ b/apps/mobile/app/screens/editor/tiptap/use-editor.ts @@ -995,14 +995,14 @@ export const useEditor = ( if (!appState) return; state.current.isRestoringState = true; state.current.currentlyEditing = true; - if (fluidTabsRef.current?.page() === 2) { + if (fluidTabsRef.current?.page() === "editor") { state.current.movedAway = false; } if (!state.current.editorStateRestored) { state.current.isRestoringState = true; if (!DDS.isTab) { - fluidTabsRef.current?.goToPage(1, false); + fluidTabsRef.current?.goToPage("editor", false); } } @@ -1081,12 +1081,12 @@ export const useEditor = ( item: note }); } - fluidTabsRef.current?.goToPage(1); + fluidTabsRef.current?.goToPage("editor"); } else { noteId = useTabStore.getState().getCurrentNoteId() || null; if (!noteId) { loadNote({ newNote: true }); - if (fluidTabsRef.current?.page() === 1) { + if (fluidTabsRef.current?.page() === "editor") { state.current.currentlyEditing = false; } } else { diff --git a/apps/mobile/app/screens/notes/common.ts b/apps/mobile/app/screens/notes/common.ts index 7b0b36c25..83979f3cd 100644 --- a/apps/mobile/app/screens/notes/common.ts +++ b/apps/mobile/app/screens/notes/common.ts @@ -58,7 +58,7 @@ export function openEditor() { eSendEvent(eOnLoadNote, { newNote: true }); editorState().currentlyEditing = true; editorState().movedAway = false; - fluidTabsRef.current?.goToPage(1); + fluidTabsRef.current?.goToPage("editor"); } else { eSendEvent(eOnLoadNote, { newNote: true }); } diff --git a/apps/mobile/app/services/intent.ts b/apps/mobile/app/services/intent.ts index e36de695d..a6ae701ec 100644 --- a/apps/mobile/app/services/intent.ts +++ b/apps/mobile/app/services/intent.ts @@ -59,7 +59,7 @@ export const IntentService = { eSendEvent(eOnLoadNote, { item: note }); - fluidTabsRef.current?.goToPage(1, false); + fluidTabsRef.current?.goToPage("editor", false); } } else if (intent["com.streetwriters.notesnook.OpenReminderId"]) { const reminder = await db.reminders.reminder( diff --git a/apps/mobile/app/services/notifications.ts b/apps/mobile/app/services/notifications.ts index a44ddd70b..cc57a2fa0 100644 --- a/apps/mobile/app/services/notifications.ts +++ b/apps/mobile/app/services/notifications.ts @@ -440,7 +440,7 @@ async function loadNote(id: string, jump: boolean) { const note = await db.notes.note(id); if (!note) return; if (!DDS.isTab && jump) { - fluidTabsRef.current?.goToPage(1); + fluidTabsRef.current?.goToPage("editor"); } NotesnookModule.setAppState( JSON.stringify({