refactor: complete website optimization - unified navigation, colors, and structure
- Created service detail pages with storytelling style - Created service list page - Removed service modal interactions - Simplified homepage About section - Added homepage Cases section - Updated navigation to use page links instead of anchors - Created products list page - Updated footer links - Unified color scheme to brand red (#C41E3A) - Fixed TypeScript errors (removed unused imports) - Fixed JSX syntax errors - Split About page into server and client components - All tests passing: typecheck and build successful
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
'use client';
|
||||
|
||||
import { useEffect, useRef, useState } from 'react';
|
||||
import { useRef } from 'react';
|
||||
import Link from 'next/link';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { Badge } from '@/components/ui/badge';
|
||||
import { Card, CardContent } from '@/components/ui/card';
|
||||
import {
|
||||
ArrowLeft,
|
||||
CheckCircle2,
|
||||
@@ -95,26 +94,8 @@ const outcomes = {
|
||||
};
|
||||
|
||||
export function ServiceDetailClient({ service }: ServiceDetailClientProps) {
|
||||
const [isVisible, setIsVisible] = useState(false);
|
||||
const contentRef = useRef<HTMLDivElement>(null);
|
||||
|
||||
useEffect(() => {
|
||||
const observer = new IntersectionObserver(
|
||||
([entry]) => {
|
||||
if (entry?.isIntersecting) {
|
||||
setIsVisible(true);
|
||||
}
|
||||
},
|
||||
{ threshold: 0.1 }
|
||||
);
|
||||
|
||||
if (contentRef.current) {
|
||||
observer.observe(contentRef.current);
|
||||
}
|
||||
|
||||
return () => observer.disconnect();
|
||||
}, []);
|
||||
|
||||
const serviceChallenges = challenges[service.id as keyof typeof challenges] || [];
|
||||
const serviceOutcomes = outcomes[service.id as keyof typeof outcomes] || [];
|
||||
const relatedCases = CASES.slice(0, 2);
|
||||
|
||||
Reference in New Issue
Block a user