Assist_Design/docs/plans/2026-03-04-public-pages-restructuring-design.md

115 lines
3.8 KiB
Markdown
Raw Normal View History

# Public Pages Restructuring Design
**Date**: 2026-03-04
**Scope**: Homepage hero update, Contact page cleanup, Support page creation, shared ContactForm component
## Problem
- Homepage hero text doesn't match desired branding ("A One Stop Solution for Your IT Needs")
- Contact page mixes FAQ and contact form — unfocused
- Support page is thin with placeholder content
- Acronis/TeamViewer remote support tools are defined in data but not rendered anywhere
- Contact form is hardcoded in PublicContactView — not reusable
- `/help` just redirects to `/contact`, no dedicated support hub
## Design
### 1. Homepage (`/`)
**Hero Section changes only** — rest of page (TrustStrip, ServicesGrid, WhyUsSection, CTABanner) stays as-is.
- **Heading line 1**: "A One Stop Solution"
- **Heading line 2** (primary color): "for Your IT Needs"
- **Subtitle**: "From internet and mobile to VPN and on-site tech support — we handle it all in English so you don't have to."
- **CTAs**: "Browse Services" (primary) + "Need Assistance?" (outline, links to `/contact`)
### 2. Contact Page (`/contact`)
Focused page for reaching a human. Two-column layout.
**Left column — Contact Form**:
- Reusable `ContactForm` component
- Fields: Name, Email, Phone (optional), Subject, Message
- Same Zod validation (`publicContactRequestSchema`)
- Submit → POST `/api/support/contact` → success state
**Right sidebar — Contact Info** (stacked cards):
- Quick contact options: Phone (0120-660-470), Email (support@assist-solutions.jp), Live Chat
- Business hours: Mon-Fri 9:30 AM - 6:00 PM JST
- Office location: address, access info, "Get Directions" link
- Small embedded Google Map
**Removed from contact page**: FAQ section (moves to Support)
### 3. Support Page (`/support`)
Self-service support hub. Top-to-bottom flow.
**Section 1: Header**
- Icon + "How Can We Help?" heading
- Subtitle about self-service and English support
**Section 2: Knowledge Base Categories**
- Grid of 6 category cards (2x3 on desktop, 1 col mobile):
- Internet & Wi-Fi
- Phone & SIM
- VPN & Streaming
- Business Solutions
- Billing & Account
- General Tech Support
- Each card has icon, title, brief description
- Cards can link to anchors or future article pages (placeholder for now)
**Section 3: Remote Support Tools**
- Uses existing `supportDownloads` data from `features/landing-page/data/services.tsx`
- Two cards side-by-side: Acronis Quick Assist + TeamViewer QS
- Each shows: logo image, title, description, use case, download link (external)
**Section 4: FAQ**
- Accordion-style FAQ items (moved from contact page)
- Placeholder content for now, real content to be added later
**Section 5: Contact Form Fallback**
- "Still need help? Send us a message" heading
- Reusable `ContactForm` component
### 4. Shared ContactForm Component
**Location**: `apps/portal/src/features/support/components/ContactForm.tsx`
Extracted from current `PublicContactView`:
- Same fields, same Zod schema, same API call
- Accepts optional `className` prop
- Self-contained: manages own submit state and success/error UI
- Exported from `features/support/components/index.ts`
## File Changes
### New files
- `features/support/components/ContactForm.tsx` — reusable form
- `app/(public)/(site)/support/page.tsx` — support page route
### Modified files
- `features/landing-page/components/HeroSection.tsx` — new heading + subtitle
- `features/support/views/PublicContactView.tsx` — two-column layout, remove FAQ, use ContactForm
- `features/support/views/PublicSupportView.tsx` — full rewrite as support hub
- `features/support/views/index.ts` — update exports if needed
- `features/support/components/index.ts` — export ContactForm
### Routing
- `/` — homepage (updated hero)
- `/contact` — contact page (cleaned up)
- `/support` — new support hub page
- `/help` — keep redirect to `/contact` (backwards compat)