@nextsparkjs/theme-crm 0.1.0-beta.1
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/CRM_PLAN.md +343 -0
- package/about.md +122 -0
- package/config/app.config.ts +185 -0
- package/config/billing.config.ts +187 -0
- package/config/dashboard.config.ts +372 -0
- package/config/dev.config.ts +55 -0
- package/config/features.config.ts +336 -0
- package/config/flows.config.ts +511 -0
- package/config/permissions.config.ts +297 -0
- package/config/theme.config.ts +111 -0
- package/entities/activities/activities.config.ts +61 -0
- package/entities/activities/activities.fields.ts +362 -0
- package/entities/activities/activities.service.ts +503 -0
- package/entities/activities/activities.types.ts +117 -0
- package/entities/activities/messages/en.json +123 -0
- package/entities/activities/messages/es.json +123 -0
- package/entities/activities/migrations/020_activities_table.sql +123 -0
- package/entities/activities/migrations/021_activities_metas.sql +114 -0
- package/entities/activities/migrations/022_activities_sample_data.sql +420 -0
- package/entities/campaigns/campaigns.config.ts +61 -0
- package/entities/campaigns/campaigns.fields.ts +413 -0
- package/entities/campaigns/campaigns.service.ts +426 -0
- package/entities/campaigns/campaigns.types.ts +124 -0
- package/entities/campaigns/messages/en.json +145 -0
- package/entities/campaigns/messages/es.json +145 -0
- package/entities/campaigns/migrations/001_campaigns_table.sql +127 -0
- package/entities/campaigns/migrations/002_campaigns_metas.sql +114 -0
- package/entities/campaigns/migrations/003_campaigns_sample_data.sql +364 -0
- package/entities/companies/companies.config.ts +61 -0
- package/entities/companies/companies.fields.ts +429 -0
- package/entities/companies/companies.service.ts +566 -0
- package/entities/companies/companies.types.ts +125 -0
- package/entities/companies/messages/en.json +146 -0
- package/entities/companies/messages/es.json +146 -0
- package/entities/companies/migrations/001_companies_table.sql +150 -0
- package/entities/companies/migrations/002_companies_metas.sql +114 -0
- package/entities/companies/migrations/003_companies_sample_data.sql +246 -0
- package/entities/contacts/contacts.config.ts +61 -0
- package/entities/contacts/contacts.fields.ts +359 -0
- package/entities/contacts/contacts.service.ts +509 -0
- package/entities/contacts/contacts.types.ts +108 -0
- package/entities/contacts/messages/en.json +117 -0
- package/entities/contacts/messages/es.json +117 -0
- package/entities/contacts/migrations/001_contacts_table.sql +134 -0
- package/entities/contacts/migrations/002_contacts_metas.sql +114 -0
- package/entities/contacts/migrations/003_contacts_sample_data.sql +421 -0
- package/entities/leads/leads.config.ts +61 -0
- package/entities/leads/leads.fields.ts +336 -0
- package/entities/leads/leads.service.ts +496 -0
- package/entities/leads/leads.types.ts +114 -0
- package/entities/leads/messages/en.json +132 -0
- package/entities/leads/messages/es.json +132 -0
- package/entities/leads/migrations/001_leads_table.sql +150 -0
- package/entities/leads/migrations/002_leads_metas.sql +120 -0
- package/entities/leads/migrations/003_leads_sample_data.sql +242 -0
- package/entities/notes/messages/en.json +114 -0
- package/entities/notes/messages/es.json +114 -0
- package/entities/notes/migrations/020_notes_table.sql +118 -0
- package/entities/notes/migrations/021_notes_metas.sql +114 -0
- package/entities/notes/migrations/022_notes_sample_data.sql +275 -0
- package/entities/notes/notes.config.ts +61 -0
- package/entities/notes/notes.fields.ts +283 -0
- package/entities/notes/notes.service.ts +320 -0
- package/entities/notes/notes.types.ts +102 -0
- package/entities/opportunities/messages/en.json +107 -0
- package/entities/opportunities/messages/es.json +107 -0
- package/entities/opportunities/migrations/010_opportunities_table.sql +145 -0
- package/entities/opportunities/migrations/011_opportunities_metas.sql +114 -0
- package/entities/opportunities/migrations/012_opportunities_sample_data.sql +438 -0
- package/entities/opportunities/opportunities.config.ts +61 -0
- package/entities/opportunities/opportunities.fields.ts +416 -0
- package/entities/opportunities/opportunities.service.ts +525 -0
- package/entities/opportunities/opportunities.types.ts +135 -0
- package/entities/pipelines/messages/en.json +115 -0
- package/entities/pipelines/messages/es.json +115 -0
- package/entities/pipelines/migrations/001_pipelines_table.sql +106 -0
- package/entities/pipelines/migrations/002_pipelines_metas.sql +114 -0
- package/entities/pipelines/migrations/003_pipelines_sample_data.sql +91 -0
- package/entities/pipelines/pipelines.config.ts +62 -0
- package/entities/pipelines/pipelines.fields.ts +193 -0
- package/entities/pipelines/pipelines.service.ts +383 -0
- package/entities/pipelines/pipelines.types.ts +78 -0
- package/entities/products/messages/en.json +135 -0
- package/entities/products/messages/es.json +135 -0
- package/entities/products/migrations/001_products_table.sql +117 -0
- package/entities/products/migrations/002_products_metas.sql +114 -0
- package/entities/products/migrations/003_products_sample_data.sql +247 -0
- package/entities/products/products.config.ts +62 -0
- package/entities/products/products.fields.ts +361 -0
- package/entities/products/products.service.ts +437 -0
- package/entities/products/products.types.ts +125 -0
- package/lib/crm-constants.ts +77 -0
- package/lib/crm-utils.ts +185 -0
- package/lib/selectors.ts +333 -0
- package/messages/en.json +131 -0
- package/messages/es.json +131 -0
- package/migrations/999_theme_sample_data.sql +473 -0
- package/package.json +18 -0
- package/pendings.md +205 -0
- package/permissions-matrix.md +216 -0
- package/styles/components.css +414 -0
- package/styles/crm-theme.css +358 -0
- package/styles/globals.css +576 -0
- package/styles/variables.css +111 -0
- package/templates/dashboard/(main)/activities/components/ActivityCard.tsx +169 -0
- package/templates/dashboard/(main)/activities/components/ActivityTimeline.tsx +165 -0
- package/templates/dashboard/(main)/activities/page.tsx +297 -0
- package/templates/dashboard/(main)/campaigns/page.tsx +373 -0
- package/templates/dashboard/(main)/companies/page.tsx +296 -0
- package/templates/dashboard/(main)/contacts/page.tsx +347 -0
- package/templates/dashboard/(main)/layout.tsx +98 -0
- package/templates/dashboard/(main)/leads/page.tsx +335 -0
- package/templates/dashboard/(main)/opportunities/[id]/edit/page.tsx +95 -0
- package/templates/dashboard/(main)/opportunities/create/page.tsx +94 -0
- package/templates/dashboard/(main)/opportunities/page.tsx +350 -0
- package/templates/dashboard/(main)/pipelines/[id]/edit/page.tsx +95 -0
- package/templates/dashboard/(main)/pipelines/[id]/page.tsx +143 -0
- package/templates/dashboard/(main)/pipelines/create/page.tsx +94 -0
- package/templates/dashboard/(main)/pipelines/page.tsx +234 -0
- package/templates/dashboard/(main)/products/[id]/edit/page.tsx +97 -0
- package/templates/dashboard/(main)/products/[id]/page.tsx +509 -0
- package/templates/dashboard/(main)/products/create/page.tsx +96 -0
- package/templates/dashboard/(main)/products/page.tsx +308 -0
- package/templates/shared/ActionButtons.tsx +41 -0
- package/templates/shared/CRMDashboard.tsx +519 -0
- package/templates/shared/CRMDataTable.tsx +441 -0
- package/templates/shared/CRMMetricCard.tsx +76 -0
- package/templates/shared/CRMMobileNav.tsx +172 -0
- package/templates/shared/CRMSidebar.tsx +346 -0
- package/templates/shared/CRMTopBar.tsx +265 -0
- package/templates/shared/DealCard.tsx +123 -0
- package/templates/shared/EntityCard.tsx +58 -0
- package/templates/shared/OpportunityForm.tsx +649 -0
- package/templates/shared/PipelineForm.tsx +367 -0
- package/templates/shared/PipelineKanban.tsx +194 -0
- package/templates/shared/QuickFilters.tsx +47 -0
- package/templates/shared/StageColumn.tsx +175 -0
- package/templates/shared/StageSelect.tsx +177 -0
- package/templates/shared/StagesRepeater.tsx +317 -0
- package/templates/shared/index.ts +9 -0
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
-- ============================================================================
|
|
2
|
+
-- Sample data for activities table - CRM Theme
|
|
3
|
+
-- Aligned with schema in 001_activities_table.sql
|
|
4
|
+
-- Uses users from 999_theme_sample_data.sql
|
|
5
|
+
-- References leads, contacts, companies, opportunities from their sample data
|
|
6
|
+
-- ============================================================================
|
|
7
|
+
|
|
8
|
+
-- Clean existing activities data
|
|
9
|
+
DELETE FROM "activities" WHERE "teamId" = 'team-crm-company';
|
|
10
|
+
|
|
11
|
+
INSERT INTO "activities" (
|
|
12
|
+
id,
|
|
13
|
+
type,
|
|
14
|
+
subject,
|
|
15
|
+
description,
|
|
16
|
+
status,
|
|
17
|
+
priority,
|
|
18
|
+
"dueDate",
|
|
19
|
+
"completedAt",
|
|
20
|
+
duration,
|
|
21
|
+
outcome,
|
|
22
|
+
location,
|
|
23
|
+
"contactId",
|
|
24
|
+
"companyId",
|
|
25
|
+
"opportunityId",
|
|
26
|
+
"assignedTo",
|
|
27
|
+
"userId",
|
|
28
|
+
"teamId",
|
|
29
|
+
"createdAt",
|
|
30
|
+
"updatedAt"
|
|
31
|
+
) VALUES
|
|
32
|
+
-- Call Activities
|
|
33
|
+
(
|
|
34
|
+
'act-crm-001',
|
|
35
|
+
'call',
|
|
36
|
+
'Initial Discovery Call with Amanda Davis',
|
|
37
|
+
'First contact call to understand CEO needs at TechnoSoft Solutions. Discussed current pain points with their existing system and timeline for new CRM implementation.',
|
|
38
|
+
'completed',
|
|
39
|
+
'high',
|
|
40
|
+
NOW() - INTERVAL '3 days',
|
|
41
|
+
NOW() - INTERVAL '3 days',
|
|
42
|
+
45,
|
|
43
|
+
'Successful - Very interested in enterprise solution',
|
|
44
|
+
NULL,
|
|
45
|
+
'contact-crm-001',
|
|
46
|
+
'company-crm-001',
|
|
47
|
+
NULL,
|
|
48
|
+
'usr-crm-sales-mgr',
|
|
49
|
+
'usr-crm-ceo',
|
|
50
|
+
'team-crm-company',
|
|
51
|
+
NOW() - INTERVAL '5 days',
|
|
52
|
+
NOW() - INTERVAL '3 days'
|
|
53
|
+
),
|
|
54
|
+
(
|
|
55
|
+
'act-crm-002',
|
|
56
|
+
'call',
|
|
57
|
+
'Technical Requirements Call with Dr. Martinez',
|
|
58
|
+
'Detailed discussion about HIPAA compliance requirements and data security measures needed for healthcare implementation.',
|
|
59
|
+
'completed',
|
|
60
|
+
'high',
|
|
61
|
+
NOW() - INTERVAL '1 day',
|
|
62
|
+
NOW() - INTERVAL '1 day',
|
|
63
|
+
75,
|
|
64
|
+
'Successful - Needs security documentation',
|
|
65
|
+
NULL,
|
|
66
|
+
'contact-crm-006',
|
|
67
|
+
'company-crm-003',
|
|
68
|
+
NULL,
|
|
69
|
+
'usr-crm-sales-mgr',
|
|
70
|
+
'usr-crm-ceo',
|
|
71
|
+
'team-crm-company',
|
|
72
|
+
NOW() - INTERVAL '3 days',
|
|
73
|
+
NOW() - INTERVAL '1 day'
|
|
74
|
+
),
|
|
75
|
+
(
|
|
76
|
+
'act-crm-003',
|
|
77
|
+
'call',
|
|
78
|
+
'Startup Package Discussion with StartupTech',
|
|
79
|
+
'Discuss startup-friendly pricing and phased implementation approach for growing company needs.',
|
|
80
|
+
'scheduled',
|
|
81
|
+
'high',
|
|
82
|
+
NOW() + INTERVAL '1 day',
|
|
83
|
+
NULL,
|
|
84
|
+
45,
|
|
85
|
+
NULL,
|
|
86
|
+
NULL,
|
|
87
|
+
'contact-crm-014',
|
|
88
|
+
'company-crm-007',
|
|
89
|
+
NULL,
|
|
90
|
+
'usr-crm-sales-rep',
|
|
91
|
+
'usr-crm-sales-rep',
|
|
92
|
+
'team-crm-company',
|
|
93
|
+
NOW() - INTERVAL '1 day',
|
|
94
|
+
NOW() - INTERVAL '1 day'
|
|
95
|
+
),
|
|
96
|
+
|
|
97
|
+
-- Email Activities
|
|
98
|
+
(
|
|
99
|
+
'act-crm-004',
|
|
100
|
+
'email',
|
|
101
|
+
'Follow-up Email to John Patterson',
|
|
102
|
+
'Sent detailed proposal and pricing information for enterprise CRM solution. Included case studies from similar manufacturing companies.',
|
|
103
|
+
'completed',
|
|
104
|
+
'high',
|
|
105
|
+
NOW() - INTERVAL '2 days',
|
|
106
|
+
NOW() - INTERVAL '1 day',
|
|
107
|
+
30,
|
|
108
|
+
'Successful - Proposal received positively',
|
|
109
|
+
NULL,
|
|
110
|
+
'contact-crm-004',
|
|
111
|
+
'company-crm-002',
|
|
112
|
+
'opp-crm-003',
|
|
113
|
+
'usr-crm-sales-rep',
|
|
114
|
+
'usr-crm-sales-mgr',
|
|
115
|
+
'team-crm-company',
|
|
116
|
+
NOW() - INTERVAL '3 days',
|
|
117
|
+
NOW() - INTERVAL '1 day'
|
|
118
|
+
),
|
|
119
|
+
(
|
|
120
|
+
'act-crm-005',
|
|
121
|
+
'email',
|
|
122
|
+
'Security Assessment Results to Elizabeth Taylor',
|
|
123
|
+
'Shared comprehensive security assessment results and compliance documentation required for FinanceFirst implementation.',
|
|
124
|
+
'completed',
|
|
125
|
+
'high',
|
|
126
|
+
NOW() - INTERVAL '5 days',
|
|
127
|
+
NOW() - INTERVAL '5 days',
|
|
128
|
+
45,
|
|
129
|
+
'Successful - Moved to technical review',
|
|
130
|
+
NULL,
|
|
131
|
+
'contact-crm-008',
|
|
132
|
+
'company-crm-004',
|
|
133
|
+
'opp-crm-007',
|
|
134
|
+
'usr-crm-sales-rep',
|
|
135
|
+
'usr-crm-sales-mgr',
|
|
136
|
+
'team-crm-company',
|
|
137
|
+
NOW() - INTERVAL '8 days',
|
|
138
|
+
NOW() - INTERVAL '5 days'
|
|
139
|
+
),
|
|
140
|
+
|
|
141
|
+
-- Meeting Activities
|
|
142
|
+
(
|
|
143
|
+
'act-crm-006',
|
|
144
|
+
'meeting',
|
|
145
|
+
'Quarterly Business Review with Amanda Davis',
|
|
146
|
+
'Regular QBR to discuss CRM performance, new feature requests, and expansion opportunities at TechnoSoft Solutions.',
|
|
147
|
+
'completed',
|
|
148
|
+
'medium',
|
|
149
|
+
NOW() - INTERVAL '7 days',
|
|
150
|
+
NOW() - INTERVAL '7 days',
|
|
151
|
+
90,
|
|
152
|
+
'Successful - Expansion opportunity identified',
|
|
153
|
+
'TechnoSoft HQ, San Francisco',
|
|
154
|
+
'contact-crm-001',
|
|
155
|
+
'company-crm-001',
|
|
156
|
+
NULL,
|
|
157
|
+
'usr-crm-sales-mgr',
|
|
158
|
+
'usr-crm-ceo',
|
|
159
|
+
'team-crm-company',
|
|
160
|
+
NOW() - INTERVAL '10 days',
|
|
161
|
+
NOW() - INTERVAL '7 days'
|
|
162
|
+
),
|
|
163
|
+
(
|
|
164
|
+
'act-crm-007',
|
|
165
|
+
'meeting',
|
|
166
|
+
'Implementation Kickoff with Global Manufacturing',
|
|
167
|
+
'Project kickoff meeting to establish timeline, roles, and data migration plan for enterprise CRM implementation.',
|
|
168
|
+
'completed',
|
|
169
|
+
'high',
|
|
170
|
+
NOW() - INTERVAL '10 days',
|
|
171
|
+
NOW() - INTERVAL '10 days',
|
|
172
|
+
120,
|
|
173
|
+
'Successful - Project plan approved',
|
|
174
|
+
'Global Manufacturing HQ, Detroit',
|
|
175
|
+
'contact-crm-004',
|
|
176
|
+
'company-crm-002',
|
|
177
|
+
'opp-crm-003',
|
|
178
|
+
'usr-crm-sales-rep',
|
|
179
|
+
'usr-crm-sales-mgr',
|
|
180
|
+
'team-crm-company',
|
|
181
|
+
NOW() - INTERVAL '15 days',
|
|
182
|
+
NOW() - INTERVAL '10 days'
|
|
183
|
+
),
|
|
184
|
+
(
|
|
185
|
+
'act-crm-008',
|
|
186
|
+
'meeting',
|
|
187
|
+
'Training Session Planning for FinanceFirst',
|
|
188
|
+
'Planning session for comprehensive user training program including role-based training modules and certification process.',
|
|
189
|
+
'scheduled',
|
|
190
|
+
'medium',
|
|
191
|
+
NOW() + INTERVAL '7 days',
|
|
192
|
+
NULL,
|
|
193
|
+
120,
|
|
194
|
+
NULL,
|
|
195
|
+
'FinanceFirst Tower, New York',
|
|
196
|
+
'contact-crm-008',
|
|
197
|
+
'company-crm-004',
|
|
198
|
+
'opp-crm-007',
|
|
199
|
+
'usr-crm-sales-rep',
|
|
200
|
+
'usr-crm-sales-mgr',
|
|
201
|
+
'team-crm-company',
|
|
202
|
+
NOW() - INTERVAL '3 days',
|
|
203
|
+
NOW() - INTERVAL '1 day'
|
|
204
|
+
),
|
|
205
|
+
|
|
206
|
+
-- Demo Activities
|
|
207
|
+
(
|
|
208
|
+
'act-crm-009',
|
|
209
|
+
'demo',
|
|
210
|
+
'Demo Presentation for Patricia Martinez',
|
|
211
|
+
'Scheduled product demonstration focusing on healthcare compliance features and integration capabilities with existing systems.',
|
|
212
|
+
'scheduled',
|
|
213
|
+
'high',
|
|
214
|
+
NOW() + INTERVAL '2 days',
|
|
215
|
+
NULL,
|
|
216
|
+
60,
|
|
217
|
+
NULL,
|
|
218
|
+
'Virtual - Zoom',
|
|
219
|
+
'contact-crm-006',
|
|
220
|
+
'company-crm-003',
|
|
221
|
+
'opp-crm-005',
|
|
222
|
+
'usr-crm-sales-mgr',
|
|
223
|
+
'usr-crm-ceo',
|
|
224
|
+
'team-crm-company',
|
|
225
|
+
NOW() - INTERVAL '1 day',
|
|
226
|
+
NOW() - INTERVAL '1 day'
|
|
227
|
+
),
|
|
228
|
+
(
|
|
229
|
+
'act-crm-010',
|
|
230
|
+
'demo',
|
|
231
|
+
'Product Demo for Maria Gonzalez',
|
|
232
|
+
'Customized demo focusing on educational features, student data management, and parent communication tools.',
|
|
233
|
+
'scheduled',
|
|
234
|
+
'medium',
|
|
235
|
+
NOW() + INTERVAL '1 day',
|
|
236
|
+
NULL,
|
|
237
|
+
60,
|
|
238
|
+
NULL,
|
|
239
|
+
'Virtual - Teams',
|
|
240
|
+
'contact-crm-010',
|
|
241
|
+
'company-crm-005',
|
|
242
|
+
'opp-crm-008',
|
|
243
|
+
'usr-crm-sales-rep',
|
|
244
|
+
'usr-crm-sales-mgr',
|
|
245
|
+
'team-crm-company',
|
|
246
|
+
NOW() - INTERVAL '2 days',
|
|
247
|
+
NOW() - INTERVAL '1 day'
|
|
248
|
+
),
|
|
249
|
+
(
|
|
250
|
+
'act-crm-011',
|
|
251
|
+
'demo',
|
|
252
|
+
'Educational CRM Demo for EduTech',
|
|
253
|
+
'Customized demonstration showing student lifecycle management, parent communication, and academic tracking features.',
|
|
254
|
+
'scheduled',
|
|
255
|
+
'medium',
|
|
256
|
+
NOW() + INTERVAL '3 days',
|
|
257
|
+
NULL,
|
|
258
|
+
90,
|
|
259
|
+
NULL,
|
|
260
|
+
'Virtual - Google Meet',
|
|
261
|
+
'contact-crm-010',
|
|
262
|
+
'company-crm-005',
|
|
263
|
+
'opp-crm-008',
|
|
264
|
+
'usr-crm-sales-rep',
|
|
265
|
+
'usr-crm-sales-mgr',
|
|
266
|
+
'team-crm-company',
|
|
267
|
+
NOW() - INTERVAL '2 days',
|
|
268
|
+
NOW() - INTERVAL '1 day'
|
|
269
|
+
),
|
|
270
|
+
|
|
271
|
+
-- Task Activities
|
|
272
|
+
(
|
|
273
|
+
'act-crm-012',
|
|
274
|
+
'task',
|
|
275
|
+
'Prepare Custom Proposal for Healthcare Innovations',
|
|
276
|
+
'Create customized proposal addressing healthcare specific needs including HIPAA compliance and EMR integration.',
|
|
277
|
+
'in_progress',
|
|
278
|
+
'high',
|
|
279
|
+
NOW() + INTERVAL '3 days',
|
|
280
|
+
NULL,
|
|
281
|
+
120,
|
|
282
|
+
NULL,
|
|
283
|
+
NULL,
|
|
284
|
+
NULL,
|
|
285
|
+
'company-crm-003',
|
|
286
|
+
'opp-crm-005',
|
|
287
|
+
'usr-crm-sales-mgr',
|
|
288
|
+
'usr-crm-ceo',
|
|
289
|
+
'team-crm-company',
|
|
290
|
+
NOW() - INTERVAL '2 days',
|
|
291
|
+
NOW() - INTERVAL '1 day'
|
|
292
|
+
),
|
|
293
|
+
(
|
|
294
|
+
'act-crm-013',
|
|
295
|
+
'task',
|
|
296
|
+
'Contract Renewal Preparation for TechnoSoft',
|
|
297
|
+
'Prepare renewal proposal with additional modules and expansion options based on current usage and growth projections.',
|
|
298
|
+
'in_progress',
|
|
299
|
+
'high',
|
|
300
|
+
NOW() + INTERVAL '15 days',
|
|
301
|
+
NULL,
|
|
302
|
+
180,
|
|
303
|
+
NULL,
|
|
304
|
+
NULL,
|
|
305
|
+
NULL,
|
|
306
|
+
'company-crm-001',
|
|
307
|
+
'opp-crm-001',
|
|
308
|
+
'usr-crm-sales-mgr',
|
|
309
|
+
'usr-crm-ceo',
|
|
310
|
+
'team-crm-company',
|
|
311
|
+
NOW() - INTERVAL '5 days',
|
|
312
|
+
NOW() - INTERVAL '2 days'
|
|
313
|
+
),
|
|
314
|
+
(
|
|
315
|
+
'act-crm-014',
|
|
316
|
+
'task',
|
|
317
|
+
'RetailMax Integration Documentation',
|
|
318
|
+
'Prepare integration documentation for connecting CRM with existing POS and inventory management systems.',
|
|
319
|
+
'in_progress',
|
|
320
|
+
'medium',
|
|
321
|
+
NOW() + INTERVAL '10 days',
|
|
322
|
+
NULL,
|
|
323
|
+
300,
|
|
324
|
+
NULL,
|
|
325
|
+
NULL,
|
|
326
|
+
'contact-crm-012',
|
|
327
|
+
'company-crm-006',
|
|
328
|
+
'opp-crm-009',
|
|
329
|
+
'usr-crm-sales-rep',
|
|
330
|
+
'usr-crm-sales-mgr',
|
|
331
|
+
'team-crm-company',
|
|
332
|
+
NOW() - INTERVAL '7 days',
|
|
333
|
+
NOW() - INTERVAL '2 days'
|
|
334
|
+
),
|
|
335
|
+
(
|
|
336
|
+
'act-crm-015',
|
|
337
|
+
'task',
|
|
338
|
+
'Healthcare ROI Analysis Preparation',
|
|
339
|
+
'Prepare detailed ROI analysis showing cost savings and efficiency gains from CRM implementation in healthcare setting.',
|
|
340
|
+
'in_progress',
|
|
341
|
+
'medium',
|
|
342
|
+
NOW() + INTERVAL '5 days',
|
|
343
|
+
NULL,
|
|
344
|
+
180,
|
|
345
|
+
NULL,
|
|
346
|
+
NULL,
|
|
347
|
+
NULL,
|
|
348
|
+
'company-crm-003',
|
|
349
|
+
'opp-crm-005',
|
|
350
|
+
'usr-crm-sales-mgr',
|
|
351
|
+
'usr-crm-ceo',
|
|
352
|
+
'team-crm-company',
|
|
353
|
+
NOW() - INTERVAL '3 days',
|
|
354
|
+
NOW() - INTERVAL '1 day'
|
|
355
|
+
),
|
|
356
|
+
|
|
357
|
+
-- Follow-up Activities
|
|
358
|
+
(
|
|
359
|
+
'act-crm-016',
|
|
360
|
+
'follow_up',
|
|
361
|
+
'Healthcare Compliance Follow-up',
|
|
362
|
+
'Follow-up on compliance questions raised during initial presentation. Research additional healthcare-specific features.',
|
|
363
|
+
'completed',
|
|
364
|
+
'medium',
|
|
365
|
+
NOW() - INTERVAL '2 days',
|
|
366
|
+
NOW() - INTERVAL '2 days',
|
|
367
|
+
60,
|
|
368
|
+
'Partially successful - Additional docs needed',
|
|
369
|
+
NULL,
|
|
370
|
+
'contact-crm-006',
|
|
371
|
+
'company-crm-003',
|
|
372
|
+
'opp-crm-005',
|
|
373
|
+
'usr-crm-sales-mgr',
|
|
374
|
+
'usr-crm-ceo',
|
|
375
|
+
'team-crm-company',
|
|
376
|
+
NOW() - INTERVAL '5 days',
|
|
377
|
+
NOW() - INTERVAL '2 days'
|
|
378
|
+
),
|
|
379
|
+
(
|
|
380
|
+
'act-crm-017',
|
|
381
|
+
'follow_up',
|
|
382
|
+
'EduTech Implementation Status Check',
|
|
383
|
+
'Regular check-in to monitor implementation progress and address any technical challenges or user adoption issues.',
|
|
384
|
+
'scheduled',
|
|
385
|
+
'medium',
|
|
386
|
+
NOW() + INTERVAL '14 days',
|
|
387
|
+
NULL,
|
|
388
|
+
45,
|
|
389
|
+
NULL,
|
|
390
|
+
NULL,
|
|
391
|
+
'contact-crm-010',
|
|
392
|
+
'company-crm-005',
|
|
393
|
+
'opp-crm-008',
|
|
394
|
+
'usr-crm-sales-rep',
|
|
395
|
+
'usr-crm-sales-mgr',
|
|
396
|
+
'team-crm-company',
|
|
397
|
+
NOW() - INTERVAL '2 days',
|
|
398
|
+
NOW() - INTERVAL '1 day'
|
|
399
|
+
),
|
|
400
|
+
(
|
|
401
|
+
'act-crm-018',
|
|
402
|
+
'follow_up',
|
|
403
|
+
'Startup Growth Strategy Call',
|
|
404
|
+
'Strategic call to discuss how CRM can support rapid growth phase and scaling challenges at StartupTech.',
|
|
405
|
+
'scheduled',
|
|
406
|
+
'high',
|
|
407
|
+
NOW() + INTERVAL '4 days',
|
|
408
|
+
NULL,
|
|
409
|
+
60,
|
|
410
|
+
NULL,
|
|
411
|
+
NULL,
|
|
412
|
+
'contact-crm-014',
|
|
413
|
+
'company-crm-007',
|
|
414
|
+
'opp-crm-010',
|
|
415
|
+
'usr-crm-sales-rep',
|
|
416
|
+
'usr-crm-sales-rep',
|
|
417
|
+
'team-crm-company',
|
|
418
|
+
NOW() - INTERVAL '1 day',
|
|
419
|
+
NOW() - INTERVAL '1 day'
|
|
420
|
+
);
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Campaigns Entity Configuration - CRM
|
|
3
|
+
*
|
|
4
|
+
* Marketing campaigns.
|
|
5
|
+
* Updated with team support and granular permissions.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { Megaphone } from 'lucide-react'
|
|
9
|
+
import type { EntityConfig } from '@nextsparkjs/core/lib/entities/types'
|
|
10
|
+
import { campaignsFields } from './campaigns.fields'
|
|
11
|
+
|
|
12
|
+
export const campaignsEntityConfig: EntityConfig = {
|
|
13
|
+
// ==========================================
|
|
14
|
+
// 1. BASIC IDENTIFICATION
|
|
15
|
+
// ==========================================
|
|
16
|
+
slug: 'campaigns',
|
|
17
|
+
enabled: true,
|
|
18
|
+
names: {
|
|
19
|
+
singular: 'campaign',
|
|
20
|
+
plural: 'Campaigns'
|
|
21
|
+
},
|
|
22
|
+
icon: Megaphone,
|
|
23
|
+
|
|
24
|
+
// ==========================================
|
|
25
|
+
// 2. ACCESS AND SCOPE CONFIGURATION
|
|
26
|
+
// ==========================================
|
|
27
|
+
access: {
|
|
28
|
+
public: false,
|
|
29
|
+
api: true,
|
|
30
|
+
metadata: true,
|
|
31
|
+
shared: true
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
// ==========================================
|
|
35
|
+
// 3. UI/UX FEATURES
|
|
36
|
+
// ==========================================
|
|
37
|
+
ui: {
|
|
38
|
+
dashboard: {
|
|
39
|
+
showInMenu: true,
|
|
40
|
+
showInTopbar: true
|
|
41
|
+
},
|
|
42
|
+
public: {
|
|
43
|
+
hasArchivePage: false,
|
|
44
|
+
hasSinglePage: false
|
|
45
|
+
},
|
|
46
|
+
features: {
|
|
47
|
+
searchable: true,
|
|
48
|
+
sortable: true,
|
|
49
|
+
filterable: true,
|
|
50
|
+
bulkOperations: false,
|
|
51
|
+
importExport: false
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
// ==========================================
|
|
56
|
+
// FIELDS
|
|
57
|
+
// ==========================================
|
|
58
|
+
fields: campaignsFields,
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export default campaignsEntityConfig
|