From 3a4ddd9367c4065680c84f2a641d2f10fa376c04 Mon Sep 17 00:00:00 2001 From: Arman Date: Sun, 27 Oct 2024 21:01:19 +0100 Subject: [PATCH] fix: template creation --- .../create-site/repositories/+page.svelte | 82 +++++++++---------- .../repository-[repository]/+page.svelte | 12 ++- .../sites/create-site/templates/+page.svelte | 5 +- .../template-[template]/+page.svelte | 54 ++++++------ .../project-[project]/sites/store.ts | 8 +- 5 files changed, 76 insertions(+), 85 deletions(-) diff --git a/src/routes/(console)/project-[project]/sites/create-site/repositories/+page.svelte b/src/routes/(console)/project-[project]/sites/create-site/repositories/+page.svelte index 863742468..7a09f401e 100644 --- a/src/routes/(console)/project-[project]/sites/create-site/repositories/+page.svelte +++ b/src/routes/(console)/project-[project]/sites/create-site/repositories/+page.svelte @@ -6,7 +6,7 @@ import Card from '$lib/components/card.svelte'; import Repositories from '$lib/components/repositories.svelte'; import Button from '$lib/elements/forms/button.svelte'; - import { WizardSecondaryContainer, WizardSecondaryContent } from '$lib/layout/index.js'; + import { Wizard } from '$lib/layout'; import { installation, repository } from '$lib/stores/vcs.js'; import { Layout, Typography } from '@appwrite.io/pink-svelte'; @@ -15,46 +15,42 @@ let selectedRepository: string = null; - - Create site - - { - trackEvent('click_connect_repository', { - from: 'cover' - }); - repository.set(e.detail); - goto( - `${base}/project-${$page.params.project}/sites/create-site/repositories/repository-${e.detail.id}?installation=${$installation.$id}` - ); - }} /> - - - - - Missing a repository? -

- Check your permissions in GitHub, your repository might be set to - private. -

-
- - - {#if hasInstallations} - - {/if} - + + { + trackEvent('click_connect_repository', { + from: 'cover' + }); + repository.set(e.detail); + goto( + `${base}/project-${$page.params.project}/sites/create-site/repositories/repository-${e.detail.id}?installation=${$installation.$id}` + ); + }} /> + + + + + Missing a repository? +

+ Check your permissions in GitHub, your repository might be set to private. +

-
-
-
-
+ + + {#if hasInstallations} + + {/if} + + + + + diff --git a/src/routes/(console)/project-[project]/sites/create-site/repositories/repository-[repository]/+page.svelte b/src/routes/(console)/project-[project]/sites/create-site/repositories/repository-[repository]/+page.svelte index 791f04a62..13f5f99c7 100644 --- a/src/routes/(console)/project-[project]/sites/create-site/repositories/repository-[repository]/+page.svelte +++ b/src/routes/(console)/project-[project]/sites/create-site/repositories/repository-[repository]/+page.svelte @@ -21,8 +21,9 @@ import ProductionBranch from '../../productionBranch.svelte'; import Configuration from './configuration.svelte'; import Aside from '../../aside.svelte'; - import { Framework, ID } from '@appwrite.io/console'; + import { ID } from '@appwrite.io/console'; import type { Models } from '@appwrite.io/console'; + import { getEnumFromModel } from '../../../store'; export let data; let showExitModal = false; @@ -69,16 +70,14 @@ return sorted; } - function getEnumFromModel(model: Models.Framework): Framework { - return Framework[model.name]; - } - async function create() { try { let site = await sdk.forProject.sites.create( id || ID.unique(), name, - getEnumFromModel(data.frameworks.frameworks.find((fr) => fr.name === framework.name)), + getEnumFromModel( + data.frameworks.frameworks.find((fr) => fr.name === framework.name) + ), true, 30, installCommand, @@ -165,7 +164,6 @@ {/await} - @@ -158,11 +160,12 @@
    {#each data.templates as template} diff --git a/src/routes/(console)/project-[project]/sites/create-site/templates/template-[template]/+page.svelte b/src/routes/(console)/project-[project]/sites/create-site/templates/template-[template]/+page.svelte index 536c2ebcb..5ec7102a2 100644 --- a/src/routes/(console)/project-[project]/sites/create-site/templates/template-[template]/+page.svelte +++ b/src/routes/(console)/project-[project]/sites/create-site/templates/template-[template]/+page.svelte @@ -13,12 +13,7 @@ InputSelect, InputText } from '$lib/elements/forms'; - import { - Wizard, - WizardSecondaryContainer, - WizardSecondaryContent, - WizardSecondaryFooter - } from '$lib/layout'; + import { Wizard } from '$lib/layout'; import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; import { installation, repository } from '$lib/stores/vcs'; @@ -41,11 +36,11 @@ import Configuration from './configuration.svelte'; import Aside from '../../aside.svelte'; import { ID } from '@appwrite.io/console'; + import { getEnumFromModel } from '../../../store'; export let data; let showExitModal = false; - let isTemplate = !!data?.template; let hasInstallations = !!data?.installations?.total; let formComponent: Form; @@ -66,10 +61,8 @@ let variables = []; onMount(() => { - if (isTemplate) { - $installation ??= data.installations[0]; - selectedInstallationId = $installation?.$id; - } + $installation ??= data.installations[0]; + selectedInstallationId = $installation?.$id; }); let callbackState: Record = null; @@ -94,19 +87,24 @@ let site = await sdk.forProject.sites.create( id || ID.unique(), name, - siteFramework, + getEnumFromModel( + data.frameworks.frameworks.find((fr) => fr.name === framework.name) + ), true, + undefined, framework.installCommand, framework.buildCommand, framework.outputDirectory, - framework.fallbackRedirect, + undefined, + undefined, undefined, selectedInstallationId, selectedRepository, branch, undefined, - rootDir, - framework.providerRootDirectory + framework.providerRootDirectory, + undefined, + rootDir ); trackEvent(Submit.SiteCreate, {}); @@ -126,8 +124,6 @@ trackError(e, Submit.SiteCreate); } } - - $: siteFramework = data.frameworks.frameworks.find((fr) => fr.name === framework.name); @@ -272,21 +268,19 @@ diff --git a/src/routes/(console)/project-[project]/sites/store.ts b/src/routes/(console)/project-[project]/sites/store.ts index 17fa04afa..751e1c907 100644 --- a/src/routes/(console)/project-[project]/sites/store.ts +++ b/src/routes/(console)/project-[project]/sites/store.ts @@ -1,5 +1,5 @@ -import { page } from '$app/stores'; -import { derived } from 'svelte/store'; -import type { Models } from '@appwrite.io/console'; +import { Framework, type Models } from '@appwrite.io/console'; -export const functionsList = derived(page, ($page) => $page.data.functions as Models.FunctionList); +export function getEnumFromModel(model: Models.Framework): Framework { + return Framework[model.name]; +}