@frigear-nu/subscriptions 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.json +1 -1
- package/dist/module.mjs +3 -0
- package/dist/runtime/emails/subscriptions-payment-link.d.vue.ts +8 -0
- package/dist/runtime/emails/subscriptions-payment-link.vue +34 -0
- package/dist/runtime/emails/subscriptions-payment-link.vue.d.ts +8 -0
- package/dist/runtime/server/routes/admin/payment-link.post.js +2 -1
- package/package.json +17 -11
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -21,6 +21,8 @@ const module$1 = defineNuxtModule({
|
|
|
21
21
|
"@frigear-nu/auth": { version: ">=0.0.1" },
|
|
22
22
|
"@frigear-nu/mcp": { version: ">=0.0.1" },
|
|
23
23
|
"@frigear-nu/users": { version: ">=0.0.1" },
|
|
24
|
+
// The payment link email is dispatched through it.
|
|
25
|
+
"@frigear-nu/notify": { version: ">=0.0.1" },
|
|
24
26
|
"@frigear-nu/stripe": { version: ">=0.0.1" },
|
|
25
27
|
// The pages and admin pieces are built from its components and composables (`SectionCard`, `useFormat`, ...).
|
|
26
28
|
"@frigear-nu/ui": { version: ">=0.0.1" },
|
|
@@ -128,6 +130,7 @@ const module$1 = defineNuxtModule({
|
|
|
128
130
|
span: 2
|
|
129
131
|
}
|
|
130
132
|
});
|
|
133
|
+
nuxt.hook("notify:email:templates", (sources) => sources.push({ dir: resolver.resolve("./runtime/emails") }));
|
|
131
134
|
addServerImportsDir(resolver.resolve("./runtime/server/utils"));
|
|
132
135
|
inlineModuleRuntime(nuxt, resolver);
|
|
133
136
|
if (settings.mcp === true) addMcpDefinitions(nuxt, resolver.resolve("./runtime/server/mcp"));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
name: string;
|
|
3
|
+
label: string;
|
|
4
|
+
url: string;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { EmailButton, EmailDivider, EmailHeading, EmailLayout, EmailLinkFallback, EmailText } from "@frigear-nu/email-templates/components";
|
|
3
|
+
defineProps({
|
|
4
|
+
name: { type: String, required: true },
|
|
5
|
+
label: { type: String, required: true },
|
|
6
|
+
url: { type: String, required: true }
|
|
7
|
+
});
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<template>
|
|
11
|
+
<EmailLayout preview="Complete your membership">
|
|
12
|
+
<ESubject>Complete your {{ label }} membership</ESubject>
|
|
13
|
+
<EmailHeading>
|
|
14
|
+
Complete your {{ label }} membership
|
|
15
|
+
</EmailHeading>
|
|
16
|
+
<EmailDivider />
|
|
17
|
+
<EmailText>
|
|
18
|
+
Hi {{ name }},
|
|
19
|
+
</EmailText>
|
|
20
|
+
<EmailText>
|
|
21
|
+
Use the button below to complete your {{ label }} membership. The link is valid for 24 hours.
|
|
22
|
+
</EmailText>
|
|
23
|
+
<EmailButton
|
|
24
|
+
:href="url"
|
|
25
|
+
>
|
|
26
|
+
Complete membership
|
|
27
|
+
</EmailButton>
|
|
28
|
+
<EmailLinkFallback :href="url" />
|
|
29
|
+
<EmailDivider />
|
|
30
|
+
<EmailText>
|
|
31
|
+
If you weren’t expecting this email, you can safely ignore it.
|
|
32
|
+
</EmailText>
|
|
33
|
+
</EmailLayout>
|
|
34
|
+
</template>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
name: string;
|
|
3
|
+
label: string;
|
|
4
|
+
url: string;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
@@ -38,7 +38,8 @@ export default defineEventHandler(async (event) => {
|
|
|
38
38
|
body: `<p>Hi ${escapeHtml(target.name)},</p><p>Use the link below to complete your ${escapeHtml(label)} membership. The link is valid for 24 hours.</p><p><a href="${escapeHtml(session.url)}">${escapeHtml(session.url)}</a></p>`,
|
|
39
39
|
text: `Hi ${target.name},
|
|
40
40
|
|
|
41
|
-
Complete your ${label} membership (valid for 24 hours): ${session.url}
|
|
41
|
+
Complete your ${label} membership (valid for 24 hours): ${session.url}`,
|
|
42
|
+
template: { name: "subscriptions-payment-link", props: { name: target.name, label, url: session.url } }
|
|
42
43
|
});
|
|
43
44
|
emailed = true;
|
|
44
45
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frigear-nu/subscriptions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Recurring subscriptions (plans, checkout, upgrade/downgrade, billing portal and entitlements) for the frigear ecosystem, built on @frigear-nu/stripe.",
|
|
5
5
|
"homepage": "https://docs.frigear.dev/modules/subscriptions",
|
|
6
6
|
"repository": {
|
|
@@ -30,12 +30,13 @@
|
|
|
30
30
|
"playground"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@frigear-nu/auth": "0.1.
|
|
34
|
-
"@frigear-nu/mcp": "0.1.
|
|
35
|
-
"@frigear-nu/module-kit": "1.1.
|
|
36
|
-
"@frigear-nu/
|
|
37
|
-
"@frigear-nu/
|
|
38
|
-
"@frigear-nu/
|
|
33
|
+
"@frigear-nu/auth": "0.1.2",
|
|
34
|
+
"@frigear-nu/mcp": "0.1.1",
|
|
35
|
+
"@frigear-nu/module-kit": "1.1.1",
|
|
36
|
+
"@frigear-nu/notify": "0.1.1",
|
|
37
|
+
"@frigear-nu/stripe": "0.1.1",
|
|
38
|
+
"@frigear-nu/ui": "0.1.1",
|
|
39
|
+
"@frigear-nu/users": "1.1.2",
|
|
39
40
|
"@libsql/client": "^0.18.0",
|
|
40
41
|
"@nuxt/kit": "^4.6.1",
|
|
41
42
|
"@vueuse/core": "^15.0.0",
|
|
@@ -47,12 +48,16 @@
|
|
|
47
48
|
"zod": "^4.6.5"
|
|
48
49
|
},
|
|
49
50
|
"peerDependencies": {
|
|
50
|
-
"@frigear-nu/
|
|
51
|
-
"@frigear-nu/
|
|
51
|
+
"@frigear-nu/email-templates": "0.1.0",
|
|
52
|
+
"@frigear-nu/menu": "0.1.1",
|
|
53
|
+
"@frigear-nu/widget": "0.1.1",
|
|
52
54
|
"@nuxt/ui": "^4.11.2",
|
|
53
55
|
"@nuxthub/core": "^0.10.8"
|
|
54
56
|
},
|
|
55
57
|
"peerDependenciesMeta": {
|
|
58
|
+
"@frigear-nu/email-templates": {
|
|
59
|
+
"optional": true
|
|
60
|
+
},
|
|
56
61
|
"@frigear-nu/menu": {
|
|
57
62
|
"optional": true
|
|
58
63
|
},
|
|
@@ -64,8 +69,9 @@
|
|
|
64
69
|
}
|
|
65
70
|
},
|
|
66
71
|
"devDependencies": {
|
|
67
|
-
"@frigear-nu/
|
|
68
|
-
"@frigear-nu/
|
|
72
|
+
"@frigear-nu/email-templates": "0.1.0",
|
|
73
|
+
"@frigear-nu/menu": "0.1.1",
|
|
74
|
+
"@frigear-nu/widget": "0.1.1",
|
|
69
75
|
"@nuxt/devtools": "^3.4.2",
|
|
70
76
|
"@nuxt/eslint-config": "^1.17.0",
|
|
71
77
|
"@nuxt/module-builder": "^1.0.3",
|