From 0e042456d58dbceae2ba0df76e0e29d0a8a7aae1 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale Date: Thu, 16 Oct 2025 17:33:23 +0530 Subject: [PATCH 01/13] copy prompt --- .../overview/platforms/createAndroid.svelte | 40 +++++++++++++- .../overview/platforms/createApple.svelte | 39 ++++++++++++- .../overview/platforms/createFlutter.svelte | 39 ++++++++++++- .../platforms/createReactNative.svelte | 40 +++++++++++++- .../overview/platforms/createWeb.svelte | 55 ++++++++++++++++++- 5 files changed, 208 insertions(+), 5 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createAndroid.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createAndroid.svelte index e5aba6c42..f6e3d4209 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createAndroid.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createAndroid.svelte @@ -10,7 +10,8 @@ Typography, Fieldset, InlineCode, - Tooltip + Tooltip, + Alert } from '@appwrite.io/pink-svelte'; import { Button, Form, InputText } from '$lib/elements/forms'; import { IconAndroid, IconAppwrite, IconInfo } from '@appwrite.io/pink-icons-svelte'; @@ -39,6 +40,31 @@ const val APPWRITE_PROJECT_NAME = "${$project.name}" const val APPWRITE_PUBLIC_ENDPOINT = "${sdk.forProject(page.params.region, page.params.project).client.config.endpoint}"`; + const prompt = ` + 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal, VSCode or Android Studio. + + \`\`\`bash + ${gitCloneCode} + \`\`\` + + 2. Open the file \`constants/AppwriteConfig.kt\` and update the configuration settings. + + + \`\`\`kotlin + ${configCode} + \`\`\` + + 3. Run the app on a connected device or emulator, then click the \`Send a ping\` button to verify the setup. + `; + + async function copyPrompt() { + await navigator.clipboard.writeText(prompt); + addNotification({ + type: 'success', + message: 'Prompt copied to clipboard' + }); + } + async function createAndroidPlatform() { try { isCreatingPlatform = true; @@ -162,6 +188,18 @@ const val APPWRITE_PUBLIC_ENDPOINT = "${sdk.forProject(page.params.region, page. {#if isPlatformCreated}
+ + + Paste it into your LLM to generate a working setup. + + + 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal, VSCode or Android Studio. diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte index d83013497..4b9237df1 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte @@ -11,7 +11,8 @@ Typography, Fieldset, InlineCode, - Tooltip + Tooltip, + Alert } from '@appwrite.io/pink-svelte'; import { Button, Form, InputText } from '$lib/elements/forms'; import { IconApple, IconAppwrite, IconInfo } from '@appwrite.io/pink-icons-svelte'; @@ -41,6 +42,22 @@ APPWRITE_PROJECT_NAME: "${$project.name}" APPWRITE_PUBLIC_ENDPOINT: "${sdk.forProject(page.params.region, page.params.project).client.config.endpoint}"`; + const prompt = ` + 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal or XCode. + + \`\`\`bash + ${gitCloneCode} + \`\`\` + + 2. Update the configuration settings in the file \`Sources/Config.plist\` to reflect the values below: + + \`\`\`plaintext + ${configCode} + \`\`\` + + 3. Run the app on a connected device or simulator, then click the \`Send a ping\` button to verify the setup. + `; + export let platform: PlatformType = PlatformType.Appleios; let platforms: { [key: string]: PlatformType } = { @@ -50,6 +67,14 @@ APPWRITE_PUBLIC_ENDPOINT: "${sdk.forProject(page.params.region, page.params.proj tvOS: PlatformType.Appletvos }; + async function copyPrompt() { + await navigator.clipboard.writeText(prompt); + addNotification({ + type: 'success', + message: 'Prompt copied to clipboard' + }); + } + async function createApplePlatform() { try { isCreatingPlatform = true; @@ -192,6 +217,18 @@ APPWRITE_PUBLIC_ENDPOINT: "${sdk.forProject(page.params.region, page.params.proj {#if isPlatformCreated}
+ + + Paste it into your LLM to generate a working setup. + + + 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal or XCode. diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte index ac39899ae..00f67852d 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte @@ -11,7 +11,8 @@ Typography, Fieldset, InlineCode, - Tooltip + Tooltip, + Alert } from '@appwrite.io/pink-svelte'; import { Button, Form, InputText } from '$lib/elements/forms'; import { IconFlutter, IconAppwrite, IconInfo } from '@appwrite.io/pink-icons-svelte'; @@ -42,6 +43,22 @@ static const String appwritePublicEndpoint = '${sdk.forProject(page.params.region, page.params.project).client.config.endpoint}'; }`; + const prompt = ` + 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal, VSCode or Android Studio. + + \`\`\`bash + ${gitCloneCode} + \`\`\` + + 2. Replace lib/config/environment.dart to reflect the values below: + + \`\`\`dart + ${configCode} + \`\`\` + + 3. Run the app on a connected device or simulator using \`flutter run -d [device_name]\`, then click the \`Send a ping\` button to verify the setup. + `; + export let platform: PlatformType = PlatformType.Flutterandroid; let platforms: { [key: string]: PlatformType } = { @@ -108,6 +125,14 @@ [PlatformType.Flutterwindows]: 'Package name' }; + async function copyPrompt() { + await navigator.clipboard.writeText(prompt); + addNotification({ + type: 'success', + message: 'Prompt copied to clipboard' + }); + } + async function createFlutterPlatform() { try { isCreatingPlatform = true; @@ -273,6 +298,18 @@ {#if isPlatformCreated}
+ + + Paste it into your LLM to generate a working setup. + + + 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal, VSCode or Android Studio. diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createReactNative.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createReactNative.svelte index 2853694a1..23792884b 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createReactNative.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createReactNative.svelte @@ -11,7 +11,8 @@ Typography, Fieldset, InlineCode, - Tooltip + Tooltip, + Alert } from '@appwrite.io/pink-svelte'; import { Button, Form, InputText } from '$lib/elements/forms'; import { IconReact, IconAppwrite, IconInfo } from '@appwrite.io/pink-icons-svelte'; @@ -40,6 +41,22 @@ EXPO_PUBLIC_APPWRITE_PROJECT_NAME="${$project.name}" EXPO_PUBLIC_APPWRITE_ENDPOINT=${sdk.forProject(page.params.region, page.params.project).client.config.endpoint}`; + const prompt = ` + 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal or VSCode. + + \`\`\`bash + ${gitCloneCode} + \`\`\` + + 2. Add your Appwrite credentials to \`.env.example\` then rename it to \`.env\` if needed. + + \`\`\`dotenv + ${updateConfigCode} + \`\`\` + + 3. Run the app on a connected device or simulator using \`npm install\` followed by \`npm run ios\` or \`npm run android\`, then click the \`Send a ping\` button to verify the setup. + `; + export let platform: PlatformType = PlatformType.Reactnativeandroid; let platforms: { [key: string]: PlatformType } = { @@ -76,6 +93,14 @@ EXPO_PUBLIC_APPWRITE_ENDPOINT=${sdk.forProject(page.params.region, page.params.p [PlatformType.Reactnativeios]: 'Bundle ID' }; + async function copyPrompt() { + await navigator.clipboard.writeText(prompt); + addNotification({ + type: 'success', + message: 'Prompt copied to clipboard' + }); + } + async function createReactNativePlatform() { try { isCreatingPlatform = true; @@ -217,6 +242,19 @@ EXPO_PUBLIC_APPWRITE_ENDPOINT=${sdk.forProject(page.params.region, page.params.p {#if isPlatformCreated}
+ + + Paste it into your LLM to generate a working setup. + + + + 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal or VSCode. diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte index 3a16c105f..0288a657b 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte @@ -11,7 +11,8 @@ Fieldset, InlineCode, Card, - Tooltip + Tooltip, + Alert } from '@appwrite.io/pink-svelte'; import { Button, Form, InputText } from '$lib/elements/forms'; import { @@ -151,6 +152,45 @@ ${prefix}APPWRITE_ENDPOINT = "${sdk.forProject(page.params.region, page.params.p $: selectedFramework = frameworks.find((framework) => framework.key === selectedFrameworkKey); $: selectedFrameworkIcon = selectedFramework ? selectedFramework.icon : NoFrameworkIcon; + $: prompt = `1. If you're starting a new project, you can clone our starter kit from + GitHub using the terminal or VSCode. + + \`\`\`bash + git clone https://github.com/appwrite/starter-for-${selectedFramework.key} + cd starter-for-${selectedFramework.key} + \`\`\` + + 2. Copy the file \`.env.example\` to \`.env\` and update the configuration settings. + + \`\`\`dotenv + APPWRITE_PROJECT_ID=${projectId} + APPWRITE_PROJECT_NAME=${$project.name} + APPWRITE_ENDPOINT=${sdk.forProject(page.params.region, page.params.project).client.config.endpoint} + \`\`\` + + 3. Install project dependencies + + \`\`\`bash + npm install + \`\`\` + + 4. Run the app, then click the \`Send a ping\` button + to verify the setup. + + \`\`\`bash + ${selectedFramework.runCommand} + \`\`\` + + Demo app runs on http://localhost:${selectedFramework.portNumber} + `; + + async function copyPrompt() { + await navigator.clipboard.writeText(prompt); + addNotification({ + type: 'success', + message: 'Prompt copied to clipboard' + }); + } async function createWebPlatform() { hostnameError = hostname !== '' ? !new RegExp(extendedHostnameRegex).test(hostname) : null; @@ -287,6 +327,19 @@ ${prefix}APPWRITE_ENDPOINT = "${sdk.forProject(page.params.region, page.params.p {#if isPlatformCreated && !isChangingFramework}
+ + + Paste it into your LLM to generate a working setup. + + + + 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal or VSCode. From e71d9df1dc066f69f9e88ca87ccb349af81951a4 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Thu, 16 Oct 2025 19:30:37 +0530 Subject: [PATCH 02/13] feat: Set mode modeless for sendVerificationEmailModal to allow click-through overlay for password managers --- package.json | 4 ++-- pnpm-lock.yaml | 20 +++++++++---------- .../account/sendVerificationEmailModal.svelte | 3 ++- src/lib/components/modal.svelte | 3 ++- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 496818696..9270b700b 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,9 @@ "@ai-sdk/svelte": "^1.1.24", "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@636ed39", "@appwrite.io/pink-icons": "0.25.0", - "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@8f82877", + "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@b93a4a4", "@appwrite.io/pink-legacy": "^1.0.3", - "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@8f82877", + "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@b93a4a4", "@faker-js/faker": "^9.9.0", "@popperjs/core": "^2.11.8", "@sentry/sveltekit": "^8.38.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 827befa27..2e61c4695 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,14 +18,14 @@ importers: specifier: 0.25.0 version: 0.25.0 '@appwrite.io/pink-icons-svelte': - specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@8f82877 - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@8f82877(svelte@5.25.3) + specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@b93a4a4 + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@b93a4a4(svelte@5.25.3) '@appwrite.io/pink-legacy': specifier: ^1.0.3 version: 1.0.3 '@appwrite.io/pink-svelte': - specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@8f82877 - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@8f82877(svelte@5.25.3) + specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@b93a4a4 + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@b93a4a4(svelte@5.25.3) '@faker-js/faker': specifier: ^9.9.0 version: 9.9.0 @@ -269,8 +269,8 @@ packages: peerDependencies: svelte: ^4.0.0 - '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@8f82877': - resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@8f82877} + '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@b93a4a4': + resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@b93a4a4} version: 2.0.0-RC.1 peerDependencies: svelte: ^4.0.0 @@ -284,8 +284,8 @@ packages: '@appwrite.io/pink-legacy@1.0.3': resolution: {integrity: sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ==} - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@8f82877': - resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@8f82877} + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@b93a4a4': + resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@b93a4a4} version: 2.0.0-RC.2 peerDependencies: svelte: ^4.0.0 @@ -3709,7 +3709,7 @@ snapshots: dependencies: svelte: 5.25.3 - '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@8f82877(svelte@5.25.3)': + '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@b93a4a4(svelte@5.25.3)': dependencies: svelte: 5.25.3 @@ -3722,7 +3722,7 @@ snapshots: '@appwrite.io/pink-icons': 1.0.0 the-new-css-reset: 1.11.3 - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@8f82877(svelte@5.25.3)': + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@b93a4a4(svelte@5.25.3)': dependencies: '@appwrite.io/pink-icons-svelte': 2.0.0-RC.1(svelte@5.25.3) '@floating-ui/dom': 1.6.13 diff --git a/src/lib/components/account/sendVerificationEmailModal.svelte b/src/lib/components/account/sendVerificationEmailModal.svelte index 1ad53ed1b..bdb30c4d3 100644 --- a/src/lib/components/account/sendVerificationEmailModal.svelte +++ b/src/lib/components/account/sendVerificationEmailModal.svelte @@ -135,7 +135,8 @@ title="Verify your email address" {onSubmit} dismissible={false} - autoClose={false}> + autoClose={false} + mode="modeless"> diff --git a/src/lib/components/modal.svelte b/src/lib/components/modal.svelte index 2eb562336..252bd8a8c 100644 --- a/src/lib/components/modal.svelte +++ b/src/lib/components/modal.svelte @@ -14,6 +14,7 @@ }; export let title = ''; export let hideFooter = false; + export let mode: 'modal' | 'modeless' = 'modal'; let alert: HTMLElement; @@ -29,7 +30,7 @@
- + {#if error}
From 8fece89449727e81ab880d6ad83d6b253bcda0a3 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Thu, 16 Oct 2025 19:54:31 +0530 Subject: [PATCH 03/13] use boolean --- package.json | 4 ++-- pnpm-lock.yaml | 20 +++++++++---------- .../account/sendVerificationEmailModal.svelte | 2 +- src/lib/components/modal.svelte | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 9270b700b..3f1c69a25 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,9 @@ "@ai-sdk/svelte": "^1.1.24", "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@636ed39", "@appwrite.io/pink-icons": "0.25.0", - "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@b93a4a4", + "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@f95ebba", "@appwrite.io/pink-legacy": "^1.0.3", - "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@b93a4a4", + "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@f95ebba", "@faker-js/faker": "^9.9.0", "@popperjs/core": "^2.11.8", "@sentry/sveltekit": "^8.38.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e61c4695..37bbc0be7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,14 +18,14 @@ importers: specifier: 0.25.0 version: 0.25.0 '@appwrite.io/pink-icons-svelte': - specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@b93a4a4 - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@b93a4a4(svelte@5.25.3) + specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@f95ebba + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@f95ebba(svelte@5.25.3) '@appwrite.io/pink-legacy': specifier: ^1.0.3 version: 1.0.3 '@appwrite.io/pink-svelte': - specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@b93a4a4 - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@b93a4a4(svelte@5.25.3) + specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@f95ebba + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@f95ebba(svelte@5.25.3) '@faker-js/faker': specifier: ^9.9.0 version: 9.9.0 @@ -269,8 +269,8 @@ packages: peerDependencies: svelte: ^4.0.0 - '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@b93a4a4': - resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@b93a4a4} + '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@f95ebba': + resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@f95ebba} version: 2.0.0-RC.1 peerDependencies: svelte: ^4.0.0 @@ -284,8 +284,8 @@ packages: '@appwrite.io/pink-legacy@1.0.3': resolution: {integrity: sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ==} - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@b93a4a4': - resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@b93a4a4} + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@f95ebba': + resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@f95ebba} version: 2.0.0-RC.2 peerDependencies: svelte: ^4.0.0 @@ -3709,7 +3709,7 @@ snapshots: dependencies: svelte: 5.25.3 - '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@b93a4a4(svelte@5.25.3)': + '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@f95ebba(svelte@5.25.3)': dependencies: svelte: 5.25.3 @@ -3722,7 +3722,7 @@ snapshots: '@appwrite.io/pink-icons': 1.0.0 the-new-css-reset: 1.11.3 - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@b93a4a4(svelte@5.25.3)': + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@f95ebba(svelte@5.25.3)': dependencies: '@appwrite.io/pink-icons-svelte': 2.0.0-RC.1(svelte@5.25.3) '@floating-ui/dom': 1.6.13 diff --git a/src/lib/components/account/sendVerificationEmailModal.svelte b/src/lib/components/account/sendVerificationEmailModal.svelte index bdb30c4d3..0e85bb067 100644 --- a/src/lib/components/account/sendVerificationEmailModal.svelte +++ b/src/lib/components/account/sendVerificationEmailModal.svelte @@ -136,7 +136,7 @@ {onSubmit} dismissible={false} autoClose={false} - mode="modeless"> + modeless> diff --git a/src/lib/components/modal.svelte b/src/lib/components/modal.svelte index 252bd8a8c..2e078beca 100644 --- a/src/lib/components/modal.svelte +++ b/src/lib/components/modal.svelte @@ -14,7 +14,7 @@ }; export let title = ''; export let hideFooter = false; - export let mode: 'modal' | 'modeless' = 'modal'; + export let modeless: boolean = false; let alert: HTMLElement; @@ -30,7 +30,7 @@ - + {#if error}
From aa9f918f106672aa642d8ce4162c2b94cae5c6ba Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Mon, 20 Oct 2025 15:47:03 +0530 Subject: [PATCH 04/13] use backdrop --- package.json | 4 ++-- pnpm-lock.yaml | 20 +++++++++---------- .../account/sendVerificationEmailModal.svelte | 2 +- src/lib/components/modal.svelte | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 3f1c69a25..c6a6547fd 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,9 @@ "@ai-sdk/svelte": "^1.1.24", "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@636ed39", "@appwrite.io/pink-icons": "0.25.0", - "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@f95ebba", + "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@3e84c1c", "@appwrite.io/pink-legacy": "^1.0.3", - "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@f95ebba", + "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@3e84c1c", "@faker-js/faker": "^9.9.0", "@popperjs/core": "^2.11.8", "@sentry/sveltekit": "^8.38.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 37bbc0be7..2b4805d82 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,14 +18,14 @@ importers: specifier: 0.25.0 version: 0.25.0 '@appwrite.io/pink-icons-svelte': - specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@f95ebba - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@f95ebba(svelte@5.25.3) + specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@3e84c1c + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@3e84c1c(svelte@5.25.3) '@appwrite.io/pink-legacy': specifier: ^1.0.3 version: 1.0.3 '@appwrite.io/pink-svelte': - specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@f95ebba - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@f95ebba(svelte@5.25.3) + specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@3e84c1c + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@3e84c1c(svelte@5.25.3) '@faker-js/faker': specifier: ^9.9.0 version: 9.9.0 @@ -269,8 +269,8 @@ packages: peerDependencies: svelte: ^4.0.0 - '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@f95ebba': - resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@f95ebba} + '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@3e84c1c': + resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@3e84c1c} version: 2.0.0-RC.1 peerDependencies: svelte: ^4.0.0 @@ -284,8 +284,8 @@ packages: '@appwrite.io/pink-legacy@1.0.3': resolution: {integrity: sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ==} - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@f95ebba': - resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@f95ebba} + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@3e84c1c': + resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@3e84c1c} version: 2.0.0-RC.2 peerDependencies: svelte: ^4.0.0 @@ -3709,7 +3709,7 @@ snapshots: dependencies: svelte: 5.25.3 - '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@f95ebba(svelte@5.25.3)': + '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@3e84c1c(svelte@5.25.3)': dependencies: svelte: 5.25.3 @@ -3722,7 +3722,7 @@ snapshots: '@appwrite.io/pink-icons': 1.0.0 the-new-css-reset: 1.11.3 - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@f95ebba(svelte@5.25.3)': + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@3e84c1c(svelte@5.25.3)': dependencies: '@appwrite.io/pink-icons-svelte': 2.0.0-RC.1(svelte@5.25.3) '@floating-ui/dom': 1.6.13 diff --git a/src/lib/components/account/sendVerificationEmailModal.svelte b/src/lib/components/account/sendVerificationEmailModal.svelte index 0e85bb067..1385570f8 100644 --- a/src/lib/components/account/sendVerificationEmailModal.svelte +++ b/src/lib/components/account/sendVerificationEmailModal.svelte @@ -136,7 +136,7 @@ {onSubmit} dismissible={false} autoClose={false} - modeless> + backdrop={false}> diff --git a/src/lib/components/modal.svelte b/src/lib/components/modal.svelte index 2e078beca..8181338f8 100644 --- a/src/lib/components/modal.svelte +++ b/src/lib/components/modal.svelte @@ -14,7 +14,7 @@ }; export let title = ''; export let hideFooter = false; - export let modeless: boolean = false; + export let backdrop: boolean = true; let alert: HTMLElement; @@ -30,7 +30,7 @@ - + {#if error}
From f4647217bdb3443cfb66f540f339d568cad6d72f Mon Sep 17 00:00:00 2001 From: Atharva Deosthale Date: Tue, 21 Oct 2025 11:17:03 +0530 Subject: [PATCH 05/13] add using --- .../overview/platforms/createFlutter.svelte | 3 +-- .../overview/platforms/createWeb.svelte | 3 ++- .../overview/platforms/store.ts | 19 +++++++++++++------ 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte index 8cfd79cab..a86f087a3 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte @@ -11,8 +11,7 @@ Typography, Fieldset, InlineCode, - Tooltip, - Alert + Tooltip } from '@appwrite.io/pink-svelte'; import { Button, Form, InputText } from '$lib/elements/forms'; import { IconFlutter, IconAppwrite, IconInfo } from '@appwrite.io/pink-icons-svelte'; diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte index e05af4c81..3e7f656ad 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte @@ -164,7 +164,8 @@ ${prefix}APPWRITE_ENDPOINT = "${sdk.forProject(page.params.region, page.params.p ? `APPWRITE_PROJECT_ID=${projectId}\nAPPWRITE_PROJECT_NAME=${$project.name}\nAPPWRITE_ENDPOINT=${sdk.forProject(page.params.region, page.params.project).client.config.endpoint}` : selectedFramework?.updateConfigCode || '', configLanguage: selectedFramework?.key === 'angular' ? 'ts' : 'dotenv', - runInstructions: `${selectedFramework?.key === 'angular' ? 'Replace the file with the configuration above' : 'Copy the file `.env.example` to `.env` and update the configuration settings'}. Install project dependencies using \`npm install\`, then run the app using \`${selectedFramework?.runCommand}\`. Demo app runs on http://localhost:${selectedFramework?.portNumber}. Click the \`Send a ping\` button to verify the setup.` + runInstructions: `${selectedFramework?.key === 'angular' ? 'Replace the file with the configuration above' : 'Copy the file `.env.example` to `.env` and update the configuration settings'}. Install project dependencies using \`npm install\`, then run the app using \`${selectedFramework?.runCommand}\`. Demo app runs on http://localhost:${selectedFramework?.portNumber}. Click the \`Send a ping\` button to verify the setup.`, + using: 'the terminal or VSCode' }); async function createWebPlatform() { diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/store.ts b/src/routes/(console)/project-[region]-[project]/overview/platforms/store.ts index 233a97da4..11a2fa5c7 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/store.ts +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/store.ts @@ -24,6 +24,7 @@ export type LLMPromptConfig = { configCode: string; configLanguage: string; runInstructions: string; + using: string; }; export function getCorrectTitle(isConnectPlatform: boolean, platform: string) { @@ -31,7 +32,7 @@ export function getCorrectTitle(isConnectPlatform: boolean, platform: string) { } export function generatePromptFromConfig(config: LLMPromptConfig): string { - return `1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal, VSCode or Android Studio. + return `1. If you're starting a new project, you can clone our starter kit from GitHub using ${config.using || 'the terminal'}. \`\`\`bash ${config.cloneCommand} @@ -53,6 +54,7 @@ type PlatformConfig = { configFile: string; configLanguage: string; runInstructions: string; + using: string; }; const platformConfigs: Record = { @@ -63,7 +65,8 @@ const platformConfigs: Record = { configFile: 'constants/AppwriteConfig.kt', configLanguage: 'kotlin', runInstructions: - 'Run the app on a connected device or emulator, then click the `Send a ping` button to verify the setup.' + 'Run the app on a connected device or emulator, then click the `Send a ping` button to verify the setup.', + using: 'the terminal, VSCode or Android Studio' }, apple: { name: 'Apple platforms', @@ -72,7 +75,8 @@ const platformConfigs: Record = { configFile: 'Sources/Config.plist', configLanguage: 'plaintext', runInstructions: - 'Run the app on a connected device or simulator, then click the `Send a ping` button to verify the setup.' + 'Run the app on a connected device or simulator, then click the `Send a ping` button to verify the setup.', + using: 'the terminal or XCode' }, flutter: { name: 'Flutter', @@ -81,7 +85,8 @@ const platformConfigs: Record = { configFile: 'lib/config/environment.dart', configLanguage: 'dart', runInstructions: - 'Run the app on a connected device or simulator using `flutter run -d [device_name]`, then click the `Send a ping` button to verify the setup.' + 'Run the app on a connected device or simulator using `flutter run -d [device_name]`, then click the `Send a ping` button to verify the setup.', + using: 'the terminal' }, reactnative: { name: 'React Native', @@ -90,7 +95,8 @@ const platformConfigs: Record = { configFile: '.env.example', configLanguage: 'dotenv', runInstructions: - 'Add your Appwrite credentials to `.env.example` then rename it to `.env` if needed. Run the app on a connected device or simulator using `npm install` followed by `npm run ios` or `npm run android`, then click the `Send a ping` button to verify the setup.' + 'Add your Appwrite credentials to `.env.example` then rename it to `.env` if needed. Run the app on a connected device or simulator using `npm install` followed by `npm run ios` or `npm run android`, then click the `Send a ping` button to verify the setup.', + using: 'the terminal or VSCode' } }; @@ -106,6 +112,7 @@ export function buildPlatformConfig(platformKey: string, configCode: string): LL configFile: config.configFile, configCode: configCode, configLanguage: config.configLanguage, - runInstructions: config.runInstructions + runInstructions: config.runInstructions, + using: config.using }; } From 6700f994ce792d20cb1b74b4106e3e94a77f2f69 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale Date: Tue, 21 Oct 2025 11:20:25 +0530 Subject: [PATCH 06/13] lint --- .../overview/platforms/createApple.svelte | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte index 319c70fc0..7eb9f346a 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte @@ -11,8 +11,7 @@ Typography, Fieldset, InlineCode, - Tooltip, - Alert + Tooltip } from '@appwrite.io/pink-svelte'; import { Button, Form, InputText } from '$lib/elements/forms'; import { IconApple, IconAppwrite, IconInfo } from '@appwrite.io/pink-icons-svelte'; From 26d1bf31658f7d7e8180f978558d99519fb7f731 Mon Sep 17 00:00:00 2001 From: Atharva Deosthale Date: Tue, 21 Oct 2025 11:27:41 +0530 Subject: [PATCH 07/13] add analytics for copy prompt --- src/lib/actions/analytics.ts | 3 ++- .../overview/platforms/llmBanner.svelte | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/actions/analytics.ts b/src/lib/actions/analytics.ts index b511e59c8..44cd6ec68 100644 --- a/src/lib/actions/analytics.ts +++ b/src/lib/actions/analytics.ts @@ -195,7 +195,8 @@ export enum Click { VariablesCreateClick = 'click_variable_create', VariablesUpdateClick = 'click_variable_update', VariablesImportClick = 'click_variable_import', - WebsiteOpenClick = 'click_open_website' + WebsiteOpenClick = 'click_open_website', + CopyPromptStarterKitClick = 'click_copy_prompt_starter_kit' } export enum Submit { diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/llmBanner.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/llmBanner.svelte index caf7156ac..dc207f4bc 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/llmBanner.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/llmBanner.svelte @@ -4,6 +4,7 @@ import { Alert, Typography } from '@appwrite.io/pink-svelte'; import { addNotification } from '$lib/stores/notifications'; import { buildPlatformConfig, generatePromptFromConfig, type LLMPromptConfig } from './store'; + import { Click, trackEvent } from '$lib/actions/analytics'; let { platform, @@ -26,6 +27,10 @@ async function copyPrompt() { await copy(prompt); + trackEvent(Click.CopyPromptStarterKitClick, { + platform: config.title + }); + addNotification({ type: 'success', message: 'Prompt copied to clipboard' From 2ff2a68842fe58cabb093215772f8b9065017ff2 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Tue, 21 Oct 2025 12:22:49 +0530 Subject: [PATCH 08/13] merged packages --- package.json | 4 ++-- pnpm-lock.yaml | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index c6a6547fd..9fa20b9dc 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,9 @@ "@ai-sdk/svelte": "^1.1.24", "@appwrite.io/console": "https://pkg.pr.new/appwrite-labs/cloud/@appwrite.io/console@636ed39", "@appwrite.io/pink-icons": "0.25.0", - "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@3e84c1c", + "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@10305c4", "@appwrite.io/pink-legacy": "^1.0.3", - "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@3e84c1c", + "@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@10305c4", "@faker-js/faker": "^9.9.0", "@popperjs/core": "^2.11.8", "@sentry/sveltekit": "^8.38.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2b4805d82..26d4c94dd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,14 +18,14 @@ importers: specifier: 0.25.0 version: 0.25.0 '@appwrite.io/pink-icons-svelte': - specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@3e84c1c - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@3e84c1c(svelte@5.25.3) + specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@10305c4 + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@10305c4(svelte@5.25.3) '@appwrite.io/pink-legacy': specifier: ^1.0.3 version: 1.0.3 '@appwrite.io/pink-svelte': - specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@3e84c1c - version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@3e84c1c(svelte@5.25.3) + specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@10305c4 + version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@10305c4(svelte@5.25.3) '@faker-js/faker': specifier: ^9.9.0 version: 9.9.0 @@ -269,8 +269,8 @@ packages: peerDependencies: svelte: ^4.0.0 - '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@3e84c1c': - resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@3e84c1c} + '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@10305c4': + resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@10305c4} version: 2.0.0-RC.1 peerDependencies: svelte: ^4.0.0 @@ -284,8 +284,8 @@ packages: '@appwrite.io/pink-legacy@1.0.3': resolution: {integrity: sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ==} - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@3e84c1c': - resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@3e84c1c} + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@10305c4': + resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@10305c4} version: 2.0.0-RC.2 peerDependencies: svelte: ^4.0.0 @@ -3709,7 +3709,7 @@ snapshots: dependencies: svelte: 5.25.3 - '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@3e84c1c(svelte@5.25.3)': + '@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@10305c4(svelte@5.25.3)': dependencies: svelte: 5.25.3 @@ -3722,7 +3722,7 @@ snapshots: '@appwrite.io/pink-icons': 1.0.0 the-new-css-reset: 1.11.3 - '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@3e84c1c(svelte@5.25.3)': + '@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@10305c4(svelte@5.25.3)': dependencies: '@appwrite.io/pink-icons-svelte': 2.0.0-RC.1(svelte@5.25.3) '@floating-ui/dom': 1.6.13 From 8d646299372883b4951a46278fc4fba81ca7414d Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Tue, 21 Oct 2025 13:34:39 +0530 Subject: [PATCH 09/13] Enable email verification in publish workflow --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 86a16d699..2a19d6fbe 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -41,7 +41,7 @@ jobs: "PUBLIC_CONSOLE_MODE=cloud" "PUBLIC_CONSOLE_FEATURE_FLAGS=" "PUBLIC_APPWRITE_MULTI_REGION=true" - "PUBLIC_CONSOLE_EMAIL_VERIFICATION=false" + "PUBLIC_CONSOLE_EMAIL_VERIFICATION=true" "PUBLIC_CONSOLE_MOCK_AI_SUGGESTIONS=false" "PUBLIC_GROWTH_ENDPOINT=${{ secrets.PUBLIC_GROWTH_ENDPOINT }}" "PUBLIC_STRIPE_KEY=${{ secrets.PUBLIC_STRIPE_KEY }}" From 5649842766ed6384269e7323c31e0337e7c0d1b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Tue, 21 Oct 2025 17:38:39 +0200 Subject: [PATCH 10/13] Revert "copy prompt" --- src/lib/actions/analytics.ts | 3 +- .../overview/platforms/createAndroid.svelte | 3 - .../overview/platforms/createApple.svelte | 3 - .../overview/platforms/createFlutter.svelte | 2 - .../platforms/createReactNative.svelte | 3 - .../overview/platforms/createWeb.svelte | 26 +---- .../overview/platforms/llmBanner.svelte | 48 ---------- .../overview/platforms/store.ts | 96 ------------------- 8 files changed, 2 insertions(+), 182 deletions(-) delete mode 100644 src/routes/(console)/project-[region]-[project]/overview/platforms/llmBanner.svelte diff --git a/src/lib/actions/analytics.ts b/src/lib/actions/analytics.ts index 44cd6ec68..b511e59c8 100644 --- a/src/lib/actions/analytics.ts +++ b/src/lib/actions/analytics.ts @@ -195,8 +195,7 @@ export enum Click { VariablesCreateClick = 'click_variable_create', VariablesUpdateClick = 'click_variable_update', VariablesImportClick = 'click_variable_import', - WebsiteOpenClick = 'click_open_website', - CopyPromptStarterKitClick = 'click_copy_prompt_starter_kit' + WebsiteOpenClick = 'click_open_website' } export enum Submit { diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createAndroid.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createAndroid.svelte index 59f0d8ed0..fb5cf62fd 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createAndroid.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createAndroid.svelte @@ -26,7 +26,6 @@ import { PlatformType } from '@appwrite.io/console'; import { project } from '../../store'; import { getCorrectTitle, type PlatformProps } from './store'; - import LlmBanner from './llmBanner.svelte'; let { isConnectPlatform = false }: PlatformProps = $props(); @@ -170,8 +169,6 @@ const val APPWRITE_PUBLIC_ENDPOINT = "${sdk.forProject(page.params.region, page. {#if isPlatformCreated}
- - 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal, VSCode or Android Studio. diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte index 7eb9f346a..0ee698c84 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte @@ -28,7 +28,6 @@ import { app } from '$lib/stores/app'; import { project } from '../../store'; import { getCorrectTitle, type PlatformProps } from './store'; - import LlmBanner from './llmBanner.svelte'; let { isConnectPlatform = false, platform = PlatformType.Appleios }: PlatformProps = $props(); @@ -198,8 +197,6 @@ APPWRITE_PUBLIC_ENDPOINT: "${sdk.forProject(page.params.region, page.params.proj {#if isPlatformCreated}
- - 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal or XCode. diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte index a86f087a3..312924948 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte @@ -27,7 +27,6 @@ import { PlatformType } from '@appwrite.io/console'; import { project } from '../../store'; import { getCorrectTitle, type PlatformProps } from './store'; - import LlmBanner from './llmBanner.svelte'; let { isConnectPlatform = false, platform = PlatformType.Flutterandroid }: PlatformProps = $props(); @@ -280,7 +279,6 @@ {#if isPlatformCreated}
- 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal, VSCode or Android Studio. diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createReactNative.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createReactNative.svelte index 572a4a46c..aeba8a381 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createReactNative.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createReactNative.svelte @@ -27,7 +27,6 @@ import { PlatformType } from '@appwrite.io/console'; import { project } from '../../store'; import { getCorrectTitle, type PlatformProps } from './store'; - import LlmBanner from './llmBanner.svelte'; let { isConnectPlatform = false, platform = PlatformType.Reactnativeandroid }: PlatformProps = $props(); @@ -224,8 +223,6 @@ EXPO_PUBLIC_APPWRITE_ENDPOINT=${sdk.forProject(page.params.region, page.params.p {#if isPlatformCreated}
- - 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal or VSCode. diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte index 3e7f656ad..bebe610d7 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte @@ -46,13 +46,7 @@ } from './components/index'; import { extendedHostnameRegex } from '$lib/helpers/string'; import { project } from '../../store'; - import { - type PlatformProps, - type FrameworkType, - type LLMPromptConfig, - getCorrectTitle - } from './store'; - import LlmBanner from './llmBanner.svelte'; + import { type PlatformProps, type FrameworkType, getCorrectTitle } from './store'; let { key, isConnectPlatform = false, platform = PlatformType.Web }: PlatformProps = $props(); @@ -152,22 +146,6 @@ ${prefix}APPWRITE_ENDPOINT = "${sdk.forProject(page.params.region, page.params.p selectedFramework ? selectedFramework.icon : NoFrameworkIcon ); - const llmConfig: LLMPromptConfig = $derived({ - title: `Copy prompt: starter kit for Appwrite in ${selectedFramework?.label || 'Web'}`, - cloneCommand: `git clone https://github.com/appwrite/starter-for-${selectedFramework?.key}\ncd starter-for-${selectedFramework?.key}`, - configFile: - selectedFramework?.key === 'angular' - ? 'src/environments/environment.ts' - : '.env.example', - configCode: - selectedFramework?.key === 'angular' - ? `APPWRITE_PROJECT_ID=${projectId}\nAPPWRITE_PROJECT_NAME=${$project.name}\nAPPWRITE_ENDPOINT=${sdk.forProject(page.params.region, page.params.project).client.config.endpoint}` - : selectedFramework?.updateConfigCode || '', - configLanguage: selectedFramework?.key === 'angular' ? 'ts' : 'dotenv', - runInstructions: `${selectedFramework?.key === 'angular' ? 'Replace the file with the configuration above' : 'Copy the file `.env.example` to `.env` and update the configuration settings'}. Install project dependencies using \`npm install\`, then run the app using \`${selectedFramework?.runCommand}\`. Demo app runs on http://localhost:${selectedFramework?.portNumber}. Click the \`Send a ping\` button to verify the setup.`, - using: 'the terminal or VSCode' - }); - async function createWebPlatform() { hostnameError = hostname !== '' ? !new RegExp(extendedHostnameRegex).test(hostname) : null; @@ -307,8 +285,6 @@ ${prefix}APPWRITE_ENDPOINT = "${sdk.forProject(page.params.region, page.params.p {#if isPlatformCreated && !isChangingFramework}
- - 1. If you're starting a new project, you can clone our starter kit from GitHub using the terminal or VSCode. diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/llmBanner.svelte b/src/routes/(console)/project-[region]-[project]/overview/platforms/llmBanner.svelte deleted file mode 100644 index dc207f4bc..000000000 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/llmBanner.svelte +++ /dev/null @@ -1,48 +0,0 @@ - - - - - Paste it into your LLM to generate a working setup. - - - - diff --git a/src/routes/(console)/project-[region]-[project]/overview/platforms/store.ts b/src/routes/(console)/project-[region]-[project]/overview/platforms/store.ts index 11a2fa5c7..d0b795643 100644 --- a/src/routes/(console)/project-[region]-[project]/overview/platforms/store.ts +++ b/src/routes/(console)/project-[region]-[project]/overview/platforms/store.ts @@ -17,102 +17,6 @@ export type FrameworkType = { updateConfigCode: string; }; -export type LLMPromptConfig = { - title: string; - cloneCommand: string; - configFile: string; - configCode: string; - configLanguage: string; - runInstructions: string; - using: string; -}; - export function getCorrectTitle(isConnectPlatform: boolean, platform: string) { return isConnectPlatform ? `Connect your ${platform} app` : `Add ${platform} platform`; } - -export function generatePromptFromConfig(config: LLMPromptConfig): string { - return `1. If you're starting a new project, you can clone our starter kit from GitHub using ${config.using || 'the terminal'}. - -\`\`\`bash -${config.cloneCommand} -\`\`\` - -2. Open the file \`${config.configFile}\` and update the configuration settings. - -\`\`\`${config.configLanguage} -${config.configCode} -\`\`\` - -3. ${config.runInstructions}`; -} - -type PlatformConfig = { - name: string; - title: string; - repoName: string; - configFile: string; - configLanguage: string; - runInstructions: string; - using: string; -}; - -const platformConfigs: Record = { - android: { - name: 'Kotlin', - title: 'Copy prompt: starter kit for Appwrite in Kotlin', - repoName: 'starter-for-android', - configFile: 'constants/AppwriteConfig.kt', - configLanguage: 'kotlin', - runInstructions: - 'Run the app on a connected device or emulator, then click the `Send a ping` button to verify the setup.', - using: 'the terminal, VSCode or Android Studio' - }, - apple: { - name: 'Apple platforms', - title: 'Copy prompt: starter kit for Appwrite for Apple platforms', - repoName: 'starter-for-ios', - configFile: 'Sources/Config.plist', - configLanguage: 'plaintext', - runInstructions: - 'Run the app on a connected device or simulator, then click the `Send a ping` button to verify the setup.', - using: 'the terminal or XCode' - }, - flutter: { - name: 'Flutter', - title: 'Copy prompt: starter kit for Appwrite in Flutter', - repoName: 'starter-for-flutter', - configFile: 'lib/config/environment.dart', - configLanguage: 'dart', - runInstructions: - 'Run the app on a connected device or simulator using `flutter run -d [device_name]`, then click the `Send a ping` button to verify the setup.', - using: 'the terminal' - }, - reactnative: { - name: 'React Native', - title: 'Copy prompt: starter kit for Appwrite in React Native', - repoName: 'starter-for-react-native', - configFile: '.env.example', - configLanguage: 'dotenv', - runInstructions: - 'Add your Appwrite credentials to `.env.example` then rename it to `.env` if needed. Run the app on a connected device or simulator using `npm install` followed by `npm run ios` or `npm run android`, then click the `Send a ping` button to verify the setup.', - using: 'the terminal or VSCode' - } -}; - -export function buildPlatformConfig(platformKey: string, configCode: string): LLMPromptConfig { - const config = platformConfigs[platformKey]; - if (!config) { - throw new Error(`Unknown platform: ${platformKey}`); - } - - return { - title: config.title, - cloneCommand: `git clone https://github.com/appwrite/${config.repoName}\ncd ${config.repoName}`, - configFile: config.configFile, - configCode: configCode, - configLanguage: config.configLanguage, - runInstructions: config.runInstructions, - using: config.using - }; -} From a297c0b9a5cb2d840cf6b99e02373a8b61d54bdf Mon Sep 17 00:00:00 2001 From: Darshan Date: Wed, 22 Oct 2025 12:00:25 +0530 Subject: [PATCH 11/13] fix: id is always indexed. --- .../table-[table]/columns/+page.svelte | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte index 467f427d2..5ee690f49 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/+page.svelte @@ -306,8 +306,8 @@ {#each updatedColumnsForSheet as column, index (column.key)} + {@const isId = column.key === '$id'} {@const option = columnOptions.find((option) => option.type === column.type)} {@const isSelectable = column['system'] || column.type === 'relationship' ? 'disabled' : true} @@ -425,11 +426,12 @@ {columnType.toLowerCase()} - {@const isActuallyIndexed = $indexes.some((index) => - index.columns.includes(column.key) - )} + + {@const isActuallyIndexed = + isId || $indexes.some((index) => index.columns.includes(column.key))} - {@const checked = isActuallyIndexed || !!columnIndexMap[column.key]} + + {@const checked = isId || isActuallyIndexed || !!columnIndexMap[column.key]} - {:else if column.key !== '$sequence'} - + {:else if !isId}