Skip to content

Redesign contact page with social links and improved UI#19

Merged
BayPhillips merged 1 commit into
mainfrom
claude/redesign-contact-page-NK5TL
Feb 25, 2026
Merged

Redesign contact page with social links and improved UI#19
BayPhillips merged 1 commit into
mainfrom
claude/redesign-contact-page-NK5TL

Conversation

@BayPhillips

Copy link
Copy Markdown
Owner

Summary

Completely redesigned the contact page with a modern, card-based layout featuring social media links, email contact, and an improved visual hierarchy. Removed legacy contact fields (phone, address) and replaced the generic page header with a custom header design.

Key Changes

  • New Contact Page Layout: Replaced the old list-based contact information with a modern grid layout featuring dedicated sections for email and social links
  • Social Links Component: Created a new SocialCard component with platform-specific icons and hover effects, supporting 12 social platforms (GitHub, Twitter, LinkedIn, Instagram, YouTube, Facebook, Bluesky, Threads, TikTok, Twitch, Discord, Mastodon)
  • Platform Configuration: Added platformConfig object mapping platforms to their icons, labels, and brand colors for consistent styling
  • Updated Sanity Schema:
    • Removed coverImage and legacy fields (phone, address)
    • Added description field for page tagline
    • Added email field with validation
    • Restructured socialLinks with platform, URL, and optional custom label
    • Changed schema icon from DocumentTextIcon to EnvelopeIcon
  • Improved Query: Updated contactQuery to explicitly select only needed fields (_id, _type, title, description, email, socialLinks, content)
  • Enhanced Type Safety: Updated TypeScript types in sanity.types.ts to reflect the new schema structure with proper nullable fields
  • Better Visual Design:
    • Added responsive grid layout (2 columns on desktop, 1 on mobile)
    • Implemented hover effects with border color changes and shadow transitions
    • Added animated arrow icons that appear on hover
    • Included visual divider with "or send a message" text before the contact form
    • Optional rich-text content section below the main contact area

Notable Implementation Details

  • Social links use Lucide React icons with fallback to LinkIcon for platforms without dedicated icons
  • Platform colors are applied via Tailwind classes for brand-accurate hover states
  • The layout uses a max-width constraint and responsive grid for better readability
  • Email section includes an icon badge and descriptive text
  • All external links open in new tabs with proper security attributes (noopener noreferrer)

https://claude.ai/code/session_01KeJ4Ls6oesnaWgSCLtv6qw

- Updated Sanity contact schema to support email, description, and
  socialLinks (platform select + URL + optional label) fields, replacing
  the unused coverImage requirement
- Extended the GROQ contactQuery to project the new fields explicitly
- Rewrote the contact page with a clean two-column layout: email card
  on the left, social platform cards on the right, each with a matching
  Lucide icon and subtle hover accent
- Added platformConfig map for 12 platforms (GitHub, Twitter, LinkedIn,
  Instagram, YouTube, Facebook, Bluesky, Threads, TikTok, Twitch,
  Discord, Mastodon) with per-platform border-color hover effects
- Kept the ContactForm below a divider for visitors who prefer a form
- Manually updated sanity.types.ts to reflect the new schema and query
  shape until typegen can be re-run in an environment with node_modules

https://claude.ai/code/session_01KeJ4Ls6oesnaWgSCLtv6qw
@vercel

vercel Bot commented Feb 24, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
next-blog Ready Ready Preview, Comment Feb 24, 2026 11:32pm

@BayPhillips
BayPhillips merged commit 721070b into main Feb 25, 2026
3 checks passed
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