PageSourceSearch

https://liefersoft.de/assets/AdminHub-CFj-qch6.js

js liefersoft.de collected 2026-09-24 12:02:53 UTC 9,488 bytes, 1 lines download raw bytes

1import{bk as S,j as e,bM as x,bL as o,k as A,x as O,S as v,bH as i,bN as R,O as w,bO as s,Z as l,bP as z,bp as P,bQ as L,y as a,ab as d,bq as j,bR as t,bS as K,bT as c,bU as D,aC as N,b9 as b,Q as Z}from"./index-C3wyiG4j.js";import{F as B}from"./file-search-Kry09DTo.js";import{K as m}from"./key-round-B5ESvaL7.js";import{I as C}from"./id-card--aZuF47u.js";import{M as g}from"./mail-question-DiUg5nbr.js";const F=[{title:"Benutzer & Rechte",tiles:[{to:"/dashboard/admin/users",label:"Benutzer & Rollen",desc:"Konten, Rollen, Status, Rechte",icon:o},{to:"/dashboard/admin/role-matrix",label:"Rollen-/Rechte-Matrix",desc:"DSGVO- & RLS-Nachweis je Rolle (Admin, HoS, Partner, Unterpartner, Kunde)",icon:v,adminOnly:!1},{to:"/dashboard/admin/audit-log",label:"Audit-Log (DSGVO)",desc:"Alle protokollierten Datenzugriffe — pro Rolle/Entität filterbar, CSV-Export für Auditoren",icon:i,adminOnly:!1},{to:"/dashboard/admin/rls-selftest",label:"RLS-Selbsttest",desc:"Automatischer Probelauf je Rolle × Tabelle (DSGVO Art. 32, Nachweis technischer Maßnahmen)",icon:R,adminOnly:!1},{to:"/dashboard/admin/retention",label:"Aufbewahrung & Löschfristen",desc:"Speicherbegrenzung Art. 5 DSGVO — Cron-Job & Policies",icon:w,adminOnly:!0},{to:"/dashboard/admin/dsar",label:"Betroffenenrechte-Cockpit",desc:"Auskunft, Löschung, Datenportabilität (Art. 15/17/20 DSGVO)",icon:B,adminOnly:!1},{to:"/dashboard/admin/fallback-admins",label:"Fallback-Admin-Zugänge",desc:"Backup-Konten falls Haupt-Admin-Login ausfällt",icon:m,adminOnly:!0},{to:"/dashboard/admin/compensation",label:"Vergütung",desc:"Provisionspläne & Auszahlungen",icon:s,adminOnly:!0},{to:"/dashboard/duplicate-review",label:"Dubletten-Prüfung",desc:"Doppelte Datensätze auflösen",icon:l}]},{title:"Dokumente & Inhalte",tiles:[{to:"/dashboard/managed-documents",label:"Dokumente verwalten",desc:"Vertragstexte & Pflichtdokumente",icon:z,adminOnly:!0},{to:"/dashboard/support-task-templates",label:"Support-Vorlagen",desc:"Standard-Aufgaben für Service",icon:P,adminOnly:!0},{to:"/dashboard/admin/internal-signatories",label:"GF-Unterzeichner",desc:"Counter-Signaturen verwalten",icon:L,adminOnly:!0},{to:"/dashboard/admin/kyc",label:"KYC-Review",desc:"Kundenunterlagen prüfen & freigeben",icon:C,adminOnly:!0},{to:"/dashboard/admin/quote-preview",label:"Angebots-PDF · Live-Vorschau",desc:"Layout & Ansprechpartner-Kachel für bestehende Angebote sofort prüfen (nicht persistiert)",icon:a,adminOnly:!1}]},{title:"Kommunikation",tiles:[{to:"/dashboard/admin/communication-plan",label:"Kommunikationsplan",desc:"Mailboxen, Touchpoint-Matrix, Inbound-Routing, Identitäten",icon:d,adminOnly:!0},{to:"/dashboard/email-status",label:"E-Mail-Status",desc:"Versand, Bounces, Queue",icon:d},{to:"/dashboard/notifications",label:"Benachrichtigungen",desc:"Regeln, Templates, Zielgruppen",icon:j},{to:"/dashboard/admin/notification-queue",label:"Notification-Queue",desc:"Owner-Events: Zähler pending/sent/skipped/failed (24h), letzte Fehler & Manual-Retry",icon:t,adminOnly:!1},{to:"/dashboard/admin/email-logs",label:"E-Mail-Logs",desc:"Sendestatus (sent/delivered/bounced/complained) pro Empfänger & Template, mit CSV-Export",icon:d,adminOnly:!1},{to:"/dashboard/polish-tickets",label:"Feedback & Bugs",desc:"Internes Ticketing",icon:K}]},{title:"Integrationen",tiles:[{to:"/dashboard/zoho-sync",label:"Zoho-Sync",desc:"Bidirektionaler Abgleich",icon:c,adminOnly:!0},{to:"/dashboard/admin/zoho-token",label:"Zoho Token-Rotator",desc:"Self-Client-Code gegen neuen Refresh-Token tauschen, Verbindung & Zoho-User prüfen",icon:m,adminOnly:!0},{to:"/dashboard/zoho-compliance",label:"Zoho-Compliance",desc:"Datenqualität & Pflichtfelder",icon:o,adminOnly:!0},{to:"/dashboard/zoho-forms",label:"Zoho-Forms",desc:"Webformulare & Lead-Capture",icon:a,adminOnly:!0},{to:"/dashboard/integration-events",label:"Integrationen",desc:"Events & Webhook-Verlauf",icon:t,adminOnly:!0},{to:"/dashboard/jtl-health",label:"JTL Health",desc:"Fulfillment-Status",icon:t,adminOnly:!0},{to:"/dashboard/admin/spam-filter",label:"Spam-Filter",desc:"Regelbasierter Zoho-Import-Filter",icon:o,adminOnly:!0},{to:"/dashboard/admin/spam-quarantine",label:"Spam-Quarantäne",desc:"Zurückgehaltene Leads prüfen & freigeben",icon:g,adminOnly:!0},{to:"/dashboard/admin/zoho-writeback-log",label:"Zoho Write-Back Log",desc:"Audit aller Schreibvorgänge nach Zoho",icon:i,adminOnly:!0},{to:"/dashboard/admin/zoho-dedup-reports",label:"Zoho Dubletten-Report",desc:"Täglicher Report: neu, archiviert, gematcht (CSV/PDF)",
1icon:a,adminOnly:!0},{to:"/dashboard/admin/zoho-product-catalog",label:"Zoho Produkt-Katalog",desc:"SSOT der Artikel/Module/Services, Sync zu Zoho CRM Products",icon:c,adminOnly:!0},{to:"/dashboard/admin/zoho-preisabgleich",label:"Preisabgleich LAB ↔ Zoho",desc:"Rein lesender Vergleich von VK und EK zwischen LAB-Artikeln und Zoho Inventory",icon:a,adminOnly:!0},{to:"/dashboard/admin/shop-registrierungen",label:"Shop-Registrierungen",desc:"Neue Kundenkonten aus dem Webshop prüfen und freigeben",icon:l},{to:"/dashboard/shop-bestellungen",label:"Shop-Bestellungen",desc:"Warenkorb-Bestellungen verwalten und als Auftrag an Zoho Books übergeben",icon:D},{to:"/dashboard/duplicates",label:"Dubletten-Übersicht",desc:"Cross-Entity Lead↔Kunde Cluster",icon:l},{to:"/dashboard/admin/kundenstrasse-cleanup",label:"Kundenstraße bereinigen",desc:"Zoho-Altbestand & nicht zuordenbare Daten per Bulk nach Archiv / Extern bzw. Bestandskunde (Alt) parken",icon:c,adminOnly:!0}]},{title:"Audit & Monitoring",tiles:[{to:"/dashboard/audit-trail",label:"Audit-Trail",desc:"Lückenloses Aktivitätsprotokoll",icon:i},{to:"/dashboard/admin/error-logs",label:"Fehler-Logs",desc:"4xx-/5xx-Responses, 404-Routen, unbehandelte Fehler — automatisch erfasst",icon:t,adminOnly:!0},{to:"/dashboard/ai-usage",label:"KI-Verbrauch",desc:"Tokens, Kosten, Fehlerquote",icon:N,adminOnly:!0},{to:"/dashboard/pipeline-board-metrics",label:"Pipeline-Boards · Health",desc:"Latenz P50/P95 & Fehlerrate pro Surface (Kundenstraße, Deals, Intensivstation) — SSOT für GenericBoard-Monitoring",icon:t,adminOnly:!1},{to:"/dashboard/admin/signed-contract-duplicates",label:"Angebote mit mehreren Verträgen",desc:"Angebote, an denen mehr als eine Vertragszeile hängt — mit Datum und Status, nur Anzeige, Bereinigung entscheidet ein Mensch",icon:b,adminOnly:!0},{to:"/dashboard/admin/signed-quotes-without-contract",label:"Unterschriebenes Angebot ohne Vertrag",desc:"Kunde hat unterschrieben, aber es ging nie ein Lizenzvertrag über Zoho Sign raus — nur Anzeige",icon:b,adminOnly:!0},{to:"/dashboard/admin/quote-return-nav",label:"Quote-Return-Nav · Fallback-Rate",desc:"Wie oft landen Nutzer nach Angebot-Erstellung ohne Kontext auf einer Fallback-Seite — nach Datum & Rolle",icon:t,adminOnly:!1}]},{title:"Hardware & Showroom",tiles:[{to:"/dashboard/hardware-inquiries",label:"Hardware-Anfragen",desc:"Preis-Anfragen aus dem Showroom triagieren",icon:g},{to:"/hardware/sunmi",label:"Sunmi Showroom",desc:"Öffentlicher Brand-Store (Vorschau)",icon:Z}]},{title:"Pakete & Preise",tiles:[{to:"/dashboard/admin/kundenkonten",label:"Kundenkonten",desc:"Echte Konten je Kunde: Anfragen, Angebote und Rechnungen laufen automatisch im Kundenbereich zusammen",icon:s},{to:"/dashboard/admin/paketverwaltung",label:"Paketverwaltung",desc:"Paketpreise, Laufzeiten, Geräte-Subvention, Gerätepreise und Zahlungskonditionen selbst setzen",icon:s},{to:"/dashboard/admin/proforma",label:"Proforma & Lieferscheine",desc:"Aus angenommenen Angeboten: Proforma-Rechnung und Lieferschein als PDF und per E-Mail",icon:a},{to:"/dashboard/admin/rechnungsverwaltung",label:"Rechnungsverwaltung (Trockenlauf)",desc:"Aus Paket, Laufzeit und Geräten einen Rechnungsentwurf mit PDF und E-Mail erzeugen – Zoho bleibt führend",icon:a}]}],G=()=>{const{isAdmin:u,isHeadOfSales:p,isSeniorManager:f,loading:y}=S();return y?null:!u&&!p&&!f?e.jsx(x,{to:"/dashboard",replace:!0}):e.jsxs("div",{className:"space-y-6 p-4 md:p-6 max-w-6xl mx-auto",children:[e.jsxs("header",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(o,{className:"h-5 w-5 text-primary"}),e.jsx("h1",{className:"text-xl font-semibold",children:"Administration"})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Zentrale Steuerung: Benutzer, Integrationen, Inhalte und System-Monitoring."})]}),F.map(r=>{const h=r.tiles.filter(n=>u||!n.adminOnly);return h.length===0?null:e.jsxs("section",{children:[e.jsx("h2",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2",children:r.title}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:h.map(n=>{const k=n.icon;return e.jsxs(A,{to:n.to,className:"group bg-card rounded-xl border p-4 hover:shadow-sm hover:border-primary/40 transition-all",children:[e.jsxs("div",{className:"flex items-start justify-between mb-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"h-8 w-8 rounded-lg bg-primary/10 flex items-center justify-center",children:e.jsx(k,{className:"h-4 w-4 text-primary"})}),e.jsx("div",{className:"text-sm font-semibold",children:n.label})]}),e.jsx(O,{className:"h-4 w-4 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity"})]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:n.desc})]},n.to)})})]},r.title)})]})};export{G as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.