Merge version_5 into main #19
@@ -6,14 +6,14 @@
|
||||
"textRules": {
|
||||
"copyrightText": {
|
||||
"required": false,
|
||||
"example": "© 2025 | AstroSec",
|
||||
"example": "© 2025 | ASTROSEC",
|
||||
"minChars": 5,
|
||||
"maxChars": 100,
|
||||
"note": "Copyright text displayed at bottom left"
|
||||
},
|
||||
"logoText": {
|
||||
"required": false,
|
||||
"example": "AstroSec",
|
||||
"example": "ASTROSEC",
|
||||
"minChars": 2,
|
||||
"maxChars": 30,
|
||||
"note": "Text used for h2 heading"
|
||||
@@ -34,9 +34,9 @@
|
||||
}
|
||||
},
|
||||
"propsSchema": {
|
||||
"logoText?": "string (default: 'AstroSec')",
|
||||
"logoText?": "string (default: 'ASTROSEC')",
|
||||
"columns": "Array<{ title: string, items: Array<{ label: string, href: string }> }> - Footer navigation columns (required)",
|
||||
"copyrightText?": "string (default: '© 2025 | AstroSec')",
|
||||
"copyrightText?": "string (default: '© 2025 | ASTROSEC')",
|
||||
"onPrivacyClick?": "() => void",
|
||||
"ariaLabel?": "string (default: 'Site footer')",
|
||||
"className?": "string",
|
||||
@@ -51,7 +51,7 @@
|
||||
"copyrightTextClassName?": "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=\"AstroSec\" copyrightText=\"© 2025 | AstroSec\" 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=\"ASTROSEC\" copyrightText=\"© 2025 | ASTROSEC\" onPrivacyClick={() => console.log('Privacy clicked')} />",
|
||||
"do": [
|
||||
"Use for general use",
|
||||
"Requires columns[]"
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
"textRules": {
|
||||
"copyrightText": {
|
||||
"required": false,
|
||||
"example": "© 2025 | AstroSec",
|
||||
"example": "© 2025 | ASTROSEC",
|
||||
"minChars": 5,
|
||||
"maxChars": 100,
|
||||
"note": "Copyright text displayed at bottom left"
|
||||
},
|
||||
"logoText": {
|
||||
"required": false,
|
||||
"example": "AstroSec",
|
||||
"example": "ASTROSEC",
|
||||
"minChars": 2,
|
||||
"maxChars": 30,
|
||||
"note": "Text used for SVG logo"
|
||||
@@ -33,8 +33,8 @@
|
||||
}
|
||||
},
|
||||
"propsSchema": {
|
||||
"logoText?": "string (default: 'AstroSec')",
|
||||
"copyrightText?": "string (default: '© 2025 | AstroSec')",
|
||||
"logoText?": "string (default: 'ASTROSEC')",
|
||||
"copyrightText?": "string (default: '© 2025 | ASTROSEC')",
|
||||
"socialLinks?": "Array<{ icon: LucideIcon, href: string, ariaLabel: string }> - Social media links",
|
||||
"ariaLabel?": "string (default: 'Site footer')",
|
||||
"className?": "string",
|
||||
@@ -47,7 +47,7 @@
|
||||
"socialContainerClassName?": "string",
|
||||
"socialIconClassName?": "string"
|
||||
},
|
||||
"usageExample": "<FooterCard logoText=\"AstroSec\" copyrightText=\"© 2025 | AstroSec\" socialLinks={[{ icon: Twitter, href: 'https://twitter.com/webild', ariaLabel: 'Twitter' }, { icon: Linkedin, href: 'https://linkedin.com/company/webild', ariaLabel: 'LinkedIn' }]} />",
|
||||
"usageExample": "<FooterCard logoText=\"ASTROSEC\" copyrightText=\"© 2025 | ASTROSEC\" socialLinks={[{ icon: Twitter, href: 'https://twitter.com/webild', ariaLabel: 'Twitter' }, { icon: Linkedin, href: 'https://linkedin.com/company/webild', ariaLabel: 'LinkedIn' }]} />",
|
||||
"do": [
|
||||
"Use for general use",
|
||||
"Requires socialLinks?[]"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"textRules": {
|
||||
"logoText": {
|
||||
"required": false,
|
||||
"example": "AstroSec",
|
||||
"example": "ASTROSEC",
|
||||
"minChars": 2,
|
||||
"maxChars": 30,
|
||||
"note": "Text used for SVG logo"
|
||||
@@ -20,7 +20,7 @@
|
||||
}
|
||||
},
|
||||
"propsSchema": {
|
||||
"logoText?": "string (default: 'AstroSec')",
|
||||
"logoText?": "string (default: 'ASTROSEC')",
|
||||
"leftLink": "{ text: string, onClick?: () => void, href?: string } (required)",
|
||||
"rightLink": "{ text: string, onClick?: () => void, href?: string } (required)",
|
||||
"ariaLabel?": "string (default: 'Site footer')",
|
||||
@@ -30,7 +30,7 @@
|
||||
"logoClassName?": "string",
|
||||
"linkClassName?": "string"
|
||||
},
|
||||
"usageExample": "<FooterLogoReveal logoText=\"AstroSec\" leftLink={{ text: 'Privacy Policy', href: '/privacy' }} rightLink={{ text: 'Terms of Service', href: '/terms' }} />",
|
||||
"usageExample": "<FooterLogoReveal logoText=\"ASTROSEC\" leftLink={{ text: 'Privacy Policy', href: '/privacy' }} rightLink={{ text: 'Terms of Service', href: '/terms' }} />",
|
||||
"do": [
|
||||
"Use for general use"
|
||||
],
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
},
|
||||
"bottomRightText": {
|
||||
"required": true,
|
||||
"example": "Made with AstroSec",
|
||||
"example": "Made with ASTROSEC",
|
||||
"minChars": 2,
|
||||
"maxChars": 50
|
||||
},
|
||||
@@ -63,7 +63,7 @@
|
||||
"bottomLeftTextClassName?": "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 AstroSec\" />",
|
||||
"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 ASTROSEC\" />",
|
||||
"do": [
|
||||
"Use for feature showcases",
|
||||
"Use for capability displays",
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"propsSchema": {
|
||||
"navItems": "Array<{name: string, id: string}>",
|
||||
"className?": "string",
|
||||
"brandName?": "string (default: 'AstroSec')",
|
||||
"brandName?": "string (default: 'ASTROSEC')",
|
||||
"button": "{text: string, onClick?: () => void, href?: string}",
|
||||
"buttonClassName?": "string (default: '')",
|
||||
"buttonTextClassName?": "string (default: '')"
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
"name": "NavbarStyleApple",
|
||||
"propsSchema": {
|
||||
"navItems": "Array<{name: string, id: string}>",
|
||||
"brandName?": "string (default: 'AstroSec')"
|
||||
"brandName?": "string (default: 'ASTROSEC')"
|
||||
}
|
||||
}
|
||||
@@ -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: 'AstroSec')",
|
||||
"brandName?": "string (default: 'ASTROSEC')",
|
||||
"className?": "string (default: '')"
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "NavbarStyleFullscreen",
|
||||
"propsSchema": {
|
||||
"navItems": "Array<{name: string, id: string}>",
|
||||
"brandName?": "string (default: 'AstroSec')",
|
||||
"brandName?": "string (default: 'ASTROSEC')",
|
||||
"bottomLeftText?": "string (default: 'Global Community')",
|
||||
"bottomRightText?": "string (default: 'hello@example.com')",
|
||||
"topBarClassName?": "string (default: '')"
|
||||
|
||||
@@ -7,7 +7,7 @@ import "./styles/base.css";
|
||||
const inter = Inter({ subsets: ["latin"] });
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "AstroSec - Cybersecurity & AI Solutions", description: "Next-generation security and AI solutions for enterprises"
|
||||
title: "ASTROSEC - Cybersecurity & AI Solutions", description: "Next-generation security and AI solutions for enterprises"
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
@@ -573,7 +573,7 @@ export default function RootLayout({
|
||||
selection.addRange(range);
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn('[AstroSec] Could not set caret position:', e);
|
||||
console.warn('[ASTROSEC] Could not set caret position:', e);
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -1098,13 +1098,13 @@ export default function RootLayout({
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
console.warn('[AstroSec] Failed to revert change:', err);
|
||||
console.warn('[ASTROSEC] Failed to revert change:', err);
|
||||
}
|
||||
});
|
||||
}
|
||||
clearLocalChanges();
|
||||
} catch (error) {
|
||||
console.error('[AstroSec] Failed to cancel changes:', error);
|
||||
console.error('[ASTROSEC] Failed to cancel changes:', error);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -1121,7 +1121,7 @@ export default function RootLayout({
|
||||
try {
|
||||
element = document.querySelector(selector);
|
||||
} catch (err) {
|
||||
console.warn('[AstroSec] Invalid selector:', selector);
|
||||
console.warn('[ASTROSEC] Invalid selector:', selector);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1186,7 +1186,7 @@ export default function RootLayout({
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('[AstroSec] Invalid selector for button update:', selector, error);
|
||||
console.error('[ASTROSEC] Invalid selector for button update:', selector, error);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -279,7 +279,7 @@ export default function LandingPage() {
|
||||
],
|
||||
},
|
||||
]}
|
||||
bottomLeftText="© 2025 AstroSec. All rights reserved."
|
||||
bottomLeftText="© 2025 ASTROSEC. All rights reserved."
|
||||
bottomRightText="Securing Tomorrow, Today"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -18,7 +18,7 @@ interface LogoProps {
|
||||
const Logo = ({
|
||||
// logoSrc,
|
||||
// logoAlt = "",
|
||||
brandName = "AstroSec",
|
||||
brandName = "ASTROSEC",
|
||||
// className = "",
|
||||
// imageClassName = "",
|
||||
textClassName = "",
|
||||
|
||||
@@ -23,7 +23,7 @@ interface NavbarLayoutFloatingInlineProps {
|
||||
|
||||
const NavbarLayoutFloatingInline = ({
|
||||
navItems,
|
||||
brandName = "AstroSec",
|
||||
brandName = "ASTROSEC",
|
||||
button,
|
||||
animateOnLoad = true,
|
||||
className = "",
|
||||
|
||||
@@ -28,7 +28,7 @@ const NavbarLayoutFloatingOverlay = ({
|
||||
// logoSrc,
|
||||
// logoAlt = "",
|
||||
className = "",
|
||||
brandName = "AstroSec",
|
||||
brandName = "ASTROSEC",
|
||||
button,
|
||||
buttonClassName = "",
|
||||
buttonTextClassName = "",
|
||||
|
||||
@@ -57,7 +57,7 @@ const NavbarStyleCentered = ({
|
||||
topBarButton,
|
||||
// logoSrc,
|
||||
// logoAlt = "",
|
||||
brandName = "AstroSec",
|
||||
brandName = "ASTROSEC",
|
||||
className = "",
|
||||
}: NavbarStyleCenteredProps) => {
|
||||
const [isActive, setIsActive] = useState(false);
|
||||
|
||||
@@ -30,11 +30,11 @@ interface FooterBaseProps {
|
||||
|
||||
const FooterBase = ({
|
||||
// logoSrc = "/brand/logowhite.svg",
|
||||
logoText = "AstroSec",
|
||||
logoText = "ASTROSEC",
|
||||
// logoWidth = 120,
|
||||
// logoHeight = 40,
|
||||
columns,
|
||||
copyrightText = `© 2025 | AstroSec`,
|
||||
copyrightText = `© 2025 | ASTROSEC`,
|
||||
onPrivacyClick,
|
||||
ariaLabel = "Site footer",
|
||||
className = "",
|
||||
|
||||
@@ -26,8 +26,8 @@ interface FooterCardProps {
|
||||
const FooterCard = ({
|
||||
// logoSrc,
|
||||
// logoAlt = "Logo",
|
||||
logoText = "AstroSec",
|
||||
copyrightText = `© 2025 | AstroSec`,
|
||||
logoText = "ASTROSEC",
|
||||
copyrightText = `© 2025 | ASTROSEC`,
|
||||
socialLinks,
|
||||
ariaLabel = "Site footer",
|
||||
className = "",
|
||||
|
||||
@@ -51,11 +51,11 @@ const FooterMedia = ({
|
||||
imageAlt = "",
|
||||
videoAriaLabel = "Footer video",
|
||||
// logoSrc = "/brand/logowhite.svg",
|
||||
logoText = "AstroSec",
|
||||
logoText = "ASTROSEC",
|
||||
// logoWidth = 120,
|
||||
// logoHeight = 40,
|
||||
columns,
|
||||
copyrightText = `© 2025 | AstroSec`,
|
||||
copyrightText = `© 2025 | ASTROSEC`,
|
||||
onPrivacyClick,
|
||||
ariaLabel = "Site footer",
|
||||
className = "",
|
||||
|
||||
Reference in New Issue
Block a user