diff --git a/src/lib/components/card.svelte b/src/lib/components/card.svelte index 4cf714226..b6f50d661 100644 --- a/src/lib/components/card.svelte +++ b/src/lib/components/card.svelte @@ -28,7 +28,7 @@ export let href: string = null; let classes = ''; export { classes as class }; - export let style: string = ''; + export let style = ''; function getElement() { switch (true) { diff --git a/src/lib/components/emptyCardImageCloud.svelte b/src/lib/components/emptyCardImageCloud.svelte new file mode 100644 index 000000000..0d1649b7a --- /dev/null +++ b/src/lib/components/emptyCardImageCloud.svelte @@ -0,0 +1,42 @@ + + + +
+ {#if $$slots?.image} +
+
+ +
+
+ {/if} +
+

+

+ +

+ +
+
+
diff --git a/src/lib/components/index.ts b/src/lib/components/index.ts index da5859ab4..4d3f8ccf6 100644 --- a/src/lib/components/index.ts +++ b/src/lib/components/index.ts @@ -72,5 +72,6 @@ export { default as FakeModal } from './fakeModal.svelte'; export { default as RadioBoxes } from './radioBoxes.svelte'; export { default as ModalWrapper } from './modalWrapper.svelte'; export { default as ModalSideCol } from './modalSideCol.svelte'; +export { default as EmptyCardImageCloud } from './emptyCardImageCloud.svelte'; export { default as ImagePreview } from './imagePreview.svelte'; export { default as MfaChallengeFormList } from './mfaChallengeFormList.svelte'; diff --git a/src/lib/stores/billing.ts b/src/lib/stores/billing.ts index 5d71289b9..c875d4ab5 100644 --- a/src/lib/stores/billing.ts +++ b/src/lib/stores/billing.ts @@ -51,6 +51,28 @@ export function tierToPlan(tier: Tier) { } } +export function getNextTier(tier: Tier) { + switch (tier) { + case BillingPlan.FREE: + return BillingPlan.PRO; + case BillingPlan.PRO: + return BillingPlan.SCALE; + default: + return BillingPlan.PRO; + } +} + +export function getPreviousTier(tier: Tier) { + switch (tier) { + case BillingPlan.PRO: + return BillingPlan.FREE; + case BillingPlan.SCALE: + return BillingPlan.PRO; + default: + return BillingPlan.FREE; + } +} + export type PlanServices = | 'bandwidth' | 'bandwidthAddon' diff --git a/src/routes/console/project-[project]/auth/templates/+page.svelte b/src/routes/console/project-[project]/auth/templates/+page.svelte index 3ebd9cbb0..cc4d83c4d 100644 --- a/src/routes/console/project-[project]/auth/templates/+page.svelte +++ b/src/routes/console/project-[project]/auth/templates/+page.svelte @@ -51,6 +51,8 @@ import { Button } from '$lib/elements/forms'; import { organization } from '$lib/stores/organization'; import { BillingPlan } from '$lib/constants'; + import EmailSignature from './emailSignature.svelte'; + import { isCloud } from '$lib/system'; import type { SmsTemplateLocale, SmsTemplateType, @@ -58,7 +60,6 @@ EmailTemplateLocale } from '@appwrite.io/console'; import Email2FaTemplate from './email2FATemplate.svelte'; - import { tierToPlan } from '$lib/stores/billing'; const projectId = $page.params.project; @@ -132,18 +133,6 @@

- {#if $organization.billingPlan === BillingPlan.FREE} - - All emails sent using the {tierToPlan(BillingPlan.FREE).name} plan will include attribution - to Appwrite in the signature. To send attribution-free emails, upgrade your plan. - - {/if} --> + {#if isCloud && $organization?.billingPlan === BillingPlan.FREE} + + {/if} diff --git a/src/routes/console/project-[project]/auth/templates/email-footer-dark.png b/src/routes/console/project-[project]/auth/templates/email-footer-dark.png new file mode 100644 index 000000000..23cc73b9e Binary files /dev/null and b/src/routes/console/project-[project]/auth/templates/email-footer-dark.png differ diff --git a/src/routes/console/project-[project]/auth/templates/email-footer-light.png b/src/routes/console/project-[project]/auth/templates/email-footer-light.png new file mode 100644 index 000000000..81b748276 Binary files /dev/null and b/src/routes/console/project-[project]/auth/templates/email-footer-light.png differ diff --git a/src/routes/console/project-[project]/auth/templates/email-footer-mobile-dark.png b/src/routes/console/project-[project]/auth/templates/email-footer-mobile-dark.png new file mode 100644 index 000000000..6783d72b2 Binary files /dev/null and b/src/routes/console/project-[project]/auth/templates/email-footer-mobile-dark.png differ diff --git a/src/routes/console/project-[project]/auth/templates/email-footer-mobile-light.png b/src/routes/console/project-[project]/auth/templates/email-footer-mobile-light.png new file mode 100644 index 000000000..6457fc6f4 Binary files /dev/null and b/src/routes/console/project-[project]/auth/templates/email-footer-mobile-light.png differ diff --git a/src/routes/console/project-[project]/auth/templates/emailSignature.svelte b/src/routes/console/project-[project]/auth/templates/emailSignature.svelte new file mode 100644 index 000000000..c00b1d61a --- /dev/null +++ b/src/routes/console/project-[project]/auth/templates/emailSignature.svelte @@ -0,0 +1,54 @@ + + + + Email signature +

Enable or disable Appwrite branding in your email template signature.

+ + + + +
+ {#if $app.themeInUse === 'dark'} + Email Signature Example + {:else} + Email Signature Example + {/if} +
+
+ {#if $app.themeInUse === 'dark'} + Email Signature Example + {:else} + Email Signature Example + {/if} +
+
+ Upgrade to edit email signature + Upgrade to a {nextTier} plan to enable or disable Appwrite branding in your emails. +
+
+