From 56a85a87662822347b34a56eab1e9e84788225b1 Mon Sep 17 00:00:00 2001
From: Narottam
Date: Thu, 14 May 2026 14:42:36 +0530
Subject: [PATCH] fix: improve dark mode readability and UI consistency
---
src/app/components/TopNavBar.tsx | 10 +++---
src/app/home/Features.tsx | 13 ++++---
src/app/home/QuestionsAndAnswers.tsx | 22 +++++++-----
src/app/home/Steps.tsx | 23 +++++++-----
src/app/home/Testimonials.tsx | 52 ++++++++++++++++++++--------
src/app/layout.tsx | 2 +-
6 files changed, 81 insertions(+), 41 deletions(-)
diff --git a/src/app/components/TopNavBar.tsx b/src/app/components/TopNavBar.tsx
index c781d58..a69b698 100644
--- a/src/app/components/TopNavBar.tsx
+++ b/src/app/components/TopNavBar.tsx
@@ -47,11 +47,11 @@ export const TopNavBar = () => {
OpenResume
+ src={logoSrc}
+ alt="OpenResume Logo"
+ className="h-8 w-full dark:invert"
+ priority
+/>
{
{FEATURES.map(({ src, title, text }) => (
-
-
+
+
{title}
- {text}
+
+
+ {text}
+
))}
@@ -60,4 +63,4 @@ export const Features = () => {
);
-};
+};
\ No newline at end of file
diff --git a/src/app/home/QuestionsAndAnswers.tsx b/src/app/home/QuestionsAndAnswers.tsx
index 4f3167c..db38d9d 100644
--- a/src/app/home/QuestionsAndAnswers.tsx
+++ b/src/app/home/QuestionsAndAnswers.tsx
@@ -39,7 +39,7 @@ const QAS = [
stands out with 2 distinctive features:
{" "}
-
+
1. OpenResume is designed specifically for the U.S. job market and
best practices.
@@ -55,7 +55,7 @@ const QAS = [
single column design works best for AST. {" "}
-
+
2. OpenResume is super privacy focus.
{" "}
@@ -124,13 +124,19 @@ const QAS = [
export const QuestionsAndAnswers = () => {
return (
-
- Questions & Answers
-
+
+
+ Questions & Answers
+
+
+
{QAS.map(({ question, answer }) => (
-
{question}
-
+
+ {question}
+
+
+
{answer}
@@ -138,4 +144,4 @@ export const QuestionsAndAnswers = () => {
);
-};
+};
\ No newline at end of file
diff --git a/src/app/home/Steps.tsx b/src/app/home/Steps.tsx
index d6787fd..5f8c9b9 100644
--- a/src/app/home/Steps.tsx
+++ b/src/app/home/Steps.tsx
@@ -6,27 +6,34 @@ const STEPS = [
export const Steps = () => {
return (
-
- 3 Simple Steps
+
+
+ 3 Simple Steps
+
+
{STEPS.map(({ title, text }, idx) => (
-
-
-
-
+
+
+
{title}
-
{text}
+
+
+ {text}
+
))}
);
-};
+};
\ No newline at end of file
diff --git a/src/app/home/Testimonials.tsx b/src/app/home/Testimonials.tsx
index f141ca8..b72cf53 100644
--- a/src/app/home/Testimonials.tsx
+++ b/src/app/home/Testimonials.tsx
@@ -33,17 +33,21 @@ const TESTIMONIALS = [
const LG_TESTIMONIALS_CLASSNAMES = [
"z-10",
- "translate-x-44 translate-y-24 opacity-40",
- "translate-x-32 -translate-y-28 opacity-40",
+ "translate-x-44 translate-y-24 opacity-70",
+ "translate-x-32 -translate-y-28 opacity-70",
];
+
const SM_TESTIMONIALS_CLASSNAMES = ["z-10", "opacity-0", "opacity-0"];
-const ROTATION_INTERVAL_MS = 8 * 1000; // 8s
+
+const ROTATION_INTERVAL_MS = 8 * 1000;
export const Testimonials = ({ children }: { children?: React.ReactNode }) => {
const [testimonialsClassNames, setTestimonialsClassNames] = useState(
LG_TESTIMONIALS_CLASSNAMES
);
+
const isHoveredOnTestimonial = useRef(false);
+
useEffect(() => {
const intervalId = setInterval(() => {
if (!isHoveredOnTestimonial.current) {
@@ -52,10 +56,12 @@ export const Testimonials = ({ children }: { children?: React.ReactNode }) => {
});
}
}, ROTATION_INTERVAL_MS);
+
return () => clearInterval(intervalId);
}, []);
const { isLg } = useTailwindBreakpoints();
+
useEffect(() => {
setTestimonialsClassNames(
isLg ? LG_TESTIMONIALS_CLASSNAMES : SM_TESTIMONIALS_CLASSNAMES
@@ -64,19 +70,21 @@ export const Testimonials = ({ children }: { children?: React.ReactNode }) => {
return (
-
+
People{" "}
{" "}
OpenResume
+
{TESTIMONIALS.map(({ src, quote, name, title }, idx) => {
const className = testimonialsClassNames[idx];
+
return (
{
if (className === "z-10") {
isHoveredOnTestimonial.current = true;
@@ -88,38 +96,53 @@ export const Testimonials = ({ children }: { children?: React.ReactNode }) => {
}
}}
>
-
+
+
-
+
{quote}
+
-
{name}
+
+ {name}
+
+
•
-
{title}
+
+
+ {title}
+
+
+
-
{name}
-
{title}
+
+ {name}
+
+
+
+ {title}
+
@@ -130,7 +153,8 @@ export const Testimonials = ({ children }: { children?: React.ReactNode }) => {
})}
+
{children}
);
-};
+};
\ No newline at end of file
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 249c39f..01ea162 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -15,7 +15,7 @@ export default function RootLayout({
}) {
return (
-
+
{children}