aboutsummaryrefslogtreecommitdiffstats
path: root/packages/mobile/app/_layout.tsx
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-03-13 16:51:42 +0000
committerMohamedBassem <me@mbassem.com>2024-03-13 16:51:42 +0000
commit61e852d963fb04b13b7bda39830e208a648b3545 (patch)
treeb24462270a245ea2cef3ee15ede56c7b22aec927 /packages/mobile/app/_layout.tsx
parenta80869cee9e841c319e603a51daa9cd34d1e83e8 (diff)
downloadkarakeep-61e852d963fb04b13b7bda39830e208a648b3545.tar.zst
fix(mobile): Multiple attempts to stop the duplication sharing
Diffstat (limited to 'packages/mobile/app/_layout.tsx')
-rw-r--r--packages/mobile/app/_layout.tsx10
1 files changed, 8 insertions, 2 deletions
diff --git a/packages/mobile/app/_layout.tsx b/packages/mobile/app/_layout.tsx
index 561e911e..c4298ec4 100644
--- a/packages/mobile/app/_layout.tsx
+++ b/packages/mobile/app/_layout.tsx
@@ -9,16 +9,22 @@ import { useEffect } from "react";
import { View } from "react-native";
import { Providers } from "@/lib/providers";
+import { useLastSharedIntent } from "@/lib/last-shared-intent";
export default function RootLayout() {
const router = useRouter();
const { hasShareIntent, shareIntent, resetShareIntent } = useShareIntent();
+ const lastSharedIntent = useLastSharedIntent();
+
useEffect(() => {
- if (hasShareIntent) {
+ const intentJson = JSON.stringify(shareIntent);
+ if (hasShareIntent && !lastSharedIntent.isPreviouslyShared(intentJson)) {
+ // TODO: Remove once https://github.com/achorein/expo-share-intent/issues/14 is fixed
+ lastSharedIntent.setIntent(intentJson);
router.replace({
pathname: "sharing",
- params: { shareIntent: JSON.stringify(shareIntent) },
+ params: { shareIntent: intentJson },
});
resetShareIntent();
}