From 197ac9a44209f6601c54e559de0a44a22aa445ef Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 12 Oct 2022 18:13:31 +0200 Subject: [PATCH 01/16] feat: inintial wizard for platforms creation --- src/lib/components/code.svelte | 3 +- src/lib/layout/wizard.svelte | 9 +++ src/lib/layout/wizardStep.svelte | 21 +++++- src/lib/stores/wizard.ts | 11 ++- .../overview/platforms/+page.svelte | 53 +++++++++++--- .../overview/platforms/create.svelte | 47 ------------- .../overview/platforms/createWeb.svelte | 69 +++++++++++++++++++ .../overview/platforms/wizard/store.ts | 8 +++ .../platforms/wizard/web/step1.svelte | 57 +++++++++++++++ .../platforms/wizard/web/step2.svelte | 56 +++++++++++++++ .../platforms/wizard/web/step3.svelte | 25 +++++++ .../platforms/wizard/web/step4.svelte | 12 ++++ 12 files changed, 309 insertions(+), 62 deletions(-) delete mode 100644 src/routes/console/project-[project]/overview/platforms/create.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/createWeb.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/store.ts create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/web/step1.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/web/step2.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/web/step3.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/web/step4.svelte diff --git a/src/lib/components/code.svelte b/src/lib/components/code.svelte index 6f1257529..f36802033 100644 --- a/src/lib/components/code.svelte +++ b/src/lib/components/code.svelte @@ -4,6 +4,7 @@ import 'prismjs/components/prism-dart'; import 'prismjs/components/prism-kotlin'; import 'prismjs/components/prism-json'; + import 'prismjs/components/prism-bash'; import 'prismjs/plugins/autoloader/prism-autoloader'; import 'prismjs/plugins/line-numbers/prism-line-numbers'; import 'prismjs/plugins/line-numbers/prism-line-numbers.css'; @@ -12,7 +13,7 @@ export let label: string = null; export let code: string; - export let language: 'js' | 'html' | 'dart' | 'kotlin' | 'json'; + export let language: 'js' | 'html' | 'dart' | 'kotlin' | 'json' | 'sh'; export let showLineNumbers = false; export let showCopy = false; diff --git a/src/lib/layout/wizard.svelte b/src/lib/layout/wizard.svelte index 81ad56cfa..d14f930a1 100644 --- a/src/lib/layout/wizard.svelte +++ b/src/lib/layout/wizard.svelte @@ -30,6 +30,15 @@ } function submit() { + if ($wizard.interceptor) { + try { + $wizard.interceptor(); + } catch (error) { + console.log('hold'); + return; + } + } + wizard.setInterceptor(null); if (isLastStep) { dispatch('finish'); } else { diff --git a/src/lib/layout/wizardStep.svelte b/src/lib/layout/wizardStep.svelte index e904411b8..1281775b4 100644 --- a/src/lib/layout/wizardStep.svelte +++ b/src/lib/layout/wizardStep.svelte @@ -1,10 +1,25 @@ + +

-

- -

+ {#if $$slots.subtitle} +

+ +

+ {/if}
diff --git a/src/lib/stores/wizard.ts b/src/lib/stores/wizard.ts index 88167f4bf..f8f2b8c58 100644 --- a/src/lib/stores/wizard.ts +++ b/src/lib/stores/wizard.ts @@ -4,12 +4,14 @@ import { writable } from 'svelte/store'; export type WizardStore = { show: boolean; component?: typeof SvelteComponent; + interceptor?: () => void; }; function createWizardStore() { const { subscribe, update } = writable({ show: false, - component: null + component: null, + interceptor: null }); return { @@ -21,6 +23,13 @@ function createWizardStore() { return n; }), + setInterceptor: (callback: () => void) => { + update((n) => { + n.interceptor = callback; + + return n; + }); + }, hide: () => update((n) => { n.show = false; diff --git a/src/routes/console/project-[project]/overview/platforms/+page.svelte b/src/routes/console/project-[project]/overview/platforms/+page.svelte index 34eafdce0..7928f1d91 100644 --- a/src/routes/console/project-[project]/overview/platforms/+page.svelte +++ b/src/routes/console/project-[project]/overview/platforms/+page.svelte @@ -1,23 +1,58 @@

Platforms

- + + + + addPlatform(Platform.Web)}>Web App + addPlatform(Platform.Flutter)}> + Flutter App + + addPlatform(Platform.Android)}> + Android App + + addPlatform(Platform.Apple)}>Apple App + +
@@ -33,5 +68,3 @@ {/each} - - diff --git a/src/routes/console/project-[project]/overview/platforms/create.svelte b/src/routes/console/project-[project]/overview/platforms/create.svelte deleted file mode 100644 index 11c0597f8..000000000 --- a/src/routes/console/project-[project]/overview/platforms/create.svelte +++ /dev/null @@ -1,47 +0,0 @@ - - -
- - Add Platform - - - - - - - - - -
diff --git a/src/routes/console/project-[project]/overview/platforms/createWeb.svelte b/src/routes/console/project-[project]/overview/platforms/createWeb.svelte new file mode 100644 index 000000000..88900348b --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/createWeb.svelte @@ -0,0 +1,69 @@ + + + diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/store.ts b/src/routes/console/project-[project]/overview/platforms/wizard/store.ts new file mode 100644 index 000000000..d12bd38d3 --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/store.ts @@ -0,0 +1,8 @@ +import type { Models } from '@aw-labs/appwrite-console'; +import { writable } from 'svelte/store'; + +export const createPlatform = writable>({ + name: null, + hostname: null, + type: null +}); diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/web/step1.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/web/step1.svelte new file mode 100644 index 000000000..892eca7bd --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/web/step1.svelte @@ -0,0 +1,57 @@ + + + + Register your Web app + + +
+ +
+ {#each ['*.vercel.app', '*.netlify.app', '*.gitpod.app'] as suggestion} + ($createPlatform.hostname = suggestion)} + selected={$createPlatform.hostname === suggestion}> + {suggestion} + + {/each} +
+
+ + Tip: Avoid using wildcard hostnames in production to keep your project secure. Check out + our documentation for more info. + +
+
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 new file mode 100644 index 000000000..caa05ddd2 --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/web/step2.svelte @@ -0,0 +1,56 @@ + + + + Get the SDK + + Choose your preferred method of installation +
+ (method = Method.NPM)} selected={method === Method.NPM}> + NPM + + (method = Method.CDN)} selected={method === Method.CDN}> + CDN + +
+
+ {#if method === Method.NPM} +

+ Use NPM (node package manager) from your command line to add Appwrite SDK to your project. +

+ +

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

+ + {: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: +

+ `} + showCopy /> + {/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 new file mode 100644 index 000000000..a7b5bbf3e --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/web/step3.svelte @@ -0,0 +1,25 @@ + + + + Let's get coding + +
+

Init 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. +

+ +
+
diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/web/step4.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/web/step4.svelte new file mode 100644 index 000000000..3b74bbf9d --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/web/step4.svelte @@ -0,0 +1,12 @@ + + + + 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. + + From e07bb58aa7762322995c54da6a8c2c2a346aecd9 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Wed, 12 Oct 2022 21:06:09 +0200 Subject: [PATCH 02/16] feat: add flutter platform --- src/lib/components/code.svelte | 3 +- src/lib/elements/forms/formList.svelte | 6 +- src/lib/layout/wizard.svelte | 12 +- src/lib/layout/wizardStep.svelte | 2 +- src/lib/stores/wizard.ts | 4 +- .../overview/platforms/+page.svelte | 3 +- .../platforms/[platform]/delete.svelte | 2 +- .../overview/platforms/createFlutter.svelte | 69 ++++++++ .../overview/platforms/createWeb.svelte | 2 +- .../platforms/wizard/flutter/step1.svelte | 167 ++++++++++++++++++ .../platforms/wizard/flutter/step2.svelte | 16 ++ .../platforms/wizard/flutter/step3.svelte | 40 +++++ .../platforms/wizard/{web => }/step4.svelte | 0 .../overview/platforms/wizard/store.ts | 2 +- .../platforms/wizard/web/step1.svelte | 27 ++- .../platforms/wizard/web/step2.svelte | 1 + 16 files changed, 338 insertions(+), 18 deletions(-) create mode 100644 src/routes/console/project-[project]/overview/platforms/createFlutter.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/flutter/step1.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/flutter/step2.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/flutter/step3.svelte rename src/routes/console/project-[project]/overview/platforms/wizard/{web => }/step4.svelte (100%) diff --git a/src/lib/components/code.svelte b/src/lib/components/code.svelte index f36802033..089e59377 100644 --- a/src/lib/components/code.svelte +++ b/src/lib/components/code.svelte @@ -5,6 +5,7 @@ import 'prismjs/components/prism-kotlin'; import 'prismjs/components/prism-json'; import 'prismjs/components/prism-bash'; + import 'prismjs/components/prism-yaml'; import 'prismjs/plugins/autoloader/prism-autoloader'; import 'prismjs/plugins/line-numbers/prism-line-numbers'; import 'prismjs/plugins/line-numbers/prism-line-numbers.css'; @@ -13,7 +14,7 @@ export let label: string = null; export let code: string; - export let language: 'js' | 'html' | 'dart' | 'kotlin' | 'json' | 'sh'; + export let language: 'js' | 'html' | 'dart' | 'kotlin' | 'json' | 'sh' | 'yml'; export let showLineNumbers = false; export let showCopy = false; diff --git a/src/lib/elements/forms/formList.svelte b/src/lib/elements/forms/formList.svelte index cdb4bd69b..7a02bc5be 100644 --- a/src/lib/elements/forms/formList.svelte +++ b/src/lib/elements/forms/formList.svelte @@ -1,3 +1,7 @@ -
    + + +
    diff --git a/src/lib/layout/wizard.svelte b/src/lib/layout/wizard.svelte index d14f930a1..f7d7b9b09 100644 --- a/src/lib/layout/wizard.svelte +++ b/src/lib/layout/wizard.svelte @@ -11,6 +11,7 @@ + + diff --git a/src/routes/console/project-[project]/overview/platforms/createWeb.svelte b/src/routes/console/project-[project]/overview/platforms/createWeb.svelte index 88900348b..e6a92124e 100644 --- a/src/routes/console/project-[project]/overview/platforms/createWeb.svelte +++ b/src/routes/console/project-[project]/overview/platforms/createWeb.svelte @@ -11,7 +11,7 @@ import Step1 from './wizard/web/step1.svelte'; import Step2 from './wizard/web/step2.svelte'; import Step3 from './wizard/web/step3.svelte'; - import Step4 from './wizard/web/step4.svelte'; + import Step4 from './wizard/step4.svelte'; const projectId = $page.params.project; diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step1.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step1.svelte new file mode 100644 index 000000000..ea514878e --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step1.svelte @@ -0,0 +1,167 @@ + + + + Register your Flutter app + +
    + (platform = Platform.Android)} + selected={platform === Platform.Android}> + Android + + (platform = Platform.Ios)} + selected={platform === Platform.Ios}> + iOS + + (platform = Platform.Linux)} + selected={platform === Platform.Linux}> + Linux + + (platform = Platform.Macos)} + selected={platform === Platform.Macos}> + Mac OS + + (platform = Platform.Windows)} + selected={platform === Platform.Windows}> + Windows + + (platform = Platform.Web)} + selected={platform === Platform.Web}> + Web + +
    +
    + + Note: If you are building your Flutter application for multiple devices, you will have to + follow this process for each different device. + + + + +
    + + {#if platform === Platform.Web} +
    + {#each suggestions as suggestion} + ($createPlatform.hostname = suggestion)}> + {suggestion} + + {/each} +
    + {/if} +
    +
    +
    diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step2.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step2.svelte new file mode 100644 index 000000000..2f0c0ab17 --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step2.svelte @@ -0,0 +1,16 @@ + + + + Get the SDK + +

    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:

    + +
    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 new file mode 100644 index 000000000..afebcaa6c --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step3.svelte @@ -0,0 +1,40 @@ + + + + Let's get coding + +
    +

    Init 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. +

    + +
    +

    + Before sending any API calls to your new Appwrite project, make sure your device or emulator + has network access to your Appwrite project's hostname or IP address. +

    +
    + + For self-hosted solutions + When connecting to a locally hosted Appwrite project from an emulator or a mobile device, + you should use the private IP of the device running your Appwrite project as the hostname + of the endpoint instead of localhost. You can also use a service like ngrok to proxy the + Appwrite server. + +
    +
    diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/web/step4.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/step4.svelte similarity index 100% rename from src/routes/console/project-[project]/overview/platforms/wizard/web/step4.svelte rename to src/routes/console/project-[project]/overview/platforms/wizard/step4.svelte diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/store.ts b/src/routes/console/project-[project]/overview/platforms/wizard/store.ts index d12bd38d3..51adff1ec 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/store.ts +++ b/src/routes/console/project-[project]/overview/platforms/wizard/store.ts @@ -1,5 +1,5 @@ -import type { Models } from '@aw-labs/appwrite-console'; import { writable } from 'svelte/store'; +import type { Models } from '@aw-labs/appwrite-console'; export const createPlatform = writable>({ name: null, diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/web/step1.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/web/step1.svelte index 892eca7bd..b2a807690 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/web/step1.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/web/step1.svelte @@ -2,16 +2,29 @@ import { page } from '$app/stores'; import { Alert } from '$lib/components'; import { Pill } from '$lib/elements'; - import { FormList } from '$lib/elements/forms'; - import InputText from '$lib/elements/forms/inputText.svelte'; + import { FormList, InputText } from '$lib/elements/forms'; import { WizardStep } from '$lib/layout'; import { sdkForConsole } from '$lib/stores/sdk'; import { createPlatform } from '../store'; const projectId = $page.params.project; + const suggestions = ['*.vercel.app', '*.netlify.app', '*.gitpod.app']; async function beforeSubmit() { - await sdkForConsole.projects.createPlatform( + if ($createPlatform.$id) { + await sdkForConsole.projects.updatePlatform( + projectId, + $createPlatform.$id, + $createPlatform.name, + undefined, + undefined, + $createPlatform.hostname + ); + + return; + } + + const platform = await sdkForConsole.projects.createPlatform( projectId, 'web', $createPlatform.name, @@ -19,6 +32,8 @@ undefined, $createPlatform.hostname ); + + $createPlatform.$id = platform.$id; } @@ -39,11 +54,11 @@ required bind:value={$createPlatform.hostname} />
    - {#each ['*.vercel.app', '*.netlify.app', '*.gitpod.app'] as suggestion} + {#each suggestions as suggestion} ($createPlatform.hostname = suggestion)} - selected={$createPlatform.hostname === suggestion}> + selected={$createPlatform.hostname === suggestion} + on:click={() => ($createPlatform.hostname = suggestion)}> {suggestion} {/each} 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 caa05ddd2..4c1aae83d 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 @@ -2,6 +2,7 @@ import { Code } from '$lib/components'; import { Pill } from '$lib/elements'; import { WizardStep } from '$lib/layout'; + enum Method { NPM, CDN From 1c76765d668c458470d5f46d3352d8f88cff5e35 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Thu, 13 Oct 2022 13:03:02 +0200 Subject: [PATCH 03/16] feat: initial draft for flutter, apple and android platforms --- src/lib/components/code.svelte | 3 +- .../overview/platforms/+page.svelte | 11 ++- .../overview/platforms/createAndroid.svelte | 47 +++++++++ .../overview/platforms/createApple.svelte | 47 +++++++++ .../overview/platforms/createFlutter.svelte | 30 +----- .../overview/platforms/createWeb.svelte | 30 +----- .../platforms/wizard/android/step1.svelte | 53 ++++++++++ .../platforms/wizard/android/step2.svelte | 21 ++++ .../platforms/wizard/android/step3.svelte | 25 +++++ .../platforms/wizard/apple/step1.svelte | 98 +++++++++++++++++++ .../platforms/wizard/apple/step2.svelte | 74 ++++++++++++++ .../platforms/wizard/apple/step3.svelte | 39 ++++++++ .../platforms/wizard/flutter/step2.svelte | 7 +- .../overview/platforms/wizard/store.ts | 33 +++++++ .../platforms/wizard/web/step2.svelte | 4 +- 15 files changed, 461 insertions(+), 61 deletions(-) create mode 100644 src/routes/console/project-[project]/overview/platforms/createAndroid.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/createApple.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/android/step1.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/android/step2.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/android/step3.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/apple/step1.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/apple/step2.svelte create mode 100644 src/routes/console/project-[project]/overview/platforms/wizard/apple/step3.svelte diff --git a/src/lib/components/code.svelte b/src/lib/components/code.svelte index 089e59377..e0c0be09c 100644 --- a/src/lib/components/code.svelte +++ b/src/lib/components/code.svelte @@ -6,6 +6,7 @@ import 'prismjs/components/prism-json'; import 'prismjs/components/prism-bash'; import 'prismjs/components/prism-yaml'; + import 'prismjs/components/prism-swift'; import 'prismjs/plugins/autoloader/prism-autoloader'; import 'prismjs/plugins/line-numbers/prism-line-numbers'; import 'prismjs/plugins/line-numbers/prism-line-numbers.css'; @@ -14,7 +15,7 @@ export let label: string = null; export let code: string; - export let language: 'js' | 'html' | 'dart' | 'kotlin' | 'json' | 'sh' | 'yml'; + export let language: 'js' | 'html' | 'dart' | 'kotlin' | 'json' | 'sh' | 'yml' | 'swift'; export let showLineNumbers = false; export let showCopy = false; diff --git a/src/routes/console/project-[project]/overview/platforms/+page.svelte b/src/routes/console/project-[project]/overview/platforms/+page.svelte index 164dd9bda..33c12edca 100644 --- a/src/routes/console/project-[project]/overview/platforms/+page.svelte +++ b/src/routes/console/project-[project]/overview/platforms/+page.svelte @@ -5,8 +5,11 @@ import { toLocaleDateTime } from '$lib/helpers/date'; import { wizard } from '$lib/stores/wizard'; import { project } from '../../store'; + import CreateAndroid from './createAndroid.svelte'; + import CreateApple from './createApple.svelte'; import CreateFlutter from './createFlutter.svelte'; import CreateWeb from './createWeb.svelte'; + import { versions } from './wizard/store'; let showDropdown = false; const path = `/console/project-${$page.params.project}/overview/platforms`; @@ -21,11 +24,12 @@ const platforms = { [Platform.Web]: CreateWeb, [Platform.Flutter]: CreateFlutter, - [Platform.Android]: CreateWeb, - [Platform.Apple]: CreateWeb + [Platform.Android]: CreateAndroid, + [Platform.Apple]: CreateApple }; - function addPlatform(type: Platform) { + async function addPlatform(type: Platform) { + await versions.load(); wizard.start(platforms[type]); } @@ -61,7 +65,6 @@ {#each $project.platforms as platform} {platform.name} -

    Last Updated

    {toLocaleDateTime(platform.$updatedAt)}

    diff --git a/src/routes/console/project-[project]/overview/platforms/createAndroid.svelte b/src/routes/console/project-[project]/overview/platforms/createAndroid.svelte new file mode 100644 index 000000000..dec7e6af2 --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/createAndroid.svelte @@ -0,0 +1,47 @@ + + + diff --git a/src/routes/console/project-[project]/overview/platforms/createApple.svelte b/src/routes/console/project-[project]/overview/platforms/createApple.svelte new file mode 100644 index 000000000..1e59063e7 --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/createApple.svelte @@ -0,0 +1,47 @@ + + + diff --git a/src/routes/console/project-[project]/overview/platforms/createFlutter.svelte b/src/routes/console/project-[project]/overview/platforms/createFlutter.svelte index c48a34905..c19092c95 100644 --- a/src/routes/console/project-[project]/overview/platforms/createFlutter.svelte +++ b/src/routes/console/project-[project]/overview/platforms/createFlutter.svelte @@ -1,11 +1,8 @@ + + + Register your Android app + + + + + 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 new file mode 100644 index 000000000..1f984af26 --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/android/step2.svelte @@ -0,0 +1,21 @@ + + + + Get the SDK +

    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 new file mode 100644 index 000000000..a7b5bbf3e --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/android/step3.svelte @@ -0,0 +1,25 @@ + + + + Let's get coding + +
    +

    Init 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. +

    + +
    +
    diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/apple/step1.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/apple/step1.svelte new file mode 100644 index 000000000..7478cd44f --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/apple/step1.svelte @@ -0,0 +1,98 @@ + + + + Register your Flutter app + + Note: If you are building your Flutter application for multiple devices, you will have to + follow this process for each different device. + + + + +

    Choose a platform

    +
    + (platform = Platform.iOS)} + selected={platform === Platform.iOS}> + iOS + + (platform = Platform.macOS)} + selected={platform === Platform.macOS}> + macOS + + (platform = Platform.watchOS)} + selected={platform === Platform.watchOS}> + watchOS + + (platform = Platform.tvOS)} + selected={platform === Platform.tvOS}> + tvOS + +
    +
    + + +
    +
    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 new file mode 100644 index 000000000..0b206e879 --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/apple/step2.svelte @@ -0,0 +1,74 @@ + + + + Get the SDK +
    + (method = Method.Xcode)} selected={method === Method.Xcode}> + Xcode + + (method = Method.Swift)} selected={method === Method.Swift}> + Swift Packages + +
    +
    + {#if method === Method.Xcode} +
      +
    1. + Select File > Swift Packages > Add Package Dependency +
    2. +
    3. + + Search for the Appwrite SDK with the URL + https://github.com/appwrite/sdk-for-apple + +
    4. +
    5. + Add version rules +
    6. +
    7. + + Select next and wait for package resolution to complete + +
    8. +
    9. + + Make sure `Appwrite` is selected to add to your target and select finish + +
    10. +
    + {:else if method === Method.Swift} +

    Add this to your Package.swift file:

    + +

    Then add the dependency to your target:

    + + {/if} +
    +
    diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/apple/step3.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/apple/step3.svelte new file mode 100644 index 000000000..1fd933866 --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/wizard/apple/step3.svelte @@ -0,0 +1,39 @@ + + + + Let's get coding + +
    +

    Init 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. +

    + +
    +

    + Before sending any API calls to your new Appwrite project, make sure your device or emulator + has network access to your Appwrite project's hostname or IP address. +

    +
    + + For self-hosted solutions + When connecting to a locally hosted Appwrite project from an emulator or a mobile device, + you should use the private IP of the device running your Appwrite project as the hostname + of the endpoint instead of localhost. You can also use a service like ngrok to proxy the + Appwrite server. + +
    +
    diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step2.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step2.svelte index 2f0c0ab17..063f62048 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step2.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/flutter/step2.svelte @@ -1,16 +1,17 @@ Get the SDK

    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:

    diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/store.ts b/src/routes/console/project-[project]/overview/platforms/wizard/store.ts index 51adff1ec..090ec1f2e 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/store.ts +++ b/src/routes/console/project-[project]/overview/platforms/wizard/store.ts @@ -1,4 +1,6 @@ import { writable } from 'svelte/store'; +import { sdkForConsole } from '$lib/stores/sdk'; +import { cachedStore } from '$lib/helpers/cache'; import type { Models } from '@aw-labs/appwrite-console'; export const createPlatform = writable>({ @@ -6,3 +8,34 @@ export const createPlatform = writable>({ hostname: null, type: null }); + +export const versions = cachedStore< + { + server: string; + 'client-web': string; + 'client-flutter': string; + 'client-apple': string; + 'client-android': string; + 'console-web': string; + 'console-cli': string; + 'server-nodejs': string; + 'server-deno': string; + 'server-php': string; + 'server-python': string; + 'server-ruby': string; + 'server-dart': string; + 'server-kotlin': string; + 'server-swift': string; + }, + { + load: () => Promise; + } +>('versions', function ({ set }) { + return { + load: async () => { + const { endpoint } = sdkForConsole.client.config; + const response = await fetch(`${endpoint}/../versions`); + set(await response.json()); + } + }; +}); 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 4c1aae83d..e158c02d6 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 @@ -1,4 +1,6 @@ `} + code={``} showCopy /> {/if} From 93a9c2042594736e2fd6d36ba0746f5fe11f583e Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Thu, 13 Oct 2022 14:16:52 +0200 Subject: [PATCH 04/16] fix: numbered list and code examples --- package-lock.json | 28 +++++++++---------- package.json | 4 +-- src/lib/components/code.svelte | 27 ++++++------------ .../platforms/wizard/apple/step2.svelte | 26 +++++++++-------- 4 files changed, 39 insertions(+), 46 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0e9b8d8d5..41a4a2977 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,8 @@ "version": "0.0.1", "dependencies": { "@aw-labs/appwrite-console": "^6.0.0", - "@aw-labs/icons": "0.0.0-61", - "@aw-labs/ui": "0.0.0-61", + "@aw-labs/icons": "0.0.0-62", + "@aw-labs/ui": "0.0.0-62", "echarts": "^5.4.0", "prismjs": "^1.29.0", "tippy.js": "^6.3.7", @@ -79,14 +79,14 @@ } }, "node_modules/@aw-labs/icons": { - "version": "0.0.0-61", - "resolved": "https://registry.npmjs.org/@aw-labs/icons/-/icons-0.0.0-61.tgz", - "integrity": "sha512-kZdiDF+ywVvcoC8R+lZNnxwuxNeCmMNwyoqoFL+VANNeRL6pfABYDUwTRG4cZmY4n/oswe5FeILjl/HlSSf5/w==" + "version": "0.0.0-62", + "resolved": "https://registry.npmjs.org/@aw-labs/icons/-/icons-0.0.0-62.tgz", + "integrity": "sha512-fehLk+DDor3IlIKaAx2UypUggO/0b3Btsq/HC6f5FfkMbjbjwKvKvYXG4c4C3KoDW6kESttccQZqEnm2krVn+A==" }, "node_modules/@aw-labs/ui": { - "version": "0.0.0-61", - "resolved": "https://registry.npmjs.org/@aw-labs/ui/-/ui-0.0.0-61.tgz", - "integrity": "sha512-v0+4CWP7x7cNo0sqZlZOeqp3RK45fS+LMg/lVEpyByaluMqXDIPe7p522vp0hgsN2YKtpilbxg0vlqLCIvEa8w==", + "version": "0.0.0-62", + "resolved": "https://registry.npmjs.org/@aw-labs/ui/-/ui-0.0.0-62.tgz", + "integrity": "sha512-gU59XQNDeeXOqDPGxkQxDJIq70sCUxTafnDcDJlMFiAnz7yGLTgB2dO/6dv0KlNJ7u+9XC7UtsHWs0vFtVkICw==", "dependencies": { "@aw-labs/icons": "*", "normalize.css": "^8.0.1", @@ -7788,14 +7788,14 @@ } }, "@aw-labs/icons": { - "version": "0.0.0-61", - "resolved": "https://registry.npmjs.org/@aw-labs/icons/-/icons-0.0.0-61.tgz", - "integrity": "sha512-kZdiDF+ywVvcoC8R+lZNnxwuxNeCmMNwyoqoFL+VANNeRL6pfABYDUwTRG4cZmY4n/oswe5FeILjl/HlSSf5/w==" + "version": "0.0.0-62", + "resolved": "https://registry.npmjs.org/@aw-labs/icons/-/icons-0.0.0-62.tgz", + "integrity": "sha512-fehLk+DDor3IlIKaAx2UypUggO/0b3Btsq/HC6f5FfkMbjbjwKvKvYXG4c4C3KoDW6kESttccQZqEnm2krVn+A==" }, "@aw-labs/ui": { - "version": "0.0.0-61", - "resolved": "https://registry.npmjs.org/@aw-labs/ui/-/ui-0.0.0-61.tgz", - "integrity": "sha512-v0+4CWP7x7cNo0sqZlZOeqp3RK45fS+LMg/lVEpyByaluMqXDIPe7p522vp0hgsN2YKtpilbxg0vlqLCIvEa8w==", + "version": "0.0.0-62", + "resolved": "https://registry.npmjs.org/@aw-labs/ui/-/ui-0.0.0-62.tgz", + "integrity": "sha512-gU59XQNDeeXOqDPGxkQxDJIq70sCUxTafnDcDJlMFiAnz7yGLTgB2dO/6dv0KlNJ7u+9XC7UtsHWs0vFtVkICw==", "requires": { "@aw-labs/icons": "*", "normalize.css": "^8.0.1", diff --git a/package.json b/package.json index 5d2bde148..0c6478d22 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,8 @@ }, "dependencies": { "@aw-labs/appwrite-console": "^6.0.0", - "@aw-labs/icons": "0.0.0-61", - "@aw-labs/ui": "0.0.0-61", + "@aw-labs/icons": "0.0.0-62", + "@aw-labs/ui": "0.0.0-62", "echarts": "^5.4.0", "prismjs": "^1.29.0", "tippy.js": "^6.3.7", diff --git a/src/lib/components/code.svelte b/src/lib/components/code.svelte index e0c0be09c..24d6c99e9 100644 --- a/src/lib/components/code.svelte +++ b/src/lib/components/code.svelte @@ -24,35 +24,27 @@ }); -
    -
    +
    +
    {#if label} {label} {/if} {#if showCopy} - {/if}
    +
    {code}
    -
    +