diff --git a/src/modules/layout/components/vt-linkbutton/index.tsx b/src/modules/layout/components/vt-linkbutton/index.tsx index 7e7af79..92ff296 100644 --- a/src/modules/layout/components/vt-linkbutton/index.tsx +++ b/src/modules/layout/components/vt-linkbutton/index.tsx @@ -2,8 +2,13 @@ import LocalizedClientLink from "@modules/common/components/localized-client-lin import { LayoutComponentDefinition, LayoutContext } from "vibentec/component-map"; import { clx } from "@medusajs/ui" +interface VtLinkProps { + className?: string + href?: string + label?: string +} export const VtLink = ({ nodes, context }: { nodes: LayoutComponentDefinition; context: LayoutContext }) => { - const props = nodes.config ?? {} + const props = nodes.config as VtLinkProps ?? {} const className = clx("txt-compact-xlarge-plus hover:text-ui-fg-base", props.className) const href = props.href ?? "/" const label = props.label ?? "Medusa Store" diff --git a/src/modules/layout/templates/vt-banner/banner-cta.tsx b/src/modules/layout/templates/vt-banner/banner-cta.tsx index 885f0a4..f0fb507 100644 --- a/src/modules/layout/templates/vt-banner/banner-cta.tsx +++ b/src/modules/layout/templates/vt-banner/banner-cta.tsx @@ -12,8 +12,15 @@ interface BannerCTAProps { context: LayoutContext } +interface BannerConfigProps { + text?: string + href?: string + iconLeft?: string + iconRight?: string + className?: string +} export default function BannerCTA({ node, context }: BannerCTAProps) { - const props = node.config ?? {} + const props = node.config as BannerConfigProps ?? {} const text = props.text ?? "" const href = props.href ?? undefined const iconLeft = props.iconLeft diff --git a/src/modules/layout/templates/vt-banner/banner-nav.tsx b/src/modules/layout/templates/vt-banner/banner-nav.tsx index 488b9c7..361e8be 100644 --- a/src/modules/layout/templates/vt-banner/banner-nav.tsx +++ b/src/modules/layout/templates/vt-banner/banner-nav.tsx @@ -1,8 +1,13 @@ import { DynamicLayoutRenderer } from "vibentec/renderer" import { LayoutComponentDefinition, LayoutContext } from "vibentec/component-map"; -export default function BannerNav({ node: node, context }: { node: LayoutComponentDefinition; context: LayoutContext }) { - const props = node.config ?? {}; +interface BannerNavProps { + left?: LayoutComponentDefinition[] + center?: LayoutComponentDefinition[] + right?: LayoutComponentDefinition[] +} +export default function BannerNav({ node, context }: { node: LayoutComponentDefinition; context: LayoutContext }) { + const props = node.config as BannerNavProps ?? {}; return (