From 0a6d4b7d58ba10329ce6658bfb14b9949be12f2a Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Fri, 28 Nov 2025 11:22:59 +0200 Subject: [PATCH] Handle signup & signin utm codes --- src/lib/app-context/app-context.functions.ts | 4 +++ src/lib/app-context/app-context.model.ts | 2 ++ src/lib/components/user-area/UserArea.svelte | 9 +++++- .../MarketingNavigation.svelte | 1 + .../components/NavigationBar.svelte | 31 ++++++++++--------- src/main.ts | 2 ++ .../app-context/app-context.functions.d.ts | 2 ++ .../lib/app-context/app-context.model.d.ts | 2 ++ types/src/main.d.ts | 2 ++ 9 files changed, 40 insertions(+), 15 deletions(-) diff --git a/src/lib/app-context/app-context.functions.ts b/src/lib/app-context/app-context.functions.ts index 5c7f355e..1deed173 100644 --- a/src/lib/app-context/app-context.functions.ts +++ b/src/lib/app-context/app-context.functions.ts @@ -18,6 +18,8 @@ export const buildContext = (newConfig: Partial, prevContext fullFooter = prevContext.toolConfig?.fullFooter, showSalesCta = prevContext.toolConfig?.showSalesCta, profileCompletionData = prevContext.auth?.profileCompletionData, + signupUtmCodes = prevContext.signupUtmCodes, + simplifiedNav = prevContext.simplifiedNav, } = {...newConfig, user: undefined} const hasUserProp = hasOwnProperty(newConfig, 'user') && newConfig['user'] !== 'auto' @@ -45,6 +47,8 @@ export const buildContext = (newConfig: Partial, prevContext fullFooter, showSalesCta, }, + signupUtmCodes, + simplifiedNav, supportMeta, integrations, } diff --git a/src/lib/app-context/app-context.model.ts b/src/lib/app-context/app-context.model.ts index 7129aa23..8ee9bcd6 100644 --- a/src/lib/app-context/app-context.model.ts +++ b/src/lib/app-context/app-context.model.ts @@ -8,4 +8,6 @@ export interface AppContext { toolConfig: ToolConfig navigationHandler: NavigationHandler supportMeta?: SupportMeta + signupUtmCodes?: string + simplifiedNav?: boolean } diff --git a/src/lib/components/user-area/UserArea.svelte b/src/lib/components/user-area/UserArea.svelte index d98f003a..5f46414b 100644 --- a/src/lib/components/user-area/UserArea.svelte +++ b/src/lib/components/user-area/UserArea.svelte @@ -80,7 +80,14 @@ function onSignIn(signup?: any) { const locationHref = `${window.location.origin}${window.location.pathname}` - window.location.href = `${AUTH0_AUTHENTICATOR_URL}?retUrl=${encodeURIComponent(locationHref)}${signup === true ? '&mode=signUp' : ''}`; + + const signupUrl = [ + `${AUTH0_AUTHENTICATOR_URL}?retUrl=${encodeURIComponent(locationHref)}`, + signup === true ? '&mode=signUp' : '', + $ctx.signupUtmCodes, + ].filter(Boolean).join('&') + + window.location.href = signupUrl; } function onSignUp() { diff --git a/src/lib/marketing-navigation/MarketingNavigation.svelte b/src/lib/marketing-navigation/MarketingNavigation.svelte index 099ecf5f..dde12a16 100644 --- a/src/lib/marketing-navigation/MarketingNavigation.svelte +++ b/src/lib/marketing-navigation/MarketingNavigation.svelte @@ -44,6 +44,7 @@ menuItems={menuItems} isMobile={$isMobile} navigationHandler={navigationHandler} + simplifiedNav={$ctx.simplifiedNav} > diff --git a/src/lib/marketing-navigation/components/NavigationBar.svelte b/src/lib/marketing-navigation/components/NavigationBar.svelte index ac0e9b7d..8435e6c2 100644 --- a/src/lib/marketing-navigation/components/NavigationBar.svelte +++ b/src/lib/marketing-navigation/components/NavigationBar.svelte @@ -11,23 +11,26 @@ export let activeRoute: NavMenuItem; export let isMobile: boolean = false; export let navigationHandler: NavigationHandler | undefined; + export let simplifiedNav: boolean = false; - {#if isMobile} - - {:else} - + {#if !simplifiedNav} + {#if isMobile} + + {:else} + + {/if} {/if} diff --git a/src/main.ts b/src/main.ts index 56c6b5ca..a4904712 100644 --- a/src/main.ts +++ b/src/main.ts @@ -35,6 +35,8 @@ export type NavigationAppProps = { supportMeta?: SupportMeta integrations?: {[key: string]: 'disable'} + signupUtmCodes?: string + simplifiedNav?: boolean } export type TcUniNavMethods = 'init' | 'update' | 'destroy' diff --git a/types/src/lib/app-context/app-context.functions.d.ts b/types/src/lib/app-context/app-context.functions.d.ts index 19da9056..12b9be28 100644 --- a/types/src/lib/app-context/app-context.functions.d.ts +++ b/types/src/lib/app-context/app-context.functions.d.ts @@ -18,6 +18,8 @@ export declare const buildContext: (newConfig: Partial, prev fullFooter: any; showSalesCta: any; }; + signupUtmCodes: any; + simplifiedNav: any; supportMeta: any; integrations: any; }; diff --git a/types/src/lib/app-context/app-context.model.d.ts b/types/src/lib/app-context/app-context.model.d.ts index b92d1c0b..591a6d95 100644 --- a/types/src/lib/app-context/app-context.model.d.ts +++ b/types/src/lib/app-context/app-context.model.d.ts @@ -7,4 +7,6 @@ export interface AppContext { toolConfig: ToolConfig; navigationHandler: NavigationHandler; supportMeta?: SupportMeta; + signupUtmCodes?: string; + simplifiedNav?: boolean; } diff --git a/types/src/main.d.ts b/types/src/main.d.ts index fd6842b4..d4537224 100644 --- a/types/src/main.d.ts +++ b/types/src/main.d.ts @@ -20,6 +20,8 @@ export declare type NavigationAppProps = { integrations?: { [key: string]: 'disable'; }; + signupUtmCodes?: string; + simplifiedNav?: boolean; }; export declare type TcUniNavMethods = 'init' | 'update' | 'destroy'; export declare type TcUniNavFn = (method: TcUniNavMethods, targetId: string, config: NavigationAppProps) => void;