diff --git a/docs/INSIGHT-CRM.md b/docs/INSIGHT-CRM.md index fdaa70c..0497c56 100644 --- a/docs/INSIGHT-CRM.md +++ b/docs/INSIGHT-CRM.md @@ -379,4 +379,53 @@ Der Swagger-Tag fuer Deals/Vorgaenge ist jetzt `Vorgaenge (Deals)` statt `Deals` --- +## 2026-03-10 | Frontend: Company-Modul implementiert + +### Was wurde umgesetzt + +Das komplette Company-Frontend-Modul ist implementiert und deployed (Commit `36f571f`). + +#### Neue Dateien (5 Dateien) + +``` +packages/frontend/src/crm/companies/ + CompaniesPage.tsx + .module.css -- Liste mit Suche, Paginierung, CRUD-Modals + CompanyFormModal.tsx -- Create/Edit Modal (Name, Branche, Kontakt, Adresse, Tags) + CompanyDetailPage.tsx + .module.css -- 2-Spalten: Info links, Kontakte+Vorgaenge rechts +``` + +#### Geaenderte Dateien (11 Dateien) + +- **types.ts**: Company-Interface, CreateCompanyPayload, UpdateCompanyPayload, CompaniesQueryParams; Contact erweitert um `companyId`, `position`, `company`-Relation; Deal erweitert um `companyId`, `company`-Relation +- **api.ts**: `companiesApi` mit 5 CRUD-Methoden +- **hooks.ts**: `crmKeys.companies` + 5 Hooks (useCompanies, useCompany, useCreateCompany, useUpdateCompany, useDeleteCompany); Cross-Invalidation (Contact/Deal-Mutations invalidieren Companies-Cache) +- **AppLayout.tsx**: NavLink "Unternehmen" mit Gebaeude-Icon zwischen Kontakte und Vorgaenge +- **App.tsx**: 2 Routen (`/crm/companies`, `/crm/companies/:id`) +- **ContactsPage.tsx**: Neue Spalte "Unternehmen" mit Link zu Company +- **ContactFormModal.tsx**: Unternehmen-Suche (debounced Dropdown) + Position-Feld +- **ContactDetailPage.tsx**: Unternehmen-Link + Position in Info-Card +- **DealsPage.tsx**: Neue Spalte "Unternehmen" mit Link zu Company +- **DealFormModal.tsx**: Unternehmen-Suche (debounced Dropdown) +- **DealDetailPage.tsx**: Unternehmen-Link in Info-Card + +### Funktionsumfang Company-Modul + +1. **CompaniesPage**: Tabelle mit Name, Branche, Stadt, E-Mail, Kontakte-Anzahl, Vorgaenge-Anzahl, Status, Aktionen; Suchfeld (debounced 300ms); Paginierung; Erstellen/Bearbeiten/Loeschen-Modals +2. **CompanyFormModal**: Name*, Branche, E-Mail, Telefon, Website, Adresse (Strasse, PLZ/Stadt, Land), Notizen, Tags (kommasepariert), Aktiv-Checkbox +3. **CompanyDetailPage**: Links Info-Card (alle Felder + Tags + Notizen), Rechts Kontakte-Tabelle + Vorgaenge-Tabelle mit Navigation zu Detail-Seiten + +### Company-Integration in bestehende Module + +- **Kontakte**: Unternehmen-Spalte in Liste, Dropdown-Suche im Formular, Link+Position im Detail +- **Vorgaenge**: Unternehmen-Spalte in Liste, Dropdown-Suche im Formular, Link im Detail +- Pattern: Identisch zur Kontakt-Suche in DealFormModal (debounced, dropdown, click-outside) + +### Deployment + +- Branch: `feature/crm-service`, Commit: `36f571f` +- TypeScript-Check + Build: erfolgreich +- Frontend Container neu gebaut und deployed + +--- + *Bitte neue Eintraege unten anfuegen. Format: `## YYYY-MM-DD | Absender: Betreff`*