index.ts1.6 KBView on GitHub import type { Sender } from '@/modules/threads/threadList/store/threadSlice';
// ============================================
// User & Authentication Types
// ============================================
export interface User {
name: string;
email: string;
avatar: string;
}
export interface IConnection {
id: string;
email: string;
name?: string;
picture?: string;
createdAt: Date;
providerId: string;
}
// ============================================
// UI & Navigation Types
// ============================================
export interface Account {
name: string;
logo: React.ComponentType<{ className?: string }>;
email: string;
}
export interface NavItem {
title: string;
url: string;
icon?: React.ComponentType<{ className?: string }>;
isActive?: boolean;
badge?: number;
}
export interface NavSection {
title: string;
items: NavItem[];
}
export interface SidebarData {
user: User;
accounts: Account[];
navMain: NavSection[];
}
// ============================================
// Email Sending Types
// ============================================
export interface ISendEmail {
to: Sender[];
subject: string;
message: string;
attachments?: File[];
headers?: Record<string, string>;
cc?: Sender[];
bcc?: Sender[];
threadId?: string;
fromEmail?: string;
}
export interface IOutgoingMessage {
to: Sender[];
subject: string;
message: string;
attachments?: File[];
headers?: Record<string, string>;
cc?: Sender[];
bcc?: Sender[];
threadId?: string;
fromEmail?: string;
isForward?: boolean;
originalMessage?: string;
}