Skip to content

Redesign header with elegant dark theme#732

Merged
4tal merged 2 commits into4tals:mainfrom
4tala:design/elegant-header
Feb 8, 2026
Merged

Redesign header with elegant dark theme#732
4tal merged 2 commits into4tals:mainfrom
4tala:design/elegant-header

Conversation

@4tala
Copy link
Copy Markdown
Contributor

@4tala 4tala commented Feb 8, 2026

Summary

Redesigns the header to match the elegant dark theme from #731 (footer redesign), creating a cohesive visual identity.

Changes

Header.tsx

  • Dark gradient background matching footer (#1a1a2e#16213e)
  • Backdrop blur effect
  • Added link emoji to title 🔗
  • Improved responsive layout with Container
  • Subtle bottom border and shadow

SearchInput.tsx

  • Translucent glass effect (whiteAlpha.100 background)
  • White text with translucent placeholder
  • Smooth focus states with glow effect
  • Full border-radius (pill shape)

SearchButtonMobile.tsx

  • Ghost variant with translucent hover
  • Matches overall minimal aesthetic

AddSite.module.scss

  • Button: transparent with border (matches footer's Contribute button)
  • Form modal: centered with better shadow and rounded corners
  • Improved backdrop blur on modal

Visual Consistency

The header now shares the same design language as the footer:

  • 🌙 Same dark gradient
  • ✨ Same backdrop blur
  • 🎨 Same translucent/border-only buttons
  • 💫 Same hover animations

Related

- Apply matching dark gradient background
- Update search input with translucent glass effect
- Redesign 'Add Initiative' button with minimal border style
- Update mobile search button to match theme
- Add backdrop blur and subtle shadow
- Improve form modal styling
- Consistent spacing and typography
@netlify
Copy link
Copy Markdown

netlify bot commented Feb 8, 2026

Deploy Preview for linksforisrael ready!

Name Link
🔨 Latest commit 2ae3cdf
🔍 Latest deploy log https://app.netlify.com/projects/linksforisrael/deploys/69888ba5ade2990008a31b29
😎 Deploy Preview https://deploy-preview-732--linksforisrael.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Redesign header with elegant dark theme

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Redesign header with dark gradient background matching footer theme
• Update search input with translucent glass effect and improved focus states
• Refactor button styling to transparent with border for minimal aesthetic
• Improve form modal centering and backdrop blur effect
• Enhance responsive layout using Container component
Diagram
flowchart LR
  A["Header Component"] -->|"Dark gradient + blur"| B["Visual Theme"]
  C["SearchInput"] -->|"Glass effect"| B
  D["SearchButtonMobile"] -->|"Ghost variant"| B
  E["AddSite Modal"] -->|"Centered + shadow"| B
  B -->|"Cohesive design"| F["Elegant Dark UI"]
Loading

Grey Divider

File Changes

1. app/components/Header/Header.tsx ✨ Enhancement +47/-25

Dark gradient header with sticky positioning

• Applied dark gradient background (#1a1a2e to #16213e) with backdrop blur
• Made header sticky with improved z-index and subtle bottom border
• Added link emoji (🔗) to title for visual enhancement
• Refactored layout using Container component for better responsive behavior
• Improved spacing and typography with responsive font sizes

app/components/Header/Header.tsx


2. app/components/Search/SearchInput.tsx ✨ Enhancement +33/-14

Translucent glass effect search input

• Changed background to translucent white (whiteAlpha.100) with border
• Updated text color to white with translucent placeholder
• Added smooth hover and focus states with glow effect
• Improved border-radius to full pill shape
• Enhanced icon styling and spacing

app/components/Search/SearchInput.tsx


3. app/components/Search/SearchButtonMobile.tsx ✨ Enhancement +9/-4

Ghost variant mobile search button

• Changed variant from solid to ghost for minimal aesthetic
• Updated colors to translucent white (whiteAlpha.900)
• Added translucent hover and active states
• Adjusted size from large to medium for better proportions

app/components/Search/SearchButtonMobile.tsx


View more (1)
4. app/components/AddSite/AddSite.module.scss ✨ Enhancement +41/-22

Transparent border button and improved modal styling

• Redesigned button with transparent background and white border (rgba(255, 255, 255, 0.3))
• Changed button shape to pill (border-radius: 9999px) with improved padding
• Updated hover state with subtle background and transform effect
• Added focus state with box-shadow for accessibility
• Improved form modal with centered positioning and stronger shadow
• Increased backdrop blur from 1px to 4px with semi-transparent overlay
• Enhanced modal styling with better rounded corners and responsive sizing

app/components/AddSite/AddSite.module.scss


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider


Action required

1. AddSite button low contrast 🐞 Bug ✓ Correctness
Description
• The AddSite CTA was restyled to background: transparent with near-white text and a subtle white
  border.
• The CTA is rendered as a sticky/floating element near the bottom-left of the viewport; over
  typical light page content this will have poor contrast, making a primary action hard to
  discover/use.
• This is an accessibility regression (focus/hover states also remain very low-contrast on light
  backgrounds).
Code

app/components/AddSite/AddSite.module.scss[R36-40]

+	background: transparent;
+	color: rgba(255, 255, 255, 0.9);
+	padding: 8px 16px;
+	border: 1px solid rgba(255, 255, 255, 0.3);
+	border-radius: 9999px;
Evidence
The button is explicitly styled as transparent with white text, and the container is positioned
sticky at the bottom-left, so it can overlay arbitrary page content (not just the dark header). The
app’s main content container does not apply a dark background that would ensure contrast.

app/components/AddSite/AddSite.module.scss[1-10]
app/components/AddSite/AddSite.module.scss[35-55]
app/components/RootApp.tsx[51-56]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The AddSite CTA is now transparent with white text, but it’s positioned as a sticky/floating element over page content. On light backgrounds it will be hard to see and fails usability/accessibility expectations.

### Issue Context
`AddSite` renders a sticky footer-like control that can overlay arbitrary content, so its colors must be robust across backgrounds.

### Fix Focus Areas
- app/components/AddSite/AddSite.module.scss[1-10]
- app/components/AddSite/AddSite.module.scss[35-60]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Nonstandard Chakra token 🐞 Bug ✓ Correctness
Description
SearchInput sets hover background to whiteAlpha.150, which is not a commonly defined Chakra
  color step and is not defined anywhere in this repo’s theme.
• If the token doesn’t resolve, the hover background will be missing/invalid, making interactive
  feedback inconsistent and hard to debug.
• Safer to use a known theme token (e.g. whiteAlpha.200) or an explicit rgba value.
Code

app/components/Search/SearchInput.tsx[R32-35]

+			_hover={{
+				bg: "whiteAlpha.150",
+				borderColor: "whiteAlpha.300",
+			}}
Evidence
The component uses whiteAlpha.150 in Chakra style props, but the repo’s Chakra theme does not
define any custom colors (so resolution depends entirely on Chakra defaults; 150 is not defined in
this codebase).

app/components/Search/SearchInput.tsx[20-40]
app/providers.tsx[7-10]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`SearchInput` uses `bg: "whiteAlpha.150"` in `_hover`. This token is not defined anywhere in the repo’s Chakra theme and may not resolve, which can break hover styling.

### Issue Context
The app extends Chakra with an empty `colors` object, so any nonstandard token keys are risky.

### Fix Focus Areas
- app/components/Search/SearchInput.tsx[20-40]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@4tal 4tal merged commit 3b1dbc1 into 4tals:main Feb 8, 2026
5 checks passed
Comment on lines +36 to +40
background: transparent;
color: rgba(255, 255, 255, 0.9);
padding: 8px 16px;
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 9999px;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Addsite button low contrast 🐞 Bug ✓ Correctness

• The AddSite CTA was restyled to background: transparent with near-white text and a subtle white
  border.
• The CTA is rendered as a sticky/floating element near the bottom-left of the viewport; over
  typical light page content this will have poor contrast, making a primary action hard to
  discover/use.
• This is an accessibility regression (focus/hover states also remain very low-contrast on light
  backgrounds).
Agent Prompt
### Issue description
The AddSite CTA is now transparent with white text, but it’s positioned as a sticky/floating element over page content. On light backgrounds it will be hard to see and fails usability/accessibility expectations.

### Issue Context
`AddSite` renders a sticky footer-like control that can overlay arbitrary content, so its colors must be robust across backgrounds.

### Fix Focus Areas
- app/components/AddSite/AddSite.module.scss[1-10]
- app/components/AddSite/AddSite.module.scss[35-60]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants