Compare commits

..

No commits in common. "1e99ead658a57a1b7091c0990633a911da4a20a2" and "efe48a200f072f1141e82271aee11751424b6d7d" have entirely different histories.

8 changed files with 6 additions and 465 deletions

View File

@ -129,7 +129,7 @@
{ {
"Button": { "Button": {
"config": { "config": {
"icon": "User", "icon": "user",
"className": "shadow-none bg-transparent text-white hover:text-black" "className": "shadow-none bg-transparent text-white hover:text-black"
} }
} }
@ -169,447 +169,7 @@
{ {
"Footer": { "Footer": {
"config": { "config": {
"className": "content-container flex w-full bg-[#1f3521]", "copyrightText": "© 2025 MyShop"
"children": [
{
"Section": {
"config": {
"className": "grid grid-cols-2 w-full py-[40px]"
},
"children": [
{
"Section": {
"config": {
"className": "flex mr-8 gap-1 w-full gap-6"
},
"children": [
{
"Section": {
"config": {
"className": "flex mr-8 gap-1 w-full flex-col gap-6"
},
"children": [
{
"Link": {
"config": {
"label": "Help",
"href": "/",
"className": "text-[16px] leading-[125%] text-white flex hover:text-white font-bold"
}
}
},
{
"Link": {
"config": {
"label": "FAQ",
"href": "/",
"className": "text-[14px] leading-[160%] text-white flex mr-8 gap-1 hover:bg-transparent hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Track My Order",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Store policies",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Contact us",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Placeholder",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Placeholder",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Placeholder",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Placeholder",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
}
]
}
},
{
"Section": {
"config": {
"className": "flex mr-8 gap-1 w-full flex-col gap-6"
},
"children": [
{
"Link": {
"config": {
"label": "Shop",
"href": "/",
"className": "text-[16px] leading-[125%] text-white flex hover:text-white font-bold"
}
}
},
{
"Link": {
"config": {
"label": "FAQ",
"href": "/",
"className": "text-[14px] leading-[160%] text-white flex mr-8 gap-1 hover:bg-transparent hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Track My Order",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Store policies",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Contact us",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Placeholder",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Placeholder",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Placeholder",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Placeholder",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
}
]
}
},
{
"Section": {
"config": {
"className": "flex mr-8 gap-1 w-full flex-col gap-6"
},
"children": [
{
"Link": {
"config": {
"label": "Info",
"href": "/",
"className": "text-[16px] leading-[125%] text-white flex hover:text-white font-bold"
}
}
},
{
"Link": {
"config": {
"label": "FAQ",
"href": "/",
"className": "text-[14px] leading-[160%] text-white flex mr-8 gap-1 hover:bg-transparent hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Track My Order",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Store policies",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Contact us",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Placeholder",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Placeholder",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Placeholder",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
},
{
"Link": {
"config": {
"label": "Placeholder",
"href": "/",
"className": "text-[14px] leading-[125%] text-white flex hover:text-white font-extralight"
}
}
}
]
}
},
{
"Section": {
"config": {
"className": "flex mr-8 gap-1 w-full flex-col gap-6"
},
"children": [
{
"Image": {
"config": {
"src": "/b-corp-logo.webp",
"alt": "B Corp Logo",
"className": "w-[96px] h-[118px]"
}
}
}
]
}
}
]
}
},
{
"Section": {
"config": {
"className": "flex mr-8 gap-1 w-full flex-col gap-6"
},
"children": [
{
"Text": {
"config": {
"label": "Don't miss out on hot deals! Sign up and get up to 30% off.",
"className": "text-[16px] leading-[125%] text-white flex font-bold"
}
}
},
{
"Section": {
"config": {
"className": "flex w-full flex gap-6"
},
"children": [
{
"Input": {
"config": {
"placeholder": "Enter your email address",
"className": "w-[75%] rounded-md h-[48px] px-[16px] text-[16px] leading-[125%] text-white flex font-bold"
}
}
},
{
"Button": {
"config": {
"label": "Sign up",
"className": "w-[25%] rounded-md bg-[#cc6328] h-[48px] px-[16px] text-[16px] leading-[125%] text-white flex font-bold"
}
}
}
]
}
},
{
"Section": {
"config": {
"className": "flex w-full flex"
},
"children": [
{
"Button": {
"config": {
"icon": "Twitter",
"className": "text-white flex justify-start gap-1 shadow-none w-[50px] bg-transparent hover:bg-transparent"
}
}
},
{
"Button": {
"config": {
"icon": "Twitter",
"className": "text-white flex justify-start gap-1 shadow-none w-[50px] bg-transparent hover:bg-transparent"
}
}
},
{
"Button": {
"config": {
"icon": "Twitter",
"className": "text-white flex justify-start gap-1 shadow-none w-[50px] bg-transparent hover:bg-transparent"
}
}
},
{
"Button": {
"config": {
"icon": "Twitter",
"className": "text-white flex justify-start gap-1 shadow-none w-[50px] bg-transparent hover:bg-transparent"
}
}
},
{
"Button": {
"config": {
"icon": "Twitter",
"className": "text-white flex justify-start gap-1 shadow-none w-[50px] bg-transparent hover:bg-transparent"
}
}
}
]
}
}
]
}
},
{
"Section": {
"config": {
"className": "flex justify-center col-span-full w-full gap-1"
},
"children": [
{
"Text": {
"config": {
"label": "DR. SQUATCH is a registered trademark of Dr. Squatch, LLC © 2025, Dr. Squatch, LLC All rights reserved.",
"className": "text-[11px] mt-[3rem] leading-[125%] text-white flex"
}
}
},
{
"Text":{
"config":{
"label":"Terms of Use",
"className":"text-[11px] mt-[3rem] leading-[125%] text-orange-500 flex"
}
}
},
{
"Text":{
"config":{
"label":"|",
"className":"text-[11px] mt-[3rem] leading-[125%] text-white flex"
}
}
},
{
"Text":{
"config":{
"label":"Privacy Policy",
"className":"text-[11px] mt-[3rem] leading-[125%] text-orange-500 flex"
}
}
}
]
}
}
]
}
}
]
} }
} }
} }

View File

@ -204,6 +204,7 @@
{ {
"Footer": { "Footer": {
"config": { "config": {
"copyrightText": "© 2025 MyShop",
"children": [ "children": [
{ {
"Image": { "Image": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

View File

@ -23,7 +23,7 @@ export default async function VtFooter({
const props = nodes?.config ?? {} const props = nodes?.config ?? {}
return ( return (
<footer className={props?.className ?? ""}> <footer className="relative mx-auto duration-200 bg-white border-ui-border-base border-t-2">
{props.children && <DynamicLayoutRenderer nodes={props.children} context={context} />} {props.children && <DynamicLayoutRenderer nodes={props.children} context={context} />}
</footer> </footer>
) )

View File

@ -1,18 +0,0 @@
import { LayoutComponentDefinition, LayoutContext } from "@vibentec/component-map"
export default function VtInput({
nodes,
context,
}: {
nodes: LayoutComponentDefinition
context: LayoutContext
}) {
const props = nodes.config || {}
return (
<input
className={props?.className ?? ""}
type={props?.type ?? "text"}
placeholder={props?.placeholder ?? ""}
/>
)
}

View File

@ -12,7 +12,7 @@ export default function VtText({
const props = nodes.config || {} const props = nodes.config || {}
return ( return (
<span className={props?.className ?? ""}> <span className={props?.className ?? ""}>
{props?.label ?? ""} {props?.label && <span>{props.label}</span>}
</span> </span>
) )
} }

View File

@ -18,7 +18,6 @@ import VtButton from "@modules/layout/templates/vt-button"
import VtSearchInput from "@modules/layout/templates/vt-search-input" import VtSearchInput from "@modules/layout/templates/vt-search-input"
import VtSection from "@modules/layout/templates/vt-section" import VtSection from "@modules/layout/templates/vt-section"
import VtText from "@modules/layout/templates/vt-text" import VtText from "@modules/layout/templates/vt-text"
import VtInput from "@modules/layout/templates/vt-input"
type ComponentConfig = Record<string, any>; type ComponentConfig = Record<string, any>;
@ -65,7 +64,6 @@ export const componentMap: Record<string, ComponentRenderer> = {
SearchInput: nodesContextRenderer(VtSearchInput), SearchInput: nodesContextRenderer(VtSearchInput),
VtCartButton: nodesContextRenderer(VtCartButton), VtCartButton: nodesContextRenderer(VtCartButton),
Link: nodesContextRenderer(VtLink), Link: nodesContextRenderer(VtLink),
Input: nodesContextRenderer(VtInput),
Image: nodesContextRenderer(VtImage), Image: nodesContextRenderer(VtImage),
Text: nodesContextRenderer(VtText), Text: nodesContextRenderer(VtText),
Dropdown: nodesContextRenderer(VtDropdown), Dropdown: nodesContextRenderer(VtDropdown),

View File

@ -2,7 +2,7 @@ import fs from "fs"
import path from "path" import path from "path"
import { jsonFileNames } from "./devJsonFileNames"; import { jsonFileNames } from "./devJsonFileNames";
const fileName = jsonFileNames.namDrsquatch; const fileName = jsonFileNames.namVibentec;
export async function loadDesignConfig() { export async function loadDesignConfig() {
const filePath = path.join(process.cwd(), "config", fileName) const filePath = path.join(process.cwd(), "config", fileName)