57 Commits

Author SHA1 Message Date
ec891dc56c Update src/app/portfolio/page.tsx 2026-03-05 18:15:39 +00:00
7758e91a06 Update src/app/page.tsx 2026-03-05 18:15:38 +00:00
7bae43d8b5 Merge version_4 into main
Merge version_4 into main
2026-03-05 18:12:18 +00:00
1c098bae11 Update src/app/portfolio/page.tsx 2026-03-05 18:12:14 +00:00
b61df6e60d Update src/app/page.tsx 2026-03-05 18:12:14 +00:00
5c59b36ffd Update src/app/layout.tsx 2026-03-05 18:12:13 +00:00
618aa3bbae Merge version_3 into main
Merge version_3 into main
2026-03-05 18:08:08 +00:00
7b25ac9c2b Update src/app/portfolio/page.tsx 2026-03-05 18:08:04 +00:00
901f8b4180 Update src/app/page.tsx 2026-03-05 18:08:04 +00:00
df95c6a09c Merge version_1 into main
Merge version_1 into main
2026-03-05 17:58:21 +00:00
1fb90c5662 Update theme colors 2026-03-05 17:58:15 +00:00
29555f4b01 Merge version_1 into main
Merge version_1 into main
2026-03-05 17:57:58 +00:00
faca963417 Update theme colors 2026-03-05 17:57:52 +00:00
d113ec4ff1 Merge version_1 into main
Merge version_1 into main
2026-03-05 17:57:21 +00:00
1f9c4bf943 Update src/components/sections/footer/FooterMedia.tsx 2026-03-05 17:57:17 +00:00
a12212339e Update src/components/sections/footer/FooterLogoReveal.tsx 2026-03-05 17:57:16 +00:00
c806d86344 Update src/components/sections/footer/FooterCard.tsx 2026-03-05 17:57:16 +00:00
7f427cf171 Update src/components/sections/footer/FooterBaseCard.tsx 2026-03-05 17:57:15 +00:00
d7ea6e2a89 Update src/components/sections/footer/FooterBase.tsx 2026-03-05 17:57:14 +00:00
eacab92fba Update src/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen.tsx 2026-03-05 17:57:12 +00:00
30cab72cf8 Update src/components/navbar/NavbarStyleCentered/NavbarStyleCentered.tsx 2026-03-05 17:57:12 +00:00
dafa0c5aaa Update src/components/navbar/NavbarStyleApple/NavbarStyleApple.tsx 2026-03-05 17:57:11 +00:00
af970607b3 Update src/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay.tsx 2026-03-05 17:57:11 +00:00
78f61d227c Update src/components/navbar/NavbarLayoutFloatingInline.tsx 2026-03-05 17:57:10 +00:00
8984982b1c Update src/components/navbar/Logo.tsx 2026-03-05 17:57:09 +00:00
df2d4aea9f Update src/app/layout.tsx 2026-03-05 17:57:09 +00:00
91ec98e991 Update registry/schemas/NavbarStyleFullscreen.schema.json 2026-03-05 17:57:08 +00:00
440a90c3a1 Update registry/schemas/NavbarStyleCentered.schema.json 2026-03-05 17:57:08 +00:00
c0d2c04c0d Update registry/schemas/NavbarStyleApple.schema.json 2026-03-05 17:57:08 +00:00
0bd8040212 Update registry/schemas/NavbarLayoutFloatingOverlay.schema.json 2026-03-05 17:57:07 +00:00
b02c57341f Update registry/schemas/NavbarLayoutFloatingInline.schema.json 2026-03-05 17:57:07 +00:00
2af0ff6049 Update registry/schemas/FooterMedia.schema.json 2026-03-05 17:57:06 +00:00
8e38ed0b55 Update registry/schemas/FooterLogoReveal.schema.json 2026-03-05 17:57:06 +00:00
fb3198f801 Update registry/schemas/FooterLogoEmphasis.schema.json 2026-03-05 17:57:05 +00:00
290d43962f Update registry/schemas/FooterCard.schema.json 2026-03-05 17:57:05 +00:00
af4dae819e Update registry/schemas/FooterBaseCard.schema.json 2026-03-05 17:57:04 +00:00
f5dbaa3a83 Update registry/schemas/FooterBase.schema.json 2026-03-05 17:57:04 +00:00
b819ded3e8 Update registry/components/NavbarStyleFullscreen.json 2026-03-05 17:57:03 +00:00
c748737792 Update registry/components/NavbarStyleCentered.json 2026-03-05 17:57:03 +00:00
e9450c1702 Update registry/components/NavbarStyleApple.json 2026-03-05 17:57:02 +00:00
eb0e46038e Update registry/components/NavbarLayoutFloatingOverlay.json 2026-03-05 17:57:02 +00:00
788c5d23c2 Update registry/components/NavbarLayoutFloatingInline.json 2026-03-05 17:57:02 +00:00
17c2a7dc2d Update registry/components/HeroLogo.json 2026-03-05 17:57:01 +00:00
6608d2ae75 Update registry/components/FooterSimple.json 2026-03-05 17:57:01 +00:00
629f0fdca1 Update registry/components/FooterMedia.json 2026-03-05 17:57:00 +00:00
7e804ea140 Update registry/components/FooterLogoReveal.json 2026-03-05 17:57:00 +00:00
3778583d36 Update registry/components/FooterLogoEmphasis.json 2026-03-05 17:56:59 +00:00
8b83befc77 Update registry/components/FooterCard.json 2026-03-05 17:56:59 +00:00
c5057382f4 Update registry/components/FooterBaseReveal.json 2026-03-05 17:56:58 +00:00
0f730e6974 Update registry/components/FooterBaseCard.json 2026-03-05 17:56:58 +00:00
f39d41f397 Update registry/components/FooterBase.json 2026-03-05 17:56:57 +00:00
8f478bbfaa Switch to version 1: modified src/app/styles/variables.css 2026-03-05 17:54:51 +00:00
72525533f0 Switch to version 1: modified src/app/styles/base.css 2026-03-05 17:54:50 +00:00
f43f62cc64 Switch to version 1: modified src/app/portfolio/page.tsx 2026-03-05 17:54:50 +00:00
d4534468d2 Switch to version 1: modified src/app/page.tsx 2026-03-05 17:54:49 +00:00
fd6f17bc51 Switch to version 1: modified src/app/layout.tsx 2026-03-05 17:54:49 +00:00
2bca1bc279 Merge version_2 into main
Merge version_2 into main
2026-03-05 17:53:38 +00:00
41 changed files with 263 additions and 122 deletions

View File

@@ -6,14 +6,14 @@
"textRules": { "textRules": {
"logoText": { "logoText": {
"required": false, "required": false,
"default": "Webild", "default": "Contact Us ",
"example": "Company Name", "example": "Company Name",
"minChars": 2, "minChars": 2,
"maxChars": 30 "maxChars": 30
}, },
"copyrightText": { "copyrightText": {
"required": false, "required": false,
"default": "© 2025 | Webild", "default": "© 2025 | Contact Us ",
"example": "© 2025 Company Name", "example": "© 2025 Company Name",
"minChars": 5, "minChars": 5,
"maxChars": 50 "maxChars": 50
@@ -51,8 +51,8 @@
}, },
"propsSchema": { "propsSchema": {
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns (required)", "columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns (required)",
"logoText?": "string (default: 'Webild')", "logoText?": "string (default: 'Contact Us ')",
"copyrightText?": "string (default: '© 2025 | Webild')", "copyrightText?": "string (default: '© 2025 | Contact Us ')",
"onPrivacyClick?": "() => void", "onPrivacyClick?": "() => void",
"ariaLabel?": "string (default: 'Site footer')", "ariaLabel?": "string (default: 'Site footer')",
"className?": "string", "className?": "string",

View File

@@ -6,14 +6,14 @@
"textRules": { "textRules": {
"copyrightText": { "copyrightText": {
"required": false, "required": false,
"example": "© 2025 | Webild", "example": "© 2025 | Contact Us ",
"minChars": 5, "minChars": 5,
"maxChars": 100, "maxChars": 100,
"note": "Copyright text displayed at bottom left" "note": "Copyright text displayed at bottom left"
}, },
"logoText": { "logoText": {
"required": false, "required": false,
"example": "Webild", "example": "Contact Us ",
"minChars": 2, "minChars": 2,
"maxChars": 30, "maxChars": 30,
"note": "Text used for h2 heading" "note": "Text used for h2 heading"
@@ -34,9 +34,9 @@
} }
}, },
"propsSchema": { "propsSchema": {
"logoText?": "string (default: 'Webild')", "logoText?": "string (default: 'Contact Us ')",
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns (required)", "columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns (required)",
"copyrightText?": "string (default: '© 2025 | Webild')", "copyrightText?": "string (default: '© 2025 | Contact Us ')",
"onPrivacyClick?": "() => void", "onPrivacyClick?": "() => void",
"ariaLabel?": "string (default: 'Site footer')", "ariaLabel?": "string (default: 'Site footer')",
"className?": "string", "className?": "string",
@@ -51,7 +51,7 @@
"copyrightTextClassName?": "string", "copyrightTextClassName?": "string",
"privacyButtonClassName?": "string" "privacyButtonClassName?": "string"
}, },
"usageExample": "<FooterBaseCard columns={[{ title: 'Product', items: [{ label: 'Features', href: '/features' }, { label: 'Pricing', href: '/pricing' }] }, { title: 'Company', items: [{ label: 'About', href: '/about' }, { label: 'Blog', href: '/blog' }] }]} logoText=\"Webild\" copyrightText=\"© 2025 | Webild\" onPrivacyClick={() => console.log('Privacy clicked')} />", "usageExample": "<FooterBaseCard columns={[{ title: 'Product', items: [{ label: 'Features', href: '/features' }, { label: 'Pricing', href: '/pricing' }] }, { title: 'Company', items: [{ label: 'About', href: '/about' }, { label: 'Blog', href: '/blog' }] }]} logoText=\"Contact Us \" copyrightText=\"© 2025 | Contact Us \" onPrivacyClick={() => console.log('Privacy clicked')} />",
"do": [ "do": [
"Use for general use", "Use for general use",
"Requires columns[]" "Requires columns[]"

View File

@@ -6,7 +6,7 @@
"textRules": { "textRules": {
"copyrightText": { "copyrightText": {
"required": false, "required": false,
"default": "© 2025 | Webild", "default": "© 2025 | Contact Us ",
"example": "© 2025 Company Name", "example": "© 2025 Company Name",
"minChars": 5, "minChars": 5,
"maxChars": 50 "maxChars": 50

View File

@@ -6,14 +6,14 @@
"textRules": { "textRules": {
"copyrightText": { "copyrightText": {
"required": false, "required": false,
"example": "© 2025 | Webild", "example": "© 2025 | Contact Us ",
"minChars": 5, "minChars": 5,
"maxChars": 100, "maxChars": 100,
"note": "Copyright text displayed at bottom left" "note": "Copyright text displayed at bottom left"
}, },
"logoText": { "logoText": {
"required": false, "required": false,
"example": "Webild", "example": "Contact Us ",
"minChars": 2, "minChars": 2,
"maxChars": 30, "maxChars": 30,
"note": "Text used for SVG logo" "note": "Text used for SVG logo"
@@ -33,8 +33,8 @@
} }
}, },
"propsSchema": { "propsSchema": {
"logoText?": "string (default: 'Webild')", "logoText?": "string (default: 'Contact Us ')",
"copyrightText?": "string (default: '© 2025 | Webild')", "copyrightText?": "string (default: '© 2025 | Contact Us ')",
"socialLinks?": "Array<{ icon: LucideIcon, href: string, ariaLabel: string }> - Social media links", "socialLinks?": "Array<{ icon: LucideIcon, href: string, ariaLabel: string }> - Social media links",
"ariaLabel?": "string (default: 'Site footer')", "ariaLabel?": "string (default: 'Site footer')",
"className?": "string", "className?": "string",
@@ -47,7 +47,7 @@
"socialContainerClassName?": "string", "socialContainerClassName?": "string",
"socialIconClassName?": "string" "socialIconClassName?": "string"
}, },
"usageExample": "<FooterCard logoText=\"Webild\" copyrightText=\"© 2025 | Webild\" socialLinks={[{ icon: Twitter, href: 'https://twitter.com/webild', ariaLabel: 'Twitter' }, { icon: Linkedin, href: 'https://linkedin.com/company/webild', ariaLabel: 'LinkedIn' }]} />", "usageExample": "<FooterCard logoText=\"Contact Us \" copyrightText=\"© 2025 | Contact Us \" socialLinks={[{ icon: Twitter, href: 'https://twitter.com/webild', ariaLabel: 'Twitter' }, { icon: Linkedin, href: 'https://linkedin.com/company/webild', ariaLabel: 'LinkedIn' }]} />",
"do": [ "do": [
"Use for general use", "Use for general use",
"Requires socialLinks?[]" "Requires socialLinks?[]"

View File

@@ -6,7 +6,7 @@
"textRules": { "textRules": {
"logoText": { "logoText": {
"required": false, "required": false,
"default": "Webild", "default": "Contact Us ",
"example": "Company Name", "example": "Company Name",
"minChars": 2, "minChars": 2,
"maxChars": 30 "maxChars": 30

View File

@@ -6,7 +6,7 @@
"textRules": { "textRules": {
"logoText": { "logoText": {
"required": false, "required": false,
"example": "Webild", "example": "Contact Us ",
"minChars": 2, "minChars": 2,
"maxChars": 30, "maxChars": 30,
"note": "Text used for SVG logo" "note": "Text used for SVG logo"
@@ -20,7 +20,7 @@
} }
}, },
"propsSchema": { "propsSchema": {
"logoText?": "string (default: 'Webild')", "logoText?": "string (default: 'Contact Us ')",
"leftLink": "{ text: string, onClick?: () => void, href?: string } (required)", "leftLink": "{ text: string, onClick?: () => void, href?: string } (required)",
"rightLink": "{ text: string, onClick?: () => void, href?: string } (required)", "rightLink": "{ text: string, onClick?: () => void, href?: string } (required)",
"ariaLabel?": "string (default: 'Site footer')", "ariaLabel?": "string (default: 'Site footer')",
@@ -30,7 +30,7 @@
"logoClassName?": "string", "logoClassName?": "string",
"linkClassName?": "string" "linkClassName?": "string"
}, },
"usageExample": "<FooterLogoReveal logoText=\"Webild\" leftLink={{ text: 'Privacy Policy', href: '/privacy' }} rightLink={{ text: 'Terms of Service', href: '/terms' }} />", "usageExample": "<FooterLogoReveal logoText=\"Contact Us \" leftLink={{ text: 'Privacy Policy', href: '/privacy' }} rightLink={{ text: 'Terms of Service', href: '/terms' }} />",
"do": [ "do": [
"Use for general use" "Use for general use"
], ],

View File

@@ -6,14 +6,14 @@
"textRules": { "textRules": {
"logoText": { "logoText": {
"required": false, "required": false,
"default": "Webild", "default": "Contact Us ",
"example": "Company Name", "example": "Company Name",
"minChars": 2, "minChars": 2,
"maxChars": 30 "maxChars": 30
}, },
"copyrightText": { "copyrightText": {
"required": false, "required": false,
"default": "© 2025 | Webild", "default": "© 2025 | Contact Us ",
"example": "© 2025 Company Name", "example": "© 2025 Company Name",
"minChars": 5, "minChars": 5,
"maxChars": 50 "maxChars": 50
@@ -66,8 +66,8 @@
"videoSrc": "string (required if no imageSrc)", "videoSrc": "string (required if no imageSrc)",
"videoAriaLabel?": "string (default: 'Footer video')", "videoAriaLabel?": "string (default: 'Footer video')",
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns (required)", "columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns (required)",
"logoText?": "string (default: 'Webild')", "logoText?": "string (default: 'Contact Us ')",
"copyrightText?": "string (default: '© 2025 | Webild')", "copyrightText?": "string (default: '© 2025 | Contact Us ')",
"onPrivacyClick?": "() => void", "onPrivacyClick?": "() => void",
"ariaLabel?": "string (default: 'Site footer')", "ariaLabel?": "string (default: 'Site footer')",
"className?": "string", "className?": "string",

View File

@@ -12,7 +12,7 @@
}, },
"bottomRightText": { "bottomRightText": {
"required": true, "required": true,
"example": "Made with Webild", "example": "Made with Contact Us ",
"minChars": 2, "minChars": 2,
"maxChars": 50 "maxChars": 50
}, },
@@ -63,7 +63,7 @@
"bottomLeftTextClassName?": "string", "bottomLeftTextClassName?": "string",
"bottomRightTextClassName?": "string" "bottomRightTextClassName?": "string"
}, },
"usageExample": "<FooterSimple columns={[{ title: 'Navigate', items: [{ label: 'Home', href: '#' }, { label: 'About', href: '#' }] }, { title: 'Resources', items: [{ label: 'Blog', href: '#' }, { label: 'FAQ', href: '#' }] }, { title: 'Legal', items: [{ label: 'Privacy', href: '#' }, { label: 'Terms', href: '#' }] }]} bottomLeftText=\"© 2025 Company. All rights reserved.\" bottomRightText=\"Made with Webild\" />", "usageExample": "<FooterSimple columns={[{ title: 'Navigate', items: [{ label: 'Home', href: '#' }, { label: 'About', href: '#' }] }, { title: 'Resources', items: [{ label: 'Blog', href: '#' }, { label: 'FAQ', href: '#' }] }, { title: 'Legal', items: [{ label: 'Privacy', href: '#' }, { label: 'Terms', href: '#' }] }]} bottomLeftText=\"© 2025 Company. All rights reserved.\" bottomRightText=\"Made with Contact Us \" />",
"do": [ "do": [
"Use for feature showcases", "Use for feature showcases",
"Use for capability displays", "Use for capability displays",

View File

@@ -6,7 +6,7 @@
"textRules": { "textRules": {
"logoText": { "logoText": {
"required": true, "required": true,
"example": "Webild", "example": "Contact Us ",
"minChars": 2, "minChars": 2,
"maxChars": 20 "maxChars": 20
}, },
@@ -79,7 +79,7 @@
"blurClassName?": "string", "blurClassName?": "string",
"dimOverlayClassName?": "string" "dimOverlayClassName?": "string"
}, },
"usageExample": "<ThemeProvider defaultButtonVariant=\"hover-bubble\" defaultTextAnimation=\"entrance-slide\" borderRadius=\"pill\">\n <HeroLogo \n logoText=\"Webild\" \n description=\"Building the future of web design with innovative solutions\" \n buttons={[{ text: 'Get Started', href: 'https://github.com' }, { text: 'Learn More', href: 'about' }]} \n imageSrc=\"/placeholders/placeholder5.jpg\" \n imageAlt=\"Hero background\"\n />\n</ThemeProvider>", "usageExample": "<ThemeProvider defaultButtonVariant=\"hover-bubble\" defaultTextAnimation=\"entrance-slide\" borderRadius=\"pill\">\n <HeroLogo \n logoText=\"Contact Us \" \n description=\"Building the future of web design with innovative solutions\" \n buttons={[{ text: 'Get Started', href: 'https://github.com' }, { text: 'Learn More', href: 'about' }]} \n imageSrc=\"/placeholders/placeholder5.jpg\" \n imageAlt=\"Hero background\"\n />\n</ThemeProvider>",
"do": [ "do": [
"Use for landing pages", "Use for landing pages",
"Use for feature showcases", "Use for feature showcases",

View File

@@ -10,7 +10,7 @@
"required": false, "required": false,
"minChars": 2, "minChars": 2,
"maxChars": 20, "maxChars": 20,
"example": "Webild", "example": "Contact Us ",
"fallbackBehavior": "Shows brandName text" "fallbackBehavior": "Shows brandName text"
}, },
"buttonRules": { "buttonRules": {
@@ -52,7 +52,7 @@
}, },
"propsSchema": { "propsSchema": {
"navItems": "Array<{name: string, id: string}>", "navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Webild')", "brandName?": "string (default: 'Contact Us ')",
"button": "{text: string, onClick?: () => void, href?: string}", "button": "{text: string, onClick?: () => void, href?: string}",
"animateOnLoad?": "boolean (default: true)", "animateOnLoad?": "boolean (default: true)",
"className?": "string (default: '')", "className?": "string (default: '')",

View File

@@ -10,7 +10,7 @@
"required": false, "required": false,
"minChars": 2, "minChars": 2,
"maxChars": 20, "maxChars": 20,
"example": "Webild", "example": "Contact Us ",
"fallbackBehavior": "Shows brandName text" "fallbackBehavior": "Shows brandName text"
}, },
"buttonRules": { "buttonRules": {
@@ -53,7 +53,7 @@
"propsSchema": { "propsSchema": {
"navItems": "Array<{name: string, id: string}>", "navItems": "Array<{name: string, id: string}>",
"className?": "string", "className?": "string",
"brandName?": "string (default: 'Webild')", "brandName?": "string (default: 'Contact Us ')",
"button": "{text: string, onClick?: () => void, href?: string}", "button": "{text: string, onClick?: () => void, href?: string}",
"buttonClassName?": "string (default: '')", "buttonClassName?": "string (default: '')",
"buttonTextClassName?": "string (default: '')" "buttonTextClassName?": "string (default: '')"

View File

@@ -10,7 +10,7 @@
"required": false, "required": false,
"minChars": 2, "minChars": 2,
"maxChars": 20, "maxChars": 20,
"example": "Webild", "example": "Contact Us ",
"fallbackBehavior": "Shows brandName text" "fallbackBehavior": "Shows brandName text"
}, },
"linkRules": { "linkRules": {
@@ -35,7 +35,7 @@
}, },
"propsSchema": { "propsSchema": {
"navItems": "Array<{name: string, id: string}>", "navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Webild')" "brandName?": "string (default: 'Contact Us ')"
}, },
"usageExample": "<NavbarStyleApple />", "usageExample": "<NavbarStyleApple />",
"do": [ "do": [

View File

@@ -10,7 +10,7 @@
"required": false, "required": false,
"minChars": 2, "minChars": 2,
"maxChars": 20, "maxChars": 20,
"example": "Webild", "example": "Contact Us ",
"fallbackBehavior": "Shows brandName text" "fallbackBehavior": "Shows brandName text"
}, },
"buttonRules": { "buttonRules": {
@@ -53,7 +53,7 @@
"propsSchema": { "propsSchema": {
"navItems": "Array<{name: string, id: string}>", "navItems": "Array<{name: string, id: string}>",
"button": "{text: string, onClick?: () => void, href?: string}", "button": "{text: string, onClick?: () => void, href?: string}",
"brandName?": "string (default: 'Webild')", "brandName?": "string (default: 'Contact Us ')",
"className?": "string (default: '')" "className?": "string (default: '')"
}, },
"usageExample": "<NavbarStyleCentered navItems={[{name: 'Home', id: 'home'}, {name: 'About', id: 'about'}, {name: 'Services', id: 'services'}, {name: 'Blog', id: 'blog'}, {name: 'Contact', id: 'contact'}]} button={{text: 'Get Started', href: 'contact'}} />", "usageExample": "<NavbarStyleCentered navItems={[{name: 'Home', id: 'home'}, {name: 'About', id: 'about'}, {name: 'Services', id: 'services'}, {name: 'Blog', id: 'blog'}, {name: 'Contact', id: 'contact'}]} button={{text: 'Get Started', href: 'contact'}} />",

View File

@@ -10,7 +10,7 @@
"required": false, "required": false,
"minChars": 2, "minChars": 2,
"maxChars": 20, "maxChars": 20,
"example": "Webild", "example": "Contact Us ",
"fallbackBehavior": "Shows brandName text" "fallbackBehavior": "Shows brandName text"
}, },
"linkRules": { "linkRules": {
@@ -49,7 +49,7 @@
}, },
"propsSchema": { "propsSchema": {
"navItems": "Array<{name: string, id: string}>", "navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Webild')", "brandName?": "string (default: 'Contact Us ')",
"bottomLeftText?": "string (default: 'Global Community')", "bottomLeftText?": "string (default: 'Global Community')",
"bottomRightText?": "string (default: 'hello@example.com')", "bottomRightText?": "string (default: 'hello@example.com')",
"topBarClassName?": "string (default: '')" "topBarClassName?": "string (default: '')"

View File

@@ -2,8 +2,8 @@
"name": "FooterBase", "name": "FooterBase",
"propsSchema": { "propsSchema": {
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns", "columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns",
"logoText?": "string (default: 'Webild')", "logoText?": "string (default: 'Contact Us ')",
"copyrightText?": "string (default: '© 2025 | Webild')", "copyrightText?": "string (default: '© 2025 | Contact Us ')",
"onPrivacyClick?": "() => void", "onPrivacyClick?": "() => void",
"ariaLabel?": "string (default: 'Site footer')", "ariaLabel?": "string (default: 'Site footer')",
"className?": "string", "className?": "string",

View File

@@ -1,9 +1,9 @@
{ {
"name": "FooterBaseCard", "name": "FooterBaseCard",
"propsSchema": { "propsSchema": {
"logoText?": "string (default: 'Webild')", "logoText?": "string (default: 'Contact Us ')",
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns", "columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns",
"copyrightText?": "string (default: '© 2025 | Webild')", "copyrightText?": "string (default: '© 2025 | Contact Us ')",
"onPrivacyClick?": "() => void", "onPrivacyClick?": "() => void",
"ariaLabel?": "string (default: 'Site footer')", "ariaLabel?": "string (default: 'Site footer')",
"className?": "string", "className?": "string",

View File

@@ -1,8 +1,8 @@
{ {
"name": "FooterCard", "name": "FooterCard",
"propsSchema": { "propsSchema": {
"logoText?": "string (default: 'Webild')", "logoText?": "string (default: 'Contact Us ')",
"copyrightText?": "string (default: '© 2025 | Webild')", "copyrightText?": "string (default: '© 2025 | Contact Us ')",
"socialLinks?": "Array<{ icon: LucideIcon, href: string, ariaLabel: string }> - Social media links", "socialLinks?": "Array<{ icon: LucideIcon, href: string, ariaLabel: string }> - Social media links",
"ariaLabel?": "string (default: 'Site footer')", "ariaLabel?": "string (default: 'Site footer')",
"className?": "string", "className?": "string",

View File

@@ -2,7 +2,7 @@
"name": "FooterLogoEmphasis", "name": "FooterLogoEmphasis",
"propsSchema": { "propsSchema": {
"columns": "Array<{ items: Array<{ label: string, href?: string, onClick?: () => void }> }> - Footer navigation columns (required, max 5)", "columns": "Array<{ items: Array<{ label: string, href?: string, onClick?: () => void }> }> - Footer navigation columns (required, max 5)",
"logoText?": "string (default: 'Webild')", "logoText?": "string (default: 'Contact Us ')",
"ariaLabel?": "string (default: 'Site footer')", "ariaLabel?": "string (default: 'Site footer')",
"className?": "string", "className?": "string",
"containerClassName?": "string", "containerClassName?": "string",

View File

@@ -1,7 +1,7 @@
{ {
"name": "FooterLogoReveal", "name": "FooterLogoReveal",
"propsSchema": { "propsSchema": {
"logoText?": "string (default: 'Webild')", "logoText?": "string (default: 'Contact Us ')",
"logoLineHeight?": "number (default: 1.1)", "logoLineHeight?": "number (default: 1.1)",
"ariaLabel?": "string (default: 'Site footer')", "ariaLabel?": "string (default: 'Site footer')",
"className?": "string", "className?": "string",

View File

@@ -6,8 +6,8 @@
"videoSrc": "string (required if no imageSrc)", "videoSrc": "string (required if no imageSrc)",
"videoAriaLabel?": "string (default: 'Footer video')", "videoAriaLabel?": "string (default: 'Footer video')",
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns", "columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns",
"logoText?": "string (default: 'Webild')", "logoText?": "string (default: 'Contact Us ')",
"copyrightText?": "string (default: '© 2025 | Webild')", "copyrightText?": "string (default: '© 2025 | Contact Us ')",
"onPrivacyClick?": "() => void", "onPrivacyClick?": "() => void",
"ariaLabel?": "string (default: 'Site footer')", "ariaLabel?": "string (default: 'Site footer')",
"className?": "string", "className?": "string",

View File

@@ -2,7 +2,7 @@
"name": "NavbarLayoutFloatingInline", "name": "NavbarLayoutFloatingInline",
"propsSchema": { "propsSchema": {
"navItems": "Array<{name: string, id: string}>", "navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Webild')", "brandName?": "string (default: 'Contact Us ')",
"button": "{text: string, onClick?: () => void, href?: string}", "button": "{text: string, onClick?: () => void, href?: string}",
"animateOnLoad?": "boolean (default: true)", "animateOnLoad?": "boolean (default: true)",
"className?": "string (default: '')", "className?": "string (default: '')",

View File

@@ -3,7 +3,7 @@
"propsSchema": { "propsSchema": {
"navItems": "Array<{name: string, id: string}>", "navItems": "Array<{name: string, id: string}>",
"className?": "string", "className?": "string",
"brandName?": "string (default: 'Webild')", "brandName?": "string (default: 'Contact Us ')",
"button": "{text: string, onClick?: () => void, href?: string}", "button": "{text: string, onClick?: () => void, href?: string}",
"buttonClassName?": "string (default: '')", "buttonClassName?": "string (default: '')",
"buttonTextClassName?": "string (default: '')" "buttonTextClassName?": "string (default: '')"

View File

@@ -2,6 +2,6 @@
"name": "NavbarStyleApple", "name": "NavbarStyleApple",
"propsSchema": { "propsSchema": {
"navItems": "Array<{name: string, id: string}>", "navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Webild')" "brandName?": "string (default: 'Contact Us ')"
} }
} }

View File

@@ -4,7 +4,7 @@
"navItems": "Array<{name: string, id: string}>", "navItems": "Array<{name: string, id: string}>",
"button": "{text: string, onClick?: () => void, href?: string}", "button": "{text: string, onClick?: () => void, href?: string}",
"topBarButton?": "{text: string, onClick?: () => void, href?: string}", "topBarButton?": "{text: string, onClick?: () => void, href?: string}",
"brandName?": "string (default: 'Webild')", "brandName?": "string (default: 'Contact Us ')",
"className?": "string (default: '')" "className?": "string (default: '')"
} }
} }

View File

@@ -2,7 +2,7 @@
"name": "NavbarStyleFullscreen", "name": "NavbarStyleFullscreen",
"propsSchema": { "propsSchema": {
"navItems": "Array<{name: string, id: string}>", "navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Webild')", "brandName?": "string (default: 'Contact Us ')",
"bottomLeftText?": "string (default: 'Global Community')", "bottomLeftText?": "string (default: 'Global Community')",
"bottomRightText?": "string (default: 'hello@example.com')", "bottomRightText?": "string (default: 'hello@example.com')",
"topBarClassName?": "string (default: '')" "topBarClassName?": "string (default: '')"

View File

@@ -1,13 +1,7 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css";
import "./styles/variables.css";
import "./styles/base.css";
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = { export const metadata: Metadata = {
title: "VintDragon - Digital Marketing & Web Development", description: "VintDragon helps scaling companies generate more leads, dominate their markets, and drive measurable revenue growth through strategic web design, AI-powered marketing, and data-driven optimization."}; title: "VintDragon - Digital Marketing & Web Development", description: "VintDragon helps scaling companies generate leads, dominate markets, and drive revenue growth through strategic web design, AI-powered marketing, and data-driven optimization."};
export default function RootLayout({ export default function RootLayout({
children, children,
@@ -16,7 +10,7 @@ export default function RootLayout({
}) { }) {
return ( return (
<html lang="en"> <html lang="en">
<body className={inter.className}> <body>
{children} {children}
<script <script

View File

@@ -7,7 +7,6 @@ import FeatureBorderGlow from "@/components/sections/feature/featureBorderGlow/F
import FeatureBento from "@/components/sections/feature/FeatureBento"; import FeatureBento from "@/components/sections/feature/FeatureBento";
import TestimonialCardFifteen from "@/components/sections/testimonial/TestimonialCardFifteen"; import TestimonialCardFifteen from "@/components/sections/testimonial/TestimonialCardFifteen";
import ContactCenter from "@/components/sections/contact/ContactCenter"; import ContactCenter from "@/components/sections/contact/ContactCenter";
import FooterBaseReveal from "@/components/sections/footer/FooterBaseReveal";
import Link from "next/link"; import Link from "next/link";
import { import {
Layout, Layout,
@@ -40,30 +39,36 @@ export default function HomePage() {
]; ];
const footerColumns = [ const footerColumns = [
{
title: "Navigate", items: [
{ label: "Home", href: "/" },
{ label: "Services", href: "/services" },
{ label: "Expertise", href: "/why-vintdragon" },
{ label: "Contact", href: "/contact" },
],
},
{ {
title: "Services", items: [ title: "Services", items: [
{ label: "Web Design & Development", href: "/services" }, { label: "Cybersecurity", href: "/services" },
{ label: "Digital Marketing Strategy", href: "/services" }, { label: "AI Solutions", href: "/services" },
{ label: "SEO & Search Visibility", href: "/services" }, { label: "Development", href: "/services" },
{ label: "Paid Advertising", href: "/services" }, { label: "Consulting", href: "/services" },
{ label: "AI Optimization", href: "/services" },
], ],
}, },
{ {
title: "Company", items: [ title: "Company", items: [
{ label: "About Us", href: "/about" }, { label: "About Us", href: "/" },
{ label: "Portfolio", href: "/portfolio" }, { label: "Blog", href: "/" },
{ label: "Process", href: "#process" }, { label: "Careers", href: "/" },
{ label: "Contact", href: "/contact" }, { label: "Press", href: "/" },
{ label: "Blog", href: "#" },
], ],
}, },
{ {
title: "Legal", items: [ title: "Legal", items: [
{ label: "Privacy Policy", href: "#" }, { label: "Privacy Policy", href: "/" },
{ label: "Terms of Service", href: "#" }, { label: "Terms of Service", href: "/" },
{ label: "Cookie Policy", href: "#" }, { label: "Security", href: "/" },
{ label: "Disclaimer", href: "#" }, { label: "Compliance", href: "/" },
], ],
}, },
]; ];
@@ -332,10 +337,67 @@ export default function HomePage() {
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterBaseReveal <footer className="relative w-full bg-black border-t border-white/10">
columns={footerColumns} <div className="mx-auto px-4 py-16 max-w-7xl">
copyrightText="© 2025 VintDragon. Driving Business Growth Through Digital Excellence." <div className="grid grid-cols-1 md:grid-cols-4 gap-8 mb-12">
/> <div>
<h3 className="text-white font-semibold mb-4">Navigate</h3>
<ul className="space-y-2">
{footerColumns[0].items.map((item, idx) => (
<li key={idx}>
<a href={item.href} className="text-gray-400 hover:text-red-500 transition-colors text-sm">
{item.label}
</a>
</li>
))}
</ul>
</div>
<div>
<h3 className="text-white font-semibold mb-4">Services</h3>
<ul className="space-y-2">
{footerColumns[1].items.map((item, idx) => (
<li key={idx}>
<a href={item.href} className="text-gray-400 hover:text-red-500 transition-colors text-sm">
{item.label}
</a>
</li>
))}
</ul>
</div>
<div>
<h3 className="text-white font-semibold mb-4">Company</h3>
<ul className="space-y-2">
{footerColumns[2].items.map((item, idx) => (
<li key={idx}>
<a href={item.href} className="text-gray-400 hover:text-red-500 transition-colors text-sm">
{item.label}
</a>
</li>
))}
</ul>
</div>
<div>
<h3 className="text-white font-semibold mb-4">Legal</h3>
<ul className="space-y-2">
{footerColumns[3].items.map((item, idx) => (
<li key={idx}>
<a href={item.href} className="text-gray-400 hover:text-red-500 transition-colors text-sm">
{item.label}
</a>
</li>
))}
</ul>
</div>
</div>
<div className="border-t border-white/10 pt-8">
<div className="flex flex-col md:flex-row justify-between items-center">
<p className="text-gray-400 text-sm mb-4 md:mb-0">© 2025 VintDragon. Driving Business Growth Through Digital Excellence.</p>
<p className="text-gray-500 text-xs">Crafted with precision for modern SaaS businesses</p>
</div>
</div>
</div>
</footer>
</div> </div>
</ThemeProvider> </ThemeProvider>
); );

View File

@@ -5,7 +5,6 @@ import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloating
import HeroCentered from "@/components/sections/hero/HeroCentered"; import HeroCentered from "@/components/sections/hero/HeroCentered";
import FeatureBento from "@/components/sections/feature/FeatureBento"; import FeatureBento from "@/components/sections/feature/FeatureBento";
import TestimonialCardFifteen from "@/components/sections/testimonial/TestimonialCardFifteen"; import TestimonialCardFifteen from "@/components/sections/testimonial/TestimonialCardFifteen";
import FooterBaseReveal from "@/components/sections/footer/FooterBaseReveal";
import Link from "next/link"; import Link from "next/link";
import { import {
TrendingUp, TrendingUp,
@@ -25,30 +24,36 @@ export default function PortfolioPage() {
]; ];
const footerColumns = [ const footerColumns = [
{
title: "Navigate", items: [
{ label: "Home", href: "/" },
{ label: "Services", href: "/services" },
{ label: "Expertise", href: "/why-vintdragon" },
{ label: "Contact", href: "/contact" },
],
},
{ {
title: "Services", items: [ title: "Services", items: [
{ label: "Web Design & Development", href: "/services" }, { label: "Cybersecurity", href: "/services" },
{ label: "Digital Marketing Strategy", href: "/services" }, { label: "AI Solutions", href: "/services" },
{ label: "SEO & Search Visibility", href: "/services" }, { label: "Development", href: "/services" },
{ label: "Paid Advertising", href: "/services" }, { label: "Consulting", href: "/services" },
{ label: "AI Optimization", href: "/services" },
], ],
}, },
{ {
title: "Company", items: [ title: "Company", items: [
{ label: "About Us", href: "/about" }, { label: "About Us", href: "/" },
{ label: "Portfolio", href: "/portfolio" }, { label: "Blog", href: "/" },
{ label: "Process", href: "#process" }, { label: "Careers", href: "/" },
{ label: "Contact", href: "/contact" }, { label: "Press", href: "/" },
{ label: "Blog", href: "#" },
], ],
}, },
{ {
title: "Legal", items: [ title: "Legal", items: [
{ label: "Privacy Policy", href: "#" }, { label: "Privacy Policy", href: "/" },
{ label: "Terms of Service", href: "#" }, { label: "Terms of Service", href: "/" },
{ label: "Cookie Policy", href: "#" }, { label: "Security", href: "/" },
{ label: "Disclaimer", href: "#" }, { label: "Compliance", href: "/" },
], ],
}, },
]; ];
@@ -168,10 +173,67 @@ export default function PortfolioPage() {
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterBaseReveal <footer className="relative w-full bg-black border-t border-white/10">
columns={footerColumns} <div className="mx-auto px-4 py-16 max-w-7xl">
copyrightText="© 2025 VintDragon. Driving Business Growth Through Digital Excellence." <div className="grid grid-cols-1 md:grid-cols-4 gap-8 mb-12">
/> <div>
<h3 className="text-white font-semibold mb-4">Navigate</h3>
<ul className="space-y-2">
{footerColumns[0].items.map((item, idx) => (
<li key={idx}>
<a href={item.href} className="text-gray-400 hover:text-red-500 transition-colors text-sm">
{item.label}
</a>
</li>
))}
</ul>
</div>
<div>
<h3 className="text-white font-semibold mb-4">Services</h3>
<ul className="space-y-2">
{footerColumns[1].items.map((item, idx) => (
<li key={idx}>
<a href={item.href} className="text-gray-400 hover:text-red-500 transition-colors text-sm">
{item.label}
</a>
</li>
))}
</ul>
</div>
<div>
<h3 className="text-white font-semibold mb-4">Company</h3>
<ul className="space-y-2">
{footerColumns[2].items.map((item, idx) => (
<li key={idx}>
<a href={item.href} className="text-gray-400 hover:text-red-500 transition-colors text-sm">
{item.label}
</a>
</li>
))}
</ul>
</div>
<div>
<h3 className="text-white font-semibold mb-4">Legal</h3>
<ul className="space-y-2">
{footerColumns[3].items.map((item, idx) => (
<li key={idx}>
<a href={item.href} className="text-gray-400 hover:text-red-500 transition-colors text-sm">
{item.label}
</a>
</li>
))}
</ul>
</div>
</div>
<div className="border-t border-white/10 pt-8">
<div className="flex flex-col md:flex-row justify-between items-center">
<p className="text-gray-400 text-sm mb-4 md:mb-0">© 2025 VintDragon. Driving Business Growth Through Digital Excellence.</p>
<p className="text-gray-500 text-xs">Crafted with precision for modern SaaS businesses</p>
</div>
</div>
</div>
</footer>
</div> </div>
</ThemeProvider> </ThemeProvider>
); );

View File

@@ -1,5 +1,28 @@
@layer base { * {
body { scrollbar-width: thin;
@apply text-foreground; scrollbar-color: rgba(255, 255, 255, 1) rgba(255, 255, 255, 0);
} }
html {
overscroll-behavior: none;
overscroll-behavior-y: none;
}
body {
background-color: var(--background);
color: var(--foreground);
font-family: var(--font-mulish), sans-serif;
position: relative;
min-height: 100vh;
overscroll-behavior: none;
overscroll-behavior-y: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: var(--font-mulish), sans-serif;
} }

View File

@@ -11,14 +11,14 @@
--background-accent: #ffffff; */ --background-accent: #ffffff; */
--background: #0a0a0a; --background: #0a0a0a;
--card: #0a0a0a; --card: #1a1a1a;
--foreground: #ffffffe6; --foreground: #f5f5f5;
--primary-cta: #e6e6e6; --primary-cta: #ff0000;
--primary-cta-text: #ffffff; --primary-cta-text: #ffffff;
--secondary-cta: #1a1a1a; --secondary-cta: #1a1a1a;
--secondary-cta-text: #ffffff; --secondary-cta-text: #ffffff;
--accent: #737373; --accent: #991b1b;
--background-accent: #737373; --background-accent: #7f1d1d;
/* text sizing - set by ThemeProvider */ /* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem); /* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);

View File

@@ -18,7 +18,7 @@ interface LogoProps {
const Logo = ({ const Logo = ({
// logoSrc, // logoSrc,
// logoAlt = "", // logoAlt = "",
brandName = "Webild", brandName = "Contact Us ",
// className = "", // className = "",
// imageClassName = "", // imageClassName = "",
textClassName = "", textClassName = "",

View File

@@ -23,7 +23,7 @@ interface NavbarLayoutFloatingInlineProps {
const NavbarLayoutFloatingInline = ({ const NavbarLayoutFloatingInline = ({
navItems, navItems,
brandName = "Webild", brandName = "Contact Us ",
button, button,
animateOnLoad = true, animateOnLoad = true,
className = "", className = "",

View File

@@ -28,7 +28,7 @@ const NavbarLayoutFloatingOverlay = ({
// logoSrc, // logoSrc,
// logoAlt = "", // logoAlt = "",
className = "", className = "",
brandName = "Webild", brandName = "Contact Us ",
button, button,
buttonClassName = "", buttonClassName = "",
buttonTextClassName = "", buttonTextClassName = "",

View File

@@ -25,7 +25,7 @@ const NavbarStyleApple = ({
navItems, navItems,
// logoSrc, // logoSrc,
// logoAlt = "", // logoAlt = "",
brandName = "Webild", brandName = "Contact Us ",
button, button,
buttonClassName = "", buttonClassName = "",
buttonTextClassName = "", buttonTextClassName = "",

View File

@@ -57,7 +57,7 @@ const NavbarStyleCentered = ({
topBarButton, topBarButton,
// logoSrc, // logoSrc,
// logoAlt = "", // logoAlt = "",
brandName = "Webild", brandName = "Contact Us ",
className = "", className = "",
}: NavbarStyleCenteredProps) => { }: NavbarStyleCenteredProps) => {
const [isActive, setIsActive] = useState(false); const [isActive, setIsActive] = useState(false);

View File

@@ -49,7 +49,7 @@ const NavbarStyleFullscreen = ({
navItems, navItems,
// logoSrc, // logoSrc,
// logoAlt = "", // logoAlt = "",
brandName = "Webild", brandName = "Contact Us ",
bottomLeftText = "Global Community", bottomLeftText = "Global Community",
bottomRightText = "hello@example.com", bottomRightText = "hello@example.com",
topBarClassName = "", topBarClassName = "",

View File

@@ -30,11 +30,11 @@ interface FooterBaseProps {
const FooterBase = ({ const FooterBase = ({
// logoSrc = "/brand/logowhite.svg", // logoSrc = "/brand/logowhite.svg",
logoText = "Webild", logoText = "Contact Us ",
// logoWidth = 120, // logoWidth = 120,
// logoHeight = 40, // logoHeight = 40,
columns, columns,
copyrightText = `© 2025 | Webild`, copyrightText = `© 2025 | Contact Us `,
onPrivacyClick, onPrivacyClick,
ariaLabel = "Site footer", ariaLabel = "Site footer",
className = "", className = "",

View File

@@ -31,11 +31,11 @@ interface FooterBaseCardProps {
const FooterBaseCard = ({ const FooterBaseCard = ({
// logoSrc = "/brand/logowhite.svg", // logoSrc = "/brand/logowhite.svg",
logoText = "Webild", logoText = "Contact Us ",
// logoWidth = 120, // logoWidth = 120,
// logoHeight = 40, // logoHeight = 40,
columns, columns,
copyrightText = `© 2025 | Webild`, copyrightText = `© 2025 | Contact Us `,
onPrivacyClick, onPrivacyClick,
ariaLabel = "Site footer", ariaLabel = "Site footer",
className = "", className = "",

View File

@@ -26,8 +26,8 @@ interface FooterCardProps {
const FooterCard = ({ const FooterCard = ({
// logoSrc, // logoSrc,
// logoAlt = "Logo", // logoAlt = "Logo",
logoText = "Webild", logoText = "Contact Us ",
copyrightText = `© 2025 | Webild`, copyrightText = `© 2025 | Contact Us `,
socialLinks, socialLinks,
ariaLabel = "Site footer", ariaLabel = "Site footer",
className = "", className = "",

View File

@@ -28,7 +28,7 @@ interface FooterLogoRevealProps {
const FooterLogoReveal = ({ const FooterLogoReveal = ({
// logoSrc, // logoSrc,
// logoAlt = "Logo", // logoAlt = "Logo",
logoText = "Webild", logoText = "Contact Us ",
leftLink, leftLink,
rightLink, rightLink,
ariaLabel = "Site footer", ariaLabel = "Site footer",

View File

@@ -51,11 +51,11 @@ const FooterMedia = ({
imageAlt = "", imageAlt = "",
videoAriaLabel = "Footer video", videoAriaLabel = "Footer video",
// logoSrc = "/brand/logowhite.svg", // logoSrc = "/brand/logowhite.svg",
logoText = "Webild", logoText = "Contact Us ",
// logoWidth = 120, // logoWidth = 120,
// logoHeight = 40, // logoHeight = 40,
columns, columns,
copyrightText = `© 2025 | Webild`, copyrightText = `© 2025 | Contact Us `,
onPrivacyClick, onPrivacyClick,
ariaLabel = "Site footer", ariaLabel = "Site footer",
className = "", className = "",