Skip to content

Commit 830db64

Browse files
committed
wip(ui): better ui for homepage but still wip
1 parent 11ba1d9 commit 830db64

4 files changed

Lines changed: 78 additions & 117 deletions

File tree

css/styles.css

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,20 +43,16 @@ body {
4343
}
4444

4545
.nav-item:hover {
46-
color: #10b981;
46+
text-decoration: underline;
47+
text-decoration-thickness: 1px;
4748
}
4849

4950
.github-btn {
50-
background: linear-gradient(135deg, #10b981, #059669);
51-
border: 1px solid #10b981;
51+
background: linear-gradient(135deg, #689d6a, #427b58);
52+
border: 1px solid #427b58;
5253
transition: all 0.3s ease;
5354
}
5455

55-
.github-btn:hover {
56-
background: transparent;
57-
color: #10b981;
58-
}
59-
6056
.mission-btn {
6157
border: 1px solid #374151;
6258
transition: all 0.3s ease;
@@ -81,12 +77,6 @@ body {
8177
border: 1px solid #374151;
8278
}
8379

84-
/* .typewriter {
85-
overflow: hidden;
86-
border-right: 2px solid #10b981;
87-
white-space: nowrap;
88-
animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite;
89-
} */
9080

9181
@keyframes typing {
9282
from { width: 0 }

index.html

Lines changed: 24 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,21 @@
88
<script src="js/main.js"></script>
99
<link rel="stylesheet" href="css/styles.css">
1010
</head>
11-
<body class="bg-black text-white flex flex-col min-h-screen">
11+
<body class="bg-[#1d2021] text-[#fbf1c7] flex flex-col min-h-screen">
12+
1213
<!-- Navigation -->
13-
<div class="w-full flex justify-center">
14+
<div class="w-full flex justify-center text-lg">
1415
<nav class="w-3/5 flex items-center justify-between p-6">
15-
<!-- <div class="flex items-center space-x-2"> -->
16-
<!-- <div class="leaf-icon"></div> -->
1716
<img src="assets/logos/Cache_Vector.svg" alt="CacheVector Logo" class="w-12 h-12">
1817

19-
<!-- </div> -->
20-
2118
<div class="flex items-center space-x-8">
22-
<a href="#Home" class="nav-item text-gray-300 hover:text-green-500 space-mono-bold">[#Home]</a>
23-
<a href="#Mission" class="nav-item text-gray-300 hover:text-green-500 space-mono-bold">[#Mission]</a>
24-
<a href="#Projects" class="nav-item text-gray-300 hover:text-green-500 space-mono-bold">[#Projects]</a>
25-
<a href="#Blogs" class="nav-item text-gray-300 hover:text-green-500 space-mono-bold">[#Blogs]</a>
19+
<a href="#Home" class="nav-item space-mono-bold">[#Home]</a>
20+
<a href="#Mission" class="nav-item space-mono-bold">[#Mission]</a>
21+
<a href="#Projects" class="nav-item space-mono-bold">[#Projects]</a>
22+
<a href="#Blogs" class="nav-item space-mono-bold">[#Blogs]</a>
2623
</div>
27-
<!-- <button class="github-btn px-4 py-2 rounded-md text-white font-medium">Github</button> -->
28-
<button class="text-gray-400 hover:text-white">
24+
25+
<button class="hover:text-white">
2926
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
3027
<path fill-rule="evenodd" d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z" clip-rule="evenodd" />
3128
</svg>
@@ -38,17 +35,17 @@
3835
<!-- <div class="w-full flex justify-center"> -->
3936
<main id="content" class="w-3/5 px-6 py-20">
4037
<div class="text-center">
41-
<h1 class="hero-text text-6xl md:text-8xl font-bold mb-8">
38+
<h1 class="text-6xl md:text-8xl font-bold mb-8">
4239
CacheVector
4340
</h1>
4441

45-
<p class="text-gray-400 text-lg md:text-xl max-w-3xl mx-auto mb-12 ">
42+
<p class=" text-lg md:text-xl max-w-3xl mx-auto mb-12 ">
4643
Advancing machine learning libraries, mathematical research,
4744
and developer tools through open-source innovation
4845
</p>
4946

5047
<div class="flex flex-col items-center justify-center space-y-4 ">
51-
<a href="https://github.com/cachevector" class="github-btn px-6 py-3 rounded-md font-medium flex items-center space-x-2">
48+
<a href="https://github.com/cachevector" target="_blank" class="github-btn px-6 py-3 rounded-sm font-medium flex items-center space-x-2">
5249
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
5350
<path fill-rule="evenodd" d="M10 0C4.477 0 0 4.484 0 10.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0110 4.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.203 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.942.359.31.678.921.678 1.856 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0020 10.017C20 4.484 15.522 0 10 0z" clip-rule="evenodd" />
5451
</svg>
@@ -65,40 +62,34 @@ <h1 class="hero-text text-6xl md:text-8xl font-bold mb-8">
6562
</div>
6663

6764
<!-- Footer -->
68-
<footer class="w-3/5 container mx-auto px-6 py-8 border-t border-gray-800 text-xl font-bold">
65+
<footer class="w-3/5 container mx-auto px-6 py-8 border-t border-[#fbf1c7] text-lg">
6966
<div class="flex items-center justify-between">
70-
<div class="flex items-center space-x-2 text-gray-400">
67+
68+
<!-- Left Side -->
69+
<div class="flex items-center space-x-4 ">
7170
<div>
72-
<img src="assets/logos/Cache_Vector.svg" alt="CacheVector Logo" class="w-12 h-12">
71+
<img src="assets/logos/Cache_Vector.svg" alt="CacheVector Logo" class="w-16 h-16">
7372
</div>
7473
<div>
7574
<p>© 2025 CacheVector</p>
76-
<p class="text-sm">All rights reserved</p>
75+
<p class="text-lg">All rights reserved</p>
7776
</div>
7877
</div>
7978

80-
<div class="flex flex-col items-center space-x-4">
79+
<!-- Right Side -->
80+
<div class="flex flex-col items-end">
8181
<div class="flex space-x-4">
8282
<a href="https://www.github.com/cachevector" target="_blank" class="social-icon text-gray-400">
83-
<!-- <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
84-
<path fill-rule="evenodd" d="M10 0C4.477 0 0 4.484 0 10.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0110 4.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.203 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.942.359.31.678.921.678 1.856 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0020 10.017C20 4.484 15.522 0 10 0z" clip-rule="evenodd" />
85-
</svg> -->
86-
<img src="assets/icons/Github_DM_WOB.svg" alt="Discord Link" class="w-8 h-8">
83+
<img src="assets/icons/Github_DM_WOB.svg" alt="Discord Link" class="w-6 h-6">
8784
</a>
8885
<a href="https://x.com/cvectordotcom" target="_blank" class="social-icon text-gray-400">
89-
<!-- <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
90-
<path d="M6.29 18.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0020 3.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.073 4.073 0 01.8 7.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 010 16.407a11.616 11.616 0 006.29 1.84" />
91-
</svg> -->
92-
<img src="assets/icons/X_DM_WOB.svg" alt="Discord Link" class="w-8 h-8">
86+
<img src="assets/icons/X_DM_WOB.svg" alt="Discord Link" class="w-6 h-6">
9387
</a>
9488
<a href="https://discord.gg/spuz77bcJg" target="_blank" class="social-icon text-gray-400">
95-
<!-- <svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
96-
<path fill-rule="evenodd" d="M18 13V5a2 2 0 00-2-2H4a2 2 0 00-2 2v8a2 2 0 002 2h3l3 3 3-3h3a2 2 0 002-2zM5 7a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1zm1 3a1 1 0 100 2h3a1 1 0 100-2H6z" clip-rule="evenodd" />
97-
</svg> -->
98-
<img src="assets/icons/Discord_DM_WOB.svg" alt="Discord Link" class="w-8 h-8">
89+
<img src="assets/icons/Discord_DM_WOB.svg" alt="Discord Link" class="w-6 h-6">
9990
</a>
10091
</div>
101-
<div class="text-gray-400 text-xl font-bold py-4">Backed by Growvth</div>
92+
<div class="text-lg mt-2">Backed by Growvth</div>
10293
</div>
10394
</div>
10495
</footer>

js/main.js

Lines changed: 47 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -6,104 +6,84 @@ function scrollToMission() {
66

77
// Add some interactive animations
88
document.addEventListener('DOMContentLoaded', function() {
9-
// Animate elements on scroll
10-
// const observerOptions = {
11-
// threshold: 0.1,
12-
// rootMargin: '0px 0px -50px 0px'
13-
// };
149

15-
// const observer = new IntersectionObserver((entries) => {
16-
// entries.forEach(entry => {
17-
// if (entry.isIntersecting) {
18-
// entry.target.classList.add('fade-in');
19-
// }
20-
// });
21-
// }, observerOptions);
2210

23-
// Observe mission section paragraphs
24-
// const missionParagraphs = document.querySelectorAll('#mission p');
25-
// missionParagraphs.forEach((p, index) => {
26-
// p.style.animationDelay = `${index * 0.2}s`;
27-
// observer.observe(p);
28-
// });
11+
// Intercept nav clicks
12+
// document.querySelectorAll('a.nav-item').forEach(link => {
13+
// link.addEventListener('click', async (e) => {
14+
// e.preventDefault();
2915

30-
// Add hover effect to navigation items
31-
// const navItems = document.querySelectorAll('.nav-item');
32-
/*
33-
navItems.forEach(item => {
34-
item.addEventListener('mouseenter', () => {
35-
item.style.transform = 'translateY(-2px)';
36-
});
37-
item.addEventListener('mouseleave', () => {
38-
item.style.transform = 'translateY(0)';
39-
});
40-
});
41-
*/
16+
// const target = link.getAttribute('href');
4217

43-
// Add click ripple effect to buttons
44-
// const buttons = document.querySelectorAll('button, .github-btn');
45-
// buttons.forEach(button => {
46-
// button.addEventListener('click', function(e) {
47-
// const ripple = document.createElement('span');
48-
// const rect = this.getBoundingClientRect();
49-
// const size = Math.max(rect.width, rect.height);
50-
// const x = e.clientX - rect.left - size / 2;
51-
// const y = e.clientY - rect.top - size / 2;
52-
53-
// ripple.style.cssText = `
54-
// position: absolute;
55-
// width: ${size}px;
56-
// height: ${size}px;
57-
// left: ${x}px;
58-
// top: ${y}px;
59-
// background: rgba(16, 185, 129, 0.3);
60-
// border-radius: 50%;
61-
// transform: scale(0);
62-
// animation: ripple 0.6s ease-out;
63-
// pointer-events: none;
64-
// `;
65-
66-
// this.style.position = 'relative';
67-
// this.style.overflow = 'hidden';
68-
// this.appendChild(ripple);
69-
70-
// setTimeout(() => {
71-
// ripple.remove();
72-
// }, 600);
18+
// if (target === '#Home') {
19+
// // Reload homepage hero (you could refactor into home.html too)
20+
// window.location.href = "index.html";
21+
// }
22+
// else if (target === '#Mission') {
23+
// const res = await fetch('pages/mission.html');
24+
// const html = await res.text();
25+
// document.querySelector('#content').innerHTML = html;
26+
// window.history.pushState({ page: 'mission' }, "Mission", "#mission");
27+
// }
28+
// else if (target === '#Projects') {
29+
// const res = await fetch('pages/projects.html');
30+
// const html = await res.text();
31+
// document.querySelector('#content').innerHTML = html;
32+
// window.history.pushState({ page: 'projects' }, "Projects", "#project");
33+
// }
34+
// else if (target === '#Blogs') {
35+
// const res = await fetch('pages/blogs.html');
36+
// const html = await res.text();
37+
// document.querySelector('#content').innerHTML = html;
38+
// window.history.pushState({ page: 'blogs' }, "Blogs", "#blog");
39+
// }
7340
// });
7441
// });
7542

7643
// Intercept nav clicks
77-
document.querySelectorAll('a.nav-item').forEach(link => {
44+
const navLinks = document.querySelectorAll('a.nav-item');
45+
46+
function setActiveNav(target) {
47+
navLinks.forEach(link => {
48+
if (link.getAttribute('href') === target) {
49+
link.classList.add('active');
50+
} else {
51+
link.classList.remove('active');
52+
}
53+
});
54+
}
55+
56+
navLinks.forEach(link => {
7857
link.addEventListener('click', async (e) => {
7958
e.preventDefault();
80-
8159
const target = link.getAttribute('href');
8260

8361
if (target === '#Home') {
84-
// Reload homepage hero (you could refactor into home.html too)
8562
window.location.href = "index.html";
8663
}
8764
else if (target === '#Mission') {
8865
const res = await fetch('pages/mission.html');
8966
const html = await res.text();
9067
document.querySelector('#content').innerHTML = html;
91-
window.history.pushState({ page: 'mission' }, "Mission", "#mission");
68+
window.history.pushState({ page: 'mission' }, "Mission", "#Mission");
9269
}
9370
else if (target === '#Projects') {
9471
const res = await fetch('pages/projects.html');
9572
const html = await res.text();
9673
document.querySelector('#content').innerHTML = html;
97-
window.history.pushState({ page: 'projects' }, "Projects", "#project");
74+
window.history.pushState({ page: 'projects' }, "Projects", "#Projects");
9875
}
9976
else if (target === '#Blogs') {
10077
const res = await fetch('pages/blogs.html');
10178
const html = await res.text();
10279
document.querySelector('#content').innerHTML = html;
103-
window.history.pushState({ page: 'blogs' }, "Blogs", "#blog");
104-
}
80+
window.history.pushState({ page: 'blogs' }, "Blogs", "#Blogs");
81+
}
82+
83+
setActiveNav(target); // highlight correct nav link
10584
});
10685
});
86+
10787
});
10888

10989
// Add ripple animation

pages/mission.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<body>
22
<section id="mission" class="container mx-auto px-6 py-8">
33
<div class="rounded-lg p-4 max-w-4xl mx-auto text-justify">
4-
<h2 class="text-left text-2xl font-bold mb-12 pb-4 border-b-2 border-gray-400">
4+
<h2 class="text-[#689d6a] text-left text-2xl font-bold mb-12 pb-4 border-b-2 border-[#689d6a]">
55
# our mission
66
</h2>
77

8-
<div class="space-y-6 text-gray-300 leading-relaxed">
8+
<div class="space-y-6 text-[#fbf1c7] leading-relaxed">
99
<p>
1010
at cachevector, we're building the future one function at a time.
1111
</p>
@@ -22,7 +22,7 @@ <h2 class="text-left text-2xl font-bold mb-12 pb-4 border-b-2 border-gray-400">
2222
we don't just tinker. we publish, package, and push to prod. from lightweight utils to heavy-duty research, if it's solving a real problem, we're in. and if it helps devs, researchers, or the next generation of builders do more with less friction - that's exactly our kind of project.
2323
</p>
2424

25-
<p class="text-green-400 font-semibold">
25+
<p class="text-[#689d6a] font-semibold">
2626
follow the work. star the ideas. we're not trying to be loud - we're trying to be useful.
2727
</p>
2828

0 commit comments

Comments
 (0)