update home page
This commit is contained in:
126
data/design-tokens.ts
Normal file
126
data/design-tokens.ts
Normal file
@@ -0,0 +1,126 @@
|
||||
// ─── Design Tokens ───────────────────────────────────────────────────
|
||||
// Single source of truth for all design values.
|
||||
// Changing a value here should update the entire site.
|
||||
// CSS custom properties in globals.css mirror these for Tailwind usage.
|
||||
// ─────────────────────────────────────────────────────────────────────
|
||||
|
||||
/** Color palette — use Tailwind classes (e.g. `bg-aiero-dark`) when possible */
|
||||
export const colors = {
|
||||
// Backgrounds
|
||||
bgDark: "#1F1F1F",
|
||||
bgCardDark: "#282828",
|
||||
bgCardBorder: "#3F3F3F",
|
||||
bgWhite: "#FFFFFF",
|
||||
|
||||
// Accent
|
||||
accentTeal: "#45D0BD",
|
||||
accentBlue: "#44B6E9",
|
||||
accentRed: "#EF6464",
|
||||
accentRedHover: "#F57E7E",
|
||||
|
||||
// Purple palette
|
||||
purpleStart: "#8258C8",
|
||||
purpleMid: "#6766C8",
|
||||
purpleEnd: "#2C84C8",
|
||||
cardPurple: "#343F78",
|
||||
cardPurple2: "#56619E",
|
||||
cardLavender: "#AC8DE0",
|
||||
|
||||
// Text
|
||||
textMuted: "#87899B",
|
||||
textWhite: "#FFFFFF",
|
||||
textDark: "#1F1F1F",
|
||||
} as const;
|
||||
|
||||
/** Spacing tokens — predefined values only, no arbitrary px */
|
||||
export const spacing = {
|
||||
/** Vertical padding for page sections */
|
||||
sectionPaddingY: {
|
||||
sm: "60px",
|
||||
md: "80px",
|
||||
lg: "100px",
|
||||
xl: "120px",
|
||||
},
|
||||
/** Horizontal page gutter */
|
||||
pageGutter: "20px",
|
||||
/** Max width for boxed containers */
|
||||
containerMaxWidth: "1260px",
|
||||
/** Container inner padding */
|
||||
containerPaddingX: "15px",
|
||||
/** Gap between cards in grids */
|
||||
cardGap: "20px",
|
||||
/** Gap between components within a section */
|
||||
componentGap: {
|
||||
sm: "30px",
|
||||
md: "40px",
|
||||
lg: "50px",
|
||||
},
|
||||
} as const;
|
||||
|
||||
/** Border radius tokens */
|
||||
export const borderRadius = {
|
||||
card: "25px",
|
||||
button: "25px",
|
||||
buttonPill: "9999px",
|
||||
tag: "15px",
|
||||
navbar: "10px",
|
||||
section: "25px",
|
||||
} as const;
|
||||
|
||||
/** Typography scale */
|
||||
export const typography = {
|
||||
hero: {
|
||||
size: "clamp(38px, 5.9vw, 100px)",
|
||||
weight: 700,
|
||||
lineHeight: 1.1,
|
||||
letterSpacing: "-0.03em",
|
||||
},
|
||||
sectionTitle: {
|
||||
size: "clamp(32px, 4vw, 56px)",
|
||||
weight: 500,
|
||||
lineHeight: 1.1,
|
||||
letterSpacing: "-0.03em",
|
||||
},
|
||||
cardTitle: {
|
||||
size: "30px",
|
||||
weight: 500,
|
||||
lineHeight: "1.16666em",
|
||||
letterSpacing: "-0.03em",
|
||||
},
|
||||
body: {
|
||||
size: "16px",
|
||||
weight: 400,
|
||||
lineHeight: 1.6,
|
||||
},
|
||||
small: {
|
||||
size: "14px",
|
||||
weight: 500,
|
||||
lineHeight: 1,
|
||||
},
|
||||
tag: {
|
||||
size: "12px",
|
||||
weight: 600,
|
||||
lineHeight: 1,
|
||||
letterSpacing: "0.1em",
|
||||
textTransform: "uppercase" as const,
|
||||
},
|
||||
} as const;
|
||||
|
||||
/** Shadow tokens */
|
||||
export const shadows = {
|
||||
cardHover:
|
||||
"0 22px 55px rgba(31, 31, 31, 0.16), 0 0 0 1px rgba(69, 208, 189, 0.22)",
|
||||
buttonHover: "0 15px 30px rgba(239, 100, 100, 0.28)",
|
||||
scrollBtn: "0 12px 30px rgba(0, 0, 0, 0.14)",
|
||||
} as const;
|
||||
|
||||
/** Animation presets */
|
||||
export const animations = {
|
||||
/** Reveal-on-scroll */
|
||||
revealDuration: "0.72s",
|
||||
revealEase: "cubic-bezier(0.22, 1, 0.36, 1)",
|
||||
/** Card / button hover */
|
||||
hoverDuration: "0.32s",
|
||||
hoverEase: "ease",
|
||||
hoverLift: "-4px",
|
||||
} as const;
|
||||
@@ -24,7 +24,7 @@ export const navigationData: NavItem[] = [
|
||||
label: "Pages",
|
||||
href: "#",
|
||||
children: [
|
||||
{ label: "About Us", href: "#" },
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "About Us 2", href: "#" },
|
||||
{ label: "Team", href: "#" },
|
||||
{ label: "Gallery Grid", href: "#" },
|
||||
@@ -39,7 +39,7 @@ export const navigationData: NavItem[] = [
|
||||
label: "Services",
|
||||
href: "#",
|
||||
children: [
|
||||
{ label: "Services Page", href: "#" },
|
||||
{ label: "Services Page", href: "/services" },
|
||||
{ label: "Service Single", href: "#" },
|
||||
],
|
||||
},
|
||||
@@ -65,6 +65,6 @@ export const navigationData: NavItem[] = [
|
||||
},
|
||||
{
|
||||
label: "Contacts",
|
||||
href: "#",
|
||||
href: "/contacts",
|
||||
},
|
||||
];
|
||||
|
||||
60
data/site-config.ts
Normal file
60
data/site-config.ts
Normal file
@@ -0,0 +1,60 @@
|
||||
// ─── Site Configuration ──────────────────────────────────────────────
|
||||
// Single source for branding, contact info, social links, and footer data.
|
||||
// Shared by: Footer, ContactFormSection, Navbar (mobile), TopBar.
|
||||
// ─────────────────────────────────────────────────────────────────────
|
||||
|
||||
export interface SocialLink {
|
||||
platform: string;
|
||||
url: string;
|
||||
icon: "facebook" | "x-twitter" | "linkedin" | "youtube";
|
||||
}
|
||||
|
||||
export interface FooterLink {
|
||||
label: string;
|
||||
href: string;
|
||||
}
|
||||
|
||||
export const siteConfig = {
|
||||
name: "Aiero",
|
||||
tagline: "AI Agency",
|
||||
|
||||
// Contact
|
||||
phone: "+1 800 529 10 37",
|
||||
phoneRaw: "+18005291037",
|
||||
email: "aiero@mail.co",
|
||||
address: {
|
||||
line1: "USA, New York – 1060",
|
||||
line2: "Str. First Avenue 1",
|
||||
},
|
||||
|
||||
// Social
|
||||
socials: [
|
||||
{ platform: "Facebook", url: "https://www.facebook.com/", icon: "facebook" },
|
||||
{ platform: "X", url: "https://twitter.com/", icon: "x-twitter" },
|
||||
{ platform: "LinkedIn", url: "https://www.linkedin.com/", icon: "linkedin" },
|
||||
{ platform: "Youtube", url: "https://www.youtube.com/", icon: "youtube" },
|
||||
] as SocialLink[],
|
||||
|
||||
// Footer link columns
|
||||
footerLinks: {
|
||||
company: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "Creative Team", href: "#" },
|
||||
{ label: "Pricing Plans", href: "#" },
|
||||
{ label: "FAQ", href: "#" },
|
||||
] as FooterLink[],
|
||||
services: [
|
||||
{ label: "Services Page", href: "/services" },
|
||||
{ label: "AI Systems", href: "#" },
|
||||
{ label: "Deep Learning", href: "#" },
|
||||
{ label: "Neural Networks", href: "#" },
|
||||
] as FooterLink[],
|
||||
},
|
||||
|
||||
// Legal
|
||||
copyright: "©Aiero 2025. All rights reserved.",
|
||||
legalLinks: [
|
||||
{ label: "Terms of use", href: "#" },
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
] as FooterLink[],
|
||||
} as const;
|
||||
Reference in New Issue
Block a user