Skip to content

Redesign Contact Page that align existing UI#342

Open
Chandrika987 wants to merge 1 commit into
Sachinchaurasiya360:mainfrom
Chandrika987:feat/redesign-contactPage
Open

Redesign Contact Page that align existing UI#342
Chandrika987 wants to merge 1 commit into
Sachinchaurasiya360:mainfrom
Chandrika987:feat/redesign-contactPage

Conversation

@Chandrika987
Copy link
Copy Markdown
Contributor

@Chandrika987 Chandrika987 commented May 19, 2026

Which issue does this PR close?

Rationale for this change

The existing Contact page was functional but visually very plain compared to the rest of the InternHack website. This PR improves the UI structure, spacing, and overall design consistency while keeping the existing functionality unchanged.

What changes are included in this PR?

  • Redesigned the Contact page using modern responsive card layouts
  • Improved spacing, typography, and section hierarchy
  • Added section icons for better visual clarity
  • Enhanced dark mode appearance and surface consistency
  • Added responsive social action buttons
  • Improved hover states and UI polish
  • Maintained full responsiveness across different screen sizes
  • Preserved all existing links and functionality

Are these changes tested?

Yes. The updated UI was tested locally in desktop and responsive views, including dark mode compatibility.

Are there any user-facing changes?

Yes. The Contact page now has a cleaner, more modern, and visually consistent UI aligned with the rest of the InternHack platform.
image

Summary by CodeRabbit

  • Style

    • Redesigned Contact page with an improved grid layout and visual design
    • Updated typography, spacing, and dark-mode styling
    • Added icons throughout for better visual clarity
  • New Features

    • Added social media links for X and LinkedIn

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

📝 Walkthrough

Walkthrough

The Contact page has been redesigned from a simple stacked layout into a modern, icon-enhanced grid of styled cards. Icon imports and container styling establish the visual foundation, followed by a centered header, a two-column grid of contact information cards with Lucide icons, and new social action buttons linking to external platforms and support email.

Changes

Contact Page Visual Redesign

Layer / File(s) Summary
Design System & Layout Shell
client/src/module/legal/ContactPage.tsx
Icon imports (Mail, Clock, AlertCircle, Linkedin, Twitter) and page container styling updated for grid-based layout. Background and spacing classes adjusted to match the modern card design.
Contact Content Cards & Engagement
client/src/module/legal/ContactPage.tsx
Header section reworked with larger centered typography. Contact information reorganized into a two-column styled card grid with embedded icons for email, support hours, issue reporting, and social links. New social action button bar added with styled links to X, LinkedIn, and support email. Footer and component wrapper styling updated to align with new design.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

enhancement, type:design

Poem

A contact page wore plain, staid clothes,
Now grids and icons make it rose—
With cards so neat and buttons bright,
The Contact page shines day and night! 🐰✨

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'Redesign Contact Page that align existing UI' is related to the main change but contains a grammatical error and lacks clarity about the scope. Revise the title to be grammatically correct and more specific, such as 'Redesign Contact Page to align with modern InternHack UI' for clarity.
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The pull request successfully implements all primary coding requirements from issue #290: card-based redesign, improved spacing/typography, responsive components, section grouping, dark/light mode support, and preserved functionality.
Out of Scope Changes check ✅ Passed All changes are directly related to the Contact page redesign objectives; no out-of-scope modifications were introduced beyond the UI enhancement scope.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Chandrika987
Copy link
Copy Markdown
Contributor Author

Hi @Sachinchaurasiya360 sir,
I’ve completed the Contact page UI enhancement and raised the PR.
The update focuses on improving the visual structure and consistency of the page by introducing responsive card layouts, better spacing, improved dark mode appearance, and cleaner section grouping while keeping the existing functionality unchanged.
Please review it whenever convenient. Thank you!

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
client/src/module/legal/ContactPage.tsx (1)

32-33: ⚡ Quick win

Extract shared card/action class variants to avoid duplication.

The same long class strings are repeated across multiple cards and action buttons. Please centralize these into shared constants (or small presentational components) in this file.

As per coding guidelines, **/*.{ts,tsx} and client/src/**/*.{tsx,ts} require: “Apply DRY principle: no duplicate helpers, shared animation variants per file.”

Also applies to: 56-57, 72-73, 94-95, 134-135, 143-144, 150-151

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@client/src/module/legal/ContactPage.tsx` around lines 32 - 33, In
ContactPage.tsx extract the repeated long tailwind class strings into shared
constants or tiny presentational components: create e.g. const CARD_CLASSES =
"rounded-2xl border border-gray-200 dark:border-gray-900 bg-white/70
dark:bg-[`#070707`] backdrop-blur-sm p-6 shadow-sm hover:border-lime-400/40
dark:hover:border-lime-500/40 hover:shadow-[0_0_16px_rgba(163,230,53,0.05)]
transition-all" and const ACTION_CLASSES = "inline-flex items-center gap-2
rounded-md px-3 py-2 text-sm font-medium hover:... (match existing string)" at
the top of the ContactPage component file (or export small Card/ActionButton
presentational components), then replace the repeated className strings in the
ContactPage JSX (the <section ...> card nodes and the action buttons referenced
in the review at occurrences around lines 32-33, 56-57, 72-73, 94-95, 134-135,
143-144, 150-151) with className={CARD_CLASSES} and className={ACTION_CLASSES}
(or use the new Card/ActionButton component) to eliminate duplication and follow
the DRY guideline.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@client/src/module/legal/ContactPage.tsx`:
- Around line 40-46: The mailto anchor in ContactPage.tsx is implemented as a
raw <a> styled like a button; replace it with the shared Button component
(client/src/components/ui/button.tsx) using the asChild prop to compose the
anchor inside Button so variants/states remain consistent (i.e., wrap the
existing <a href="mailto:..."> content with <Button asChild> and pass the same
className/children or use Button's variant props instead); apply the same change
to the other button-like anchors around lines 130-153 so all new buttons use the
reusable Button component.
- Line 8: Replace all arbitrary Tailwind bracket tokens in ContactPage.tsx:
change every dark:bg-[`#070707`] usage to dark:bg-background and replace
hover:shadow-[0_0_16px_rgba(163,230,53,0.05)] with the appropriate standard
shadow utility (e.g., shadow-md/hover:shadow-lg or your design-system
equivalent). Replace anchor elements that are styled like buttons (the email
anchor and the social/action anchors) to use the project's Button component from
client/src/components/ui/button.tsx with the asChild prop so the <a> is composed
inside Button. Extract the repeated card/action class string used in the card
sections and action buttons into a shared helper/component (or a const variable)
and apply that to the card containers and buttons to satisfy DRY and ensure
consistent canonical classes.

---

Nitpick comments:
In `@client/src/module/legal/ContactPage.tsx`:
- Around line 32-33: In ContactPage.tsx extract the repeated long tailwind class
strings into shared constants or tiny presentational components: create e.g.
const CARD_CLASSES = "rounded-2xl border border-gray-200 dark:border-gray-900
bg-white/70 dark:bg-[`#070707`] backdrop-blur-sm p-6 shadow-sm
hover:border-lime-400/40 dark:hover:border-lime-500/40
hover:shadow-[0_0_16px_rgba(163,230,53,0.05)] transition-all" and const
ACTION_CLASSES = "inline-flex items-center gap-2 rounded-md px-3 py-2 text-sm
font-medium hover:... (match existing string)" at the top of the ContactPage
component file (or export small Card/ActionButton presentational components),
then replace the repeated className strings in the ContactPage JSX (the <section
...> card nodes and the action buttons referenced in the review at occurrences
around lines 32-33, 56-57, 72-73, 94-95, 134-135, 143-144, 150-151) with
className={CARD_CLASSES} and className={ACTION_CLASSES} (or use the new
Card/ActionButton component) to eliminate duplication and follow the DRY
guideline.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0b886e4a-0f16-4313-b050-58d1ae6a656d

📥 Commits

Reviewing files that changed from the base of the PR and between 3552efa and 8aad2dc.

📒 Files selected for processing (1)
  • client/src/module/legal/ContactPage.tsx

Comment thread client/src/module/legal/ContactPage.tsx
Comment thread client/src/module/legal/ContactPage.tsx
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.

[UI Enhancement] Redesign Contact page to match modern InternHack UI style

1 participant