add homepage management
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import {
|
||||
clonePublicSitePageSections,
|
||||
type PublicSitePageSections,
|
||||
} from '@rentaldrivego/types'
|
||||
|
||||
type MaybePageSections = {
|
||||
pageSections?: Partial<PublicSitePageSections> | null
|
||||
} | null | undefined
|
||||
|
||||
export function resolvePageSectionsConfig(menuConfig: MaybePageSections): PublicSitePageSections {
|
||||
const defaults = clonePublicSitePageSections()
|
||||
const custom = menuConfig?.pageSections ?? {}
|
||||
|
||||
return {
|
||||
home: { ...defaults.home, ...(custom.home ?? {}) },
|
||||
about: { ...defaults.about, ...(custom.about ?? {}) },
|
||||
offers: { ...defaults.offers, ...(custom.offers ?? {}) },
|
||||
pricing: { ...defaults.pricing, ...(custom.pricing ?? {}) },
|
||||
vehicles: { ...defaults.vehicles, ...(custom.vehicles ?? {}) },
|
||||
vehicleDetail: { ...defaults.vehicleDetail, ...(custom.vehicleDetail ?? {}) },
|
||||
blog: { ...defaults.blog, ...(custom.blog ?? {}) },
|
||||
contact: { ...defaults.contact, ...(custom.contact ?? {}) },
|
||||
booking: { ...defaults.booking, ...(custom.booking ?? {}) },
|
||||
bookingConfirmation: {
|
||||
...defaults.bookingConfirmation,
|
||||
...(custom.bookingConfirmation ?? {}),
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user