added packages to support markdown

added dummy pages for about and contact.
updated tailwind.config.js to include config/*.json to scan for classes.
refactored system basics. Removed component-props, using generic LayoutComponentDefinition and LayoutContext. cleanup component-map. Updated renderer to be more failsafe.

new abstracted components:
 vt-mega-menu,
vt-sidemenu,
vt-banner with 3 variants,
vt-header,
vt-homebutton,
vt-cartbutton,
vt-accountbutton,
vt-linkbutton,
This commit is contained in:
2025-11-25 15:17:18 +01:00
parent 51d6ee2051
commit 39fe0c81e5
30 changed files with 2849 additions and 142 deletions
@@ -0,0 +1,26 @@
import { LayoutComponentDefinition, LayoutContext } from "vibentec/component-map";
import { clx } from "@medusajs/ui";
import BannerNav from "./banner-nav";
import BannerCTA from "./banner-cta";
import BannerTicker from "./banner-ticker";
export default async function Banner({ nodes, context }: { nodes: LayoutComponentDefinition; context: LayoutContext }) {
const props = nodes.config ?? {};
const bannerClassName = clx("relative h-8 mx-auto border-b duration-200 bg-white border-ui-border-base", props.className);
const bannerVariant = props.variant as "nav" | "cta" | "ticker";
if (!bannerVariant) return null;
const variants = {
"nav": BannerNav,
"cta": BannerCTA,
"ticker": BannerTicker,
};
const Component = variants[bannerVariant];
return (
<div className={bannerClassName}>
<Component node={nodes} context={context}/>
</div>
);
}