29 | Feedback from clients and collaborators I've worked with on various projects. 30 |
31 |33 | {text} 34 |
35 | 36 |48 | {author.name} 49 |
50 |51 | {author.handle} 52 |
53 |41 | {description} 42 |
43 |55 | {description} 56 |
57 |84 | Specialized services tailored to elevate your digital presence with security, performance, and design excellence. 85 |
86 |73 | {name ? `Thanks ${name}!` : 'Thanks!'} I've received your message and will get back to you as soon as possible. 74 |
75 | 76 | {/* Features */} 77 |163 | {body} 164 |
165 | ) 166 | }) 167 | FormMessage.displayName = "FormMessage" 168 | 169 | export { 170 | useFormField, 171 | Form, 172 | FormItem, 173 | FormLabel, 174 | FormControl, 175 | FormDescription, 176 | FormMessage, 177 | FormField, 178 | } 179 | -------------------------------------------------------------------------------- /app/not-found.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import Link from "next/link" 4 | import { Home, ArrowLeft, Search, Mail } from "lucide-react" 5 | import { Button } from "@/components/ui/button" 6 | import { Card, CardContent } from "@/components/ui/card" 7 | import { motion } from "framer-motion" 8 | 9 | export default function NotFoundPage() { 10 | const handleGoBack = () => { 11 | if (typeof window !== 'undefined' && window.history.length > 1) { 12 | window.history.back() 13 | } else { 14 | window.location.href = '/' 15 | } 16 | } 17 | 18 | return ( 19 |65 | Oops! The page you're looking for seems to have vanished into the digital void. 66 |
67 |