Skip to content

Commit cc1bb36

Browse files
authored
Merge pull request #2133 from appwrite/fix-templates
Fix: auth templates
2 parents 6de1ec9 + 848a875 commit cc1bb36

File tree

7 files changed

+92
-30
lines changed

7 files changed

+92
-30
lines changed

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"@appwrite.io/pink-icons": "0.25.0",
2727
"@appwrite.io/pink-icons-svelte": "^2.0.0-RC.1",
2828
"@appwrite.io/pink-legacy": "^1.0.3",
29-
"@appwrite.io/pink-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@fee5c53",
29+
"@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@95bdb79",
3030
"@popperjs/core": "^2.11.8",
3131
"@sentry/sveltekit": "^8.38.0",
3232
"@stripe/stripe-js": "^3.5.0",
@@ -47,8 +47,8 @@
4747
"tippy.js": "^6.3.7"
4848
},
4949
"devDependencies": {
50-
"@eslint/compat": "^1.2.7",
51-
"@eslint/js": "^9.24.0",
50+
"@eslint/compat": "^1.3.1",
51+
"@eslint/js": "^9.31.0",
5252
"@melt-ui/pp": "^0.3.2",
5353
"@melt-ui/svelte": "^0.86.5",
5454
"@playwright/test": "^1.51.1",

pnpm-lock.yaml

Lines changed: 17 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/routes/(console)/project-[region]-[project]/auth/templates/email2FATemplate.svelte

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@
4444
<Id value={'{{user}}'}>{'{{user}}'}</Id>
4545
<Id value={'{{project}}'}>{'{{project}}'}</Id>
4646
<Id value={'{{otp}}'}>{'{{otp}}'}</Id>
47+
48+
<!-- START: for client info -->
49+
<Id value={'{{agentClient}}'}>{'{{agentClient}}'}</Id>
50+
<Id value={'{{agentDevice}}'}>{'{{agentDevice}}'}</Id>
51+
<Id value={'{{agentOs}}'}>{'{{agentOs}}'}</Id>
52+
<!-- END: for client info -->
4753
</EmailTemplate>
4854
</Layout.Stack>
4955
</Card.Base>

src/routes/(console)/project-[region]-[project]/auth/templates/emailMagicUrlTemplate.svelte

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@
4545
<Id value={'{{user}}'}>{'{{user}}'}</Id>
4646
<Id value={'{{project}}'}>{'{{project}}'}</Id>
4747
<Id value={'{{redirect}}'}>{'{{redirect}}'}</Id>
48+
49+
<!-- START: for client info -->
50+
<Id value={'{{agentClient}}'}>{'{{agentClient}}'}</Id>
51+
<Id value={'{{agentDevice}}'}>{'{{agentDevice}}'}</Id>
52+
<Id value={'{{agentOs}}'}>{'{{agentOs}}'}</Id>
53+
<!-- END: for client info -->
4854
</EmailTemplate>
4955
</Layout.Stack>
5056
</Card.Base>
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<script lang="ts">
2+
import { loadEmailTemplate } from './+page.svelte';
3+
import EmailTemplate from './emailTemplate.svelte';
4+
import LocaleOptions from './localeOptions.svelte';
5+
import { baseEmailTemplate, emailTemplate } from './store';
6+
import { page } from '$app/state';
7+
import { addNotification } from '$lib/stores/notifications';
8+
import { Id } from '$lib/components';
9+
import { Submit, trackError, trackEvent } from '$lib/actions/analytics';
10+
import { Layout, Card } from '@appwrite.io/pink-svelte';
11+
12+
export let loading = false;
13+
14+
let locale = 'en';
15+
let isUpdating = false;
16+
const projectId = page.params.project;
17+
18+
async function onLocaleChange() {
19+
const timeout = setTimeout(() => {
20+
isUpdating = true;
21+
}, 1000);
22+
try {
23+
const template = await loadEmailTemplate(projectId, 'otpSession', locale);
24+
emailTemplate.set(template);
25+
$baseEmailTemplate = { ...$emailTemplate };
26+
trackEvent(Submit.EmailChangeLocale, { locale, type: 'otpSession' });
27+
} catch (error) {
28+
trackError(error, Submit.EmailChangeLocale);
29+
addNotification({
30+
type: 'error',
31+
message: error.message
32+
});
33+
} finally {
34+
clearTimeout(timeout);
35+
36+
isUpdating = false;
37+
}
38+
}
39+
</script>
40+
41+
<Card.Base variant="secondary" padding="s">
42+
<Layout.Stack>
43+
<LocaleOptions on:change={onLocaleChange} bind:value={locale} />
44+
<EmailTemplate {loading} {isUpdating}>
45+
<Id value={'{{user}}'}>{'{{user}}'}</Id>
46+
<Id value={'{{project}}'}>{'{{project}}'}</Id>
47+
<Id value={'{{otp}}'}>{'{{otp}}'}</Id>
48+
49+
<!-- START: for client info -->
50+
<Id value={'{{agentClient}}'}>{'{{agentClient}}'}</Id>
51+
<Id value={'{{agentDevice}}'}>{'{{agentDevice}}'}</Id>
52+
<Id value={'{{agentOs}}'}>{'{{agentOs}}'}</Id>
53+
<!-- END: for client info -->
54+
</EmailTemplate>
55+
</Layout.Stack>
56+
</Card.Base>

src/routes/(console)/project-[region]-[project]/auth/templates/emailTemplate.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
>here</a
120120
>.
121121
</p>
122-
<Layout.Stack direction="row">
122+
<Layout.Stack direction="row" wrap="wrap">
123123
<slot />
124124
</Layout.Stack>
125125
{/if}

src/routes/(console)/project-[region]-[project]/auth/templates/store.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ import type { Models } from '@appwrite.io/console';
55
// component imports
66
import Email2FaTemplate from './email2FATemplate.svelte';
77
import EmailInviteTemplate from './emailInviteTemplate.svelte';
8-
import EmailRecoveryTemplate from './emailRecoveryTemplate.svelte';
98
import EmailMagicUrlTemplate from './emailMagicUrlTemplate.svelte';
9+
import EmailRecoveryTemplate from './emailRecoveryTemplate.svelte';
10+
import EmailOtpSessionTemplate from './emailOtpSessionTemplate.svelte';
1011
import EmailVerificationTemplate from './emailVerificationTemplate.svelte';
1112
import EmailSessionAlertTemplate from './emailSessionAlertTemplate.svelte';
1213

@@ -62,7 +63,7 @@ export const templates = [
6263
key: 'otpSession',
6364
title: 'OTP session',
6465
description: 'Send an email to users that sign in with a email OTP.',
65-
component: EmailMagicUrlTemplate
66+
component: EmailOtpSessionTemplate
6667
},
6768
{
6869
key: 'recovery',

0 commit comments

Comments
 (0)