- Fixed database initialization where default origins were seeded without color_classes. - Added a visual color picker to the Origens admin page to allow users to assign colors to origin tags. - Updated Dashboard Pie Chart to read the color classes correctly and display them.
99 lines
1.8 KiB
TypeScript
99 lines
1.8 KiB
TypeScript
|
|
export enum FunnelStage {
|
|
NO_CONTACT = 'Sem atendimento',
|
|
IDENTIFICATION = 'Identificação',
|
|
NEGOTIATION = 'Negociação',
|
|
WON = 'Ganhos',
|
|
LOST = 'Perdidos',
|
|
}
|
|
|
|
export interface FunnelStageDef {
|
|
id: string;
|
|
funnel_id: string;
|
|
name: string;
|
|
color_class: string;
|
|
order_index: number;
|
|
}
|
|
|
|
export interface FunnelDef {
|
|
id: string;
|
|
tenant_id: string;
|
|
name: string;
|
|
stages: FunnelStageDef[];
|
|
teamIds: string[];
|
|
}
|
|
|
|
export interface OriginItemDef {
|
|
id: string;
|
|
origin_group_id: string;
|
|
name: string;
|
|
color_class: string;
|
|
}
|
|
|
|
export interface OriginGroupDef {
|
|
id: string;
|
|
tenant_id: string;
|
|
name: string;
|
|
items: OriginItemDef[];
|
|
teamIds: string[];
|
|
}
|
|
|
|
export interface User {
|
|
id: string;
|
|
tenant_id: string;
|
|
name: string;
|
|
email: string;
|
|
slug?: string;
|
|
avatar_url: string;
|
|
role: 'super_admin' | 'admin' | 'manager' | 'agent';
|
|
team_id: string;
|
|
bio?: string;
|
|
status: 'active' | 'inactive';
|
|
sound_enabled?: boolean;
|
|
}
|
|
|
|
export interface Attendance {
|
|
id: string;
|
|
tenant_id: string;
|
|
user_id: string;
|
|
created_at: string; // ISO Date
|
|
title: string;
|
|
full_summary?: string;
|
|
attention_points: string[];
|
|
improvement_points: string[];
|
|
score: number; // 0-100
|
|
first_response_time_min: number;
|
|
handling_time_min: number;
|
|
funnel_stage: string;
|
|
origin: string;
|
|
product_requested: string;
|
|
product_sold?: string;
|
|
converted: boolean;
|
|
}
|
|
|
|
export interface Tenant {
|
|
id: string;
|
|
name: string;
|
|
logo_url?: string;
|
|
// Extended fields for Super Admin
|
|
slug?: string;
|
|
admin_email?: string;
|
|
status?: 'active' | 'inactive' | 'trial';
|
|
user_count?: number;
|
|
attendance_count?: number;
|
|
created_at?: string;
|
|
}
|
|
|
|
export interface DateRange {
|
|
start: Date;
|
|
end: Date;
|
|
}
|
|
|
|
export interface DashboardFilter {
|
|
dateRange: DateRange;
|
|
userId?: string;
|
|
teamId?: string;
|
|
funnelStage?: string;
|
|
origin?: string;
|
|
}
|