diff --git a/apps/dashboard/src/routes/+layout.server.ts b/apps/dashboard/src/routes/+layout.server.ts index 57592b25..42fb6447 100644 --- a/apps/dashboard/src/routes/+layout.server.ts +++ b/apps/dashboard/src/routes/+layout.server.ts @@ -172,15 +172,16 @@ function getBaseMetaTags(url: URL) { } function getSubdomain(url: URL) { - console.log('url.host', url); - const host = url.host.replace('www.', ''); - console.log('host', host); - const parts = host?.split('.'); - console.log('parts', parts); + const host = url.hostname.replace('www.', ''); + const parts = host.split('.'); + const appHost = env.PRIVATE_APP_HOST; - if (host?.endsWith(env.PRIVATE_APP_HOST)) { - console.log('is app host'); - return parts?.length >= 3 ? parts[0] : null; + const appHostParts = appHost.split('.'); + const isAppHost = parts.slice(-appHostParts.length).join('.') === appHost; + + if (isAppHost) { + // Subdomain exists only if extra part(s) before main domain + return parts.length > appHostParts.length ? parts[0] : null; } return null; diff --git a/apps/dashboard/src/routes/+layout.svelte b/apps/dashboard/src/routes/+layout.svelte index 7f0bebc2..b898eea1 100644 --- a/apps/dashboard/src/routes/+layout.svelte +++ b/apps/dashboard/src/routes/+layout.svelte @@ -52,7 +52,8 @@ console.log( 'Welcome to ClassroomIO, we are grateful you chose us.', $page.url.host, - `\nIs student domain: ${data.isOrgSite}` + `\nIs student domain: ${data.isOrgSite}`, + data ); if (browser) { @@ -100,7 +101,7 @@ // } }); - if (data.isOrgSite && data.org && !$currentOrg.siteName) { + if (data.isOrgSite && data.org && $currentOrg.siteName !== data.org.siteName) { $globalStore.orgSiteName = data.orgSiteName; $globalStore.isOrgSite = data.isOrgSite;