diff --git a/packages/dashboard/src/components/tables/pricing-table/PricingTable.svelte b/packages/dashboard/src/components/tables/pricing-table/PricingTable.svelte
index 5b4923f9..d9922cc6 100644
--- a/packages/dashboard/src/components/tables/pricing-table/PricingTable.svelte
+++ b/packages/dashboard/src/components/tables/pricing-table/PricingTable.svelte
@@ -95,7 +95,7 @@
{PLAN_NAMES[SubscriptionType.Premium]}
- {PLAN_NAMES[SubscriptionType.Lifetime]}
+ {PLAN_NAMES[SubscriptionType.Founder]}
|
@@ -143,7 +143,7 @@
{/if}
- {#if $userSubscriptionType === SubscriptionType.Lifetime || (SubscriptionType.Premium && $isUserFounder)}
+ {#if $userSubscriptionType === SubscriptionType.Founder || (SubscriptionType.Premium && $isUserFounder)}
{:else}
@@ -269,7 +269,7 @@
- {PLAN_NAMES[SubscriptionType.Lifetime]}
+ {PLAN_NAMES[SubscriptionType.Founder]}
Super elite! The Founder's Edition is our way of saying thanks
@@ -304,7 +304,7 @@
- {#if $userSubscriptionType === SubscriptionType.Lifetime}
+ {#if $userSubscriptionType === SubscriptionType.Founder}
diff --git a/packages/dashboard/src/routes/app/instances/[instanceId]/domain/+page.svelte b/packages/dashboard/src/routes/app/instances/[instanceId]/domain/+page.svelte
index 4ad92bd6..f9b0cef3 100644
--- a/packages/dashboard/src/routes/app/instances/[instanceId]/domain/+page.svelte
+++ b/packages/dashboard/src/routes/app/instances/[instanceId]/domain/+page.svelte
@@ -5,7 +5,7 @@
import CardHeader from '$components/cards/CardHeader.svelte'
import { DOCS_URL, INSTANCE_BARE_HOST } from '$src/env'
import { client } from '$src/pocketbase-client'
- import { userSubscriptionType } from '$util/stores'
+ import { isUserPaid, userSubscriptionType } from '$util/stores'
import { SubscriptionType } from 'pockethost/common'
import { dns } from 'svelte-highlight/languages'
import { instance } from '../store'
@@ -40,12 +40,7 @@
const trimmed = formCname.trim()
- if (
- trimmed &&
- ![SubscriptionType.Premium, SubscriptionType.Lifetime].includes(
- $userSubscriptionType,
- )
- ) {
+ if (trimmed && !$isUserPaid) {
errorMessage = `Oof, you hit a paywall. This is a Pro feature only. Please upgrade your account.`
return
}
diff --git a/packages/dashboard/src/routes/app/new/+page.svelte b/packages/dashboard/src/routes/app/new/+page.svelte
index 579c1e16..f06b150f 100644
--- a/packages/dashboard/src/routes/app/new/+page.svelte
+++ b/packages/dashboard/src/routes/app/new/+page.svelte
@@ -1,5 +1,9 @@
diff --git a/packages/dashboard/src/util/stores.ts b/packages/dashboard/src/util/stores.ts
index 76c6dad1..978b2913 100644
--- a/packages/dashboard/src/util/stores.ts
+++ b/packages/dashboard/src/util/stores.ts
@@ -23,6 +23,7 @@ const { onAuthChange } = client()
export const isUserLegacy = writable(false)
export const userSubscriptionType = writable(SubscriptionType.Legacy)
+export const isUserPaid = writable(false)
export const isUserLoggedIn = writable(false)
export const isUserFounder = writable(false)
export const isUserVerified = writable(false)
@@ -42,6 +43,11 @@ onAuthChange((authStoreProps) => {
userStore.subscribe((user) => {
isUserLegacy.set(!!user?.isLegacy)
isUserFounder.set(!!user?.isFounder)
+ isUserPaid.set(
+ [SubscriptionType.Founder, SubscriptionType.Premium].includes(
+ user?.subscription || SubscriptionType.Free,
+ ),
+ )
userSubscriptionType.set(user?.subscription || SubscriptionType.Free)
isUserVerified.set(!!user?.verified)
})
diff --git a/packages/pockethost/src/common/schema/User.ts b/packages/pockethost/src/common/schema/User.ts
index 535170b6..437b6c09 100644
--- a/packages/pockethost/src/common/schema/User.ts
+++ b/packages/pockethost/src/common/schema/User.ts
@@ -4,14 +4,14 @@ export enum SubscriptionType {
Legacy = 'legacy',
Free = 'free',
Premium = 'premium',
- Lifetime = 'lifetime',
+ Founder = 'founder',
}
export const PLAN_NAMES = {
[SubscriptionType.Legacy]: 'Legacy',
[SubscriptionType.Free]: 'Hacker',
[SubscriptionType.Premium]: `Pro`,
- [SubscriptionType.Lifetime]: `Founder's Edition`,
+ [SubscriptionType.Founder]: `Founder's Edition`,
}
export type UserFields = BaseFields & {
diff --git a/packages/pockethost/src/mothership-app/pb_hooks/src/ls.pb.js b/packages/pockethost/src/mothership-app/pb_hooks/src/ls.pb.js
index 5bfe2f52..23b7c607 100644
--- a/packages/pockethost/src/mothership-app/pb_hooks/src/ls.pb.js
+++ b/packages/pockethost/src/mothership-app/pb_hooks/src/ls.pb.js
@@ -71,21 +71,25 @@ routerAdd('POST', '/api/ls', (c) => {
const editions = {
// Founder's annual
159792: () => {
- userRec.set(`subscription`, `premium`)
+ userRec.set(`subscription`, `founder`)
+ userRec.set(`subscription_interval`, `year`)
userRec.set(`isFounder`, true)
},
// Founder's lifetime
159794: () => {
- userRec.set(`subscription`, `lifetime`)
+ userRec.set(`subscription`, `founder`)
+ userRec.set(`subscription_interval`, `life`)
userRec.set(`isFounder`, true)
},
// Pro annual
159791: () => {
userRec.set(`subscription`, `premium`)
+ userRec.set(`subscription_interval`, `year`)
},
// Pro monthly
159790: () => {
userRec.set(`subscription`, `premium`)
+ userRec.set(`subscription_interval`, `month`)
},
}