63 lines
1.3 KiB
TypeScript
63 lines
1.3 KiB
TypeScript
|
|
export type ViewState = 'Dashboard' | 'Live!' | 'Ausschreibungen' | 'Kunden' | 'Experten' | 'Laufende Projekte' | 'Organigramm' | 'Einstellungen';
|
|
|
|
export interface Expert {
|
|
id: string;
|
|
name: string;
|
|
role: string;
|
|
email: string;
|
|
phone: string;
|
|
linkedin: string;
|
|
status: 'Interessiert' | 'Interview' | 'Verfügbar' | 'Gebucht';
|
|
avatar: string;
|
|
company?: string;
|
|
bio?: string;
|
|
tags?: string[];
|
|
}
|
|
|
|
export interface Contact {
|
|
id: string;
|
|
customer_id: string;
|
|
name: string;
|
|
role: string;
|
|
email: string;
|
|
phone: string;
|
|
avatar?: string;
|
|
}
|
|
|
|
export interface Customer {
|
|
id: string;
|
|
company: string;
|
|
name?: string;
|
|
logo?: string;
|
|
notes?: string;
|
|
contacts?: Contact[];
|
|
}
|
|
|
|
export interface Tender {
|
|
id: string;
|
|
source: string;
|
|
title: string;
|
|
applicantsCount: number;
|
|
status: 'Aktiv' | 'Ausgelaufen' | 'Archiviert' | 'Inaktiv';
|
|
kanbanStatus: KanbanColumn;
|
|
details?: string;
|
|
notes?: string;
|
|
link?: string;
|
|
selectedCustomer?: Customer;
|
|
selectedExperts?: Expert[];
|
|
}
|
|
|
|
export type KanbanColumn = 'Ausschreibung' | 'Experten sichten' | 'Interview' | 'Kunden Interview' | 'Vertragsgestaltung' | 'Abschluss' | 'Geschlossen';
|
|
|
|
export interface Project {
|
|
id: string;
|
|
title: string;
|
|
customer: string;
|
|
expert: string;
|
|
start: string;
|
|
end: string;
|
|
status: 'Aktiv' | 'Nicht aktiv' | 'Abgeschlossen';
|
|
notes?: string;
|
|
}
|