index.ts2.7 KBView on GitHub
/**
 * CRM Module
 *
 * Barrel exports for the CRM module
 */

// ============================================
// Components
// ============================================
export { Timeline } from '@/modules/conversations/components/timeline/timeline';
export { NextStepsCard } from '@/modules/conversations/components/timeline/NextStepsCard';
export { PastEventsTimeline } from '@/modules/conversations/components/timeline/PastEventsTimeline';
export { CRMTable } from './components/crm-table';
export { CRMCell } from './components/crm-cell';
export { EditableColumnHeader } from './components/editable-column-header';
export { AddColumnPopover } from './components/add-column-popover';
export { ConversationView } from './components/ConversationView';

// ============================================
// Hooks
// ============================================
export {
  // Removed contact hooks (contacts functionality removed)
  // useContacts, useContact, useCreateContact, useUpdateContact, useDeleteContact,
  useCompanies,
  useCompany,
  useCreateCompany,
  useUpdateCompany,
  useCreateConversation,
  useUpdateConversation,
  useDeleteConversation,
  useCreateNoteEvent,
  useContactStats,
  useRecentActivity,
  usePerson,
  useCompanyGlobal,
} from './hooks/use-crm';

// Optimistic actions hook
export { useOptimisticConversationActions } from './hooks/use-optimistic-conversation-actions';

// Working memory hooks
export { useUpsertWorkingMemory } from './hooks/use-working-memory';

// ============================================
// Store (Re-exports from main mail store for convenience)
// ============================================
export {
  useCedarStore as useCRMStore,
  useCurrentConversationList,
  useCRMFilters,
  useCRMConversationSelection,
  useCRMActions,
} from '@/modules/store';

// ============================================
// Types
// ============================================
export type {
  CRMColumn,
  CRMRow,
  CRMContact,
  CRMRowDictionary,
  ColumnType,
  NextStep,
  ScheduledAction,
  UserTask,
  WorkingMemoryField,
  // Column Configuration Types
  CRMColumnMetadata, // Base column metadata (without state)
  ColumnConfigState, // Internal state type
  ColumnFilter,
  ColumnSort,
  // Global Types
  CRMFilters,
} from './store/crmSlice';

// ============================================
// Utils
// ============================================
export {
  // transformContactToRow removed (contacts functionality removed)
  // computeTableRows removed (now done inline in crm-table)
  mapColumnToServerField,
  getNextStepColor,
  getTypeColor,
  getColorClass,
  getTextColorClass,
  getDotColor,
  getLineColor,
  normalizeEnumValue,
  formatEnumValueForDisplay,
  getEnumDisplayText,
} from './utils';