Merge version_5 into main #7

Merged
bender merged 32 commits from version_5 into main 2026-02-18 22:49:20 +00:00
32 changed files with 71 additions and 71 deletions

View File

@@ -9,7 +9,7 @@
"required": false,
"minChars": 2,
"maxChars": 20,
"example": "Proofweb",
"example": "Proof Digital",
"fallbackBehavior": "Shows brandName text"
},
"buttonRules": {
@@ -51,7 +51,7 @@
},
"propsSchema": {
"navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Proofweb')",
"brandName?": "string (default: 'Proof Digital')",
"button": "{text: string, onClick?: () => void, href?: string}",
"className?": "string (default: '')"
},

View File

@@ -9,7 +9,7 @@
"required": false,
"minChars": 2,
"maxChars": 20,
"example": "Proofweb",
"example": "Proof Digital",
"fallbackBehavior": "Shows brandName text"
},
"buttonRules": {
@@ -52,7 +52,7 @@
"propsSchema": {
"navItems": "Array<{name: string, id: string}>",
"className?": "string",
"brandName?": "string (default: 'Proofweb')",
"brandName?": "string (default: 'Proof Digital')",
"button": "{text: string, onClick?: () => void, href?: string}"
},
"usageExample": "",

View File

@@ -9,7 +9,7 @@
"required": false,
"minChars": 2,
"maxChars": 20,
"example": "Proofweb",
"example": "Proof Digital",
"fallbackBehavior": "Shows brandName text"
},
"linkRules": {
@@ -34,7 +34,7 @@
},
"propsSchema": {
"navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Proofweb')"
"brandName?": "string (default: 'Proof Digital')"
},
"usageExample": "",
"do": [

View File

@@ -9,7 +9,7 @@
"required": false,
"minChars": 2,
"maxChars": 20,
"example": "Proofweb",
"example": "Proof Digital",
"fallbackBehavior": "Shows brandName text"
},
"buttonRules": {
@@ -52,7 +52,7 @@
"propsSchema": {
"navItems": "Array<{name: string, id: string}>",
"button": "{text: string, onClick?: () => void, href?: string}",
"brandName?": "string (default: 'Proofweb')",
"brandName?": "string (default: 'Proof Digital')",
"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'}} />",

View File

@@ -9,7 +9,7 @@
"required": false,
"minChars": 2,
"maxChars": 20,
"example": "Proofweb",
"example": "Proof Digital",
"fallbackBehavior": "Shows brandName text"
},
"linkRules": {
@@ -48,7 +48,7 @@
},
"propsSchema": {
"navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Proofweb')",
"brandName?": "string (default: 'Proof Digital')",
"bottomLeftText?": "string (default: 'Global Community')",
"bottomRightText?": "string (default: 'hello@example.com')"
},

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,7 +2,7 @@
"name": "NavbarLayoutFloatingInline",
"propsSchema": {
"navItems": "Array<{name: string, id: string}>",
"brandName?": "string (default: 'Proofweb')",
"brandName?": "string (default: 'Proof Digital')",
"button": "{text: string, onClick?: () => void, href?: string}",
"className?": "string (default: '')",
"navItemClassName?": "string (default: '')",

View File

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

View File

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

View File

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

View File

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

View File

@@ -26,7 +26,7 @@ export default function BlogPage() {
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
brandName="Proofweb"
brandName="Proof Digital"
navItems={[
{ name: "Home", id: "/" },
{ name: "Services", id: "services" },
@@ -85,7 +85,7 @@ export default function BlogPage() {
]
}
]}
copyrightText="© 2025 Proofweb. All rights reserved. Crafted with excellence for digital excellence."
copyrightText="© 2025 Proof Digital. All rights reserved. Crafted with excellence for digital excellence."
/>
</div>
</ReactLenis>

View File

@@ -9,18 +9,18 @@ const instrumentSans = Instrument_Sans({
});
export const metadata: Metadata = {
title: "Proofweb | Custom Web Design & Development Agency", description: "Premium web design and development agency creating high-converting websites for businesses worldwide. Proven results, transparent pricing, and dedicated support.", keywords: ["web design", "web development", "custom websites", "digital agency", "UI/UX design", "responsive design"],
title: "Proof Digital | Custom Web Design & Development Agency", description: "Premium web design and development agency creating high-converting websites for businesses worldwide. Proven results, transparent pricing, and dedicated support.", keywords: ["web design", "web development", "custom websites", "digital agency", "UI/UX design", "responsive design"],
metadataBase: new URL("https://proofweb.com"),
alternates: {
canonical: "https://proofweb.com"
},
openGraph: {
title: "Proofweb | Web Design & Development", description: "Transform your digital presence with custom websites designed for conversion.", siteName: "Proofweb", type: "website", images: [{
url: "https://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", alt: "Proofweb - Premium Web Design"
title: "Proof Digital | Web Design & Development", description: "Transform your digital presence with custom websites designed for conversion.", siteName: "Proof Digital", type: "website", images: [{
url: "https://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", alt: "Proof Digital - Premium Web Design"
}]
},
twitter: {
card: "summary_large_image", title: "Proofweb | Premium Web Solutions", description: "Custom websites that drive results for 150+ global businesses.", images: ["https://img.b2bpic.net/free-photo/happy-businessman-smiling-camera_1163-4660.jpg"]
card: "summary_large_image", title: "Proof Digital | Premium Web Solutions", description: "Custom websites that drive results for 150+ global businesses.", images: ["https://img.b2bpic.net/free-photo/happy-businessman-smiling-camera_1163-4660.jpg"]
},
robots: {
index: true,
@@ -547,7 +547,7 @@ export default function RootLayout({
selection.addRange(range);
}
} catch (e) {
console.warn('[Proofweb] Could not set caret position:', e);
console.warn('[Proof Digital] Could not set caret position:', e);
}
}
};
@@ -1061,13 +1061,13 @@ export default function RootLayout({
}
}
} catch (err) {
console.warn('[Proofweb] Failed to revert change:', err);
console.warn('[Proof Digital] Failed to revert change:', err);
}
});
}
clearLocalChanges();
} catch (error) {
console.error('[Proofweb] Failed to cancel changes:', error);
console.error('[Proof Digital] Failed to cancel changes:', error);
}
return;
}
@@ -1084,7 +1084,7 @@ export default function RootLayout({
try {
element = document.querySelector(selector);
} catch (err) {
console.warn('[Proofweb] Invalid selector:', selector);
console.warn('[Proof Digital] Invalid selector:', selector);
}
}
@@ -1149,7 +1149,7 @@ export default function RootLayout({
}
}
} catch (error) {
console.error('[Proofweb] Invalid selector for button update:', selector, error);
console.error('[Proof Digital] Invalid selector for button update:', selector, error);
}
return;
}

View File

@@ -29,7 +29,7 @@ export default function LandingPage() {
>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
brandName="Proofweb"
brandName="Proof Digital"
navItems={[
{ name: "Services", id: "services" },
{ name: "Portfolio", id: "portfolio" },
@@ -46,16 +46,16 @@ export default function LandingPage() {
<div id="hero" data-section="hero">
<HeroCentered
title="Craft Digital Experiences That Convert"
description="We design and build stunning websites that drive results. From concept to launch, Proofweb transforms your vision into high-performing digital solutions."
description="We design and build stunning websites that drive results. From concept to launch, Proof Digital transforms your vision into high-performing digital solutions."
avatars={[
{
src: "https://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", alt: "Proofweb team member 1"
src: "https://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", alt: "Proof Digital team member 1"
},
{
src: "https://img.b2bpic.net/free-photo/happy-businessman-smiling-camera_1163-4660.jpg", alt: "Proofweb team member 2"
src: "https://img.b2bpic.net/free-photo/happy-businessman-smiling-camera_1163-4660.jpg", alt: "Proof Digital team member 2"
},
{
src: "https://img.b2bpic.net/free-photo/smiling-young-businessman-suit-looking-camera-meeting_1163-4654.jpg", alt: "Proofweb team member 3"
src: "https://img.b2bpic.net/free-photo/smiling-young-businessman-suit-looking-camera-meeting_1163-4654.jpg", alt: "Proof Digital team member 3"
}
]}
avatarText="Trusted by 150+ businesses worldwide"
@@ -69,7 +69,7 @@ export default function LandingPage() {
]}
background={{ variant: "rotated-rays-static" }}
buttonAnimation="slide-up"
ariaLabel="Proofweb hero section"
ariaLabel="Proof Digital hero section"
marqueeItems={[
{ type: "text", text: "Google" },
{ type: "text", text: "Microsoft" },
@@ -154,7 +154,7 @@ export default function LandingPage() {
<div id="testimonials" data-section="testimonials">
<TestimonialCardFifteen
testimonial="Proofweb transformed our online presence completely. Their strategic approach, attention to detail, and commitment to our success made all the difference. We've seen a 150% increase in qualified leads since launch."
testimonial="Proof Digital transformed our online presence completely. Their strategic approach, attention to detail, and commitment to our success made all the difference. We've seen a 150% increase in qualified leads since launch."
rating={5}
author="Sarah Mitchell, CEO at TechVenture"
avatars={[
@@ -194,7 +194,7 @@ export default function LandingPage() {
}
]}
title="Meet Our Team"
description="The talented professionals behind Proofweb's success."
description="The talented professionals behind Proof Digital's success."
tag="Team"
tagIcon={Users}
textboxLayout="default"
@@ -255,7 +255,7 @@ export default function LandingPage() {
<ContactCenter
tag="Let's Connect"
title="Ready to Build Something Amazing?"
description="Join 150+ businesses that trust Proofweb with their digital transformation. Get a free consultation from our team and discover how we can accelerate your growth."
description="Join 150+ businesses that trust Proof Digital with their digital transformation. Get a free consultation from our team and discover how we can accelerate your growth."
tagIcon={Send}
background={{ variant: "downward-rays-animated" }}
useInvertedBackground={true}
@@ -293,7 +293,7 @@ export default function LandingPage() {
]
}
]}
copyrightText="© 2025 Proofweb. All rights reserved. Crafted with excellence for digital excellence."
copyrightText="© 2025 Proof Digital. All rights reserved. Crafted with excellence for digital excellence."
/>
</div>
</ThemeProvider>

View File

@@ -83,7 +83,7 @@ export default function ProductPage({ params }: ProductPageProps) {
<ReactLenis root>
<div id="navbar" data-section="navbar">
<NavbarLayoutFloatingInline
brandName="Proofweb"
brandName="Proof Digital"
navItems={[
{ name: "Home", id: "/" },
{ name: "Services", id: "services" },
@@ -127,7 +127,7 @@ export default function ProductPage({ params }: ProductPageProps) {
]
}
]}
copyrightText="© 2025 Proofweb. All rights reserved. Crafted with excellence for digital excellence."
copyrightText="© 2025 Proof Digital. All rights reserved. Crafted with excellence for digital excellence."
/>
</div>
</ReactLenis>
@@ -152,7 +152,7 @@ export default function ProductPage({ params }: ProductPageProps) {
<ReactLenis root>
<div id="navbar" data-section="navbar">
<NavbarLayoutFloatingInline
brandName="Proofweb"
brandName="Proof Digital"
navItems={[
{ name: "Home", id: "/" },
{ name: "Services", id: "services" },
@@ -204,7 +204,7 @@ export default function ProductPage({ params }: ProductPageProps) {
]
}
]}
copyrightText="© 2025 Proofweb. All rights reserved. Crafted with excellence for digital excellence."
copyrightText="© 2025 Proof Digital. All rights reserved. Crafted with excellence for digital excellence."
/>
</div>
</ReactLenis>
@@ -228,7 +228,7 @@ export default function ProductPage({ params }: ProductPageProps) {
<ReactLenis root>
<div id="navbar" data-section="navbar">
<NavbarLayoutFloatingInline
brandName="Proofweb"
brandName="Proof Digital"
navItems={[
{ name: "Home", id: "/" },
{ name: "Services", id: "services" },
@@ -305,7 +305,7 @@ export default function ProductPage({ params }: ProductPageProps) {
]
}
]}
copyrightText="© 2025 Proofweb. All rights reserved. Crafted with excellence for digital excellence."
copyrightText="© 2025 Proof Digital. All rights reserved. Crafted with excellence for digital excellence."
/>
</div>
</ReactLenis>

View File

@@ -33,7 +33,7 @@ export default function ShopPage() {
<ReactLenis root>
<div id="navbar" data-section="navbar">
<NavbarLayoutFloatingInline
brandName="Proofweb"
brandName="Proof Digital"
navItems={[
{ name: "Home", id: "/" },
{ name: "Services", id: "services" },
@@ -77,7 +77,7 @@ export default function ShopPage() {
]
}
]}
copyrightText="© 2025 Proofweb. All rights reserved. Crafted with excellence for digital excellence."
copyrightText="© 2025 Proof Digital. All rights reserved. Crafted with excellence for digital excellence."
/>
</div>
</ReactLenis>
@@ -101,7 +101,7 @@ export default function ShopPage() {
<ReactLenis root>
<div id="navbar" data-section="navbar">
<NavbarLayoutFloatingInline
brandName="Proofweb"
brandName="Proof Digital"
navItems={[
{ name: "Home", id: "/" },
{ name: "Services", id: "services" },
@@ -153,7 +153,7 @@ export default function ShopPage() {
]
}
]}
copyrightText="© 2025 Proofweb. All rights reserved. Crafted with excellence for digital excellence."
copyrightText="© 2025 Proof Digital. All rights reserved. Crafted with excellence for digital excellence."
/>
</div>
</ReactLenis>

View File

@@ -18,7 +18,7 @@ interface LogoProps {
const Logo = ({
// logoSrc,
// logoAlt = "",
brandName = "Proofweb",
brandName = "Proof Digital",
// className = "",
// imageClassName = "",
textClassName = "",

View File

@@ -27,7 +27,7 @@ const NavbarLayoutFloatingInline = ({
navItems,
// logoSrc,
// logoAlt = "",
brandName = "Proofweb",
brandName = "Proof Digital",
button,
className = "",
navItemClassName = "",

View File

@@ -30,7 +30,7 @@ const NavbarLayoutFloatingOverlay = ({
// logoSrc,
// logoAlt = "",
className = "",
brandName = "Proofweb",
brandName = "Proof Digital",
button,
buttonClassName = "",
buttonTextClassName = "",

View File

@@ -25,7 +25,7 @@ const NavbarStyleApple = ({
navItems,
// logoSrc,
// logoAlt = "",
brandName = "Proofweb",
brandName = "Proof Digital",
logoOnClick,
logoHref,
button,

View File

@@ -59,7 +59,7 @@ const NavbarStyleCentered = ({
topBarButton,
// logoSrc,
// logoAlt = "",
brandName = "Proofweb",
brandName = "Proof Digital",
className = "",
logoOnClick,
logoHref,

View File

@@ -50,7 +50,7 @@ const NavbarStyleFullscreen = ({
navItems,
// logoSrc,
// logoAlt = "",
brandName = "Proofweb",
brandName = "Proof Digital",
bottomLeftText = "Global Community",
bottomRightText = "hello@example.com",
topBarClassName = "",

View File

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

View File

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

View File

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

View File

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

View File

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