From 18c5cb8e2b22906fae396be5924bd2124eb5d9c2 Mon Sep 17 00:00:00 2001 From: ernstmul Date: Wed, 2 Apr 2025 12:47:14 +0200 Subject: [PATCH 1/7] Add builder landing page, and remove old routes --- .../(console)/project-[project]/+page.ts | 4 + .../project-[project]/builder}/+page.svelte | 0 src/routes/(studio)/+layout.svelte | 80 ------------------- src/routes/(studio)/+layout.ts | 70 ---------------- .../(studio)/org-[organization]/+page.svelte | 30 ------- 5 files changed, 4 insertions(+), 180 deletions(-) rename src/routes/{(studio)/proj-[project] => (console)/project-[project]/builder}/+page.svelte (100%) delete mode 100644 src/routes/(studio)/+layout.svelte delete mode 100644 src/routes/(studio)/+layout.ts delete mode 100644 src/routes/(studio)/org-[organization]/+page.svelte diff --git a/src/routes/(console)/project-[project]/+page.ts b/src/routes/(console)/project-[project]/+page.ts index 53c3af2a9..6f43a5707 100644 --- a/src/routes/(console)/project-[project]/+page.ts +++ b/src/routes/(console)/project-[project]/+page.ts @@ -2,8 +2,12 @@ import { redirect } from '@sveltejs/kit'; import { base } from '$app/paths'; import type { PageLoad } from './$types'; import { hasOnboardingDismissed } from '$lib/helpers/onboarding'; +import { isStudio } from '$lib/system'; export const load: PageLoad = async ({ params }) => { + if (isStudio) { + redirect(302, `${base}/project-${params.project}/builder`); + } if (hasOnboardingDismissed(params.project)) { redirect(302, `${base}/project-${params.project}/overview`); } diff --git a/src/routes/(studio)/proj-[project]/+page.svelte b/src/routes/(console)/project-[project]/builder/+page.svelte similarity index 100% rename from src/routes/(studio)/proj-[project]/+page.svelte rename to src/routes/(console)/project-[project]/builder/+page.svelte diff --git a/src/routes/(studio)/+layout.svelte b/src/routes/(studio)/+layout.svelte deleted file mode 100644 index da755c82b..000000000 --- a/src/routes/(studio)/+layout.svelte +++ /dev/null @@ -1,80 +0,0 @@ - - -
- -
- - - - -
-
- {#if hasProjectSidebar} - - {:else} - - {/if} -
-
- - diff --git a/src/routes/(studio)/+layout.ts b/src/routes/(studio)/+layout.ts deleted file mode 100644 index d51edd31e..000000000 --- a/src/routes/(studio)/+layout.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { Dependencies } from '$lib/constants'; -import type { Plan } from '$lib/sdk/billing'; -import type { Tier } from '$lib/stores/billing'; -import { sdk } from '$lib/stores/sdk'; -import { isCloud } from '$lib/system'; -import type { LayoutLoad } from './$types'; -import { Query } from '@appwrite.io/console'; - -export const load: LayoutLoad = async ({ params, fetch, depends, parent }) => { - await parent(); - depends(Dependencies.RUNTIMES); - depends(Dependencies.CONSOLE_VARIABLES); - depends(Dependencies.ORGANIZATION); - - const prefs = await sdk.forConsole.account.getPrefs(); - - const { endpoint, project } = sdk.forConsole.client.config; - const versionPromise = fetch(`${endpoint}/health/version`, { - headers: { - 'X-Appwrite-Project': project - } - }).then((response) => response.json() as { version?: string }); - - const variablesPromise = sdk.forConsole.console.variables(); - - const [data, variables] = await Promise.all([versionPromise, variablesPromise]); - - let plansInfo = new Map(); - if (isCloud) { - const plansArray = await sdk.forConsole.billing.getPlansInfo(); - plansInfo = plansArray.plans.reduce((map, plan) => { - map.set(plan.$id as Tier, plan); - return map; - }, new Map()); - } - - const organizations = !isCloud - ? await sdk.forConsole.teams.list() - : await sdk.forConsole.billing.listOrganization(); - - let projects = []; - let currentOrgId = params.organization ? params.organization : prefs.organization; - - if (!currentOrgId && organizations.teams.length > 0) { - currentOrgId = organizations.teams[0].$id; - } - if (currentOrgId) { - const orgProjects = await sdk.forConsole.projects.list([ - Query.equal('teamId', currentOrgId), - Query.limit(100), - Query.orderDesc('$updatedAt') - ]); - projects = orgProjects.projects.length > 0 ? orgProjects.projects : []; - } - - const selectedOrganizationId = - params && params.organization ? params.organization : prefs.organization; - - return { - consoleVariables: variables, - version: data?.version ?? null, - plansInfo, - roles: [], - scopes: [], - projects: projects, - currentProjectId: params.project ?? '', - organizations: organizations, - currentOrganization: organizations.teams.find((org) => org.$id === selectedOrganizationId) - }; -}; diff --git a/src/routes/(studio)/org-[organization]/+page.svelte b/src/routes/(studio)/org-[organization]/+page.svelte deleted file mode 100644 index b97b46e7c..000000000 --- a/src/routes/(studio)/org-[organization]/+page.svelte +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - Projects - Create project - - - - - - {#each data.projects as project} - - {/each} - - - From c09eac3647280cba1d21d2c3a74c75b933c8f831 Mon Sep 17 00:00:00 2001 From: ernstmul Date: Wed, 2 Apr 2025 13:22:50 +0200 Subject: [PATCH 2/7] Show header, add availability of chat for all project pages --- .../components/studio/sidebarProject.svelte | 50 +++++++++++-------- src/lib/layout/cover.svelte | 10 +++- src/lib/layout/shellStudio.svelte | 41 +++++++++++++-- .../project-[project]/builder/+page.svelte | 23 --------- 4 files changed, 76 insertions(+), 48 deletions(-) diff --git a/src/lib/components/studio/sidebarProject.svelte b/src/lib/components/studio/sidebarProject.svelte index 309b23d82..697324d21 100644 --- a/src/lib/components/studio/sidebarProject.svelte +++ b/src/lib/components/studio/sidebarProject.svelte @@ -5,35 +5,45 @@ IconCog, IconDatabase, IconFolder, + IconSparkles, IconTemplate, IconUserGroup } from '@appwrite.io/pink-icons-svelte'; import { base } from '$app/paths'; export let project; + export let showChat; diff --git a/src/lib/layout/cover.svelte b/src/lib/layout/cover.svelte index fff0765ea..72449a331 100644 --- a/src/lib/layout/cover.svelte +++ b/src/lib/layout/cover.svelte @@ -1,5 +1,6 @@ -
+
@@ -18,7 +19,7 @@
- diff --git a/src/routes/(console)/project-[project]/builder/+page.svelte b/src/routes/(console)/project-[project]/builder/+page.svelte index 625bf240e..07b908944 100644 --- a/src/routes/(console)/project-[project]/builder/+page.svelte +++ b/src/routes/(console)/project-[project]/builder/+page.svelte @@ -3,28 +3,5 @@ -
- - - Chat - - - Phasellus a ultricies nulla. Proin tristique aliquam dui. Phasellus porta - sodales justo, et feugiat ligula pulvinar sed. Morbi et nulla hendrerit, - pellentesque est sodales, euismod magna. Suspendisse vel massa arcu. Nulla - ultrices sit amet metus ac euismod. Curabitur ultrices aliquet libero, a - pharetra orci tristique in. Etiam egestas fermentum justo ut semper. Sed - vulputate eros erat, ac sollicitudin nulla condimentum volutpat. Sed vulputate - est ante. - - - -
Iframe
- - From 1e2326b101fdceec25d3112faa800ee2ec1e90ee Mon Sep 17 00:00:00 2001 From: ernstmul Date: Wed, 2 Apr 2025 13:37:29 +0200 Subject: [PATCH 3/7] Fix header --- src/lib/layout/cover.svelte | 19 ++++++++++++------- src/lib/layout/shellStudio.svelte | 15 +++++++++------ .../project-[project]/auth/header.svelte | 4 +++- .../project-[project]/builder/+page.svelte | 4 +--- .../project-[project]/databases/header.svelte | 4 +++- .../project-[project]/functions/header.svelte | 4 +++- .../project-[project]/messaging/header.svelte | 4 +++- .../project-[project]/overview/header.svelte | 3 ++- .../project-[project]/settings/header.svelte | 5 +++-- .../project-[project]/sites/header.svelte | 4 +++- .../project-[project]/storage/header.svelte | 4 +++- 11 files changed, 45 insertions(+), 25 deletions(-) diff --git a/src/lib/layout/cover.svelte b/src/lib/layout/cover.svelte index 72449a331..b9db2553a 100644 --- a/src/lib/layout/cover.svelte +++ b/src/lib/layout/cover.svelte @@ -10,14 +10,19 @@ : ''; -
-
- - - - +{#if isStudio} + + +{:else} +
+
+ + + + +
-
+{/if} diff --git a/src/lib/components/index.ts b/src/lib/components/index.ts index d827c596f..c49202c02 100644 --- a/src/lib/components/index.ts +++ b/src/lib/components/index.ts @@ -81,3 +81,4 @@ export { default as Sidebar } from './sidebar.svelte'; export { default as BottomSheet } from './bottom-sheet/index'; export { default as Confirm } from './confirm.svelte'; export { default as UsageCard } from './usageCard.svelte'; +export { default as Chat } from './chat.svelte'; diff --git a/src/lib/layout/shellStudio.svelte b/src/lib/layout/shellStudio.svelte index e8d1865f9..ef92f4812 100644 --- a/src/lib/layout/shellStudio.svelte +++ b/src/lib/layout/shellStudio.svelte @@ -1,5 +1,5 @@ {#if isStudio} - - - - Projects - - - - - - - - {#each data.projects.projects as project} - - {/each} - + + + Projects + - + + + + + + {#each data.projects.projects as project} + + {/each} + + {:else}
diff --git a/src/routes/(console)/organization-[organization]/header.svelte b/src/routes/(console)/organization-[organization]/header.svelte index 419cf7530..8e847ee51 100644 --- a/src/routes/(console)/organization-[organization]/header.svelte +++ b/src/routes/(console)/organization-[organization]/header.svelte @@ -16,7 +16,7 @@ isBilling, isOwner } from '$lib/stores/roles'; - import { GRACE_PERIOD_OVERRIDE, isCloud } from '$lib/system'; + import { GRACE_PERIOD_OVERRIDE, isCloud, isStudio } from '$lib/system'; import { IconGithub, IconPlus } from '@appwrite.io/pink-icons-svelte'; import { Icon, Tooltip, Typography, Layout, Badge } from '@appwrite.io/pink-svelte'; @@ -76,7 +76,7 @@ ].filter((tab) => !tab.disabled); -{#if $organization?.$id} +{#if $organization?.$id && !isStudio} From a201bbb2edc45552aed26b0308696b7afdc94139 Mon Sep 17 00:00:00 2001 From: ernstmul Date: Wed, 2 Apr 2025 14:56:00 +0200 Subject: [PATCH 5/7] Add visual chat --- src/lib/components/chat.svelte | 75 ++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 21 deletions(-) diff --git a/src/lib/components/chat.svelte b/src/lib/components/chat.svelte index ef7f6f0be..e9af55678 100644 --- a/src/lib/components/chat.svelte +++ b/src/lib/components/chat.svelte @@ -1,6 +1,6 @@ @@ -8,27 +8,43 @@
- - - Chat - - + + + + Chat + { + showChat = false; + }} + > + - - - Phasellus a ultricies nulla. Proin tristique aliquam dui. Phasellus porta - sodales justo, et feugiat ligula pulvinar sed. Morbi et nulla hendrerit, - pellentesque est sodales, euismod magna. Suspendisse vel massa arcu. Nulla - ultrices sit amet metus ac euismod. Curabitur ultrices aliquet libero, a - pharetra orci tristique in. Etiam egestas fermentum justo ut semper. Sed - vulputate eros erat, ac sollicitudin nulla condimentum volutpat. Sed vulputate - est ante. - + + + +
+ +
+ + + + +
+
@@ -37,6 +53,8 @@ From 66008386724ff7544f08718d76567093b2e93aab Mon Sep 17 00:00:00 2001 From: ernstmul Date: Wed, 2 Apr 2025 15:03:37 +0200 Subject: [PATCH 6/7] Make chat fixed --- src/lib/components/chat.svelte | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/lib/components/chat.svelte b/src/lib/components/chat.svelte index e9af55678..c8877ba23 100644 --- a/src/lib/components/chat.svelte +++ b/src/lib/components/chat.svelte @@ -49,15 +49,24 @@
+