import { Link, Navigate } from 'react-router-dom';
import { useAuth } from '../../auth/AuthContext';
import {
useCrmSettings,
type CrmModuleKey,
} from './CrmSettingsContext';
import styles from './CrmSettingsPage.module.css';
// ============================================================
// Module definitions (UI-Beschreibung je Modul)
// ============================================================
interface ModuleDef {
key: CrmModuleKey;
name: string;
description: string;
icon: React.ReactNode;
}
const iconProps = {
width: 18,
height: 18,
viewBox: '0 0 16 16',
fill: 'none',
stroke: 'currentColor',
strokeWidth: 1.5,
strokeLinecap: 'round' as const,
strokeLinejoin: 'round' as const,
};
const MODULES: ModuleDef[] = [
{
key: 'contacts',
name: 'Kontakte',
description: 'Kontaktverwaltung (Personen & Organisationen)',
icon: (
),
},
{
key: 'companies',
name: 'Unternehmen',
description: 'Unternehmensverwaltung mit Verknüpfung zu Kontakten & Vorgängen',
icon: (
),
},
{
key: 'deals',
name: 'Vorgänge',
description: 'Vorgänge & Sales-Pipeline-Tracking',
icon: (
),
},
{
key: 'pipelines',
name: 'Pipelines',
description: 'Pipeline-Konfiguration & Stufen-Management',
icon: (
),
},
{
key: 'lexware',
name: 'Lexware Office',
description: 'Lexware-Kontaktverknüpfung & Belegansicht auf Detail-Seiten',
icon: (
),
},
];
// ============================================================
// Page Component
// ============================================================
export function CrmSettingsPage() {
const { user } = useAuth();
const { settings, toggleModule } = useCrmSettings();
// Zugriffskontrolle: nur Admins
if (
user?.role !== 'PLATFORM_ADMIN' &&
user?.role !== 'TENANT_ADMIN'
) {
return
Aktiviere oder deaktiviere einzelne CRM-Module. Deaktivierte Module werden aus dem Menü ausgeblendet.
Kontakte aus Lexware Office importieren oder CRM-Daten nach Lexware exportieren.
Import / Export öffnenZusätzliche Konfigurationsmöglichkeiten werden in zukünftigen Versionen verfügbar sein.