import { AlertCircle, ArrowRight, Book, CheckCircle, Clock, Download, ExternalLink, FileText, Globe, Headphones, HelpCircle, Mail, MessageSquare, Phone, Search, Send, Shield, User, Zap, } from "lucide-react"; import React, { useState } from "react"; import { Footer } from "../components/Footer"; import { Navigation } from "../components/Navigation"; import { Badge } from "../components/ui/badge"; import { Button } from "../components/ui/button"; import { Card, CardContent } from "../components/ui/card"; import { Input } from "../components/ui/input"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "../components/ui/select"; import { Tabs, TabsContent, TabsList, TabsTrigger, } from "../components/ui/tabs"; import { Textarea } from "../components/ui/textarea"; export const ClientSupport = () => { const [ticketForm, setTicketForm] = useState({ subject: "", priority: "", category: "", description: "", projectId: "", }); const [isSubmitting, setIsSubmitting] = useState(false); const supportChannels = [ { icon: User, title: "Direct Contact", description: "Reach out to your assigned Project Manager or Account Manager", action: "Contact Your PM", highlight: true, }, { icon: MessageSquare, title: "Support Ticket System", description: "Submit technical issues, bug reports, or service requests", action: "Create Ticket", monitored: "24/5 monitoring", }, { icon: Mail, title: "Support Email", description: "support@wdi.com", action: "Send Email", response: "< 4 hours", }, { icon: Phone, title: "Support Phone", description: "+1 (555) 123-HELP", action: "Call Now", availability: "Mon-Fri, 9 AM - 6 PM EST", }, ]; const severityLevels = [ { level: "Critical", icon: AlertCircle, color: "text-red-400", bgColor: "bg-red-500/20", description: "System down, business-critical functionality unavailable", sla: "< 1 hour response", }, { level: "High", icon: Zap, color: "text-orange-400", bgColor: "bg-orange-500/20", description: "Major functionality impaired, significant business impact", sla: "< 4 hours response", }, { level: "Medium", icon: Clock, color: "text-yellow-400", bgColor: "bg-yellow-500/20", description: "Minor functionality issues, workaround available", sla: "< 24 hours response", }, { level: "Low", icon: CheckCircle, color: "text-green-400", bgColor: "bg-green-500/20", description: "Feature requests, documentation, general questions", sla: "< 48 hours response", }, ]; const selfHelpResources = [ { icon: Book, title: "Knowledge Base", description: "Self-help articles and troubleshooting guides", items: "200+ articles", action: "Browse Articles", }, { icon: FileText, title: "Documentation Portal", description: "Project-specific documentation and API references", items: "Project docs", action: "Access Portal", protected: true, }, { icon: HelpCircle, title: "FAQ Section", description: "Frequently asked questions and common solutions", items: "50+ FAQs", action: "View FAQs", }, { icon: Download, title: "Downloads Center", description: "Software updates, patches, and resources", items: "Latest releases", action: "Download Center", }, ]; const recentTickets = [ { id: "WDI-2024-001", subject: "API rate limiting issue on production", status: "In Progress", priority: "High", created: "2 hours ago", assignee: "Technical Team", }, { id: "WDI-2024-002", subject: "User authentication module enhancement", status: "Resolved", priority: "Medium", created: "1 day ago", assignee: "Development Team", }, { id: "WDI-2024-003", subject: "Database performance optimization", status: "Under Review", priority: "Medium", created: "3 days ago", assignee: "DevOps Team", }, ]; const supportStats = [ { number: "< 1hr", label: "Average Response Time" }, { number: "98%", label: "First Contact Resolution" }, { number: "24/5", label: "Support Coverage" }, { number: "99.9%", label: "Client Satisfaction" }, ]; const handleTicketSubmit = async (e: React.FormEvent) => { e.preventDefault(); setIsSubmitting(true); // Simulate ticket submission await new Promise((resolve) => setTimeout(resolve, 2000)); const ticketId = `WDI-2024-${Math.floor(Math.random() * 1000) .toString() .padStart(3, "0")}`; alert( `Support ticket ${ticketId} has been created successfully. You'll receive updates via email.` ); // Reset form setTicketForm({ subject: "", priority: "", category: "", description: "", projectId: "", }); setIsSubmitting(false); }; const getStatusColor = (status: string) => { switch (status) { case "Resolved": return "text-green-400 bg-green-500/20"; case "In Progress": return "text-blue-400 bg-blue-500/20"; case "Under Review": return "text-yellow-400 bg-yellow-500/20"; default: return "text-gray-400 bg-gray-500/20"; } }; const getPriorityColor = (priority: string) => { switch (priority) { case "Critical": return "text-red-400"; case "High": return "text-orange-400"; case "Medium": return "text-yellow-400"; case "Low": return "text-green-400"; default: return "text-gray-400"; } }; return (
{/* Hero Section */}
Client Support

Client Support: Dedicated Assistance for Our Valued Partners

At WDI, our commitment to your success extends far beyond project delivery. Our dedicated Client Support team is here to provide prompt assistance, answer your questions, and ensure the ongoing performance and smooth operation of your solutions.

{/* Support Stats */}
{supportStats.map((stat, index) => (
{stat.number}
{stat.label}
))}
{/* Main Content */}
Support Channels Create Ticket My Tickets Resources {/* Support Channels Tab */}

How to Get Support

Multiple ways to reach our support team based on your needs

{supportChannels.map((channel, index) => { const Icon = channel.icon; return (

{channel.title}

{channel.description}

{channel.monitored && (
{channel.monitored}
)} {channel.response && (
Response time: {channel.response}
)} {channel.availability && (
{channel.availability}
)}
); })}
{/* Severity Levels */}

Support Priority Levels

{severityLevels.map((level, index) => { const Icon = level.icon; return (

{level.level}

{level.description}

{level.sla}
); })}
{/* Create Ticket Tab */}

Submit a Support Ticket

setTicketForm((prev) => ({ ...prev, subject: e.target.value, })) } placeholder="Brief description of the issue" className="bg-background/50 border-white/10" />
setTicketForm((prev) => ({ ...prev, projectId: e.target.value, })) } placeholder="e.g., WDI-PROJ-001" className="bg-background/50 border-white/10" />