File tree Expand file tree Collapse file tree
organization-[organization]/(studio)/template-[region]-[template]
project-[region]-[project]/(studio)/studio Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -331,13 +331,25 @@ export async function initImagine(
331331 props : { }
332332 } ,
333333 onNavigate ( route ) {
334- if ( route . id === 'project' ) {
335- goto (
336- resolve ( '/(console)/project-[region]-[project]/(studio)/studio' , {
337- region : route . props . region ,
338- project : route . props . projectId
339- } )
340- ) ;
334+ switch ( route . id ) {
335+ case 'project' :
336+ goto (
337+ resolve ( '/(console)/project-[region]-[project]/(studio)/studio' , {
338+ region : route . props . region ,
339+ project : route . props . projectId
340+ } )
341+ ) ;
342+ break ;
343+ case 'view' :
344+ goto (
345+ resolve ( '/(console)/(redirects)/template/[template]' , {
346+ template : route . props . projectId
347+ } )
348+ ) ;
349+ break ;
350+ case 'home' :
351+ goto ( resolve ( '/' ) ) ;
352+ break ;
341353 }
342354 }
343355 } ) ;
Original file line number Diff line number Diff line change 11import { redirect } from '@sveltejs/kit' ;
2- import { base } from '$app/paths' ;
2+ import { resolve } from '$app/paths' ;
33import type { PageLoad } from './$types' ;
44import { resolvedProfile } from '$lib/profiles/index.svelte' ;
55
@@ -9,7 +9,12 @@ export const load: PageLoad = async ({ parent }) => {
99 const teamId =
1010 account . prefs [ resolvedProfile . organizationPrefKey ] ?? organizations . teams [ 0 ] ?. $id ;
1111 if ( teamId ) {
12- redirect ( 303 , `${ base } /organization-${ teamId } /members` ) ;
12+ redirect (
13+ 303 ,
14+ resolve ( '/(console)/organization-[organization]/members' , {
15+ organization : teamId
16+ } )
17+ ) ;
1318 }
14- redirect ( 303 , base ) ;
19+ redirect ( 303 , resolve ( '/' ) ) ;
1520} ;
Original file line number Diff line number Diff line change 1+ import { redirect } from '@sveltejs/kit' ;
2+ import { resolve } from '$app/paths' ;
3+ import type { PageLoad } from './$types' ;
4+ import { resolvedProfile } from '$lib/profiles/index.svelte' ;
5+
6+ export const load : PageLoad = async ( { parent, params } ) => {
7+ const { organizations, account } = await parent ( ) ;
8+
9+ const teamId =
10+ account . prefs [ resolvedProfile . organizationPrefKey ] ?? organizations . teams [ 0 ] ?. $id ;
11+ if ( teamId ) {
12+ redirect (
13+ 303 ,
14+ resolve (
15+ '/(console)/organization-[organization]/(studio)/template-[region]-[template]' ,
16+ {
17+ organization : teamId ,
18+ template : params . template ,
19+ region : 'fra'
20+ }
21+ )
22+ ) ;
23+ }
24+ redirect ( 303 , resolve ( '/' ) ) ;
25+ } ;
Original file line number Diff line number Diff line change 1+ <script lang =" ts" >
2+ import { onDestroy , onMount , tick } from ' svelte' ;
3+ import {
4+ attachStudioTo ,
5+ ensureStudioComponent ,
6+ hideStudio ,
7+ navigateToRoute
8+ } from ' $lib/studio/studio-widget' ;
9+ import { resolvedProfile } from ' $lib/profiles/index.svelte' ;
10+
11+ let { params } = $props ();
12+ let anchor: HTMLElement = $state ();
13+
14+ function positionStudio() {
15+ if (! anchor ) return ;
16+ attachStudioTo (anchor , { offsetX: 0 , offsetY: 0 });
17+ }
18+
19+ onMount (async () => {
20+ ensureStudioComponent ();
21+ await tick ();
22+ positionStudio ();
23+ navigateToRoute ({
24+ id: ' view' ,
25+ props: {
26+ projectId: params .template ,
27+ region: params .region
28+ }
29+ });
30+ });
31+
32+ onDestroy (() => {
33+ hideStudio ();
34+ });
35+
36+ $effect (() => {
37+ positionStudio ();
38+ });
39+ </script >
40+
41+ <svelte:head >
42+ <title >Template - {resolvedProfile .platform }</title >
43+ </svelte:head >
44+
45+ <div class ="studio-page" bind:this ={anchor }></div >
46+
47+ <style >
48+ .studio-page {
49+ position : relative ;
50+ width : 100% ;
51+ background : var (--bgcolor-neutral-primary );
52+ }
53+ </style >
Original file line number Diff line number Diff line change 66 hideStudio ,
77 navigateToRoute
88 } from ' $lib/studio/studio-widget' ;
9- import { page } from ' $app/state' ;
109 import { getPageTitle } from ' ../../store' ;
1110 import { resolvedProfile } from ' $lib/profiles/index.svelte' ;
11+ import type { PageProps } from ' ./$types' ;
1212
13+ let { params, data }: PageProps = $props ();
1314 let anchor: HTMLElement = $state ();
1415
1516 function positionStudio() {
2425 navigateToRoute ({
2526 id: ' project' ,
2627 props: {
27- projectId: page . params .project ,
28- region: page . params .region
28+ projectId: params .project ,
29+ region: params .region
2930 }
3031 });
3132 });
4041 </script >
4142
4243<svelte:head >
43- <title >{getPageTitle (page . data ? .project ? .name , ' Studio' , resolvedProfile .platform )}</title >
44+ <title >{getPageTitle (data .project .name , ' Studio' , resolvedProfile .platform )}</title >
4445</svelte:head >
4546
4647<div class ="studio-page" bind:this ={anchor }></div >
You can’t perform that action at this time.
0 commit comments