From 03ba65c05d49902fbd4582dfa0820da643b1ce91 Mon Sep 17 00:00:00 2001 From: Arman Date: Mon, 3 Mar 2025 16:38:14 +0100 Subject: [PATCH] fix: expand verbose domains --- .../sites/create-site/manual/+page.svelte | 7 +++++-- .../repository-[repository]/+page.svelte | 4 ++-- .../sites/create-site/store.ts | 20 ++++++++++++++++--- .../template-[template]/+page.svelte | 8 +++++++- 4 files changed, 31 insertions(+), 8 deletions(-) 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 92ca325e5..ac058c64c 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 @@ -17,6 +17,7 @@ import InputFile from '$lib/elements/forms/inputFile.svelte'; import { buildVerboseDomain } from '../store'; import { project } from '$routes/(console)/project-[project]/store'; + import { organization } from '$lib/stores/organization'; export let data; let showExitModal = false; @@ -27,7 +28,9 @@ let name = 'My website'; let id = ID.unique(); let domain = id; - let framework: Models.Framework = data.frameworks.frameworks[0]; + let framework: Models.Framework = + data.frameworks.frameworks?.find((f) => f.key === 'other') ?? + data.frameworks.frameworks?.[0]; let adapter = framework?.adapters[0]; let installCommand = adapter?.installCommand; let buildCommand = adapter?.buildCommand; @@ -37,7 +40,7 @@ async function create() { try { - domain = await buildVerboseDomain(name, $project.name, id); + domain = await buildVerboseDomain(name, $project.name, $organization.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 8a5751361..25300def3 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 @@ -22,6 +22,7 @@ // import Domain from '../../domain.svelte'; import { consoleVariables } from '$routes/(console)/store'; import { buildVerboseDomain } from '../../store'; + import { project } from '$routes/(console)/project-[project]/store'; export let data; let showExitModal = false; @@ -47,8 +48,6 @@ installation.set(data.installation); repository.set(data.repository); name = data.repository.name; - - // domain = await buildVerboseDomain(data.repository.name, data.repository.organization, id); }); async function loadBranches() { @@ -79,6 +78,7 @@ domain = await buildVerboseDomain( data.repository.name, data.repository.organization, + $project.name, id ); const fr = Object.values(Framework).find((f) => f === framework.key); 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 ed6cac36a..df104c219 100644 --- a/src/routes/(console)/project-[project]/sites/create-site/store.ts +++ b/src/routes/(console)/project-[project]/sites/create-site/store.ts @@ -19,19 +19,33 @@ export async function checkDomain(domain: string) { } } -export async function buildVerboseDomain(name: string, specifier: string, unique?: string) { +export async function buildVerboseDomain( + name: string, + specifier: string, + secondarySpecifier?: string, + unique?: string +) { const safeName = toURLSafe(name).toLowerCase(); const safeSpecifier = toURLSafe(specifier).toLowerCase(); + const safeSecondarySpecifier = secondarySpecifier + ? toURLSafe(secondarySpecifier).toLowerCase() + : ''; const safeUnique = unique ? toURLSafe(unique).toLowerCase() : ID.unique(); let domain = `${safeName}`; if (await checkDomain(domain)) { return domain; } - domain = `${safeName}-${safeSpecifier}`; + domain += '-' + safeSpecifier; if (await checkDomain(domain)) { return domain; } - domain = `${safeName}-${safeSpecifier}-${safeUnique}`; + if (secondarySpecifier) { + domain += '-' + safeSecondarySpecifier; + if (await checkDomain(domain)) { + return domain; + } + } + domain += '-' + safeUnique; if (await checkDomain(domain)) { return domain; } 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 3106756fc..f7acbeb4b 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 @@ -34,6 +34,7 @@ import { consoleVariables } from '$routes/(console)/store'; import { project } from '$routes/(console)/project-[project]/store'; import { buildVerboseDomain } from '../../store'; + import { organization } from '$lib/stores/organization'; export let data; @@ -123,7 +124,12 @@ // } else { try { - domain = await buildVerboseDomain(data.template.name, $project.name, id); + 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(