From 2f6ba45084bbc41666a6424a504cccb93c979e95 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Thu, 17 Nov 2022 22:50:26 +0530 Subject: [PATCH 001/455] feat: add support foor db pools --- src/lib/stores/project.ts | 65 +++++++++++++++++++ src/lib/stores/sdk.ts | 3 + .../project-[project]/overview/+layout.svelte | 4 +- .../project-[project]/overview/store.ts | 9 +-- 4 files changed, 75 insertions(+), 6 deletions(-) create mode 100644 src/lib/stores/project.ts diff --git a/src/lib/stores/project.ts b/src/lib/stores/project.ts new file mode 100644 index 000000000..54c3b5129 --- /dev/null +++ b/src/lib/stores/project.ts @@ -0,0 +1,65 @@ +import type { Client, Models } from "@aw-labs/appwrite-console"; + +type Payload = { + [key: string]: any; +} + +class Service { + static CHUNK_SIZE = 5*1024*1024; // 5MB + + client: Client; + + constructor(client: Client) { + this.client = client; + } + + static flatten(data: Payload, prefix = ''): Payload { + let output: Payload = {}; + + for (const key in data) { + let value = data[key]; + let finalKey = prefix ? `${prefix}[${key}]` : key; + + if (Array.isArray(value)) { + output = Object.assign(output, this.flatten(value, finalKey)); + } + else { + output[finalKey] = value; + } + } + + return output; + } +} + +export class Project extends Service { + constructor(client: Client) + { + super(client); + } + + /** + * Get usage stats for a project + * + * + * @param {string} range + * @throws {AppwriteException} + * @returns {Promise} + */ + async getUsage(range?: string): Promise { + let path = '/project/usage'; + let payload: Payload = {}; + + console.log("Getting usage") + console.log(range) + + if (typeof range !== 'undefined') { + payload['range'] = range; + } + + const uri = new URL(this.client.config.endpoint + path); + return await this.client.call('get', uri, { + 'content-type': 'application/json', + }, payload); + } +} \ No newline at end of file diff --git a/src/lib/stores/sdk.ts b/src/lib/stores/sdk.ts index cffc23dec..d4b322aba 100644 --- a/src/lib/stores/sdk.ts +++ b/src/lib/stores/sdk.ts @@ -12,6 +12,8 @@ import { Users } from '@aw-labs/appwrite-console'; +import { Project } from './project'; + const endpoint = import.meta.env.VITE_APPWRITE_ENDPOINT?.toString() ?? `${window?.location?.origin}/v1`; const clientConsole = new Client(); @@ -42,6 +44,7 @@ const sdkForProject = { functions: new Functions(clientProject), health: new Health(clientProject), locale: new Locale(clientProject), + project: new Project(clientProject), projects: new Projects(clientProject), storage: new Storage(clientProject), teams: new Teams(clientProject), diff --git a/src/routes/console/project-[project]/overview/+layout.svelte b/src/routes/console/project-[project]/overview/+layout.svelte index fbed69cfb..5f5d31ec1 100644 --- a/src/routes/console/project-[project]/overview/+layout.svelte +++ b/src/routes/console/project-[project]/overview/+layout.svelte @@ -42,7 +42,7 @@ afterNavigate(handle); async function handle() { - const promise = usage.load(projectId, period); + const promise = usage.load(period); if ($usage) { await promise; @@ -51,7 +51,7 @@ function changePeriod(newPeriod: UsagePeriods) { period = newPeriod; - usage.load(projectId, period); + usage.load(period); } diff --git a/src/routes/console/project-[project]/overview/store.ts b/src/routes/console/project-[project]/overview/store.ts index 17c8ad4a1..9534fce80 100644 --- a/src/routes/console/project-[project]/overview/store.ts +++ b/src/routes/console/project-[project]/overview/store.ts @@ -1,16 +1,17 @@ -import { sdkForConsole } from '$lib/stores/sdk'; +import { sdkForProject } from '$lib/stores/sdk'; import { cachedStore } from '$lib/helpers/cache'; import type { Models } from '@aw-labs/appwrite-console'; export const usage = cachedStore< Models.UsageProject, { - load: (projectId: string, range: string) => Promise; + load: (range: string) => Promise; } >('projectUsage', function ({ set }) { return { - load: async (projectId, range) => { - const usages = await sdkForConsole.projects.getUsage(projectId, range); + load: async (range) => { + const usages = await sdkForProject.project.getUsage(range); + console.log(usages) set(usages); } }; From 4e2cecefb571104f0dbbe5a578729f0e17a10242 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Fri, 18 Nov 2022 00:28:18 +0530 Subject: [PATCH 002/455] fix: issues with usage --- src/lib/stores/project.ts | 3 --- src/routes/console/project-[project]/overview/store.ts | 1 - 2 files changed, 4 deletions(-) diff --git a/src/lib/stores/project.ts b/src/lib/stores/project.ts index 54c3b5129..eb58f78c6 100644 --- a/src/lib/stores/project.ts +++ b/src/lib/stores/project.ts @@ -50,9 +50,6 @@ export class Project extends Service { let path = '/project/usage'; let payload: Payload = {}; - console.log("Getting usage") - console.log(range) - if (typeof range !== 'undefined') { payload['range'] = range; } diff --git a/src/routes/console/project-[project]/overview/store.ts b/src/routes/console/project-[project]/overview/store.ts index 9534fce80..3da5a6adf 100644 --- a/src/routes/console/project-[project]/overview/store.ts +++ b/src/routes/console/project-[project]/overview/store.ts @@ -11,7 +11,6 @@ export const usage = cachedStore< return { load: async (range) => { const usages = await sdkForProject.project.getUsage(range); - console.log(usages) set(usages); } }; From 6aa50b8b96b7941a710fe097f3f4d3a74f1eb823 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Fri, 18 Nov 2022 07:55:19 +0000 Subject: [PATCH 003/455] feat: linter --- .gitpod.yml | 7 +++++++ src/lib/stores/project.ts | 35 +++++++++++++++++++---------------- 2 files changed, 26 insertions(+), 16 deletions(-) create mode 100644 .gitpod.yml diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 000000000..64f113ab2 --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,7 @@ +# This configuration file was automatically generated by Gitpod. +# Please adjust to your needs (see https://www.gitpod.io/docs/config-gitpod-file) +# and commit this file to your remote git repository to share the goodness with others. + +tasks: + - init: npm install && npm run build + command: npm run dev diff --git a/src/lib/stores/project.ts b/src/lib/stores/project.ts index eb58f78c6..6ec0ab0c9 100644 --- a/src/lib/stores/project.ts +++ b/src/lib/stores/project.ts @@ -1,11 +1,11 @@ -import type { Client, Models } from "@aw-labs/appwrite-console"; +import type { Client, Models } from '@aw-labs/appwrite-console'; type Payload = { [key: string]: any; -} +}; class Service { - static CHUNK_SIZE = 5*1024*1024; // 5MB + static CHUNK_SIZE = 5 * 1024 * 1024; // 5MB client: Client; @@ -17,13 +17,12 @@ class Service { let output: Payload = {}; for (const key in data) { - let value = data[key]; - let finalKey = prefix ? `${prefix}[${key}]` : key; + const value = data[key]; + const finalKey = prefix ? `${prefix}[${key}]` : key; if (Array.isArray(value)) { output = Object.assign(output, this.flatten(value, finalKey)); - } - else { + } else { output[finalKey] = value; } } @@ -33,8 +32,7 @@ class Service { } export class Project extends Service { - constructor(client: Client) - { + constructor(client: Client) { super(client); } @@ -46,17 +44,22 @@ export class Project extends Service { * @throws {AppwriteException} * @returns {Promise} */ - async getUsage(range?: string): Promise { - let path = '/project/usage'; - let payload: Payload = {}; + async getUsage(range?: string): Promise { + const path = '/project/usage'; + const payload: Payload = {}; if (typeof range !== 'undefined') { payload['range'] = range; } const uri = new URL(this.client.config.endpoint + path); - return await this.client.call('get', uri, { - 'content-type': 'application/json', - }, payload); + return await this.client.call( + 'get', + uri, + { + 'content-type': 'application/json' + }, + payload + ); } -} \ No newline at end of file +} From 21c3d07a53496d74fd5a3c808165850363de5907 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Mon, 21 Nov 2022 09:57:01 +0000 Subject: [PATCH 004/455] Sum stats instead of last --- .../project-[project]/overview/+layout.svelte | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/routes/console/project-[project]/overview/+layout.svelte b/src/routes/console/project-[project]/overview/+layout.svelte index fbed69cfb..18b05b6b8 100644 --- a/src/routes/console/project-[project]/overview/+layout.svelte +++ b/src/routes/console/project-[project]/overview/+layout.svelte @@ -65,7 +65,7 @@ {:else} {#if $usage} - {@const storage = humanFileSize(last($usage.storage).value)} + {@const storage = humanFileSize(total($usage.storage))}
@@ -89,14 +89,14 @@
- {format(last($usage.documents).value)} + {format(total($usage.documents))}
Documents
- Databases: {format(last($usage.databases).value)} + Databases: {format(total($usage.databases))}
@@ -124,7 +124,7 @@
- Buckets: {format(last($usage.buckets).value)} + Buckets: {format(total($usage.buckets))}
@@ -144,7 +144,7 @@
- {format(last($usage.users).value)} + {format(total($usage.users))}
Users
@@ -165,7 +165,7 @@
- {format(last($usage.executions).value)} + {format(total($usage.executions))}
Executions
From 7fbec8ecbe0b6077bbee7c273b03ff2c25d94948 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Thu, 24 Nov 2022 09:14:23 +0000 Subject: [PATCH 005/455] Sum stats on usage page --- src/lib/layout/usage.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/layout/usage.svelte b/src/lib/layout/usage.svelte index e34799528..ec13ea4ad 100644 --- a/src/lib/layout/usage.svelte +++ b/src/lib/layout/usage.svelte @@ -57,7 +57,7 @@ {#if count} - {last(count).value} + {total(count)}

{countMetadata.title}

From 7339664a0896033b396e105e63ea2630924ccea2 Mon Sep 17 00:00:00 2001 From: Matej Baco Date: Thu, 24 Nov 2022 10:18:48 +0100 Subject: [PATCH 006/455] Fix executions usage --- .../function-[function]/usage/[[period]]/+page.svelte | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/routes/console/project-[project]/functions/function-[function]/usage/[[period]]/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/usage/[[period]]/+page.svelte index 628eaf11e..91cb30b9e 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/usage/[[period]]/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/usage/[[period]]/+page.svelte @@ -1,7 +1,7 @@ + + + Sign up - Appwrite + + + + {title} + +
+ + + + + + + By registering, you agree that you have read, understand, and acknowledge our + Privacy Policy + and accept our + General Terms of Use. + + + + +
+
+ + + +
diff --git a/src/routes/register/invite/[slug]/mlh-dark.svg b/src/routes/register/invite/[slug]/mlh-dark.svg new file mode 100644 index 000000000..0e5dbcdf8 --- /dev/null +++ b/src/routes/register/invite/[slug]/mlh-dark.svg @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/routes/register/invite/[slug]/mlh-light.svg b/src/routes/register/invite/[slug]/mlh-light.svg new file mode 100644 index 000000000..2ec970a5d --- /dev/null +++ b/src/routes/register/invite/[slug]/mlh-light.svg @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/routes/register/mlh-logo-black.svg b/src/routes/register/mlh-logo-black.svg deleted file mode 100644 index d8de1b931..000000000 --- a/src/routes/register/mlh-logo-black.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - mlh-logo-black - Created with Sketch. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/routes/register/mlh-logo-white.svg b/src/routes/register/mlh-logo-white.svg deleted file mode 100644 index e7c5aee5f..000000000 --- a/src/routes/register/mlh-logo-white.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - mlh-logo-white - Created with Sketch. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 453f010bfd17356db9003ab057d78bfde7c35b75 Mon Sep 17 00:00:00 2001 From: shimon Date: Tue, 7 Feb 2023 16:47:01 +0200 Subject: [PATCH 016/455] support usage metrics update --- src/lib/layout/usage.svelte | 79 ------------------- .../auth/usage/[[period]]/+page.svelte | 26 +----- .../auth/usage/[[period]]/+page.ts | 6 +- .../usage/[[period]]/+page.svelte | 26 +----- .../usage/[[period]]/+page.ts | 6 +- .../usage/[[period]]/+page.svelte | 26 +----- .../usage/[[period]]/+page.ts | 6 +- .../databases/usage/[[period]]/+page.svelte | 26 +----- .../databases/usage/[[period]]/+page.ts | 6 +- .../usage/[[period]]/+page.svelte | 17 +--- .../usage/[[period]]/+page.ts | 3 +- .../usage/[[period]]/+page.svelte | 26 +----- .../bucket-[bucket]/usage/[[period]]/+page.ts | 6 +- .../storage/usage/[[period]]/+page.svelte | 26 +----- .../storage/usage/[[period]]/+page.ts | 6 +- 15 files changed, 14 insertions(+), 277 deletions(-) diff --git a/src/lib/layout/usage.svelte b/src/lib/layout/usage.svelte index f46913608..4967d0b6e 100644 --- a/src/lib/layout/usage.svelte +++ b/src/lib/layout/usage.svelte @@ -26,16 +26,7 @@ export let title: string; export let count: Models.Metric[]; - export let created: Models.Metric[]; - export let read: Models.Metric[]; - export let updated: Models.Metric[]; - export let deleted: Models.Metric[]; - export let countMetadata: MetricMetadata; - export let createdMetadata: MetricMetadata; - export let readMetadata: MetricMetadata; - export let updatedMetadata: MetricMetadata; - export let deletedMetadata: MetricMetadata; export let path: string = null; @@ -72,76 +63,6 @@
{/if} - - - {#if created} - {total(created)} -

{createdMetadata.title}

-
-
- [e.date, e.value])], - color: Colors.Secondary - } - ]} /> -
- {/if} - - - {#if read} - {total(read)} -

{readMetadata.title}

-
-
- [e.date, e.value])], - color: Colors.Tertiary - } - ]} /> -
- {/if} - - - {#if updated} - {total(updated)} -

{updatedMetadata.title}

-
-
- [e.date, e.value])], - color: Colors.Quaternary - } - ]} /> -
- {/if} - - - {#if deleted} - {total(deleted)} -

{deletedMetadata.title}

-
-
- [e.date, e.value])], - color: Colors.Quinary - } - ]} /> -
- {/if} - - diff --git a/src/lib/components/permissions/permissions.svelte b/src/lib/components/permissions/permissions.svelte index e50feb9a6..85898f3db 100644 --- a/src/lib/components/permissions/permissions.svelte +++ b/src/lib/components/permissions/permissions.svelte @@ -142,74 +142,76 @@ {#if [...$groups]?.length} - - - Role - {#if withCreate} - Create - {/if} - Read - Update - Delete - - - - {#each [...$groups].sort(sortRoles) as [role, permission] (role)} - - - - +
+
+ + Role + {#if withCreate} + Create + {/if} + Read + Update + Delete + + + + {#each [...$groups].sort(sortRoles) as [role, permission] (role)} + + + + - {#if withCreate} - + {#if withCreate} + + togglePermission(role, 'create')} /> + + {/if} + togglePermission(role, 'create')} /> + aria-label="Read" + checked={permission.read} + on:change={() => togglePermission(role, 'read')} /> + + + togglePermission(role, 'update')} /> + + + togglePermission(role, 'delete')} /> - {/if} - - togglePermission(role, 'read')} /> - - - togglePermission(role, 'update')} /> - - - togglePermission(role, 'delete')} /> - - -
- -
-
-
- {/each} -
-
+ +
+ +
+
+ + {/each} + + +
Date: Wed, 22 Mar 2023 15:30:37 +0000 Subject: [PATCH 026/455] fix: permissions droplist overflow --- src/lib/components/drop.svelte | 16 ++++++++++++++++ src/lib/components/dropList.svelte | 3 ++- src/lib/components/permissions/actions.svelte | 2 +- .../components/permissions/permissions.svelte | 1 - 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/lib/components/drop.svelte b/src/lib/components/drop.svelte index 84486418a..f4ec703e5 100644 --- a/src/lib/components/drop.svelte +++ b/src/lib/components/drop.svelte @@ -10,6 +10,7 @@ export let noArrow = false; export let placement: Placement = 'bottom-start'; export let childStart = false; + export let fixed = false; let element: HTMLDivElement; let tooltip: HTMLDivElement; @@ -19,6 +20,7 @@ onMount(() => { instance = createPopper(element, tooltip, { placement, + strategy: fixed ? 'fixed' : 'absolute', modifiers: [ { name: 'arrow', @@ -37,6 +39,20 @@ options: { fallbackPlacements: ['bottom-start', 'bottom-end', 'top-start', 'top-end'] } + }, + { + name: 'sameWidth', + enabled: fixed, + phase: 'beforeWrite', + requires: ['computeStyles'], + fn: ({ state }) => { + state.styles.popper.width = `${state.rects.reference.width}px`; + }, + effect: ({ state }) => { + state.elements.popper.style.width = `${ + (state.elements.reference as HTMLElement)?.offsetWidth + }px`; + } } ] }); diff --git a/src/lib/components/dropList.svelte b/src/lib/components/dropList.svelte index 5d87c92f8..0cb63d7f9 100644 --- a/src/lib/components/dropList.svelte +++ b/src/lib/components/dropList.svelte @@ -8,9 +8,10 @@ export let childStart = false; export let noArrow = false; export let width: string = null; + export let fixed = false; - +
- + dispatch('create', ['any'])}> diff --git a/src/lib/components/permissions/permissions.svelte b/src/lib/components/permissions/permissions.svelte index 85898f3db..c831bd609 100644 --- a/src/lib/components/permissions/permissions.svelte +++ b/src/lib/components/permissions/permissions.svelte @@ -12,7 +12,6 @@ diff --git a/src/routes/console/project-[project]/settings/smtp/+page.svelte b/src/routes/console/project-[project]/settings/smtp/+page.svelte new file mode 100644 index 000000000..e95f7d0bc --- /dev/null +++ b/src/routes/console/project-[project]/settings/smtp/+page.svelte @@ -0,0 +1,121 @@ + + + +
+ + SMTP Server +

+ You can customize the email service by providing your own SMTP server. View your + email templates here +

+ + + +

+ Enabling this option allows customizing email templates and prevents emails + from being labeled as spam. +

+ + {#if enabled} + + + + + + {/if} +
+
+ + + + +
+
+
From 2116a7f67eb12ddbd0b704011acaf276eb1d3219 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Mon, 10 Apr 2023 07:40:33 +0545 Subject: [PATCH 031/455] auth templates component --- .../project-[project]/auth/header.svelte | 6 ++++ .../auth/templates/+page.svelte | 29 +++++++++++++++++++ .../settings/smtp/+page.svelte | 5 +++- 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 src/routes/console/project-[project]/auth/templates/+page.svelte diff --git a/src/routes/console/project-[project]/auth/header.svelte b/src/routes/console/project-[project]/auth/header.svelte index 1e43c859b..8b2bd602d 100644 --- a/src/routes/console/project-[project]/auth/header.svelte +++ b/src/routes/console/project-[project]/auth/header.svelte @@ -19,6 +19,12 @@ hasChildren: true, event: 'teams' }, + { + href: `${path}/templates`, + title: 'Templates', + hasChildren: false, + event: 'templates' + }, { href: `${path}/usage`, title: 'Usage', diff --git a/src/routes/console/project-[project]/auth/templates/+page.svelte b/src/routes/console/project-[project]/auth/templates/+page.svelte new file mode 100644 index 000000000..d8cf08d0b --- /dev/null +++ b/src/routes/console/project-[project]/auth/templates/+page.svelte @@ -0,0 +1,29 @@ + + + + {#if !$project.smtpEnabled} + { + goto(base + '/console/project-' + $project.$id + '/settings/smtp'); + } + } + ]}> + + Custom SMTP server is required for customizing emails + + Configure a custom SMTP server to enable custom email templates and prevent emails from being + labeled as spam. + + {/if} + diff --git a/src/routes/console/project-[project]/settings/smtp/+page.svelte b/src/routes/console/project-[project]/settings/smtp/+page.svelte index e95f7d0bc..b203b8c09 100644 --- a/src/routes/console/project-[project]/settings/smtp/+page.svelte +++ b/src/routes/console/project-[project]/settings/smtp/+page.svelte @@ -11,6 +11,7 @@ import { addNotification } from '$lib/stores/notifications'; import { Submit, trackError, trackEvent } from '$lib/actions/analytics'; import InputNumber from '$lib/elements/forms/inputNumber.svelte'; + import { base } from '$app/paths'; let enabled = false; let sender: string; @@ -68,7 +69,9 @@ SMTP Server

You can customize the email service by providing your own SMTP server. View your - email templates here + email templates here

From 09bf5ee06573f6c8364ab8146a4156b64e3763a8 Mon Sep 17 00:00:00 2001 From: tglide <26071571+TGlide@users.noreply.github.com> Date: Mon, 10 Apr 2023 13:41:27 +0100 Subject: [PATCH 032/455] fix: onboarding adjutments --- src/routes/console/project-[project]/overview/onboard.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/console/project-[project]/overview/onboard.svelte b/src/routes/console/project-[project]/overview/onboard.svelte index 25dc94f90..7ecd4ee6e 100644 --- a/src/routes/console/project-[project]/overview/onboard.svelte +++ b/src/routes/console/project-[project]/overview/onboard.svelte @@ -146,7 +146,7 @@
+ style={`background-image: url(${onBoardImage1}); box-shadow: none !important`}>
From 94b802dd8f388c5537e00e8ec4a64138210281ab Mon Sep 17 00:00:00 2001 From: tglide <26071571+TGlide@users.noreply.github.com> Date: Tue, 11 Apr 2023 18:31:17 +0100 Subject: [PATCH 033/455] refactor: copy changes --- .../project-[project]/overview/onboard.svelte | 17 +++++++++-------- .../overview/platforms/createWeb.svelte | 6 +++--- .../overview/platforms/wizard/web/step1.svelte | 2 +- .../overview/platforms/wizard/web/step2.svelte | 9 +++------ .../overview/platforms/wizard/web/step3.svelte | 8 ++++---- 5 files changed, 20 insertions(+), 22 deletions(-) diff --git a/src/routes/console/project-[project]/overview/onboard.svelte b/src/routes/console/project-[project]/overview/onboard.svelte index 7ecd4ee6e..18c0555d7 100644 --- a/src/routes/console/project-[project]/overview/onboard.svelte +++ b/src/routes/console/project-[project]/overview/onboard.svelte @@ -14,22 +14,22 @@ const platforms = [ { - title: 'Web App', + title: 'Web', icon: 'grayscale/code', platform: Platform.Web }, { - title: 'Flutter App', + title: 'Flutter', icon: 'color/flutter', platform: Platform.Flutter }, { - title: 'Apple App', + title: 'Apple', icon: 'color/apple', platform: Platform.Apple }, { - title: 'Android App', + title: 'Android', icon: 'color/android', platform: Platform.Android } @@ -49,7 +49,7 @@

Getting Started Guide

- Let's get your project up and running + Here are some next steps to start building

@@ -61,7 +61,7 @@

Add a Platform

- Our SDK's make it possible to easily add any platform that you want to use. + Our SDKs make it possible to easily integrate with any platform.

@@ -99,7 +99,8 @@

Integrate With Your Server

- Our SDK's make it possible to easily add any platform that you want to use. + Appwrite is designed to adapt to your existing backend. Integrate Appwrite with your + backend code base using Server SDKs or Webhooks.

@@ -152,7 +153,7 @@
- Add a Platform to View Data About Your Project + Add a platform to view data about your project
Get insights on bandwidth usage, requests, realtime connections and more after making diff --git a/src/routes/console/project-[project]/overview/platforms/createWeb.svelte b/src/routes/console/project-[project]/overview/platforms/createWeb.svelte index a7f571b65..a2e35f90a 100644 --- a/src/routes/console/project-[project]/overview/platforms/createWeb.svelte +++ b/src/routes/console/project-[project]/overview/platforms/createWeb.svelte @@ -26,7 +26,7 @@ const stepsComponents: WizardStepsType = new Map(); stepsComponents.set(1, { - label: 'Register your app', + label: 'Register your platform', component: Step1 }); stepsComponents.set(2, { @@ -35,7 +35,7 @@ optional: true }); stepsComponents.set(3, { - label: "Let's get coding", + label: 'Initialize SDK', component: Step3, optional: true }); @@ -47,7 +47,7 @@ - Register your Web app + Register your hostname

- When you're using a bundler (like Rollup), import the Appwrite module when you need it: + >, import Appwrite as a module:

{:else if method === Method.CDN} -

- To install with a CDN (content delivery network) add the following scripts to the bottom - of your tag, but before you use any Appwrite services: -

+

Add the following script tags to install Appwrite with a CDN:

{/if}
diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/web/step3.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/web/step3.svelte index 2e4e6744c..06f487e84 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/web/step3.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/web/step3.svelte @@ -12,12 +12,12 @@ client - Let's get coding + Initialize SDK -

Init your SDK

+

Initialize your SDK

- Now that you've downloaded the SDK, it's time to initialze it. Use your project ID, which - can be found in your project settings page. + Initialize your SDK by pointing the client to your Appwrite project using your +

From 8cc5b38bebdd859a5a27c35e8974aafe8fe25caa Mon Sep 17 00:00:00 2001 From: tglide <26071571+TGlide@users.noreply.github.com> Date: Tue, 11 Apr 2023 19:02:51 +0100 Subject: [PATCH 034/455] refactor: several copy changes --- .../overview/platforms/createAndroid.svelte | 4 ++-- .../overview/platforms/createApple.svelte | 2 +- .../overview/platforms/createFlutter.svelte | 6 +++--- .../overview/platforms/createWeb.svelte | 2 +- .../overview/platforms/wizard/android/step2.svelte | 2 +- .../overview/platforms/wizard/android/step3.svelte | 7 ++++--- .../overview/platforms/wizard/apple/step1.svelte | 2 +- .../overview/platforms/wizard/apple/step2.svelte | 6 ++++-- .../overview/platforms/wizard/apple/step3.svelte | 14 ++++++-------- .../overview/platforms/wizard/flutter/step1.svelte | 11 ++++++++++- .../overview/platforms/wizard/flutter/step2.svelte | 7 +++++-- .../overview/platforms/wizard/flutter/step3.svelte | 7 ++++--- .../overview/platforms/wizard/step4.svelte | 13 ++++++++++--- .../overview/platforms/wizard/web/step3.svelte | 5 +++-- 14 files changed, 55 insertions(+), 33 deletions(-) diff --git a/src/routes/console/project-[project]/overview/platforms/createAndroid.svelte b/src/routes/console/project-[project]/overview/platforms/createAndroid.svelte index 6cbb9e9d7..ccc539758 100644 --- a/src/routes/console/project-[project]/overview/platforms/createAndroid.svelte +++ b/src/routes/console/project-[project]/overview/platforms/createAndroid.svelte @@ -47,8 +47,8 @@ + finalAction="Go to dashboard" /> diff --git a/src/routes/console/project-[project]/overview/platforms/createApple.svelte b/src/routes/console/project-[project]/overview/platforms/createApple.svelte index 4473938f3..64eda21f2 100644 --- a/src/routes/console/project-[project]/overview/platforms/createApple.svelte +++ b/src/routes/console/project-[project]/overview/platforms/createApple.svelte @@ -51,4 +51,4 @@ steps={stepsComponents} on:finish={onFinish} on:exit={onFinish} - finalAction="Take me to my Dashboard" /> + finalAction="Go to dashboard" /> diff --git a/src/routes/console/project-[project]/overview/platforms/createFlutter.svelte b/src/routes/console/project-[project]/overview/platforms/createFlutter.svelte index cab3673bb..98059a580 100644 --- a/src/routes/console/project-[project]/overview/platforms/createFlutter.svelte +++ b/src/routes/console/project-[project]/overview/platforms/createFlutter.svelte @@ -26,7 +26,7 @@ const stepsComponents: WizardStepsType = new Map(); stepsComponents.set(1, { - label: 'Register your app', + label: 'Register your platform', component: Step1 }); stepsComponents.set(2, { @@ -47,8 +47,8 @@ + finalAction="Go to dashboard" /> diff --git a/src/routes/console/project-[project]/overview/platforms/createWeb.svelte b/src/routes/console/project-[project]/overview/platforms/createWeb.svelte index a2e35f90a..5d79790e6 100644 --- a/src/routes/console/project-[project]/overview/platforms/createWeb.svelte +++ b/src/routes/console/project-[project]/overview/platforms/createWeb.svelte @@ -51,4 +51,4 @@ steps={stepsComponents} on:finish={onFinish} on:exit={onFinish} - finalAction="Take me to my Dashboard" /> + finalAction="Go to dashboard" /> diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/android/step2.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/android/step2.svelte index 95839d15c..e6fb7c455 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/android/step2.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/android/step2.svelte @@ -11,7 +11,7 @@ Get the SDK -

First, add this to your root level build.gradle file:

+

First, add this to your root level build.gradle file.

And add this to your project's build.gradle file:

diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/android/step3.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/android/step3.svelte index b18f0f23a..1bf2bd9ab 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/android/step3.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/android/step3.svelte @@ -1,5 +1,6 @@ - Register your Flutter app + Register your {registee}
Get the SDK -

Add Appwrite SDK to your package's pubspec.yaml file. You can view an example here.

+

+ Add Appwrite SDK to your package's pubspec.yaml file. You can + view an example here. +

- You can also install the SDK using the Dart package manager from your terminal: + You can also install the SDK using the Dart package manager from your terminal.

diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step3.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step3.svelte index ec5b9ac48..4c2cf05bf 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step3.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step3.svelte @@ -3,6 +3,7 @@ import { WizardStep } from '$lib/layout'; import { Mode, MODE } from '$lib/system'; import { sdk } from '$lib/stores/sdk'; + import Id from '$lib/components/id.svelte'; const { endpoint, project } = sdk.forProject.client.config; const code = `import 'package:appwrite/appwrite.dart'; @@ -19,10 +20,10 @@ client Let's get coding -

Init your SDK

+

Initialize your SDK

- Now that you've downloaded the SDK, it's time to initialze it. Use your project ID, which - can be found in your project settings page. + Initialize your SDK by pointing the client to your Appwrite project using your Project ID

diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/step4.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/step4.svelte index c6cbb6d17..cc2c48958 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/step4.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/step4.svelte @@ -1,12 +1,19 @@ You're ready to go 🎉

- Congrats, you've just added your first platform to your Appwrite dashboard! Are you ready to - give it a go? Why not add a database to your project, or start uploading files? The choice - is up to you. + {#if isFirstProject} + Congratulations on adding the first platform to your project! Start exploring by + creating users, adding a database to your project, or uploading files to a bucket. + {:else} + Congratulations on adding another platform to your project! Start building by adding a + database, uploading files to a bucket and more via your dashboard. + {/if}

diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/web/step3.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/web/step3.svelte index 06f487e84..61dad974e 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/web/step3.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/web/step3.svelte @@ -1,5 +1,6 @@ {#if !$project.smtpEnabled} {/if} + + + Email Templates +

+ Use templates to send and process account management emails. + Learn more about Email templates + . +

+ + + + + Verification +

+ Send a verification email to users that sign in with their email and + password. +

+ saveEmailTemplate('verification', data)} /> +
+ + Magic URL + saveEmailTemplate('verification', data)} /> + + + Reset Password + + + + Invite User + + +
+
+
+ + + SMS Templates +

+ Use templates to send and process account management mobile messages. + Learn more about SMS templates + . +

+ + + + + Verification +

+ Send a verification SMS to users that sign in with their phone +

+ +
+ + Login + + +
+
+
diff --git a/src/routes/console/project-[project]/auth/templates/emailTemplate.svelte b/src/routes/console/project-[project]/auth/templates/emailTemplate.svelte new file mode 100644 index 000000000..f2e143e77 --- /dev/null +++ b/src/routes/console/project-[project]/auth/templates/emailTemplate.svelte @@ -0,0 +1,56 @@ + + + +
+ + + + + + + + + +
+
diff --git a/src/routes/console/project-[project]/auth/templates/localeOptions.svelte b/src/routes/console/project-[project]/auth/templates/localeOptions.svelte new file mode 100644 index 000000000..66f1b7c90 --- /dev/null +++ b/src/routes/console/project-[project]/auth/templates/localeOptions.svelte @@ -0,0 +1,14 @@ + + + diff --git a/src/routes/console/project-[project]/auth/templates/smsTemplate.svelte b/src/routes/console/project-[project]/auth/templates/smsTemplate.svelte new file mode 100644 index 000000000..688bbae44 --- /dev/null +++ b/src/routes/console/project-[project]/auth/templates/smsTemplate.svelte @@ -0,0 +1,13 @@ + + + +
+ + + +
+
diff --git a/src/routes/console/project-[project]/settings/smtp/+page.svelte b/src/routes/console/project-[project]/settings/smtp/+page.svelte index b203b8c09..c98f34a83 100644 --- a/src/routes/console/project-[project]/settings/smtp/+page.svelte +++ b/src/routes/console/project-[project]/settings/smtp/+page.svelte @@ -26,6 +26,7 @@ host = $project.smtpHost; port = $project.smtpPort; username = $project.smtpUsername; + password = $project.smtpPassword; }); async function updateSmtp() { @@ -37,7 +38,7 @@ host, port, username, - password: password ? password : $project.smtpPassword + password }; try { await sdk.forConsole.client.call( From 6c9ae9a4d2b8ff73689b6b8afc5c0e7fc403cd2f Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sat, 15 Apr 2023 13:58:29 +0400 Subject: [PATCH 037/455] feat: add password personal data check --- .../auth/security/+page.svelte | 2 + .../updatePasswordPersonalData.svelte | 62 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 src/routes/console/project-[project]/auth/security/updatePasswordPersonalData.svelte diff --git a/src/routes/console/project-[project]/auth/security/+page.svelte b/src/routes/console/project-[project]/auth/security/+page.svelte index c9c411910..477deb0f1 100644 --- a/src/routes/console/project-[project]/auth/security/+page.svelte +++ b/src/routes/console/project-[project]/auth/security/+page.svelte @@ -2,6 +2,7 @@ import { Container } from '$lib/layout'; import UpdatePasswordDictionary from './updatePasswordDictionary.svelte'; import UpdatePasswordHistory from './updatePasswordHistory.svelte'; + import UpdatePasswordPersonalData from './updatePasswordPersonalData.svelte'; import UpdateSessionLength from './updateSessionLength.svelte'; import UpdateSessionsLimit from './updateSessionsLimit.svelte'; import UpdateUsersLimit from './updateUsersLimit.svelte'; @@ -13,4 +14,5 @@ + diff --git a/src/routes/console/project-[project]/auth/security/updatePasswordPersonalData.svelte b/src/routes/console/project-[project]/auth/security/updatePasswordPersonalData.svelte new file mode 100644 index 000000000..de1bfab90 --- /dev/null +++ b/src/routes/console/project-[project]/auth/security/updatePasswordPersonalData.svelte @@ -0,0 +1,62 @@ + From d77cc751fe8f6a3c46fda8ee54e31126ebf16e30 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sat, 15 Apr 2023 14:18:02 +0400 Subject: [PATCH 038/455] feat: add password personal data check --- package-lock.json | 9 +++--- package.json | 2 +- src/lib/actions/analytics.ts | 1 + .../security/updatePasswordHistory.svelte | 2 +- .../updatePasswordPersonalData.svelte | 30 ++++++++----------- 5 files changed, 21 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index 46a843438..2d242e6ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "name": "@appwrite/console", "dependencies": { "@analytics/google-analytics": "^1.0.5", - "@appwrite.io/console": "0.1.0", + "@appwrite.io/console": "npm:christy-appwrite-console@0.0.5", "@appwrite.io/pink": "^0.0.6-rc.10", "@popperjs/core": "^2.11.6", "@sentry/svelte": "^7.44.2", @@ -147,9 +147,10 @@ "integrity": "sha512-1Yw7u/COtxx06BfwlI+kVhsa/upKYzmCNrT4c8QDeCY2KMYlnijkUjtHiPU08HxyTIVB5j6d75O0YWVIHwQS8g==" }, "node_modules/@appwrite.io/console": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@appwrite.io/console/-/console-0.1.0.tgz", - "integrity": "sha512-GzCRUmaXAVgpGwxBNI3PrtCLHz7CM+epBHDDTHw8B2u61KbijGBO3GrwreXy91fy00RJiEzGlMSRzDgwsF3Tsg==", + "name": "christy-appwrite-console", + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/christy-appwrite-console/-/christy-appwrite-console-0.0.5.tgz", + "integrity": "sha512-9OHfJW1Tys4xeJh/p3kzNb92oqDT3zrz6Iu8ob6maKupyhb5ghWIa1ev0bowiYvJTDGkNVfDVXXHoXYbBbrmmQ==", "dependencies": { "cross-fetch": "3.1.5", "isomorphic-form-data": "2.0.0" diff --git a/package.json b/package.json index 0e7ec8d6e..f25008dc8 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@analytics/google-analytics": "^1.0.5", - "@appwrite.io/console": "0.1.0", + "@appwrite.io/console": "npm:christy-appwrite-console@0.0.5", "@appwrite.io/pink": "^0.0.6-rc.10", "@popperjs/core": "^2.11.6", "@sentry/svelte": "^7.44.2", diff --git a/src/lib/actions/analytics.ts b/src/lib/actions/analytics.ts index 84c178cc4..066eb7009 100644 --- a/src/lib/actions/analytics.ts +++ b/src/lib/actions/analytics.ts @@ -143,6 +143,7 @@ export enum Submit { AuthStatusUpdate = 'submit_auth_status_update', AuthPasswordHistoryUpdate = 'submit_auth_password_history_limit_update', AuthPasswordDictionaryUpdate = 'submit_auth_password_dictionary_update', + AuthDisallowPersonalDataUpdate = 'submit_auth_disallow_personal_data_update', SessionsLengthUpdate = 'submit_sessions_length_update', SessionsLimitUpdate = 'submit_sessions_limit_update', SessionDelete = 'submit_session_delete', diff --git a/src/routes/console/project-[project]/auth/security/updatePasswordHistory.svelte b/src/routes/console/project-[project]/auth/security/updatePasswordHistory.svelte index 27a28b5d1..e37078797 100644 --- a/src/routes/console/project-[project]/auth/security/updatePasswordHistory.svelte +++ b/src/routes/console/project-[project]/auth/security/updatePasswordHistory.svelte @@ -44,7 +44,7 @@

diff --git a/src/routes/console/project-[project]/auth/security/updatePasswordPersonalData.svelte b/src/routes/console/project-[project]/auth/security/updatePasswordPersonalData.svelte index de1bfab90..0c6aab2e4 100644 --- a/src/routes/console/project-[project]/auth/security/updatePasswordPersonalData.svelte +++ b/src/routes/console/project-[project]/auth/security/updatePasswordPersonalData.svelte @@ -1,4 +1,4 @@ - + From ea4fee20d5ee03280d1ee89a6f9b05e159b2eb8b Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Mon, 17 Apr 2023 14:02:11 +0545 Subject: [PATCH 039/455] basic working version of email templates --- .../auth/templates/+page.svelte | 64 +++++++++++++++---- .../project-[project]/auth/templates/+page.ts | 17 +++++ .../auth/templates/emailInviteTemplate.svelte | 38 +++++++++++ .../templates/emailMagicUrlTemplate.svelte | 37 +++++++++++ .../templates/emailRecoveryTemplate.svelte | 38 +++++++++++ .../auth/templates/emailTemplate.svelte | 57 ++++++----------- .../emailVerificationTemplate.svelte | 38 +++++++++++ .../auth/templates/localeOptions.svelte | 13 ++-- 8 files changed, 245 insertions(+), 57 deletions(-) create mode 100644 src/routes/console/project-[project]/auth/templates/+page.ts create mode 100644 src/routes/console/project-[project]/auth/templates/emailInviteTemplate.svelte create mode 100644 src/routes/console/project-[project]/auth/templates/emailMagicUrlTemplate.svelte create mode 100644 src/routes/console/project-[project]/auth/templates/emailRecoveryTemplate.svelte create mode 100644 src/routes/console/project-[project]/auth/templates/emailVerificationTemplate.svelte diff --git a/src/routes/console/project-[project]/auth/templates/+page.svelte b/src/routes/console/project-[project]/auth/templates/+page.svelte index cc16b21e4..1beae6bcf 100644 --- a/src/routes/console/project-[project]/auth/templates/+page.svelte +++ b/src/routes/console/project-[project]/auth/templates/+page.svelte @@ -6,22 +6,43 @@ import { Container } from '$lib/layout'; import { sdk } from '$lib/stores/sdk'; import { project } from '../../store'; - import EmailTemplate from './emailTemplate.svelte'; - import SmsTemplate from './smsTemplate.svelte'; import { addNotification } from '$lib/stores/notifications'; import { onMount } from 'svelte'; + import type { PageData } from './$types'; + import EmailVerificationTemplate from './emailVerificationTemplate.svelte'; + import EmailMagicUrlTemplate from './emailMagicUrlTemplate.svelte'; + import EmailRecoveryTemplate from './emailRecoveryTemplate.svelte'; + import EmailInviteTemplate from './emailInviteTemplate.svelte'; + export let data: PageData; const projectId = $page.params.project; + interface EmailTemplate { + senderName: string; + senderEmail: string; + locale: string; + subject: string; + message: string; + } + let emailTemplates: + | { + verification: EmailTemplate; + magicSession: EmailTemplate; + recovery: EmailTemplate; + invitation: EmailTemplate; + } + | any = {}; - let template: any; onMount(() => { - loadEmailTemplate('verification', 'en_us'); + loadEmailTemplate('verification', 'en-us'); + loadEmailTemplate('magicSession', 'en-us'); + loadEmailTemplate('recovery', 'en-us'); + loadEmailTemplate('invitation', 'en-us'); }); async function loadEmailTemplate(type: string, locale: string) { const path = '/projects/' + projectId + '/templates/email/' + type + '/' + locale; try { - template = await sdk.forConsole.client.call( + emailTemplates[type] = await sdk.forConsole.client.call( 'GET', new URL(sdk.forConsole.client.config.endpoint + path) ); @@ -34,10 +55,11 @@ } async function saveEmailTemplate(type: string, data: any) { + console.log(data); const path = '/projects/' + projectId + '/templates/email/' + type + '/' + data.locale; try { - template = await sdk.forConsole.client.call( + emailTemplates[type] = await sdk.forConsole.client.call( 'PATCH', new URL(sdk.forConsole.client.config.endpoint + path), { 'content-type': 'application/json' }, @@ -100,21 +122,35 @@ Send a verification email to users that sign in with their email and password.

- saveEmailTemplate('verification', data)} /> + Magic URL - saveEmailTemplate('verification', data)} /> + Reset Password - + Invite User - + @@ -137,11 +173,11 @@

Send a verification SMS to users that sign in with their phone

- + Login - + diff --git a/src/routes/console/project-[project]/auth/templates/+page.ts b/src/routes/console/project-[project]/auth/templates/+page.ts new file mode 100644 index 000000000..ba12ccdb9 --- /dev/null +++ b/src/routes/console/project-[project]/auth/templates/+page.ts @@ -0,0 +1,17 @@ +import { sdk } from '$lib/stores/sdk'; +import type { PageLoad } from './$types'; + +export const load: PageLoad = async () => { + let codes = { localeCodes: [] }; + try { + codes = await sdk.forProject.client.call( + 'GET', + new URL(sdk.forProject.client.config.endpoint + '/locale/codes') + ); + } catch (e) { + console.log(e); + } + return { + localeCodes: codes.localeCodes + }; +}; diff --git a/src/routes/console/project-[project]/auth/templates/emailInviteTemplate.svelte b/src/routes/console/project-[project]/auth/templates/emailInviteTemplate.svelte new file mode 100644 index 000000000..29f6e45bd --- /dev/null +++ b/src/routes/console/project-[project]/auth/templates/emailInviteTemplate.svelte @@ -0,0 +1,38 @@ + + + + + saveEmailTemplate('invitation', { ...data, locale })} /> + diff --git a/src/routes/console/project-[project]/auth/templates/emailMagicUrlTemplate.svelte b/src/routes/console/project-[project]/auth/templates/emailMagicUrlTemplate.svelte new file mode 100644 index 000000000..62fc23745 --- /dev/null +++ b/src/routes/console/project-[project]/auth/templates/emailMagicUrlTemplate.svelte @@ -0,0 +1,37 @@ + + + + + saveEmailTemplate('magicSession', { ...data, locale })} /> + diff --git a/src/routes/console/project-[project]/auth/templates/emailRecoveryTemplate.svelte b/src/routes/console/project-[project]/auth/templates/emailRecoveryTemplate.svelte new file mode 100644 index 000000000..993a1a51c --- /dev/null +++ b/src/routes/console/project-[project]/auth/templates/emailRecoveryTemplate.svelte @@ -0,0 +1,38 @@ + + + + + saveEmailTemplate('recovery', { ...data, locale })} /> + diff --git a/src/routes/console/project-[project]/auth/templates/emailTemplate.svelte b/src/routes/console/project-[project]/auth/templates/emailTemplate.svelte index f2e143e77..9fd9b2f4f 100644 --- a/src/routes/console/project-[project]/auth/templates/emailTemplate.svelte +++ b/src/routes/console/project-[project]/auth/templates/emailTemplate.svelte @@ -1,5 +1,4 @@ - -
- - - - - - - - - -
-
+
+ + + + + + + + +
diff --git a/src/routes/console/project-[project]/auth/templates/emailVerificationTemplate.svelte b/src/routes/console/project-[project]/auth/templates/emailVerificationTemplate.svelte new file mode 100644 index 000000000..b9384afc9 --- /dev/null +++ b/src/routes/console/project-[project]/auth/templates/emailVerificationTemplate.svelte @@ -0,0 +1,38 @@ + + + + + saveEmailTemplate('verification', { ...data, locale })} /> + diff --git a/src/routes/console/project-[project]/auth/templates/localeOptions.svelte b/src/routes/console/project-[project]/auth/templates/localeOptions.svelte index 66f1b7c90..0a5395aa9 100644 --- a/src/routes/console/project-[project]/auth/templates/localeOptions.svelte +++ b/src/routes/console/project-[project]/auth/templates/localeOptions.svelte @@ -1,14 +1,17 @@ ({ + label: code.name, + value: code.code + })) ]} /> From d7171b391646770a9c529092f304f6ba8c9eb6b6 Mon Sep 17 00:00:00 2001 From: tglide <26071571+TGlide@users.noreply.github.com> Date: Mon, 17 Apr 2023 11:30:14 +0100 Subject: [PATCH 040/455] refactor: small copy changes --- .../overview/platforms/wizard/android/step2.svelte | 2 +- .../overview/platforms/wizard/apple/step2.svelte | 2 +- .../overview/platforms/wizard/web/step2.svelte | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/android/step2.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/android/step2.svelte index e6fb7c455..c195b2822 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/android/step2.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/android/step2.svelte @@ -13,6 +13,6 @@ Get the SDK

First, add this to your root level build.gradle file.

-

And add this to your project's build.gradle file:

+

And add this to your project's build.gradle file.

diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/apple/step2.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/apple/step2.svelte index bfc3ec5a2..2c0519fdb 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/apple/step2.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/apple/step2.svelte @@ -74,7 +74,7 @@ {:else if method === Method.Swift}

Add this to your Package.swift file.

-

Then add the dependency to your target:

+

Then add the dependency to your target.

{/if}
diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/web/step2.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/web/step2.svelte index fa2bb70ed..96ad44e53 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/web/step2.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/web/step2.svelte @@ -48,11 +48,11 @@ or Rollup, import Appwrite as a module: + >, import Appwrite as a module.

{:else if method === Method.CDN} -

Add the following script tags to install Appwrite with a CDN:

+

Add the following script tags to install Appwrite with a CDN.

{/if}
From 8b52804241615b7ad4d6dc941d5fd6a1aeafd213 Mon Sep 17 00:00:00 2001 From: Arman Date: Mon, 17 Apr 2023 16:18:56 +0200 Subject: [PATCH 041/455] feat: add inputSearchSelect, add modal on textareaclick, small fixes --- .../elements/forms/inputSelectSearch.svelte | 7 +-- src/lib/elements/forms/inputTextarea.svelte | 3 +- .../auth/templates/+page.svelte | 5 +- .../auth/templates/editMessage.svelte | 60 +++++++++++++++++++ .../auth/templates/emailInviteTemplate.svelte | 4 +- .../templates/emailMagicUrlTemplate.svelte | 4 +- .../templates/emailRecoveryTemplate.svelte | 4 +- .../auth/templates/emailTemplate.svelte | 21 ++++++- .../emailVerificationTemplate.svelte | 9 ++- .../auth/templates/localeOptions.svelte | 43 +++++++++---- 10 files changed, 126 insertions(+), 34 deletions(-) create mode 100644 src/routes/console/project-[project]/auth/templates/editMessage.svelte diff --git a/src/lib/elements/forms/inputSelectSearch.svelte b/src/lib/elements/forms/inputSelectSearch.svelte index 50c435a29..c7fa41ba8 100644 --- a/src/lib/elements/forms/inputSelectSearch.svelte +++ b/src/lib/elements/forms/inputSelectSearch.svelte @@ -22,7 +22,7 @@ export let disabled = false; export let autofocus = false; export let interactiveOutput = false; - // Input value + export let stretch = true; export let search = ''; // The actual selected value export let value: Option['value']; @@ -82,9 +82,8 @@ value = option.value; search = option.label; // It's not working without this line. - !$$slots.output && (element.value = search); + $$slots.output ? (search = '') : (element.value = search); hasFocus = false; - search = ''; dispatch('select', option); } @@ -99,7 +98,7 @@ $: showClearBtn = (hasFocus && search) || value; -
  • +
  • -
    +