From 8d1db7982580b9cef39037f9e81cbff7bade6baf Mon Sep 17 00:00:00 2001 From: Shankumar Date: Thu, 28 May 2026 10:25:53 +0530 Subject: [PATCH 1/3] style: update landing page muted text and border colors to #9ca3af for improved contrast --- package-lock.json | 3 +-- src/app/globals.css | 10 ++++----- src/components/landing/LandingPage.tsx | 30 +++++++++++++------------- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index 500b102c..9760c7cf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4575,7 +4575,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -8941,4 +8940,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/app/globals.css b/src/app/globals.css index cc3aed1e..ea161c88 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -155,7 +155,7 @@ body { .dark::-webkit-scrollbar { width: 6px; height: 6px; } .dark::-webkit-scrollbar-track { background: transparent; } .dark::-webkit-scrollbar-thumb { background: #222; border-radius: 6px; } -.dark::-webkit-scrollbar-thumb:hover { background: #333; } +.dark::-webkit-scrollbar-thumb:hover { background: #9ca3af; } /* ───────────────────────────────────────── LANDING PAGE @@ -183,14 +183,14 @@ body { font-family: var(--font-jetbrains, ui-monospace, monospace); font-size: 12px; font-weight: 500; - color: #888; + color: #9ca3af; text-decoration: none; padding: 6px 14px; border: 1px solid #222; border-radius: 5px; transition: all 0.2s; } -.lnd-nav-link:hover { color: #e0e0e0; border-color: #444; } +.lnd-nav-link:hover { color: #e0e0e0; border-color: #6b7280; } .lnd-cta-primary { display: inline-flex; @@ -239,7 +239,7 @@ body { font-family: var(--font-jetbrains, ui-monospace, monospace); font-size: 13px; font-weight: 500; - color: #555; + color: #9ca3af; background: transparent; padding: 11px 22px; border-radius: 6px; @@ -269,7 +269,7 @@ body { .lnd-footer-link { font-family: var(--font-jetbrains, ui-monospace, monospace); font-size: 11px; - color: #333; + color: #9ca3af; text-decoration: none; transition: color 0.2s; } diff --git a/src/components/landing/LandingPage.tsx b/src/components/landing/LandingPage.tsx index dc8c84bb..2f9badb5 100644 --- a/src/components/landing/LandingPage.tsx +++ b/src/components/landing/LandingPage.tsx @@ -168,7 +168,7 @@ function LandingNav() { ═══════════════════════════════════════════ */ const wLabel: React.CSSProperties = { fontFamily: MONO, fontSize: 10, fontWeight: 500, - color: '#444', textTransform: 'uppercase', letterSpacing: '0.1em', + color: '#9ca3af', textTransform: 'uppercase', letterSpacing: '0.1em', }; const wValue: React.CSSProperties = { fontFamily: MONO, fontWeight: 600, color: TEXT, @@ -273,7 +273,7 @@ function MergeWidget() {
merge rate - 87% + 87%
weekly goal - 84% + 84%
@@ -466,15 +466,15 @@ function HeatmapSection() { return (
- + 52 weeks of contributions
- less + less {HC.map((c, i) => (
))} - more + more
+
-
+
{label}
@@ -619,7 +619,7 @@ function FeaturesSection() { borderTop: '1px solid #111', maxWidth: 720, margin: '0 auto', }}> -
+
FEATURES
{FEATURES.map((f, i) => ( @@ -645,7 +645,7 @@ function SetupSection() { transition: 'all 0.7s ease', }} > -
+
SETUP
@@ -655,12 +655,12 @@ function SetupSection() { textAlign: 'left', marginBottom: 32, fontFamily: MONO, fontSize: 13, lineHeight: 1.8, }}> -
# start tracking in 30 seconds
+
# start tracking in 30 seconds
sign in at{' '} devtrack.vercel.app
-
# or self-host
+
# or self-host
$ git clone github.com/…/devtrack
@@ -715,7 +715,7 @@ function ContributeSection({ stats }: { stats: RepoStats }) { }} > {/* Label */} -
+
OPEN SOURCE
@@ -729,7 +729,7 @@ function ContributeSection({ stats }: { stats: RepoStats }) { borderRadius: 8, padding: '20px 20px 16px', }} > -
+
{s.icon} {s.label}
- {s.suffix && {s.suffix}} + {s.suffix && {s.suffix}}
))} From 79d5dd84c9ee5b0d854ff0967f0bb673e2e58064 Mon Sep 17 00:00:00 2001 From: Shankumar Date: Thu, 28 May 2026 10:30:16 +0530 Subject: [PATCH 2/3] style: update sign-in page text color to match secondary palette --- src/app/auth/signin/page.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/auth/signin/page.tsx b/src/app/auth/signin/page.tsx index e54b67be..25e87d81 100644 --- a/src/app/auth/signin/page.tsx +++ b/src/app/auth/signin/page.tsx @@ -112,7 +112,7 @@ export default function SignInPage() {

Date: Thu, 28 May 2026 10:54:45 +0530 Subject: [PATCH 3/3] style: enhance UI aesthetics with refined footer typography, landing page cursor animations, and updated color schemes --- src/app/auth/signin/page.tsx | 10 ++-- src/app/globals.css | 5 ++ src/components/Footer.tsx | 65 +++++++++++++++----------- src/components/landing/LandingPage.tsx | 45 ++++-------------- 4 files changed, 57 insertions(+), 68 deletions(-) diff --git a/src/app/auth/signin/page.tsx b/src/app/auth/signin/page.tsx index 25e87d81..c1cbcff5 100644 --- a/src/app/auth/signin/page.tsx +++ b/src/app/auth/signin/page.tsx @@ -12,8 +12,7 @@ function MouseSpotlight() { useEffect(() => { const fn = (e: MouseEvent) => { if (ref.current) { - ref.current.style.left = e.clientX + "px"; - ref.current.style.top = e.clientY + "px"; + ref.current.style.transform = `translate3d(calc(${e.clientX}px - 50%), calc(${e.clientY}px - 50%), 0)`; } }; window.addEventListener("mousemove", fn, { passive: true }); @@ -25,11 +24,12 @@ function MouseSpotlight() { aria-hidden style={{ position: "fixed", pointerEvents: "none", zIndex: 0, + left: 0, top: 0, width: 600, height: 600, background: "radial-gradient(circle, rgba(129,140,248,0.06) 0%, transparent 70%)", - transform: "translate(-50%,-50%)", - transition: "left 0.15s ease-out, top 0.15s ease-out", + transform: "translate3d(-50%, -50%, 0)", + willChange: "transform", }} /> ); @@ -67,7 +67,7 @@ export default function SignInPage() {

-
-
-
+ diff --git a/src/components/landing/LandingPage.tsx b/src/components/landing/LandingPage.tsx index 2f9badb5..b0987fd9 100644 --- a/src/components/landing/LandingPage.tsx +++ b/src/components/landing/LandingPage.tsx @@ -108,8 +108,7 @@ function MouseSpotlight() { useEffect(() => { const fn = (e: MouseEvent) => { if (ref.current) { - ref.current.style.left = e.clientX + 'px'; - ref.current.style.top = e.clientY + 'px'; + ref.current.style.transform = `translate3d(calc(${e.clientX}px - 50%), calc(${e.clientY}px - 50%), 0)`; } }; window.addEventListener('mousemove', fn, { passive: true }); @@ -121,10 +120,11 @@ function MouseSpotlight() { aria-hidden style={{ position: 'fixed', pointerEvents: 'none', zIndex: 0, + left: 0, top: 0, width: 700, height: 700, background: 'radial-gradient(circle, rgba(129,140,248,0.05) 0%, transparent 70%)', - transform: 'translate(-50%,-50%)', - transition: 'left 0.15s ease-out, top 0.15s ease-out', + transform: 'translate3d(-50%, -50%, 0)', + willChange: 'transform', }} /> ); @@ -391,7 +391,7 @@ margin: '0 0 24px', > YOUR
CODE
HAS A
PULSE - . + . {/* Tagline */} @@ -527,7 +527,7 @@ function StatItem({ value, label, delay }: { value: number; label: string; delay lineHeight: 1, letterSpacing: '-0.03em', }}> - + + +
-
+
MIT License · Self-hostable · Free forever · Zero vendor lock-in
@@ -852,34 +852,7 @@ function ContributeSection({ stats }: { stats: RepoStats }) { ); } -/* ═══════════════════════════════════════════ - LANDING FOOTER (above global Footer) - ═══════════════════════════════════════════ */ -function LandingFooter() { - return ( -
- - © {new Date().getFullYear()} DEVTRACK - -
- {[ - { label: 'GitHub', href: 'https://github.com/Priyanshu-byte-coder/devtrack' }, - { label: 'Docs', href: 'https://github.com/Priyanshu-byte-coder/devtrack/blob/main/DEVELOPMENT.md' }, - { label: 'Issues', href: 'https://github.com/Priyanshu-byte-coder/devtrack/issues' }, - ].map(l => ( - - {l.label} - - ))} -
-
- ); -} + /* ═══════════════════════════════════════════ MAIN EXPORT @@ -899,7 +872,7 @@ export default function LandingPage({ repoStats }: { repoStats: RepoStats }) { - +
); }