diff --git a/src/lib/components/sidebar.svelte b/src/lib/components/sidebar.svelte index 99bd5db854..31cba67248 100644 --- a/src/lib/components/sidebar.svelte +++ b/src/lib/components/sidebar.svelte @@ -39,11 +39,11 @@ import { Click, trackEvent } from '$lib/actions/analytics'; import type { HTMLAttributes } from 'svelte/elements'; - import type { NavbarProject } from '$lib/components/navbar.svelte'; + import type { Models } from '@appwrite.io/console'; type $$Props = HTMLAttributes & { state?: 'closed' | 'open' | 'icons'; - project: NavbarProject | undefined; + project: Models.Project | undefined; avatar: string; progressCard?: { title: string; @@ -84,7 +84,7 @@
diff --git a/src/lib/layout/shell.svelte b/src/lib/layout/shell.svelte index 871f2d5253..e5062eddcb 100644 --- a/src/lib/layout/shell.svelte +++ b/src/lib/layout/shell.svelte @@ -11,21 +11,20 @@ import { sdk } from '$lib/stores/sdk'; import { user } from '$lib/stores/user'; import { tierToPlan } from '$lib/stores/billing'; - import { type Models } from '@appwrite.io/console'; import { isCloud } from '$lib/system'; import SideNavigation from '$lib/layout/navigation.svelte'; import { hasOnboardingDismissed } from '$lib/helpers/onboarding'; import { isSidebarOpen } from '$lib/stores/sidebar'; import { BillingPlan } from '$lib/constants'; import { page } from '$app/stores'; + import type { Models } from '@appwrite.io/console'; export let showSideNavigation = false; export let showHeader = true; export let showFooter = true; export let loadedProjects: Array = []; - export let projects: Array = []; + export let selectedProject: Models.Project | null = null; - $: selectedProject = loadedProjects.find((project) => project.isSelected); let yOnMenuOpen: number; let showContentTransition = false; let timeoutId: ReturnType; @@ -120,11 +119,9 @@ const progressCard = function getProgressCard() { if (selectedProject && !hasOnboardingDismissed(selectedProject.$id)) { - const currentProject = projects.find((project) => project.$id === selectedProject.$id); - return { title: 'Get started', - percentage: currentProject && currentProject.platforms.length ? 100 : 33 + percentage: selectedProject && selectedProject.platforms.length ? 100 : 33 }; } diff --git a/src/routes/(console)/+layout.svelte b/src/routes/(console)/+layout.svelte index 2a101bc250..3375262921 100644 --- a/src/routes/(console)/+layout.svelte +++ b/src/routes/(console)/+layout.svelte @@ -52,6 +52,7 @@ IconSparkles, IconSwitchHorizontal } from '@appwrite.io/pink-icons-svelte'; + import type { LayoutData } from './$types'; function kebabToSentenceCase(str: string) { return str @@ -62,7 +63,8 @@ const isAssistantEnabled = $consoleVariables?._APP_ASSISTANT_ENABLED === true; - export let data; + export let data: LayoutData; + $: loadedProjects = data.projects.map((project) => { return { name: project?.name, @@ -340,8 +342,8 @@ !page.url.pathname.includes('/console/onboarding')} showHeader={!page.url.pathname.includes('/console/onboarding')} showFooter={!page.url.pathname.includes('/console/onboarding')} - bind:loadedProjects - bind:projects={data.projects}> + {loadedProjects} + selectedProject={page.data?.project}>