From 99ab4bd47b1d65321d19214bb107c40160d23168 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 7 Oct 2026 14:25:28 +0000 Subject: [PATCH] =?UTF-8?q?Kundenseite:=20Reiter=20=E2=80=9EAuftr=C3=A4ge?= =?UTF-8?q?=20und=20Rechnungen=E2=80=9C=20zeigt=20den=20neuen=20Container,?= =?UTF-8?q?=20CustomerInvoices=20entf=C3=A4llt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5.5 --- src/components/finance/CustomerInvoices.jsx | 29 --------------------- src/pages/CustomerDetailPage.jsx | 4 +-- 2 files changed, 2 insertions(+), 31 deletions(-) delete mode 100644 src/components/finance/CustomerInvoices.jsx diff --git a/src/components/finance/CustomerInvoices.jsx b/src/components/finance/CustomerInvoices.jsx deleted file mode 100644 index 0cb8e33..0000000 --- a/src/components/finance/CustomerInvoices.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Button, EmptyState } from '../ui' -import AddressWarning from './AddressWarning' -import InvoiceTable from './InvoiceTable' -import { customerInvoicesGate } from '../../lib/financeView' - -/** - * Reiter „Rechnungen“ am Kunden. Kann für den Kunden keine Rechnung geschrieben werden (noch Lead, abgesagt, keine - * E-Mail), steht der Grund da, mit „Daten erfassen“ (onShowOverview wechselt zum Reiter Übersicht). Sonst die - * Rechnungen dieses Kunden mit „Rechnung schreiben“ (der Kunde steht im Dialog fest). Fehlt dem Kunden die Anschrift - * (Straße, PLZ, Ort), steht darüber eine Warnung mit Knopf zur Übersicht; „Senden“ ist dann über 250 € gesperrt. - */ -export default function CustomerInvoices({ customer, onShowOverview }) { - const gate = customerInvoicesGate(customer) - if (!gate.ok) { - return ( - Daten erfassen : null} - /> - ) - } - return ( - <> - - - - ) -} diff --git a/src/pages/CustomerDetailPage.jsx b/src/pages/CustomerDetailPage.jsx index 3bf4f91..d7d3059 100644 --- a/src/pages/CustomerDetailPage.jsx +++ b/src/pages/CustomerDetailPage.jsx @@ -3,7 +3,7 @@ import { useParams, Link, useNavigate, useSearchParams } from 'react-router-dom' import { databases, DATABASE_ID, COLLECTIONS, Query } from '../lib/appwrite' import { PageHeader, Card, Button, Badge, Tabs, EmptyState, Dialog, Field } from '../components/ui' import { StatusPill, UrgentPill } from '../components/ui/StatusPill' -import CustomerInvoices from '../components/finance/CustomerInvoices' +import AuftraegeUndRechnungen from '../components/auftraege/AuftraegeUndRechnungen' import AssignedProjectCard from '../components/AssignedProjectCard' import CopyableCredential, { getCustomerPortalPassword } from '../components/CopyableCredential' import { updateCustomerWithPortalAccess, deleteCustomerWithPortalAccess } from '../lib/customerAdminApi' @@ -121,7 +121,7 @@ export default function CustomerDetailPage() { {/* key: nach Absage/Umstufung neu aufbauen, sonst ueberschreibt ein spaeteres Speichern die neuen Notizen */} {activeTab === 'overview' && } {activeTab === 'tickets' && } - {activeTab === 'invoices' && setTab('overview')} />} + {activeTab === 'invoices' && setTab('overview')} />} {activeTab === 'projects' && } {activeTab === 'chat' && } {activeTab === 'abo' && (