realtimex-crm 0.14.3 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "realtimex-crm",
3
- "version": "0.14.3",
3
+ "version": "0.16.0",
4
4
  "description": "RealTimeX CRM - A full-featured CRM built with React, shadcn-admin-kit, and Supabase. Fork of Atomic CRM with RealTimeX App SDK integration.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -122,6 +122,7 @@ const CompanyContextInputs = () => {
122
122
  companyLifecycleStages,
123
123
  companyTypes,
124
124
  companyRevenueRanges,
125
+ companyQualificationStatuses,
125
126
  } = useConfigurationContext();
126
127
 
127
128
  return (
@@ -145,6 +146,14 @@ const CompanyContextInputs = () => {
145
146
  helperText={false}
146
147
  />
147
148
  )}
149
+ {companyQualificationStatuses && (
150
+ <SelectInput
151
+ source="qualification_status"
152
+ label="Qualification Status"
153
+ choices={companyQualificationStatuses}
154
+ helperText={false}
155
+ />
156
+ )}
148
157
 
149
158
  {/* Industry & Sector */}
150
159
  <SelectInput
@@ -235,7 +244,6 @@ const saleOptionRenderer = (choice: Sale) =>
235
244
 
236
245
  const CompanyAdvancedSettings = () => {
237
246
  const [isOpen, setIsOpen] = useState(false);
238
- const { companyQualificationStatuses } = useConfigurationContext();
239
247
 
240
248
  return (
241
249
  <Collapsible open={isOpen} onOpenChange={setIsOpen}>
@@ -267,19 +275,6 @@ const CompanyAdvancedSettings = () => {
267
275
  helperText={false}
268
276
  />
269
277
  </div>
270
-
271
- {/* Data Quality */}
272
- {companyQualificationStatuses && (
273
- <div className="flex flex-col gap-4">
274
- <h6 className="text-sm font-semibold text-muted-foreground">Data Quality</h6>
275
- <SelectInput
276
- source="qualification_status"
277
- label="Qualification Status"
278
- choices={companyQualificationStatuses}
279
- helperText={false}
280
- />
281
- </div>
282
- )}
283
278
  </div>
284
279
  </CollapsibleContent>
285
280
  </Collapsible>
@@ -57,7 +57,7 @@ const ContactIdentityInputs = () => {
57
57
  defaultValue={contactGender[0].value}
58
58
  />
59
59
  <TextInput source="first_name" validate={required()} helperText={false} />
60
- <TextInput source="last_name" validate={required()} helperText={false} />
60
+ <TextInput source="last_name" helperText={false} />
61
61
  </div>
62
62
  );
63
63
  };
@@ -99,6 +99,10 @@ export type CRMProps = {
99
99
  export const CRM = ({
100
100
  contactGender = defaultContactGender,
101
101
  companySectors = defaultCompanySectors,
102
+ companyLifecycleStages,
103
+ companyTypes,
104
+ companyQualificationStatuses,
105
+ companyRevenueRanges,
102
106
  dealCategories = defaultDealCategories,
103
107
  dealPipelineStatuses = defaultDealPipelineStatuses,
104
108
  dealStages = defaultDealStages,
@@ -109,6 +113,8 @@ export const CRM = ({
109
113
  taskPriorities = defaultTaskPriorities,
110
114
  taskStatuses = defaultTaskStatuses,
111
115
  title = defaultTitle,
116
+ externalHeartbeatStatuses,
117
+ internalHeartbeatStatuses,
112
118
  dataProvider = defaultDataProvider,
113
119
  authProvider = defaultAuthProvider,
114
120
  disableTelemetry,
@@ -132,6 +138,10 @@ export const CRM = ({
132
138
  <ConfigurationProvider
133
139
  contactGender={contactGender}
134
140
  companySectors={companySectors}
141
+ companyLifecycleStages={companyLifecycleStages}
142
+ companyTypes={companyTypes}
143
+ companyQualificationStatuses={companyQualificationStatuses}
144
+ companyRevenueRanges={companyRevenueRanges}
135
145
  dealCategories={dealCategories}
136
146
  dealPipelineStatuses={dealPipelineStatuses}
137
147
  dealStages={dealStages}
@@ -142,6 +152,8 @@ export const CRM = ({
142
152
  taskPriorities={taskPriorities}
143
153
  taskStatuses={taskStatuses}
144
154
  title={title}
155
+ externalHeartbeatStatuses={externalHeartbeatStatuses}
156
+ internalHeartbeatStatuses={internalHeartbeatStatuses}
145
157
  >
146
158
  <DatabaseHealthCheck dataProvider={dataProvider}>
147
159
  <Admin
@@ -19,6 +19,10 @@ import {
19
19
  // Define types for the context value
20
20
  export interface ConfigurationContextValue {
21
21
  companySectors: string[];
22
+ companyLifecycleStages?: { id: string; name: string }[];
23
+ companyTypes?: { id: string; name: string }[];
24
+ companyQualificationStatuses?: { id: string; name: string }[];
25
+ companyRevenueRanges?: { id: string; name: string }[];
22
26
  dealCategories: string[];
23
27
  dealPipelineStatuses: string[];
24
28
  dealStages: DealStage[];
@@ -30,6 +34,8 @@ export interface ConfigurationContextValue {
30
34
  darkModeLogo: string;
31
35
  lightModeLogo: string;
32
36
  contactGender: ContactGender[];
37
+ externalHeartbeatStatuses?: { id: string; name: string; color: string }[];
38
+ internalHeartbeatStatuses?: { id: string; name: string; color: string }[];
33
39
  }
34
40
 
35
41
  export interface ConfigurationProviderProps extends ConfigurationContextValue {
@@ -55,6 +61,10 @@ export const ConfigurationContext = createContext<ConfigurationContextValue>({
55
61
  export const ConfigurationProvider = ({
56
62
  children,
57
63
  companySectors,
64
+ companyLifecycleStages,
65
+ companyTypes,
66
+ companyQualificationStatuses,
67
+ companyRevenueRanges,
58
68
  dealCategories,
59
69
  dealPipelineStatuses,
60
70
  dealStages,
@@ -66,10 +76,16 @@ export const ConfigurationProvider = ({
66
76
  taskStatuses,
67
77
  title,
68
78
  contactGender,
79
+ externalHeartbeatStatuses,
80
+ internalHeartbeatStatuses,
69
81
  }: ConfigurationProviderProps) => (
70
82
  <ConfigurationContext.Provider
71
83
  value={{
72
84
  companySectors,
85
+ companyLifecycleStages,
86
+ companyTypes,
87
+ companyQualificationStatuses,
88
+ companyRevenueRanges,
73
89
  dealCategories,
74
90
  dealPipelineStatuses,
75
91
  dealStages,
@@ -81,6 +97,8 @@ export const ConfigurationProvider = ({
81
97
  taskPriorities,
82
98
  taskStatuses,
83
99
  contactGender,
100
+ externalHeartbeatStatuses,
101
+ internalHeartbeatStatuses,
84
102
  }}
85
103
  >
86
104
  {children}