diff --git a/src/components/MutinyPlusCta.tsx b/src/components/MutinyPlusCta.tsx new file mode 100644 index 000000000..95983c412 --- /dev/null +++ b/src/components/MutinyPlusCta.tsx @@ -0,0 +1,40 @@ +import { ParentComponent } from "solid-js"; +import { A } from "solid-start"; + +import forward from "~/assets/icons/forward.svg"; +import { useI18n } from "~/i18n/context"; + +export const CtaCard: ParentComponent = (props) => { + return ( +
+
+
+
+ {props.children}{" "} +
+
+
+ ); +}; + +export function MutinyPlusCta() { + const i18n = useI18n(); + return ( + + +
+ + Mutiny+ + + go +
+
+ {i18n.t("settings.plus.cta_description")} +
+
+
+ ); +} diff --git a/src/components/index.ts b/src/components/index.ts index e40ba6d22..de12a63b5 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -44,3 +44,4 @@ export * from "./Toaster"; export * from "./NostrActivity"; export * from "./SyncContactsForm"; export * from "./GiftLink"; +export * from "./MutinyPlusCta"; diff --git a/src/i18n/en/translations.ts b/src/i18n/en/translations.ts index c3d6ba10d..85c5ae267 100644 --- a/src/i18n/en/translations.ts +++ b/src/i18n/en/translations.ts @@ -402,7 +402,9 @@ export default { satisfaction: "Smug satisfaction", gifting: "Gifting", multi_device: "Multi-device access", - more: "... and more to come" + more: "... and more to come", + cta_description: + "Enjoy early access to new features and premium functionality." }, restore: { title: "Restore", @@ -479,7 +481,9 @@ export default { send_cta: "Create a gift", send_delete_button: "Delete Gift", send_delete_confirm: - "Are you sure you want to delete this gift? Is this your rugpull moment?" + "Are you sure you want to delete this gift? Is this your rugpull moment?", + need_plus: + "Upgrade to Mutiny+ to enable gifting. Gifting allows you to create a Mutiny gift URL that can be claimed by anyone with a web browser." } }, swap: { diff --git a/src/routes/settings/Connections.tsx b/src/routes/settings/Connections.tsx index 2d7cd94f6..b2e7690c5 100644 --- a/src/routes/settings/Connections.tsx +++ b/src/routes/settings/Connections.tsx @@ -144,9 +144,9 @@ function NwcDetails(props: { {/* No interval for gifts */} - - {props.profile.budget_period} - + + {props.profile.budget_period} + @@ -302,7 +302,7 @@ function Nwc() { - p.tag !== "Gift")}> + p.tag !== "Gift")}> {(profile) => ( void }) { +export function SingleGift(props: { + profile: NwcProfile; + onDelete?: () => void; +}) { const i18n = useI18n(); const [state, _actions] = useMegaStore(); @@ -199,6 +203,15 @@ export default function GiftPage() { + + + + {i18n.t("settings.gift.send_header")} + + {i18n.t("settings.gift.need_plus")} + + + @@ -234,7 +247,7 @@ export default function GiftPage() { - + {i18n.t("settings.gift.send_header")} diff --git a/src/routes/settings/Plus.tsx b/src/routes/settings/Plus.tsx index 66cc9f42c..251f1b9f0 100644 --- a/src/routes/settings/Plus.tsx +++ b/src/routes/settings/Plus.tsx @@ -36,14 +36,11 @@ function Perks(props: { alreadySubbed?: boolean }) {
  • {i18n.t("settings.plus.satisfaction")}
  • +
  • {i18n.t("settings.plus.gifting")}
  • {i18n.t("redshift.title")}{" "} {i18n.t("common.coming_soon")}
  • -
  • - {i18n.t("settings.plus.gifting")}{" "} - {i18n.t("common.coming_soon")} -
  • {i18n.t("settings.plus.multi_device")}{" "} {i18n.t("common.coming_soon")} diff --git a/src/routes/settings/index.tsx b/src/routes/settings/index.tsx index 788caea20..070065649 100644 --- a/src/routes/settings/index.tsx +++ b/src/routes/settings/index.tsx @@ -7,6 +7,7 @@ import { DefaultMain, ExternalLink, LargeHeader, + MutinyPlusCta, NavBar, SafeArea, SettingsCard, @@ -77,15 +78,7 @@ export default function Settings() { {i18n.t("settings.header")} - +