import { useState } from "react"; import { useLocation } from "wouter"; import { Button } from "@/components/ui/button"; import { ChevronLeft, ChevronDown, ChevronUp, QrCode, Smartphone, Monitor, CreditCard, Users, Clock, AlertCircle, Wifi, Printer, HelpCircle, BookOpen, Stethoscope } from "lucide-react"; interface FaqItem { q: string; a: string; category: string; } const FAQ: FaqItem[] = [ // Médecin { category: "Médecin", q: "Comment créer mon premier cabinet ?", a: "Depuis le tableau de bord, cliquez sur 'Mes cabinets' puis 'Nouveau cabinet'. Renseignez le nom, l'adresse optionnelle et les paramètres de la file (durée de consultation, taille maximale). Un QR code unique est généré automatiquement.", }, { category: "Médecin", q: "Comment ouvrir et fermer la file d'attente ?", a: "Dans la page 'Gestion de la file', sélectionnez votre cabinet et cliquez sur 'Ouvrir la file'. Les patients peuvent alors rejoindre. En fin de journée, cliquez sur 'Fermer la file' puis 'Réinitialiser' pour repartir à zéro le lendemain.", }, { category: "Médecin", q: "Comment appeler le prochain patient ?", a: "Cliquez sur 'Appeler le suivant' dans l'interface de gestion. Le numéro s'affiche automatiquement sur l'écran d'affichage en salle et le patient reçoit une notification push sur son téléphone.", }, { category: "Médecin", q: "Que faire si un patient ne se présente pas ?", a: "Cliquez sur 'Absent' à côté du nom du patient. Il est retiré de la file et les positions des autres patients se mettent à jour automatiquement. Le patient devra rescanner le QR code pour rejoindre à nouveau.", }, { category: "Médecin", q: "Puis-je gérer plusieurs cabinets ?", a: "Oui, avec le plan Pro vous pouvez créer un nombre illimité de cabinets. Chaque cabinet a son propre QR code, sa propre file d'attente et ses propres statistiques.", }, // Patient { category: "Patient", q: "Comment rejoindre la file d'attente ?", a: "Ouvrez l'appareil photo de votre smartphone et pointez-le vers le QR code affiché à l'accueil du cabinet. Un lien s'affiche automatiquement — appuyez dessus. Aucune application à installer.", }, { category: "Patient", q: "Puis-je quitter la salle d'attente physique ?", a: "Oui, c'est l'avantage principal de QueueMed ! Gardez la page ouverte sur votre téléphone et allez où vous le souhaitez. Vous recevrez une notification push quand votre tour approche. Restez à moins de 5 minutes du cabinet.", }, { category: "Patient", q: "Je n'ai pas de smartphone, que faire ?", a: "Demandez un ticket imprimé au personnel d'accueil. Ce ticket comporte votre numéro de file. Restez en salle d'attente et surveillez l'écran d'affichage pour voir quand votre numéro est appelé.", }, { category: "Patient", q: "Pourquoi le QR code ne fonctionne plus ?", a: "Le QR code se renouvelle automatiquement à intervalles réguliers pour éviter les abus. Si le lien ne fonctionne plus, rescannez le QR code affiché à l'accueil pour obtenir un nouveau lien valide.", }, // Technique { category: "Technique", q: "Comment configurer l'écran d'affichage ?", a: "Dans la fiche de votre cabinet, copiez le 'Lien écran d'affichage'. Ouvrez ce lien sur votre tablette ou moniteur, puis activez le mode plein écran (F11 sur PC). L'écran se met à jour automatiquement via WebSocket.", }, { category: "Technique", q: "Que se passe-t-il en cas de coupure internet ?", a: "L'écran d'affichage affiche un indicateur 'Reconnexion...' en rouge. Les patients déjà dans la file conservent leur position. Dès que la connexion est rétablie, la synchronisation reprend automatiquement.", }, { category: "Technique", q: "Sur quels appareils fonctionne QueueMed ?", a: "QueueMed fonctionne sur tous les appareils avec un navigateur moderne : smartphones iOS et Android, tablettes, ordinateurs. Aucune application à installer. Recommandé : Chrome ou Safari.", }, // Abonnement { category: "Abonnement", q: "Combien dure l'essai gratuit ?", a: "L'essai gratuit dure 30 jours à compter de votre première connexion. Toutes les fonctionnalités sont disponibles sans restriction pendant cette période.", }, { category: "Abonnement", q: "Que se passe-t-il après l'essai gratuit ?", a: "L'accès aux fonctionnalités de gestion est bloqué jusqu'à souscription d'un plan payant. Vos données sont conservées. Les patients peuvent toujours voir leur position dans les files actives.", }, { category: "Abonnement", q: "Puis-je annuler mon abonnement ?", a: "Oui, vous pouvez annuler à tout moment depuis la page 'Abonnement' de votre tableau de bord. L'accès reste actif jusqu'à la fin de la période payée.", }, ]; const CATEGORIES = ["Tous", "Médecin", "Patient", "Technique", "Abonnement"]; const CATEGORY_ICONS: Record = { Médecin: Stethoscope, Patient: Users, Technique: Wifi, Abonnement: CreditCard, }; export default function Help() { const [, navigate] = useLocation(); const [activeCategory, setActiveCategory] = useState("Tous"); const [openIndex, setOpenIndex] = useState(null); const filtered = activeCategory === "Tous" ? FAQ : FAQ.filter(f => f.category === activeCategory); return (
{/* Background */}
{/* Back */} {/* Header */}

Centre d'aide

Trouvez rapidement les réponses à vos questions sur QueueMed.

{/* Quick links */}
{[ { icon: QrCode, label: "QR Code", cat: "Médecin" }, { icon: Smartphone, label: "Patient", cat: "Patient" }, { icon: Monitor, label: "Écran", cat: "Technique" }, { icon: CreditCard, label: "Abonnement", cat: "Abonnement" }, ].map(item => { const Icon = item.icon; return ( ); })}
{/* Category filter */}
{CATEGORIES.map(cat => ( ))}
{/* FAQ */}
{filtered.map((item, i) => { const CatIcon = CATEGORY_ICONS[item.category] || BookOpen; const isOpen = openIndex === i; return (
{isOpen && (
{item.a}
)}
); })}
{/* Contact CTA */}

Vous ne trouvez pas votre réponse ?

Notre équipe est disponible pour vous aider à configurer et utiliser QueueMed dans votre cabinet.

); }