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'}
+

+ {:else}
+

+ {/if}
+
+
+ {#if $app.themeInUse === 'dark'}
+

+ {:else}
+

+ {/if}
+
+
+ Upgrade to edit email signature
+ Upgrade to a {nextTier} plan to enable or disable Appwrite branding in your emails.
+
+
+