diff --git a/src/routes/(console)/project-[project]/sites/create-site/details.svelte b/src/routes/(console)/project-[project]/sites/create-site/details.svelte index 856630f6b..52c2ed3ba 100644 --- a/src/routes/(console)/project-[project]/sites/create-site/details.svelte +++ b/src/routes/(console)/project-[project]/sites/create-site/details.svelte @@ -17,8 +17,6 @@ }[] = []; let showCustomId = false; - - $: console.log(options);
diff --git a/src/routes/(console)/project-[project]/sites/create-site/domain.svelte b/src/routes/(console)/project-[project]/sites/create-site/domain.svelte index d77495956..397fdeeb1 100644 --- a/src/routes/(console)/project-[project]/sites/create-site/domain.svelte +++ b/src/routes/(console)/project-[project]/sites/create-site/domain.svelte @@ -1,83 +1,74 @@ -{#if showConfig} -
- - - - - - .{$consoleVariables._APP_DOMAIN_SITES} - - - - - - - - - - - - - -
-{:else} - - - - - - {domain}.{$consoleVariables._APP_DOMAIN_SITES} - - +
+ + + + + + .{$consoleVariables._APP_DOMAIN_SITES} + + + + disabled={originalDomain === newDomain} + on:click={() => (newDomain = originalDomain)}>Reset - -{/if} + + +
diff --git a/src/routes/(console)/project-[project]/sites/create-site/manual/+page.svelte b/src/routes/(console)/project-[project]/sites/create-site/manual/+page.svelte index 5cf12a7b6..3578b0598 100644 --- a/src/routes/(console)/project-[project]/sites/create-site/manual/+page.svelte +++ b/src/routes/(console)/project-[project]/sites/create-site/manual/+page.svelte @@ -42,7 +42,7 @@ async function create() { try { - domain = await buildVerboseDomain(name, $project.name, $organization.name, id); + domain = await buildVerboseDomain(name, $organization.name, $project.name, id); const fr = Object.values(Framework).find((f) => f === framework.key); const buildRuntime = Object.values(BuildRuntime).find( 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 51af98114..2f10361ac 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 @@ -26,8 +26,7 @@ import { onMount } from 'svelte'; import Configuration from '../../configuration.svelte'; import { consoleVariables } from '$routes/(console)/store'; - import { buildVerboseDomain } from '../../store'; - import { project } from '$routes/(console)/project-[project]/store'; + import Domain from '../../domain.svelte'; export let data; let showExitModal = false; @@ -46,7 +45,8 @@ let outputDirectory = adapter?.outputDirectory; let variables: Partial[] = []; let silentMode = false; - let domain = id; + let domain = data.domain; + let domainIsValid = true; onMount(async () => { installation.set(data.installation); @@ -76,18 +76,18 @@ } catch (error) { framework = data.frameworks.frameworks.find((f) => f.key === 'other'); trackError(error, Submit.FrameworkDetect); - console.log(error); } } async function create() { + if (!domainIsValid) { + addNotification({ + type: 'error', + message: 'Domain is not valid' + }); + return; + } try { - domain = await buildVerboseDomain( - data.repository.name, - data.repository.organization, - $project.name, - id - ); const fr = Object.values(Framework).find((f) => f === framework.key); const buildRuntime = Object.values(BuildRuntime).find( (f) => f === framework.buildRuntime @@ -151,8 +151,6 @@ trackError(e, Submit.SiteCreate); } } - - $: console.log(framework); @@ -204,6 +202,8 @@ bind:variables frameworks={data.frameworks.frameworks} /> {/key} + +
diff --git a/src/routes/(console)/project-[project]/sites/create-site/repositories/repository-[repository]/+page.ts b/src/routes/(console)/project-[project]/sites/create-site/repositories/repository-[repository]/+page.ts index 6a5dbb1b9..e988e000b 100644 --- a/src/routes/(console)/project-[project]/sites/create-site/repositories/repository-[repository]/+page.ts +++ b/src/routes/(console)/project-[project]/sites/create-site/repositories/repository-[repository]/+page.ts @@ -1,18 +1,28 @@ import { sdk } from '$lib/stores/sdk'; +import { ID } from '@appwrite.io/console'; +import { buildVerboseDomain } from '../../store'; export const load = async ({ parent, params, url }) => { - const { installations, frameworks } = await parent(); - + const { installations, frameworks, project, organization, consoleVariables } = await parent(); const [repository] = await Promise.all([ sdk.forProject.vcs.getRepository(url.searchParams.get('installation'), params.repository) ]); + const domain = await buildVerboseDomain( + consoleVariables._APP_DOMAIN_SITES, + repository.name, + organization.name, + project.name, + ID.unique() + ); + return { installations, installation: installations.installations.find( (installation) => installation.$id === url.searchParams.get('installation') ), repository, - frameworks + frameworks, + domain }; }; diff --git a/src/routes/(console)/project-[project]/sites/create-site/store.ts b/src/routes/(console)/project-[project]/sites/create-site/store.ts index df104c219..35557ba75 100644 --- a/src/routes/(console)/project-[project]/sites/create-site/store.ts +++ b/src/routes/(console)/project-[project]/sites/create-site/store.ts @@ -1,18 +1,13 @@ import { sdk } from '$lib/stores/sdk'; -import { consoleVariables } from '$routes/(console)/store'; import { ConsoleResourceType, ID } from '@appwrite.io/console'; -import { get } from 'svelte/store'; function toURLSafe(s: string) { return s.replace(/[^a-zA-Z0-9-]/g, '-'); } -export async function checkDomain(domain: string) { +export async function checkDomain(domain: string, apex: string) { try { - await sdk.forConsole.console.getResource( - `${domain}.${get(consoleVariables)._APP_DOMAIN_SITES}`, - ConsoleResourceType.Rules - ); + await sdk.forConsole.console.getResource(`${domain}.${apex}`, ConsoleResourceType.Rules); return true; } catch { return false; @@ -20,6 +15,7 @@ export async function checkDomain(domain: string) { } export async function buildVerboseDomain( + apex: string, name: string, specifier: string, secondarySpecifier?: string, @@ -32,21 +28,21 @@ export async function buildVerboseDomain( : ''; const safeUnique = unique ? toURLSafe(unique).toLowerCase() : ID.unique(); let domain = `${safeName}`; - if (await checkDomain(domain)) { + if (await checkDomain(domain, apex)) { return domain; } domain += '-' + safeSpecifier; - if (await checkDomain(domain)) { + if (await checkDomain(domain, apex)) { return domain; } if (secondarySpecifier) { domain += '-' + safeSecondarySpecifier; - if (await checkDomain(domain)) { + if (await checkDomain(domain, apex)) { return domain; } } domain += '-' + safeUnique; - if (await checkDomain(domain)) { + if (await checkDomain(domain, apex)) { return domain; } } diff --git a/src/routes/(console)/project-[project]/sites/create-site/templates/+page.ts b/src/routes/(console)/project-[project]/sites/create-site/templates/+page.ts index 9857de1f1..0d69aeed3 100644 --- a/src/routes/(console)/project-[project]/sites/create-site/templates/+page.ts +++ b/src/routes/(console)/project-[project]/sites/create-site/templates/+page.ts @@ -15,8 +15,6 @@ export const load = async ({ url, route }) => { const siteTemplatesList = await sdk.forProject.sites.listTemplates(undefined, undefined, 100); - console.log(siteTemplatesList); - const [frameworksSet, useCasesSet] = siteTemplatesList.templates.reduce( ([fr, uc], next) => { next.useCases.forEach((useCase) => uc.add(useCase)); 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 cde966aa1..dc869e44d 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 @@ -35,10 +35,8 @@ import { getFrameworkIcon } from '../../../store'; import { app, iconPath } from '$lib/stores/app'; import { consoleVariables } from '$routes/(console)/store'; - import { project } from '$routes/(console)/project-[project]/store'; - import { buildVerboseDomain } from '../../store'; - import { organization } from '$lib/stores/organization'; import { connectGitHub } from '$lib/stores/git'; + import Domain from '../../domain.svelte'; export let data; @@ -51,7 +49,8 @@ let name = data.template.name; let id = ID.unique(); - let domain = id; + let domain = data.domain; + let domainIsValid = true; let framework = data?.template?.frameworks[0]; let branch = 'main'; let rootDir = './'; @@ -100,15 +99,14 @@ message: 'Please select a repository' }); return; + } else if (!domainIsValid) { + addNotification({ + type: 'error', + message: 'Domain is not valid' + }); + return; } else { try { - domain = await buildVerboseDomain( - data.template.name, - $project.name, - $organization.name, - id - ); - const fr = Object.values(Framework).find((f) => f === framework.key); const buildRuntime = Object.values(BuildRuntime).find( (f) => f === framework.buildRuntime @@ -186,11 +184,6 @@ $: if (connectBehaviour === 'later') { selectedRepository = null; } - - $: console.log(repositoryName); - - $: console.log(data.template); - $: console.log(variables); @@ -319,6 +312,9 @@ {/if} {/if} + {#if connectBehaviour === 'later' || selectedRepository} + + {/if} diff --git a/src/routes/(console)/project-[project]/sites/create-site/templates/template-[template]/+page.ts b/src/routes/(console)/project-[project]/sites/create-site/templates/template-[template]/+page.ts index f10d6da5a..f8feef8b1 100644 --- a/src/routes/(console)/project-[project]/sites/create-site/templates/template-[template]/+page.ts +++ b/src/routes/(console)/project-[project]/sites/create-site/templates/template-[template]/+page.ts @@ -1,12 +1,22 @@ import { sdk } from '$lib/stores/sdk'; +import { buildVerboseDomain } from '../../store.js'; +import { ID } from '@appwrite.io/console'; export const load = async ({ parent, params }) => { - const { installations, frameworks } = await parent(); + const { installations, frameworks, project, organization, consoleVariables } = await parent(); const template = await sdk.forProject.sites.getTemplate(params.template); + const domain = await buildVerboseDomain( + consoleVariables._APP_DOMAIN_SITES, + template.name, + organization.name, + project.name, + ID.unique() + ); return { installations, frameworks, - template + template, + domain }; }; diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verify-[domain]/+page.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verify-[domain]/+page.svelte index ab3192fd5..07b9c0322 100644 --- a/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verify-[domain]/+page.svelte +++ b/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verify-[domain]/+page.svelte @@ -1,6 +1,6 @@