mirror of
http://172.20.10.11:3000/gitadmin/INSIGHT-MVP.git
synced 2026-06-24 23:56:40 +02:00
docs(crm): document Company module frontend implementation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
36f571f5c3
commit
028364cd7d
1 changed files with 49 additions and 0 deletions
|
|
@ -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`*
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue