diff --git a/app/(main)/aide/documentation/page.tsx b/app/(main)/aide/documentation/page.tsx new file mode 100644 index 0000000..03b64d1 --- /dev/null +++ b/app/(main)/aide/documentation/page.tsx @@ -0,0 +1,241 @@ +"use client"; + +import React, { useState } from "react"; +import { Card } from "@/components/ui/card"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { + BookOpen, + Search, + ChevronRight, + FileText, + Download, + ExternalLink, + ArrowLeft, +} from "lucide-react"; +import Link from "next/link"; + +/** + * Page de documentation + * Guides complets et documentation technique + */ +export default function DocumentationPage() { + const [searchTerm, setSearchTerm] = useState(""); + const [selectedCategory, setSelectedCategory] = useState(null); + + const categories = [ + { + id: "getting-started", + title: "Démarrage", + description: "Premiers pas avec BTPXpress", + articles: [ + "Installation et configuration", + "Créer votre premier chantier", + "Comprendre l'interface", + "Configuration du profil entreprise", + ], + }, + { + id: "chantiers", + title: "Gestion des chantiers", + description: "Tout sur la gestion des chantiers", + articles: [ + "Créer un nouveau chantier", + "Gérer les phases de chantier", + "Suivi en temps réel", + "Clôturer un chantier", + ], + }, + { + id: "factures", + title: "Facturation", + description: "Devis, factures et paiements", + articles: [ + "Créer un devis", + "Convertir un devis en facture", + "Gérer les paiements", + "Relances automatiques", + ], + }, + { + id: "equipes", + title: "Équipes et planning", + description: "Gérer vos équipes", + articles: [ + "Créer une équipe", + "Affecter des employés", + "Planifier les interventions", + "Gérer les disponibilités", + ], + }, + { + id: "materiel", + title: "Matériel", + description: "Gestion du matériel BTP", + articles: [ + "Ajouter du matériel", + "Planifier l'utilisation", + "Maintenance préventive", + "Historique d'utilisation", + ], + }, + { + id: "rapports", + title: "Rapports et analyses", + description: "Générer des rapports", + articles: [ + "Rapports d'activité", + "Analyse financière", + "Rapports personnalisés", + "Export des données", + ], + }, + ]; + + const filteredCategories = selectedCategory + ? categories.filter((cat) => cat.id === selectedCategory) + : categories; + + const allArticles = categories.flatMap((cat) => + cat.articles.map((article) => ({ category: cat.title, article })) + ); + + const searchResults = searchTerm + ? allArticles.filter((item) => + item.article.toLowerCase().includes(searchTerm.toLowerCase()) + ) + : []; + + return ( +
+ {/* En-tête */} +
+
+ + + +
+

Documentation

+

+ Guides complets et documentation technique +

+
+
+ +
+ + {/* Barre de recherche */} + +
+ + setSearchTerm(e.target.value)} + /> +
+ + {/* Résultats de recherche */} + {searchTerm && searchResults.length > 0 && ( +
+

+ {searchResults.length} résultat{searchResults.length > 1 ? "s" : ""}{" "} + trouvé{searchResults.length > 1 ? "s" : ""} +

+
+ {searchResults.map((result, index) => ( +
+
+

{result.article}

+

{result.category}

+
+ +
+ ))} +
+
+ )} +
+ + {/* Catégories de documentation */} +
+ {filteredCategories.map((category) => ( + +
+
+ +
+
+

{category.title}

+

{category.description}

+
+
+ +
+ {category.articles.map((article, index) => ( +
+ + {article} + +
+ ))} +
+ + +
+ ))} +
+ + {/* Guides de démarrage rapide */} + +
+
+ +
+
+

+ Guide de démarrage rapide +

+

+ Téléchargez notre guide PDF complet pour démarrer rapidement avec + BTPXpress. Il contient tous les concepts essentiels et les meilleures + pratiques. +

+
+ + +
+
+
+
+
+ ); +} diff --git a/app/(main)/aide/page.tsx b/app/(main)/aide/page.tsx new file mode 100644 index 0000000..f87a381 --- /dev/null +++ b/app/(main)/aide/page.tsx @@ -0,0 +1,226 @@ +"use client"; + +import React from "react"; +import { Card } from "@/components/ui/card"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { + BookOpen, + Video, + MessageCircle, + Search, + FileText, + HelpCircle, + Lightbulb, + Phone, + Mail, + ExternalLink, +} from "lucide-react"; +import Link from "next/link"; + +/** + * Page principale du centre d'aide + * Point d'entrée pour accéder à toute l'aide et la documentation + */ +export default function AidePage() { + const categories = [ + { + title: "Démarrage rapide", + description: "Premiers pas avec BTPXpress", + icon: Lightbulb, + color: "bg-blue-100 text-blue-600", + articles: 12, + }, + { + title: "Gestion des chantiers", + description: "Créer et gérer vos chantiers", + icon: FileText, + color: "bg-green-100 text-green-600", + articles: 25, + }, + { + title: "Facturation", + description: "Devis, factures et paiements", + icon: BookOpen, + color: "bg-purple-100 text-purple-600", + articles: 18, + }, + { + title: "Équipes et planning", + description: "Gérer vos équipes et plannings", + icon: Video, + color: "bg-orange-100 text-orange-600", + articles: 15, + }, + ]; + + const articlesPopulaires = [ + "Comment créer un nouveau chantier ?", + "Gérer les devis et les factures", + "Planifier l'utilisation du matériel", + "Ajouter des membres à une équipe", + "Générer des rapports d'activité", + ]; + + return ( +
+ {/* En-tête */} +
+

+ Comment pouvons-nous vous aider ? +

+

+ Recherchez dans notre base de connaissances ou contactez notre support +

+
+
+ + +
+
+
+ + {/* Accès rapide */} +
+ + +
+
+ +
+
+

Documentation

+

+ Guides complets et documentation technique +

+
+
+
+ + + + +
+
+
+
+

Tutoriels

+

+ Vidéos et guides pas-à-pas +

+
+
+
+ + + + +
+
+ +
+
+

Support

+

+ Contactez notre équipe d'assistance +

+
+
+
+ +
+ + {/* Catégories populaires */} +
+

+ Catégories populaires +

+
+ {categories.map((category) => ( + +
+ +
+

{category.title}

+

{category.description}

+

+ {category.articles} articles +

+
+ ))} +
+
+ + {/* Articles populaires */} +
+

+ Articles populaires +

+ +
+ {articlesPopulaires.map((article, index) => ( +
+
+ + {article} +
+ +
+ ))} +
+
+
+ + {/* Contact direct */} +
+ +
+
+ +
+
+

+ Support téléphonique +

+

+ Disponible du lundi au vendredi de 9h à 18h +

+ +
+
+
+ + +
+
+ +
+
+

+ Support par email +

+

+ Réponse sous 24h ouvrées +

+ +
+
+
+
+
+ ); +} diff --git a/app/(main)/aide/support/page.tsx b/app/(main)/aide/support/page.tsx new file mode 100644 index 0000000..61c5f19 --- /dev/null +++ b/app/(main)/aide/support/page.tsx @@ -0,0 +1,348 @@ +"use client"; + +import React, { useState } from "react"; +import { Card } from "@/components/ui/card"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { Textarea } from "@/components/ui/textarea"; +import { Label } from "@/components/ui/label"; +import { Badge } from "@/components/ui/badge"; +import { + MessageCircle, + Phone, + Mail, + Clock, + CheckCircle, + AlertCircle, + Send, + ArrowLeft, + Headphones, +} from "lucide-react"; +import Link from "next/link"; +import { useRouter } from "next/navigation"; + +/** + * Page de support technique + * Formulaire de contact et informations de support + */ +export default function SupportPage() { + const router = useRouter(); + const [formData, setFormData] = useState({ + nom: "", + email: "", + sujet: "", + priorite: "normale", + message: "", + }); + const [isSubmitting, setIsSubmitting] = useState(false); + + const handleChange = ( + e: React.ChangeEvent + ) => { + setFormData({ + ...formData, + [e.target.name]: e.target.value, + }); + }; + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setIsSubmitting(true); + + // Simuler l'envoi + await new Promise((resolve) => setTimeout(resolve, 1500)); + + alert("Ticket de support créé avec succès ! Notre équipe vous contactera bientôt."); + router.push("/aide"); + }; + + const ticketsRecents = [ + { + id: "#2024-1234", + sujet: "Problème d'accès au dashboard", + status: "resolved", + date: "2025-10-28", + }, + { + id: "#2024-1189", + sujet: "Question sur la facturation", + status: "in-progress", + date: "2025-10-25", + }, + ]; + + const getStatusBadge = (status: string) => { + switch (status) { + case "resolved": + return ( + + + Résolu + + ); + case "in-progress": + return ( + + + En cours + + ); + default: + return Nouveau; + } + }; + + return ( +
+ {/* En-tête */} +
+
+ + + +
+

Support technique

+

+ Contactez notre équipe d'assistance +

+
+
+
+ +
+ {/* Formulaire de contact */} +
+ +

Créer un ticket de support

+
+
+
+ + +
+
+ + +
+
+ +
+ + +
+ +
+ + +
+ +
+ +