diff options
| author | MohamedBassem <me@mbassem.com> | 2024-03-13 16:51:42 +0000 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-03-13 16:51:42 +0000 |
| commit | 61e852d963fb04b13b7bda39830e208a648b3545 (patch) | |
| tree | b24462270a245ea2cef3ee15ede56c7b22aec927 /packages/mobile/app/_layout.tsx | |
| parent | a80869cee9e841c319e603a51daa9cd34d1e83e8 (diff) | |
| download | karakeep-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.tsx | 10 |
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(); } |
