Skip to content

Commit 3fec694

Browse files
move static data to json files
1 parent 6323799 commit 3fec694

15 files changed

Lines changed: 670 additions & 622 deletions

public/js/brand.js

Lines changed: 0 additions & 419 deletions
This file was deleted.

src/components/Footer.astro

Lines changed: 10 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -2,57 +2,16 @@
22
import GitHubIcon from "@/assets/icons/github.svg";
33
import MailIcon from "@/assets/icons/mail.svg";
44
import TwitterIcon from "@/assets/icons/x.svg";
5+
import quickLinks from "@/data/footer-links.json";
6+
import partners from "@/data/footer-partners.json";
57
68
import awsLogo from "@/assets/images/aws.webp";
79
import cloudflareLogo from "@/assets/images/cloudflare.svg";
810
9-
const quickLinks = [
10-
{
11-
label: "Home",
12-
href: "/",
13-
isActive: true
14-
},
15-
{
16-
label: "About",
17-
href: "/about",
18-
isActive: true
19-
},
20-
{
21-
label: "Blogs",
22-
href: "/blogs",
23-
isActive: true
24-
},
25-
{
26-
label: "Career",
27-
href: "/career",
28-
isActive: true
29-
},
30-
{
31-
label: "Work",
32-
href: "/work",
33-
isActive: true
34-
},
35-
{
36-
label: "Contact",
37-
href: "/contact",
38-
isActive: true
39-
}
40-
];
41-
42-
const partners = [
43-
{
44-
name: "Cloudflare",
45-
logo: cloudflareLogo,
46-
href: "https://www.cloudflare.com/startups/",
47-
isActive: true
48-
},
49-
{
50-
name: "AWS",
51-
logo: awsLogo,
52-
href: "https://aws.amazon.com",
53-
isActive: false
54-
}
55-
];
11+
const logoMap: Record<string, any> = {
12+
cloudflare: cloudflareLogo,
13+
aws: awsLogo
14+
};
5615
---
5716

5817
<footer class="bg-background text-foreground">
@@ -107,7 +66,7 @@ const partners = [
10766
href="https://www.twitter.com/recursivezero"
10867
target="_blank"
10968
rel="noopener noreferrer"
110-
class="border-foreground/10 bg-background text-foreground hover:bg-brandBlue flex h-12 w-12 items-center justify-center rounded-2xl border transition hover:text-white"
69+
class="border-foreground/10 bg-background text-foreground flex h-12 w-12 items-center justify-center rounded-2xl border transition hover:bg-brandBlue hover:text-white"
11170
>
11271
<span class="h-5 w-5 fill-current">
11372
<TwitterIcon aria-label="Visit our Twitter page" />
@@ -117,7 +76,7 @@ const partners = [
11776
<!-- Mail -->
11877
<a
11978
href="mailto:hello@recursivezero.com"
120-
class="border-foreground/10 bg-background text-foreground hover:bg-brandBlue flex h-12 w-12 items-center justify-center rounded-2xl border transition hover:text-white"
79+
class="border-foreground/10 bg-background text-foreground flex h-12 w-12 items-center justify-center rounded-2xl border transition hover:bg-brandBlue hover:text-white"
12180
>
12281
<MailIcon aria-label="Mail us" />
12382
</a>
@@ -127,7 +86,7 @@ const partners = [
12786
href="https://www.github.com/recursivezero"
12887
target="_blank"
12988
rel="noopener noreferrer"
130-
class="border-foreground/10 bg-background text-foreground hover:bg-brandBlue flex h-12 w-12 items-center justify-center rounded-2xl border transition hover:text-white"
89+
class="border-foreground/10 bg-background text-foreground flex h-12 w-12 items-center justify-center rounded-2xl border transition hover:bg-brandBlue hover:text-white"
13190
>
13291
<span class="h-5 w-5 fill-current">
13392
<GitHubIcon aria-label="Find our GitHub repo" />
@@ -171,7 +130,7 @@ const partners = [
171130
.map((partner) => (
172131
<a href={partner.href} target="_blank" rel="noopener noreferrer">
173132
<img
174-
src={partner.logo.src}
133+
src={logoMap[partner.logo]?.src}
175134
alt={partner.name}
176135
width="120"
177136
height="32"

src/components/Header.astro

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,10 @@ import { Picture } from "astro:assets";
33
import "../assets/styles/custom-font.css";
44
import ThemeToggle from "@/components/ThemeToggle.astro";
55
import logoImage from "@/assets/images/logo.png";
6+
import navLinks from "@/data/navLinks.json";
67
78
const currentPath = Astro.url.pathname;
89
9-
const navLinks = [
10-
{ name: "Home", href: "/", isActive: true },
11-
{ name: "About", href: "/about", isActive: true },
12-
{ name: "Blogs", href: "/blogs", isActive: true },
13-
{ name: "Career", href: "/career", isActive: true },
14-
{ name: "Work", href: "/work", isActive: true }
15-
];
16-
1710
const isCurrentPage = (path: string) => {
1811
if (path === "/") return currentPath === "/";
1912
return currentPath.startsWith(path);
@@ -36,12 +29,13 @@ const isCurrentPage = (path: string) => {
3629
alt="Recursive Zero"
3730
class="h-10 w-10 rounded-full object-contain dark:brightness-200 dark:invert"
3831
/>
39-
40-
<span class="brand text-foreground text-xl font-bold"> RECURSIVE ZERO </span>
32+
<span class="brand text-foreground text-3xl xl:text-4xl 2xl:text-5xl font-bold">
33+
RECURSIVE ZERO
34+
</span>
4135
</a>
4236

4337
<!-- Desktop Nav -->
44-
<nav class="absolute left-1/2 -translate-x-1/2">
38+
<nav class="absolute left-[55%] -translate-x-1/2">
4539
<ul class="flex items-center gap-10">
4640
{
4741
navLinks
@@ -69,7 +63,7 @@ const isCurrentPage = (path: string) => {
6963

7064
<a
7165
href="/career"
72-
class="bg-foreground text-background hover:bg-brandBlue inline-flex rounded-2xl border border-black px-8 py-4 text-xl font-semibold transition hover:border-transparent hover:text-white dark:border-white"
66+
class="bg-foreground text-background inline-flex rounded-2xl border border-black px-8 py-4 text-xl font-semibold transition hover:border-transparent hover:bg-brandBlue hover:text-white dark:border-white"
7367
>
7468
Join Us
7569
</a>
@@ -158,7 +152,7 @@ const isCurrentPage = (path: string) => {
158152
<li class="pt-8">
159153
<a
160154
href="/career"
161-
class="bg-foreground text-background hover:bg-brandBlue inline-flex rounded-xl border border-black px-6 py-3 text-lg font-semibold transition hover:border-transparent dark:border-white"
155+
class="bg-foreground text-background inline-flex rounded-xl border border-black px-6 py-3 text-lg font-semibold transition hover:border-transparent hover:bg-brandBlue dark:border-white"
162156
>
163157
Join Us
164158
</a>

src/data/about.json

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
[
2+
{
3+
"name": "Keshav Mohta",
4+
"designation": "Founder & CEO",
5+
"location": "India",
6+
"initials": "KM",
7+
"description": "Building products with simplicity, performance and long-term scalability. Focused on helping startups and businesses grow through modern engineering and practical digital solutions.",
8+
"tags": ["Product Innovation", "Business Strategy", "Digital Transformation"],
9+
"email": "hello@recursivezero.com",
10+
"linkedin": "https://www.linkedin.com/in/xkeshav/",
11+
"isActive": true
12+
},
13+
{
14+
"name": "Parvez Akhtar",
15+
"designation": "Business Advisor",
16+
"location": "Hong Kong",
17+
"initials": "PA",
18+
"description": "Driving business expansion and strategic partnerships while helping Recursive Zero scale globally.",
19+
"tags": ["Global Partnerships", "Market Expansion", "Strategic Growth"],
20+
"email": null,
21+
"linkedin": null,
22+
"isActive": false
23+
},
24+
{
25+
"name": "Rajeev Chaturvedi",
26+
"designation": "Chief Operating Officer",
27+
"location": "Jaipur",
28+
"initials": "RC",
29+
"description": "Focused on operations, execution and building efficient systems that support long-term growth.",
30+
"tags": ["Process Management", "Execution Excellence", "Team Operations"],
31+
"email": null,
32+
"linkedin": null,
33+
"isActive": false
34+
},
35+
{
36+
"name": "Varun Daga",
37+
"designation": "Chief Technology Officer",
38+
"location": "Bengaluru",
39+
"initials": "VD",
40+
"description": "Leading technology architecture and engineering strategy while building scalable and high-performance digital systems.",
41+
"tags": ["System Architecture", "Technology Strategy", "Platform Engineering"],
42+
"email": null,
43+
"linkedin": null,
44+
"isActive": false
45+
}
46+
]

src/data/brands.json

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
[
2+
{
3+
"name": "Apple",
4+
"tagline": "Think Different",
5+
"industry": "Technology",
6+
"founded": 1976,
7+
"hq": "Cupertino, California",
8+
"colors": ["#000000", "#ffffff", "#a2aaad"],
9+
"description": "Apple Inc. is a global technology leader that designs, manufactures and sells smartphones, computers, tablets, wearables and services. Known for its iconic iPhone, Mac, iPad, and the App Store ecosystem.",
10+
"tags": ["tech", "innovation", "premium", "consumer electronics", "software"],
11+
"emoji": "🍎"
12+
},
13+
{
14+
"name": "Nike",
15+
"tagline": "Just Do It",
16+
"industry": "Sportswear & Lifestyle",
17+
"founded": 1964,
18+
"hq": "Beaverton, Oregon",
19+
"colors": ["#111111", "#fa5400", "#ffffff"],
20+
"description": "Nike is the world's leading athletic footwear and apparel brand, inspiring athletes through innovative performance products and powerful storytelling.",
21+
"tags": ["fashion", "lifestyle", "sports", "footwear", "apparel"],
22+
"emoji": "✔️"
23+
},
24+
{
25+
"name": "Coca-Cola",
26+
"tagline": "Open Happiness",
27+
"industry": "Beverages",
28+
"founded": 1892,
29+
"hq": "Atlanta, Georgia",
30+
"colors": ["#f40009", "#ffffff", "#000000"],
31+
"description": "The Coca-Cola Company is the world's largest beverage corporation, with over 500 brands sold in more than 200 countries.",
32+
"tags": ["food", "beverages", "fmcg", "global", "iconic"],
33+
"emoji": "🥤"
34+
},
35+
{
36+
"name": "Tesla",
37+
"tagline": "Accelerating the World's Transition to Sustainable Energy",
38+
"industry": "Electric Vehicles & Energy",
39+
"founded": 2003,
40+
"hq": "Austin, Texas",
41+
"colors": ["#cc0000", "#000000", "#ffffff"],
42+
"description": "Tesla designs and manufactures electric vehicles, battery energy storage, solar panels and solar roof tiles.",
43+
"tags": ["auto", "tech", "ev", "innovation", "sustainability"],
44+
"emoji": ""
45+
},
46+
{
47+
"name": "Louis Vuitton",
48+
"tagline": "The Art of Travel",
49+
"industry": "Luxury Fashion",
50+
"founded": 1854,
51+
"hq": "Paris, France",
52+
"colors": ["#b08850", "#1a1a1a", "#f5f0e8"],
53+
"description": "Louis Vuitton is a French luxury fashion house and the flagship brand of LVMH. Famous for its LV monogram on luggage, handbags, and leather goods.",
54+
"tags": ["fashion", "luxury", "lifestyle", "premium", "heritage"],
55+
"emoji": "👜"
56+
},
57+
{
58+
"name": "Spotify",
59+
"tagline": "Music for Everyone",
60+
"industry": "Music & Streaming",
61+
"founded": 2006,
62+
"hq": "Stockholm, Sweden",
63+
"colors": ["#1db954", "#191414", "#ffffff"],
64+
"description": "Spotify is the world's largest music streaming service with over 600 million users offering songs, podcasts, and audiobooks.",
65+
"tags": ["tech", "music", "streaming", "entertainment", "lifestyle"],
66+
"emoji": "🎵"
67+
}
68+
]

src/data/career.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
[
2+
{
3+
"title": "MBA Interns",
4+
"description": "We're looking for MBA Interns who can help us with field work, product demos and user onboarding. Preferred candidates from Surat, Gujarat.",
5+
"location": "Remote",
6+
"type": "Full-time",
7+
"isActive": true
8+
},
9+
{
10+
"title": "Frontend Developer",
11+
"description": "We're looking for an experienced frontend developer to join our team and build modern interfaces.",
12+
"location": "Remote",
13+
"type": "Full-time",
14+
"isActive": true
15+
},
16+
{
17+
"title": "Backend Engineer",
18+
"description": "Join us in building scalable backend solutions using Node.js and modern backend technologies.",
19+
"location": "Hybrid",
20+
"type": "Full-time",
21+
"isActive": true
22+
}
23+
]

src/data/footer-links.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
[
2+
{
3+
"label": "Home",
4+
"href": "/",
5+
"isActive": true
6+
},
7+
{
8+
"label": "About",
9+
"href": "/about",
10+
"isActive": true
11+
},
12+
{
13+
"label": "Blogs",
14+
"href": "/blogs",
15+
"isActive": true
16+
},
17+
{
18+
"label": "Career",
19+
"href": "/career",
20+
"isActive": true
21+
},
22+
{
23+
"label": "Work",
24+
"href": "/work",
25+
"isActive": true
26+
},
27+
{
28+
"label": "Contact",
29+
"href": "/contact",
30+
"isActive": true
31+
}
32+
]

src/data/footer-partners.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[
2+
{
3+
"name": "Cloudflare",
4+
"logo": "cloudflare",
5+
"href": "https://www.cloudflare.com/startups/",
6+
"isActive": true
7+
},
8+
{
9+
"name": "AWS",
10+
"logo": "aws",
11+
"href": "https://aws.amazon.com",
12+
"isActive": false
13+
}
14+
]

src/data/navLinks.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[
2+
{
3+
"name": "Home",
4+
"href": "/",
5+
"isActive": true
6+
},
7+
{
8+
"name": "About",
9+
"href": "/about",
10+
"isActive": true
11+
},
12+
{
13+
"name": "Blogs",
14+
"href": "/blogs",
15+
"isActive": true
16+
},
17+
{
18+
"name": "Career",
19+
"href": "/career",
20+
"isActive": true
21+
},
22+
{
23+
"name": "Work",
24+
"href": "/work",
25+
"isActive": true
26+
}
27+
]

0 commit comments

Comments
 (0)