diff --git a/src/app/shared/header/header.component.ts b/src/app/shared/header/header.component.ts index 1f7cc769..40ed522a 100644 --- a/src/app/shared/header/header.component.ts +++ b/src/app/shared/header/header.component.ts @@ -136,23 +136,43 @@ export class HeaderComponent implements OnInit, AfterViewInit, DoCheck, OnDestro async ngOnInit(){ this.langs = this.translate.getLangs(); - console.log('langs') - console.log(this.langs) - //this.defaultLang = this.translate.getDefaultLang(); + let currLang = this.localStorage.getItem('current_language') if(!currLang || currLang == null) { this.defaultLang = this.translate.getDefaultLang(); } else { this.defaultLang = currLang; } - console.log('default') - console.log(this.defaultLang) this.themeSubscription = this.themeService.currentTheme$.subscribe(theme => { this.currentTheme = theme; this.headerLinks = theme?.links?.headerLinks || []; this.themeAuthUrls = theme?.authUrls; - // Podrías hacer más cosas aquí cuando el tema cambia si es necesario + + if(theme?.links?.headerLinks){ + // Recorremos recursivamente todos los links y actualizamos URL si tiene environmentName + const updateLinks = (links: NavLink[]) => { + return links.map(link => { + const updatedLink = { ...link }; + + // Actualizamos url dinámicamente + if (link.environmentName) { + updatedLink.url = (environment as any)[link.environmentName] || ''; + } + + // Si tiene children, hacemos la misma operación recursivamente + if (link.children?.length) { + updatedLink.children = updateLinks(link.children); + } + + return updatedLink; + }); + }; + + this.headerLinks = updateLinks(theme.links.headerLinks); + + theme.links.headerLinks = this.headerLinks; + } }); diff --git a/src/app/themes/dome.theme.ts b/src/app/themes/dome.theme.ts index def9c1b7..93494e96 100644 --- a/src/app/themes/dome.theme.ts +++ b/src/app/themes/dome.theme.ts @@ -6,9 +6,9 @@ const domeHeaderLinks: NavLink[] = [ label: 'HEADER._verify', id: 'verifyDropdown', // ID para el toggle de Flowbite children: [ - { label: 'HEADER._guidelines', url: environment.KB_ONBOARDING_GUIDELINES_URL, isRouterLink: false }, - { label: 'HEADER._registration', url: environment.REGISTRATION_FORM_URL, isRouterLink: false }, - { label: 'HEADER._guideline_publish', url: environment.KB_GUIDELNES_URL, isRouterLink: false } + { id: 'guidelines', label: 'HEADER._guidelines', url: environment.KB_ONBOARDING_GUIDELINES_URL, environmentName: 'KB_ONBOARDING_GUIDELINES_URL', isRouterLink: false }, + { id: 'registration', label: 'HEADER._registration', url: environment.REGISTRATION_FORM_URL, environmentName: 'REGISTRATION_FORM_URL', isRouterLink: false }, + { id: 'guidelinesPublish', label: 'HEADER._guideline_publish', url: environment.KB_GUIDELNES_URL, environmentName: 'KB_GUIDELNES_URL', isRouterLink: false } ] }, { diff --git a/src/app/themes/theme.interfaces.ts b/src/app/themes/theme.interfaces.ts index b5c684d0..771cce6a 100644 --- a/src/app/themes/theme.interfaces.ts +++ b/src/app/themes/theme.interfaces.ts @@ -10,6 +10,7 @@ export interface ThemeAssetConfig { export interface NavLink { label: string; // Text to be shown, ie. 'About Us', 'Contact' id?: string; // dropdown ID, ie: 'browseDropdown' + environmentName?: string; // simple link url?: string; // URL or router link diff --git a/src/environments/environment.development.ts b/src/environments/environment.development.ts index 914ce452..0128d711 100644 --- a/src/environments/environment.development.ts +++ b/src/environments/environment.development.ts @@ -52,9 +52,9 @@ export const environment = { MATOMO_SITE_ID: "", TICKETING_SYSTEM_URL: "", KNOWLEDGE_BASE_URL: "https://knowledgebase.dome-marketplace.org/", - KB_ONBOARDING_GUIDELINES_URL: "https://knowledgebase.dome-marketplace.org/", - KB_GUIDELNES_URL:"https://knowledgebase.dome-marketplace.org/", - REGISTRATION_FORM_URL: "https://knowledgebase.dome-marketplace.org/", + KB_ONBOARDING_GUIDELINES_URL: "https://knowledgebase.dome-marketplace-prd.org/books/company-onboarding-process-guide-for-cloud-service-providers-csp", + KB_GUIDELNES_URL:"https://knowledgebase.dome-marketplace-prd.org/books/managing-orders-products-and-subscriptions", + REGISTRATION_FORM_URL: "https://onboarding.dome-marketplace.eu/", SEARCH_ENABLED: true, PURCHASE_ENABLED: true, DOME_TRUST_LINK: "", diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 59de786c..c164ab9d 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -52,9 +52,9 @@ export const environment = { MATOMO_SITE_ID: "", TICKETING_SYSTEM_URL: "", KNOWLEDGE_BASE_URL: "", - KB_ONBOARDING_GUIDELINES_URL: "", - KB_GUIDELNES_URL:"", - REGISTRATION_FORM_URL: "", + KB_ONBOARDING_GUIDELINES_URL: "https://knowledgebase.dome-marketplace-prd.org/books/company-onboarding-process-guide-for-cloud-service-providers-csp", + KB_GUIDELNES_URL:"https://knowledgebase.dome-marketplace-prd.org/books/managing-orders-products-and-subscriptions", + REGISTRATION_FORM_URL: "https://onboarding.dome-marketplace.eu/", SEARCH_ENABLED: true, PURCHASE_ENABLED: false, DOME_TRUST_LINK: "https://dome-certification.dome-marketplace.org",