Checkpoint: Checkpoint saved: Ajout d'une page "Paramètres de réception" complète pour configurer les différentes méthodes d'import de factures.
Nouvelles fonctionnalités : ✅ Table importSettings dans la base de données (7 tables au total) ✅ Routes tRPC pour gérer les paramètres de réception (get, update) ✅ Page "Paramètres de réception" accessible via le menu de navigation Configuration disponible : 1. **Import manuel** : Activation/désactivation de l'upload manuel de fichiers PDF via l'interface 2. **Import automatique depuis dossier** : - Activation/désactivation - Configuration du chemin du dossier source à surveiller - Fréquence de lecture du dossier (en minutes) 3. **Import par email** : - Activation/désactivation - Configuration du compte email (adresse + mot de passe) - Serveur IMAP (host + port) - Fréquence de lecture des emails (en minutes) Interface utilisateur : - 3 cartes distinctes avec icônes (Upload, FolderOpen, Mail) - Switches pour activer/désactiver chaque méthode - Champs de configuration qui apparaissent uniquement si la méthode est activée - Bouton "Enregistrer les paramètres" avec feedback visuel - Notifications toast pour confirmer la sauvegarde ou signaler les erreurs Architecture : - Schéma de base de données : table importSettings avec 14 colonnes - Backend : Fonctions db.ts (getImportSettingsByUser, upsertImportSettings) - Routes tRPC : importSettings.get et importSettings.update - Frontend : Page ImportSettings.tsx avec gestion d'état React - Navigation : Nouveau lien "Paramètres de réception" dans le menu latéral La page est maintenant accessible via /import-settings et permet aux utilisateurs de configurer toutes les méthodes d'importation de factures de manière centralisée.
This commit is contained in:
@@ -21,7 +21,7 @@ import {
|
||||
} from "@/components/ui/sidebar";
|
||||
import { getLoginUrl } from "@/const";
|
||||
import { useIsMobile } from "@/hooks/useMobile";
|
||||
import { LayoutDashboard, LogOut, PanelLeft, Users, FileText, Upload, History, Settings } from "lucide-react";
|
||||
import { LayoutDashboard, LogOut, PanelLeft, Users, FileText, Upload, History, Settings, Download } from "lucide-react";
|
||||
import { CSSProperties, useEffect, useRef, useState } from "react";
|
||||
import { useLocation } from "wouter";
|
||||
import { DashboardLayoutSkeleton } from './DashboardLayoutSkeleton';
|
||||
@@ -33,6 +33,7 @@ const menuItems = [
|
||||
{ icon: FileText, label: "Factures", path: "/invoices" },
|
||||
{ icon: History, label: "Historique", path: "/history" },
|
||||
{ icon: Settings, label: "Param\u00e8tres", path: "/settings" },
|
||||
{ icon: Download, label: "Param\u00e8tres de r\u00e9ception", path: "/import-settings" },
|
||||
{ icon: Users, label: "Utilisateurs", path: "/users", adminOnly: true },
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user