From 5a66adb7e6e6d61bb8d429cadb9efbbeb468c6a4 Mon Sep 17 00:00:00 2001 From: barsa Date: Wed, 4 Mar 2026 13:42:03 +0900 Subject: [PATCH] refactor: update landing page components and styles - Removed obsolete components such as AnimatedBackground, FloatingGlassCard, TrustBadge, TrustIndicators, and ValuePropCard to streamline the landing page. - Enhanced existing components like CTABanner and HeroSection with improved accessibility and styling. - Updated global CSS to introduce new line-height tokens and improved typography. - Refactored the PublicContactView to focus on a streamlined contact form and sidebar information. - Improved the ServicesGrid component to utilize a new data structure for landing services. - Enhanced button components with new variants for better UI consistency. --- .../src/app/(public)/(site)/contact/page.tsx | 2 +- .../src/app/(public)/(site)/support/page.tsx | 32 + apps/portal/src/app/globals.css | 2 +- apps/portal/src/components/atoms/button.tsx | 2 + .../components/AnimatedBackground.tsx | 70 -- .../landing-page/components/CTABanner.tsx | 38 +- .../components/FloatingGlassCard.tsx | 61 -- .../landing-page/components/HeroSection.tsx | 35 +- .../landing-page/components/ServicesGrid.tsx | 6 +- .../landing-page/components/TrustBadge.tsx | 27 - .../components/TrustIndicators.tsx | 65 -- .../landing-page/components/TrustStrip.tsx | 5 +- .../landing-page/components/ValuePropCard.tsx | 65 -- .../landing-page/components/WhyUsSection.tsx | 6 +- .../features/landing-page/components/index.ts | 9 - .../features/landing-page/data/services.tsx | 54 +- .../landing-page/hooks/useContactForm.ts | 31 +- .../features/landing-page/hooks/useInView.ts | 4 +- .../landing-page/hooks/useStickyCta.ts | 2 - .../views/PublicLandingLoadingView.tsx | 2 +- .../landing-page/views/PublicLandingView.tsx | 13 +- .../services/components/base/HowItWorks.tsx | 4 +- .../services/components/base/ServiceCTA.tsx | 4 +- .../services/components/base/ServiceFAQ.tsx | 4 +- .../components/base/ServiceHighlights.tsx | 6 +- .../components/vpn/VpnPlansContent.tsx | 16 +- .../support/components/ContactForm.tsx | 180 ++++ .../src/features/support/components/index.ts | 1 + .../support/views/PublicContactView.tsx | 470 ++-------- .../support/views/PublicSupportView.tsx | 326 +++++-- .../src/features/support/views/index.ts | 2 + apps/portal/src/styles/utilities.css | 11 + ...03-04-public-pages-restructuring-design.md | 114 +++ ...6-03-04-public-pages-restructuring-plan.md | 883 ++++++++++++++++++ 34 files changed, 1638 insertions(+), 914 deletions(-) create mode 100644 apps/portal/src/app/(public)/(site)/support/page.tsx delete mode 100644 apps/portal/src/features/landing-page/components/AnimatedBackground.tsx delete mode 100644 apps/portal/src/features/landing-page/components/FloatingGlassCard.tsx delete mode 100644 apps/portal/src/features/landing-page/components/TrustBadge.tsx delete mode 100644 apps/portal/src/features/landing-page/components/TrustIndicators.tsx delete mode 100644 apps/portal/src/features/landing-page/components/ValuePropCard.tsx create mode 100644 apps/portal/src/features/support/components/ContactForm.tsx create mode 100644 apps/portal/src/features/support/components/index.ts create mode 100644 docs/plans/2026-03-04-public-pages-restructuring-design.md create mode 100644 docs/plans/2026-03-04-public-pages-restructuring-plan.md diff --git a/apps/portal/src/app/(public)/(site)/contact/page.tsx b/apps/portal/src/app/(public)/(site)/contact/page.tsx index 05dd850e..2153a68b 100644 --- a/apps/portal/src/app/(public)/(site)/contact/page.tsx +++ b/apps/portal/src/app/(public)/(site)/contact/page.tsx @@ -5,7 +5,7 @@ */ import type { Metadata } from "next"; -import { PublicContactView } from "@/features/support/views/PublicContactView"; +import { PublicContactView } from "@/features/support/views"; export const metadata: Metadata = { title: "Contact Us - English Support for Expats | Assist Solutions", diff --git a/apps/portal/src/app/(public)/(site)/support/page.tsx b/apps/portal/src/app/(public)/(site)/support/page.tsx new file mode 100644 index 00000000..db87d27f --- /dev/null +++ b/apps/portal/src/app/(public)/(site)/support/page.tsx @@ -0,0 +1,32 @@ +/** + * Public Support Page + * + * Self-service support hub with knowledge base categories, + * remote support tools, FAQ, and contact form fallback. + */ + +import type { Metadata } from "next"; +import { PublicSupportView } from "@/features/support/views"; + +export const metadata: Metadata = { + title: "Support - Self-Service Help Center | Assist Solutions", + description: + "Find answers to common questions, download remote support tools, or contact our English-speaking team. No Japanese required.", + keywords: [ + "IT support Japan", + "English tech support Tokyo", + "remote support Japan", + "expat tech help", + "Assist Solutions support", + ], + openGraph: { + title: "Support - Help Center | Assist Solutions", + description: + "Self-service support hub for expats in Japan. FAQ, remote support tools, and direct contact options.", + type: "website", + }, +}; + +export default function SupportPage() { + return ; +} diff --git a/apps/portal/src/app/globals.css b/apps/portal/src/app/globals.css index edadecd4..84d923fc 100644 --- a/apps/portal/src/app/globals.css +++ b/apps/portal/src/app/globals.css @@ -318,7 +318,7 @@ --color-glass-border: var(--glass-border); /* Line-height tokens */ - --leading-display: 1.1; + --leading-display: var(--cp-leading-display); } @layer base { diff --git a/apps/portal/src/components/atoms/button.tsx b/apps/portal/src/components/atoms/button.tsx index 4bc5f190..38b708e6 100644 --- a/apps/portal/src/components/atoms/button.tsx +++ b/apps/portal/src/components/atoms/button.tsx @@ -20,6 +20,8 @@ const buttonVariants = cva( "bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-[var(--cp-shadow-1)] hover:shadow-[var(--cp-shadow-2)]", ghost: "text-foreground hover:bg-muted", link: "underline-offset-4 hover:underline text-primary", + pill: "rounded-full bg-primary text-primary-foreground hover:bg-primary/90 shadow-md shadow-primary/20 hover:-translate-y-0.5", + pillOutline: "rounded-full border border-border bg-card text-primary hover:bg-primary/5", }, size: { default: "h-11 py-2.5 px-4", diff --git a/apps/portal/src/features/landing-page/components/AnimatedBackground.tsx b/apps/portal/src/features/landing-page/components/AnimatedBackground.tsx deleted file mode 100644 index 02875623..00000000 --- a/apps/portal/src/features/landing-page/components/AnimatedBackground.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import { cn } from "@/shared/utils"; - -interface AnimatedBackgroundProps { - className?: string; -} - -/** - * Mesh gradient background with floating geometric shapes - */ -export function AnimatedBackground({ className }: AnimatedBackgroundProps) { - return ( -
- {/* Mesh gradient */} -
- - {/* Floating shapes */} -