@nextsparkjs/theme-productivity 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/README.md +76 -0
- package/about.md +123 -0
- package/components/CardDetailModal.tsx +318 -0
- package/components/KanbanBoard.tsx +612 -0
- package/components/KanbanCard.tsx +218 -0
- package/components/KanbanColumn.tsx +264 -0
- package/components/SortableList.tsx +46 -0
- package/components/index.ts +4 -0
- package/config/app.config.ts +172 -0
- package/config/billing.config.ts +187 -0
- package/config/dashboard.config.ts +357 -0
- package/config/dev.config.ts +55 -0
- package/config/features.config.ts +256 -0
- package/config/flows.config.ts +484 -0
- package/config/permissions.config.ts +167 -0
- package/config/theme.config.ts +106 -0
- package/entities/boards/boards.config.ts +61 -0
- package/entities/boards/boards.fields.ts +154 -0
- package/entities/boards/boards.service.ts +256 -0
- package/entities/boards/boards.types.ts +57 -0
- package/entities/boards/messages/en.json +80 -0
- package/entities/boards/messages/es.json +80 -0
- package/entities/boards/migrations/001_boards_table.sql +83 -0
- package/entities/cards/cards.config.ts +61 -0
- package/entities/cards/cards.fields.ts +242 -0
- package/entities/cards/cards.service.ts +336 -0
- package/entities/cards/cards.types.ts +79 -0
- package/entities/cards/messages/en.json +114 -0
- package/entities/cards/messages/es.json +114 -0
- package/entities/cards/migrations/020_cards_table.sql +92 -0
- package/entities/lists/lists.config.ts +61 -0
- package/entities/lists/lists.fields.ts +105 -0
- package/entities/lists/lists.service.ts +252 -0
- package/entities/lists/lists.types.ts +55 -0
- package/entities/lists/messages/en.json +60 -0
- package/entities/lists/messages/es.json +60 -0
- package/entities/lists/migrations/010_lists_table.sql +79 -0
- package/lib/selectors.ts +206 -0
- package/messages/en.json +79 -0
- package/messages/es.json +79 -0
- package/migrations/999_theme_sample_data.sql +922 -0
- package/migrations/999a_initial_sample_data.sql +377 -0
- package/migrations/999b_abundant_sample_data.sql +346 -0
- package/package.json +17 -0
- package/permissions-matrix.md +122 -0
- package/styles/components.css +460 -0
- package/styles/globals.css +560 -0
- package/templates/dashboard/(main)/boards/[id]/[cardId]/page.tsx +238 -0
- package/templates/dashboard/(main)/boards/[id]/edit/page.tsx +390 -0
- package/templates/dashboard/(main)/boards/[id]/page.tsx +236 -0
- package/templates/dashboard/(main)/boards/create/page.tsx +236 -0
- package/templates/dashboard/(main)/boards/page.tsx +335 -0
- package/templates/dashboard/(main)/layout.tsx +32 -0
- package/templates/dashboard/(main)/page.tsx +592 -0
- package/templates/shared/ProductivityMobileNav.tsx +410 -0
- package/templates/shared/ProductivitySidebar.tsx +538 -0
- package/templates/shared/ProductivityTopBar.tsx +317 -0
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
-- ============================================================================
|
|
2
|
+
-- Productivity Theme - Initial Boards/Lists/Cards Sample Data
|
|
3
|
+
-- Runs AFTER: 999_theme_sample_data.sql (which creates users)
|
|
4
|
+
-- Runs BEFORE: 999b_abundant_sample_data.sql (which adds more data)
|
|
5
|
+
-- ============================================================================
|
|
6
|
+
|
|
7
|
+
-- ============================================
|
|
8
|
+
-- INITIAL BOARDS (3 boards)
|
|
9
|
+
-- ============================================
|
|
10
|
+
|
|
11
|
+
INSERT INTO "boards" (
|
|
12
|
+
id,
|
|
13
|
+
name,
|
|
14
|
+
description,
|
|
15
|
+
color,
|
|
16
|
+
"position",
|
|
17
|
+
"userId",
|
|
18
|
+
"teamId",
|
|
19
|
+
"createdAt",
|
|
20
|
+
"updatedAt"
|
|
21
|
+
) VALUES
|
|
22
|
+
(
|
|
23
|
+
'board-prod-001',
|
|
24
|
+
'Product Roadmap',
|
|
25
|
+
'Main product development roadmap and feature planning',
|
|
26
|
+
'blue',
|
|
27
|
+
0,
|
|
28
|
+
'usr-prod-pm-001',
|
|
29
|
+
'team-prod-product',
|
|
30
|
+
NOW(),
|
|
31
|
+
NOW()
|
|
32
|
+
),
|
|
33
|
+
(
|
|
34
|
+
'board-prod-002',
|
|
35
|
+
'Sprint Board',
|
|
36
|
+
'Current sprint tasks and progress tracking',
|
|
37
|
+
'green',
|
|
38
|
+
1,
|
|
39
|
+
'usr-prod-dev-001',
|
|
40
|
+
'team-prod-product',
|
|
41
|
+
NOW(),
|
|
42
|
+
NOW()
|
|
43
|
+
),
|
|
44
|
+
(
|
|
45
|
+
'board-prod-003',
|
|
46
|
+
'Design System',
|
|
47
|
+
'UI components and design documentation',
|
|
48
|
+
'purple',
|
|
49
|
+
2,
|
|
50
|
+
'usr-prod-design-001',
|
|
51
|
+
'team-prod-product',
|
|
52
|
+
NOW(),
|
|
53
|
+
NOW()
|
|
54
|
+
)
|
|
55
|
+
ON CONFLICT (id) DO NOTHING;
|
|
56
|
+
|
|
57
|
+
-- ============================================
|
|
58
|
+
-- INITIAL LISTS (11 lists)
|
|
59
|
+
-- ============================================
|
|
60
|
+
|
|
61
|
+
INSERT INTO "lists" (
|
|
62
|
+
id,
|
|
63
|
+
name,
|
|
64
|
+
"position",
|
|
65
|
+
"boardId",
|
|
66
|
+
"userId",
|
|
67
|
+
"teamId",
|
|
68
|
+
"createdAt",
|
|
69
|
+
"updatedAt"
|
|
70
|
+
) VALUES
|
|
71
|
+
-- Product Roadmap lists
|
|
72
|
+
(
|
|
73
|
+
'list-prod-001',
|
|
74
|
+
'Backlog',
|
|
75
|
+
0,
|
|
76
|
+
'board-prod-001',
|
|
77
|
+
'usr-prod-pm-001',
|
|
78
|
+
'team-prod-product',
|
|
79
|
+
NOW(),
|
|
80
|
+
NOW()
|
|
81
|
+
),
|
|
82
|
+
(
|
|
83
|
+
'list-prod-002',
|
|
84
|
+
'Planning',
|
|
85
|
+
1,
|
|
86
|
+
'board-prod-001',
|
|
87
|
+
'usr-prod-pm-001',
|
|
88
|
+
'team-prod-product',
|
|
89
|
+
NOW(),
|
|
90
|
+
NOW()
|
|
91
|
+
),
|
|
92
|
+
(
|
|
93
|
+
'list-prod-003',
|
|
94
|
+
'In Development',
|
|
95
|
+
2,
|
|
96
|
+
'board-prod-001',
|
|
97
|
+
'usr-prod-pm-001',
|
|
98
|
+
'team-prod-product',
|
|
99
|
+
NOW(),
|
|
100
|
+
NOW()
|
|
101
|
+
),
|
|
102
|
+
(
|
|
103
|
+
'list-prod-004',
|
|
104
|
+
'Released',
|
|
105
|
+
3,
|
|
106
|
+
'board-prod-001',
|
|
107
|
+
'usr-prod-pm-001',
|
|
108
|
+
'team-prod-product',
|
|
109
|
+
NOW(),
|
|
110
|
+
NOW()
|
|
111
|
+
),
|
|
112
|
+
|
|
113
|
+
-- Sprint Board lists
|
|
114
|
+
(
|
|
115
|
+
'list-prod-005',
|
|
116
|
+
'To Do',
|
|
117
|
+
0,
|
|
118
|
+
'board-prod-002',
|
|
119
|
+
'usr-prod-dev-001',
|
|
120
|
+
'team-prod-product',
|
|
121
|
+
NOW(),
|
|
122
|
+
NOW()
|
|
123
|
+
),
|
|
124
|
+
(
|
|
125
|
+
'list-prod-006',
|
|
126
|
+
'In Progress',
|
|
127
|
+
1,
|
|
128
|
+
'board-prod-002',
|
|
129
|
+
'usr-prod-dev-001',
|
|
130
|
+
'team-prod-product',
|
|
131
|
+
NOW(),
|
|
132
|
+
NOW()
|
|
133
|
+
),
|
|
134
|
+
(
|
|
135
|
+
'list-prod-007',
|
|
136
|
+
'Code Review',
|
|
137
|
+
2,
|
|
138
|
+
'board-prod-002',
|
|
139
|
+
'usr-prod-dev-001',
|
|
140
|
+
'team-prod-product',
|
|
141
|
+
NOW(),
|
|
142
|
+
NOW()
|
|
143
|
+
),
|
|
144
|
+
(
|
|
145
|
+
'list-prod-008',
|
|
146
|
+
'Done',
|
|
147
|
+
3,
|
|
148
|
+
'board-prod-002',
|
|
149
|
+
'usr-prod-dev-001',
|
|
150
|
+
'team-prod-product',
|
|
151
|
+
NOW(),
|
|
152
|
+
NOW()
|
|
153
|
+
),
|
|
154
|
+
|
|
155
|
+
-- Design System lists
|
|
156
|
+
(
|
|
157
|
+
'list-prod-009',
|
|
158
|
+
'Components',
|
|
159
|
+
0,
|
|
160
|
+
'board-prod-003',
|
|
161
|
+
'usr-prod-design-001',
|
|
162
|
+
'team-prod-product',
|
|
163
|
+
NOW(),
|
|
164
|
+
NOW()
|
|
165
|
+
),
|
|
166
|
+
(
|
|
167
|
+
'list-prod-010',
|
|
168
|
+
'Patterns',
|
|
169
|
+
1,
|
|
170
|
+
'board-prod-003',
|
|
171
|
+
'usr-prod-design-001',
|
|
172
|
+
'team-prod-product',
|
|
173
|
+
NOW(),
|
|
174
|
+
NOW()
|
|
175
|
+
),
|
|
176
|
+
(
|
|
177
|
+
'list-prod-011',
|
|
178
|
+
'Guidelines',
|
|
179
|
+
2,
|
|
180
|
+
'board-prod-003',
|
|
181
|
+
'usr-prod-design-001',
|
|
182
|
+
'team-prod-product',
|
|
183
|
+
NOW(),
|
|
184
|
+
NOW()
|
|
185
|
+
)
|
|
186
|
+
ON CONFLICT (id) DO NOTHING;
|
|
187
|
+
|
|
188
|
+
-- ============================================
|
|
189
|
+
-- INITIAL CARDS (9 cards)
|
|
190
|
+
-- ============================================
|
|
191
|
+
|
|
192
|
+
INSERT INTO "cards" (
|
|
193
|
+
id,
|
|
194
|
+
title,
|
|
195
|
+
description,
|
|
196
|
+
"position",
|
|
197
|
+
priority,
|
|
198
|
+
"dueDate",
|
|
199
|
+
labels,
|
|
200
|
+
"listId",
|
|
201
|
+
"boardId",
|
|
202
|
+
"userId",
|
|
203
|
+
"teamId",
|
|
204
|
+
"createdAt",
|
|
205
|
+
"updatedAt"
|
|
206
|
+
) VALUES
|
|
207
|
+
-- Product Roadmap - Backlog (board-prod-001)
|
|
208
|
+
(
|
|
209
|
+
'card-prod-001',
|
|
210
|
+
'User authentication v2',
|
|
211
|
+
'Implement OAuth2 and SSO support for enterprise customers',
|
|
212
|
+
0,
|
|
213
|
+
'high',
|
|
214
|
+
NOW() + INTERVAL '30 days',
|
|
215
|
+
'["feature", "security"]'::jsonb,
|
|
216
|
+
'list-prod-001',
|
|
217
|
+
'board-prod-001',
|
|
218
|
+
'usr-prod-pm-001',
|
|
219
|
+
'team-prod-product',
|
|
220
|
+
NOW(),
|
|
221
|
+
NOW()
|
|
222
|
+
),
|
|
223
|
+
(
|
|
224
|
+
'card-prod-002',
|
|
225
|
+
'Dashboard analytics',
|
|
226
|
+
'Add usage analytics and reporting to the dashboard',
|
|
227
|
+
1,
|
|
228
|
+
'medium',
|
|
229
|
+
NOW() + INTERVAL '45 days',
|
|
230
|
+
'["feature", "analytics"]'::jsonb,
|
|
231
|
+
'list-prod-001',
|
|
232
|
+
'board-prod-001',
|
|
233
|
+
'usr-prod-pm-001',
|
|
234
|
+
'team-prod-product',
|
|
235
|
+
NOW(),
|
|
236
|
+
NOW()
|
|
237
|
+
),
|
|
238
|
+
|
|
239
|
+
-- Product Roadmap - In Development (board-prod-001)
|
|
240
|
+
(
|
|
241
|
+
'card-prod-003',
|
|
242
|
+
'Mobile responsive design',
|
|
243
|
+
'Ensure all pages work well on mobile devices',
|
|
244
|
+
0,
|
|
245
|
+
'high',
|
|
246
|
+
NOW() + INTERVAL '7 days',
|
|
247
|
+
'["design", "mobile"]'::jsonb,
|
|
248
|
+
'list-prod-003',
|
|
249
|
+
'board-prod-001',
|
|
250
|
+
'usr-prod-design-001',
|
|
251
|
+
'team-prod-product',
|
|
252
|
+
NOW(),
|
|
253
|
+
NOW()
|
|
254
|
+
),
|
|
255
|
+
|
|
256
|
+
-- Sprint Board - To Do (board-prod-002)
|
|
257
|
+
(
|
|
258
|
+
'card-prod-004',
|
|
259
|
+
'Fix login page bug',
|
|
260
|
+
'Users report intermittent login failures on Safari',
|
|
261
|
+
0,
|
|
262
|
+
'urgent',
|
|
263
|
+
NOW() + INTERVAL '2 days',
|
|
264
|
+
'["bug", "auth"]'::jsonb,
|
|
265
|
+
'list-prod-005',
|
|
266
|
+
'board-prod-002',
|
|
267
|
+
'usr-prod-dev-001',
|
|
268
|
+
'team-prod-product',
|
|
269
|
+
NOW(),
|
|
270
|
+
NOW()
|
|
271
|
+
),
|
|
272
|
+
(
|
|
273
|
+
'card-prod-005',
|
|
274
|
+
'Update API documentation',
|
|
275
|
+
'Document new endpoints added in v2.1',
|
|
276
|
+
1,
|
|
277
|
+
'low',
|
|
278
|
+
NOW() + INTERVAL '5 days',
|
|
279
|
+
'["docs"]'::jsonb,
|
|
280
|
+
'list-prod-005',
|
|
281
|
+
'board-prod-002',
|
|
282
|
+
'usr-prod-dev-001',
|
|
283
|
+
'team-prod-product',
|
|
284
|
+
NOW(),
|
|
285
|
+
NOW()
|
|
286
|
+
),
|
|
287
|
+
|
|
288
|
+
-- Sprint Board - In Progress (board-prod-002)
|
|
289
|
+
(
|
|
290
|
+
'card-prod-006',
|
|
291
|
+
'Implement search feature',
|
|
292
|
+
'Add full-text search to the main dashboard',
|
|
293
|
+
0,
|
|
294
|
+
'high',
|
|
295
|
+
NOW() + INTERVAL '3 days',
|
|
296
|
+
'["feature", "search"]'::jsonb,
|
|
297
|
+
'list-prod-006',
|
|
298
|
+
'board-prod-002',
|
|
299
|
+
'usr-prod-dev-001',
|
|
300
|
+
'team-prod-product',
|
|
301
|
+
NOW(),
|
|
302
|
+
NOW()
|
|
303
|
+
),
|
|
304
|
+
|
|
305
|
+
-- Design System - Components (board-prod-003)
|
|
306
|
+
(
|
|
307
|
+
'card-prod-007',
|
|
308
|
+
'Button component',
|
|
309
|
+
'Primary, secondary, and ghost button variants',
|
|
310
|
+
0,
|
|
311
|
+
'medium',
|
|
312
|
+
NULL,
|
|
313
|
+
'["component", "ui"]'::jsonb,
|
|
314
|
+
'list-prod-009',
|
|
315
|
+
'board-prod-003',
|
|
316
|
+
'usr-prod-design-001',
|
|
317
|
+
'team-prod-product',
|
|
318
|
+
NOW(),
|
|
319
|
+
NOW()
|
|
320
|
+
),
|
|
321
|
+
(
|
|
322
|
+
'card-prod-008',
|
|
323
|
+
'Input fields',
|
|
324
|
+
'Text, email, password, and textarea components',
|
|
325
|
+
1,
|
|
326
|
+
'medium',
|
|
327
|
+
NULL,
|
|
328
|
+
'["component", "forms"]'::jsonb,
|
|
329
|
+
'list-prod-009',
|
|
330
|
+
'board-prod-003',
|
|
331
|
+
'usr-prod-design-001',
|
|
332
|
+
'team-prod-product',
|
|
333
|
+
NOW(),
|
|
334
|
+
NOW()
|
|
335
|
+
),
|
|
336
|
+
|
|
337
|
+
-- Design System - Patterns (board-prod-003)
|
|
338
|
+
(
|
|
339
|
+
'card-prod-009',
|
|
340
|
+
'Form validation pattern',
|
|
341
|
+
'Standard way to show validation errors',
|
|
342
|
+
0,
|
|
343
|
+
'low',
|
|
344
|
+
NULL,
|
|
345
|
+
'["pattern", "forms"]'::jsonb,
|
|
346
|
+
'list-prod-010',
|
|
347
|
+
'board-prod-003',
|
|
348
|
+
'usr-prod-design-001',
|
|
349
|
+
'team-prod-product',
|
|
350
|
+
NOW(),
|
|
351
|
+
NOW()
|
|
352
|
+
)
|
|
353
|
+
ON CONFLICT (id) DO NOTHING;
|
|
354
|
+
|
|
355
|
+
-- Success message
|
|
356
|
+
DO $$
|
|
357
|
+
BEGIN
|
|
358
|
+
RAISE NOTICE '';
|
|
359
|
+
RAISE NOTICE '═══════════════════════════════════════════════════════════';
|
|
360
|
+
RAISE NOTICE ' Productivity Theme - Initial Sample Data';
|
|
361
|
+
RAISE NOTICE '═══════════════════════════════════════════════════════════';
|
|
362
|
+
RAISE NOTICE '';
|
|
363
|
+
RAISE NOTICE ' 📋 BOARDS: 3';
|
|
364
|
+
RAISE NOTICE ' - Product Roadmap (blue)';
|
|
365
|
+
RAISE NOTICE ' - Sprint Board (green)';
|
|
366
|
+
RAISE NOTICE ' - Design System (purple)';
|
|
367
|
+
RAISE NOTICE '';
|
|
368
|
+
RAISE NOTICE ' 📑 LISTS: 11';
|
|
369
|
+
RAISE NOTICE ' - Roadmap: Backlog, Planning, In Development, Released';
|
|
370
|
+
RAISE NOTICE ' - Sprint: To Do, In Progress, Code Review, Done';
|
|
371
|
+
RAISE NOTICE ' - Design: Components, Patterns, Guidelines';
|
|
372
|
+
RAISE NOTICE '';
|
|
373
|
+
RAISE NOTICE ' 🎴 CARDS: 9';
|
|
374
|
+
RAISE NOTICE ' - Various feature, bug, and design cards';
|
|
375
|
+
RAISE NOTICE '';
|
|
376
|
+
RAISE NOTICE '═══════════════════════════════════════════════════════════';
|
|
377
|
+
END $$;
|