57ccd9a740
LST-58 (2.4) front. Completes the Directory module.
- New frontend/modules/directory/ layer (auto-detected): /directory page with
Clients and Prospects tabs.
- Client front moved into the layer (clients service + client DTO +
ClientDrawer). New prospects service, prospect DTO and ProspectDrawer (with
a "Convert to client" action calling POST /prospects/{id}/convert).
- Consumers repointed to ~/modules/directory/... (admin client tab, PM project
drawer + project pages + project DTO, time-tracking page + export drawer).
- Sidebar admin item /directory gated by the directory module; /directory
protected by the admin middleware. i18n keys added (directory.*, prospects.*).
nuxt build passes; routes preserved.
Adds the 2.4 plan doc.
35 lines
809 B
TypeScript
35 lines
809 B
TypeScript
import type { Client } from './client'
|
|
|
|
export type ProspectStatus = 'new' | 'contacted' | 'qualified' | 'won' | 'lost'
|
|
|
|
export type Prospect = {
|
|
id: number
|
|
'@id'?: string
|
|
name: string
|
|
company: string | null
|
|
email: string | null
|
|
phone: string | null
|
|
street: string | null
|
|
city: string | null
|
|
postalCode: string | null
|
|
status: ProspectStatus
|
|
source: string | null
|
|
notes: string | null
|
|
convertedClient: Client | string | null
|
|
createdAt?: string
|
|
updatedAt?: string
|
|
}
|
|
|
|
export type ProspectWrite = {
|
|
name: string
|
|
company: string | null
|
|
email: string | null
|
|
phone: string | null
|
|
street: string | null
|
|
city: string | null
|
|
postalCode: string | null
|
|
status: ProspectStatus
|
|
source: string | null
|
|
notes: string | null
|
|
}
|