diff --git a/projects/storefrontapp/src/app/spartacus/spartacus-b2b-configuration.providers.ts b/projects/storefrontapp/src/app/spartacus/spartacus-b2b-configuration.providers.ts index 560ae5f7df6..371e138533c 100644 --- a/projects/storefrontapp/src/app/spartacus/spartacus-b2b-configuration.providers.ts +++ b/projects/storefrontapp/src/app/spartacus/spartacus-b2b-configuration.providers.ts @@ -10,7 +10,7 @@ import { provideConfig } from '@spartacus/core'; import { defaultB2bOccConfig } from '@spartacus/setup'; import { environment } from '../../environments/environment'; -let baseSite = ['powertools-spa', 'powertools-standalone']; +const baseSite = ['powertools-spa', 'powertools-standalone']; if (environment.epdVisualization) { baseSite.unshift('powertools-epdvisualization-spa'); diff --git a/projects/storefrontapp/src/app/spartacus/spartacus-configuration.module.ts b/projects/storefrontapp/src/app/spartacus/spartacus-configuration.module.ts index ad5fc08395a..82e0b2dea6a 100644 --- a/projects/storefrontapp/src/app/spartacus/spartacus-configuration.module.ts +++ b/projects/storefrontapp/src/app/spartacus/spartacus-configuration.module.ts @@ -37,7 +37,7 @@ registerLocaleData(localeZh); * In customers' applications, either B2B or B2C configuration is used, which is decided * at the installation time of Spartacus (i.e. when running `ng add @spartacus/schematics`). */ -let spartacusChannelSpecificConfigurationProviders = environment.b2b +const spartacusChannelSpecificConfigurationProviders = environment.b2b ? spartacusB2bConfigurationProviders : spartacusB2cConfigurationProviders; diff --git a/projects/storefrontlib/recipes/config/layout-config.ts b/projects/storefrontlib/recipes/config/layout-config.ts index 7e9bc115522..40c4910b628 100644 --- a/projects/storefrontlib/recipes/config/layout-config.ts +++ b/projects/storefrontlib/recipes/config/layout-config.ts @@ -135,15 +135,8 @@ export const layoutConfig: LayoutConfig = { }, }; -/** - * Factory for layout configuration. - */ -export function layoutConfigFactory(): LayoutConfig { - const config: LayoutConfig = JSON.parse(JSON.stringify(layoutConfig)); - const featureToggles = inject(FeatureToggles); - +function applyUnifiedHeaderSlots(config: LayoutConfig): void { if ( - featureToggles.unifiedDefaultHeaderSlotsAcrossBreakpoints && config.layoutSlots && config.layoutSlots.header && 'slots' in config.layoutSlots.header @@ -162,20 +155,36 @@ export function layoutConfigFactory(): LayoutConfig { 'NavigationBar', ]; } +} - if (featureToggles.defaultLayoutConfigWithoutPageFold) { - const homepageConfig = - (config?.layoutSlots?.LandingPage2Template as SlotConfig) ?? {}; - delete homepageConfig.pageFold; +function applyWithoutPageFold(config: LayoutConfig): void { + const homepageConfig = + (config?.layoutSlots?.LandingPage2Template as SlotConfig) ?? {}; + delete homepageConfig.pageFold; - const categoryPageConfig = - (config?.layoutSlots?.CategoryPageTemplate as SlotConfig) ?? {}; - delete categoryPageConfig.pageFold; + const categoryPageConfig = + (config?.layoutSlots?.CategoryPageTemplate as SlotConfig) ?? {}; + delete categoryPageConfig.pageFold; + + const productDetailsPageConfig = + (config?.layoutSlots?.ProductDetailsPageTemplate as SlotConfig) ?? {}; + delete productDetailsPageConfig.pageFold; + delete ((productDetailsPageConfig as SlotGroup).lg ?? {}).pageFold; +} - const productDetailsPageConfig = - (config?.layoutSlots?.ProductDetailsPageTemplate as SlotConfig) ?? {}; - delete productDetailsPageConfig.pageFold; - delete ((productDetailsPageConfig as SlotGroup).lg ?? {}).pageFold; +/** + * Factory for layout configuration. + */ +export function layoutConfigFactory(): LayoutConfig { + const config: LayoutConfig = JSON.parse(JSON.stringify(layoutConfig)); + const featureToggles = inject(FeatureToggles); + + if (featureToggles.unifiedDefaultHeaderSlotsAcrossBreakpoints) { + applyUnifiedHeaderSlots(config); + } + + if (featureToggles.defaultLayoutConfigWithoutPageFold) { + applyWithoutPageFold(config); } return config;