diff --git a/apps/mobile/app/screens/settings/notesnook-circle.tsx b/apps/mobile/app/screens/settings/notesnook-circle.tsx
index af0170e91..1e6b46392 100644
--- a/apps/mobile/app/screens/settings/notesnook-circle.tsx
+++ b/apps/mobile/app/screens/settings/notesnook-circle.tsx
@@ -2,7 +2,8 @@ import { CirclePartner, SubscriptionStatus } from "@notesnook/core";
import { strings } from "@notesnook/intl";
import { useThemeColors } from "@notesnook/theme";
import Clipboard from "@react-native-clipboard/clipboard";
-import { useEffect, useState } from "react";
+import { useState } from "react";
+import { useAsync } from "react-async-hook";
import {
ActivityIndicator,
Image,
@@ -13,6 +14,7 @@ import {
import { db } from "../../common/database";
import AppIcon from "../../components/ui/AppIcon";
import { Button } from "../../components/ui/button";
+import { Notice } from "../../components/ui/notice";
import Heading from "../../components/ui/typography/heading";
import Paragraph from "../../components/ui/typography/paragraph";
import { ToastManager } from "../../services/event-manager";
@@ -21,8 +23,8 @@ import PremiumService from "../../services/premium";
import { useUserStore } from "../../stores/use-user-store";
import { AppFontSize, defaultBorderRadius } from "../../utils/size";
import { DefaultAppStyles } from "../../utils/styles";
-import { useAsync } from "react-async-hook";
-import { Notice } from "../../components/ui/notice";
+import { openLinkInBrowser } from "../../utils/functions";
+import { Pressable } from "../../components/ui/pressable";
export const NotesnookCircle = () => {
const user = useUserStore((state) => state.user);
@@ -156,32 +158,53 @@ const Partner = ({
}}
/>
) : (
- {
- Clipboard.setString(code);
- }}
- >
-
+ {
+ Clipboard.setString(code);
+ }}
>
- {code}
-
+
+ {code}
+
-
-
+
+
+
+ {item.codeRedeemUrl ? (
+ {
+ if (item.codeRedeemUrl) {
+ openLinkInBrowser(
+ item.codeRedeemUrl.replace("{{code}}", code)
+ );
+ }
+ }}
+ >
+
+ {strings.clickToDirectlyClaimPromo()}
+
+
+ ) : null}
+ >
)}
>
) : null}
diff --git a/packages/intl/locale/en.po b/packages/intl/locale/en.po
index 0e8fe5045..36b1bd9dc 100644
--- a/packages/intl/locale/en.po
+++ b/packages/intl/locale/en.po
@@ -1580,6 +1580,10 @@ msgstr ""
"\n"
"**Only use this for troubleshooting purposes. If you are having persistent issues, it is recommended that you reach out to us via support@streetwriters.co so we can help you resolve it permanently.**"
+#: src/strings.ts:2606
+msgid "Click here to directly claim the promotion."
+msgstr "Click here to directly claim the promotion."
+
#: src/strings.ts:239
msgid "Click to deselect"
msgstr "Click to deselect"
diff --git a/packages/intl/locale/pseudo-LOCALE.po b/packages/intl/locale/pseudo-LOCALE.po
index 358349271..90866c7dc 100644
--- a/packages/intl/locale/pseudo-LOCALE.po
+++ b/packages/intl/locale/pseudo-LOCALE.po
@@ -1569,6 +1569,10 @@ msgid ""
"**Only use this for troubleshooting purposes. If you are having persistent issues, it is recommended that you reach out to us via support@streetwriters.co so we can help you resolve it permanently.**"
msgstr ""
+#: src/strings.ts:2606
+msgid "Click here to directly claim the promotion."
+msgstr ""
+
#: src/strings.ts:239
msgid "Click to deselect"
msgstr ""
diff --git a/packages/intl/src/strings.ts b/packages/intl/src/strings.ts
index bd0e5bca4..0882b2e4c 100644
--- a/packages/intl/src/strings.ts
+++ b/packages/intl/src/strings.ts
@@ -2601,5 +2601,7 @@ Use this if changes from other devices are not appearing on this device. This wi
freeUserCircleNotice: () =>
t`The Notesnook Circle is exclusive to subscribers. Please consider subscribing to gain access to Notesnook Circle and enjoy additional benefits.`,
finishPurchaseInBrowser: () => t`Finish your purchase in the browser.`,
- goBack: () => t`Go back`
+ goBack: () => t`Go back`,
+ clickToDirectlyClaimPromo: () =>
+ t`Click here to directly claim the promotion.`
};