@burdenoff/microfe-timecampus 2026.703.7 → 2026.707.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/dist/generated/wspace-operations.js +1023 -1514
- package/dist/generated/wspace-operations.js.map +1 -1
- package/dist/generated/wspace-types.js +12 -18
- package/dist/generated/wspace-types.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/timecampus/TimeCampusRoot.js +82 -150
- package/dist/timecampus/TimeCampusRoot.js.map +1 -1
- package/dist/timecampus/TimeCampusRoutes.js +96 -164
- package/dist/timecampus/TimeCampusRoutes.js.map +1 -1
- package/dist/timecampus/components/index.js +2 -2
- package/dist/timecampus/pages/application-usage/ApplicationUsagePage.js +7 -7
- package/dist/timecampus/pages/client-portal/ClientPortalPage.js +6 -6
- package/dist/timecampus/pages/expense-tracking/ExpenseTrackingPage.js +8 -8
- package/dist/timecampus/pages/geofencing/GeofencingPage.js +6 -6
- package/dist/timecampus/pages/lifetime/FiniteLifePage.js +91 -91
- package/dist/timecampus/pages/lifetime/FiniteLifePage.js.map +1 -1
- package/dist/timecampus/pages/lifetime/LifeBalancePage.js +18 -18
- package/dist/timecampus/pages/lifetime/LifeTimelinePage.js +7 -7
- package/dist/timecampus/pages/lifetime/ValuesGoalsPage.js +1 -1
- package/dist/timecampus/pages/location-tracking/LocationTrackingPage.js +6 -6
- package/dist/timecampus/pages/projects/ProjectDetailPage.js +7 -7
- package/dist/timecampus/pages/resource-planning/ResourcePlanningPage.js +212 -212
- package/dist/timecampus/pages/resource-planning/ResourcePlanningPage.js.map +1 -1
- package/dist/timecampus/pages/team/TeamMembersPage.js +4 -4
- package/dist/timecampus/pages/time/TimeTrackingPage.js +143 -143
- package/dist/timecampus/pages/time/TimeTrackingPage.js.map +1 -1
- package/dist/timecampus/pages/time-approval/TimeApprovalPage.js +1 -1
- package/dist/timecampus/pages/timeline/TimelinePage.js +1 -1
- package/dist/timecampus/pages/timeline/TimelinePage.js.map +1 -1
- package/dist/timecampus/pages/work-patterns/WorkPatternsPage.js +87 -93
- package/dist/timecampus/pages/work-patterns/WorkPatternsPage.js.map +1 -1
- package/package.json +1 -1
- package/dist/timecampus/pages/applets/AppletStorePage.js +0 -167
- package/dist/timecampus/pages/applets/AppletStorePage.js.map +0 -1
- package/dist/timecampus/pages/applets/InstalledAppletsPage.js +0 -162
- package/dist/timecampus/pages/applets/InstalledAppletsPage.js.map +0 -1
- package/dist/timecampus/pages/application-usage/ApplicationUsageSettingsPage.js +0 -133
- package/dist/timecampus/pages/application-usage/ApplicationUsageSettingsPage.js.map +0 -1
- package/dist/timecampus/pages/channels/ChannelsPage.js +0 -418
- package/dist/timecampus/pages/channels/ChannelsPage.js.map +0 -1
- package/dist/timecampus/pages/email-tracking/EmailSettingsPage.js +0 -142
- package/dist/timecampus/pages/email-tracking/EmailSettingsPage.js.map +0 -1
- package/dist/timecampus/pages/focus-score/FocusScoreSettingsPage.js +0 -119
- package/dist/timecampus/pages/focus-score/FocusScoreSettingsPage.js.map +0 -1
- package/dist/timecampus/pages/geofencing/GeofencingSettingsPage.js +0 -110
- package/dist/timecampus/pages/geofencing/GeofencingSettingsPage.js.map +0 -1
- package/dist/timecampus/pages/industry-solutions/IndustrySolutionsPage.js +0 -83
- package/dist/timecampus/pages/industry-solutions/IndustrySolutionsPage.js.map +0 -1
- package/dist/timecampus/pages/location-tracking/LocationPrivacySettingsPage.js +0 -198
- package/dist/timecampus/pages/location-tracking/LocationPrivacySettingsPage.js.map +0 -1
- package/dist/timecampus/pages/team-activity/TeamActivitySettingsPage.js +0 -124
- package/dist/timecampus/pages/team-activity/TeamActivitySettingsPage.js.map +0 -1
- package/dist/timecampus/pages/templates/TemplateApplicationPage.js +0 -88
- package/dist/timecampus/pages/templates/TemplateApplicationPage.js.map +0 -1
- package/dist/timecampus/pages/templates/TemplateDetailPage.js +0 -135
- package/dist/timecampus/pages/templates/TemplateDetailPage.js.map +0 -1
- package/dist/timecampus/pages/templates/TemplatesPage.js +0 -191
- package/dist/timecampus/pages/templates/TemplatesPage.js.map +0 -1
- package/dist/timecampus/pages/widgets/WidgetDetailPage.js +0 -196
- package/dist/timecampus/pages/widgets/WidgetDetailPage.js.map +0 -1
- package/dist/timecampus/pages/widgets/WidgetsPage.js +0 -297
- package/dist/timecampus/pages/widgets/WidgetsPage.js.map +0 -1
- package/dist/timecampus/pages/work-patterns/WorkPatternsSettingsPage.js +0 -133
- package/dist/timecampus/pages/work-patterns/WorkPatternsSettingsPage.js.map +0 -1
- package/dist/timecampus/pages/workflows/WorkflowsPage.js +0 -311
- package/dist/timecampus/pages/workflows/WorkflowsPage.js.map +0 -1
|
@@ -2,38 +2,38 @@ import { TimeCampusProvider as e } from "./providers/TimeCampusProvider.js";
|
|
|
2
2
|
import { TimeCampusRoutes as t } from "./TimeCampusRoutes.js";
|
|
3
3
|
import { ErrorBoundary as n } from "./components/ErrorBoundary.js";
|
|
4
4
|
import { useEffect as r } from "react";
|
|
5
|
-
import { Activity as i, Brain as a, Building2 as o, CalendarDays as s, CalendarRange as c, CheckCircle as l, Clock as u,
|
|
6
|
-
import { jsx as
|
|
7
|
-
import { FeatureFlagProvider as
|
|
5
|
+
import { Activity as i, Brain as a, Building2 as o, CalendarDays as s, CalendarRange as c, CheckCircle as l, Clock as u, FolderOpen as d, Heart as f, LayoutDashboard as p, Mail as m, MapPin as h, Monitor as g, Receipt as _, Timer as v, TrendingUp as y, Users as b } from "lucide-react";
|
|
6
|
+
import { jsx as x } from "react/jsx-runtime";
|
|
7
|
+
import { FeatureFlagProvider as S } from "@burdenoff/fe-libs/shared/feature-flags";
|
|
8
8
|
//#region src/timecampus/TimeCampusRoot.tsx
|
|
9
|
-
var
|
|
10
|
-
let { registerNavItems:
|
|
9
|
+
var C = (C) => {
|
|
10
|
+
let { registerNavItems: w, registerFooterItems: T, basePath: E = "/" } = C, D = (e, t) => (e.endsWith("/") ? e.slice(0, -1) : e) + (t.startsWith("/") ? t : `/${t}`);
|
|
11
11
|
return r(() => {
|
|
12
|
-
if (
|
|
12
|
+
if (w) return w([
|
|
13
13
|
{
|
|
14
14
|
id: "timecampus-dashboard",
|
|
15
15
|
label: "Dashboard",
|
|
16
|
-
path:
|
|
17
|
-
icon: /* @__PURE__ */
|
|
16
|
+
path: D(E, ""),
|
|
17
|
+
icon: /* @__PURE__ */ x(p, { size: 20 }),
|
|
18
18
|
order: 1,
|
|
19
19
|
group: "main",
|
|
20
20
|
children: [
|
|
21
21
|
{
|
|
22
22
|
id: "timecampus-dashboard-overview",
|
|
23
23
|
label: "Overview",
|
|
24
|
-
path:
|
|
24
|
+
path: D(E, ""),
|
|
25
25
|
order: 1
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
id: "timecampus-dashboard-analytics",
|
|
29
29
|
label: "Analytics",
|
|
30
|
-
path:
|
|
30
|
+
path: D(E, "analytics"),
|
|
31
31
|
order: 2
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
id: "timecampus-dashboard-reports",
|
|
35
35
|
label: "Reports",
|
|
36
|
-
path:
|
|
36
|
+
path: D(E, "reports"),
|
|
37
37
|
order: 3
|
|
38
38
|
}
|
|
39
39
|
]
|
|
@@ -41,57 +41,57 @@ var k = (k) => {
|
|
|
41
41
|
{
|
|
42
42
|
id: "timecampus-life",
|
|
43
43
|
label: "Life",
|
|
44
|
-
path:
|
|
45
|
-
icon: /* @__PURE__ */
|
|
44
|
+
path: D(E, "life-timeline"),
|
|
45
|
+
icon: /* @__PURE__ */ x(f, { size: 20 }),
|
|
46
46
|
order: 23,
|
|
47
47
|
group: "main",
|
|
48
48
|
children: [
|
|
49
49
|
{
|
|
50
50
|
id: "timecampus-life-timeline",
|
|
51
51
|
label: "Life Timeline",
|
|
52
|
-
path:
|
|
52
|
+
path: D(E, "life-timeline"),
|
|
53
53
|
order: 1
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
id: "timecampus-life-balance",
|
|
57
57
|
label: "Life Balance",
|
|
58
|
-
path:
|
|
58
|
+
path: D(E, "life-balance"),
|
|
59
59
|
order: 2
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
62
|
id: "timecampus-finite-life",
|
|
63
63
|
label: "Life in Weeks",
|
|
64
|
-
path:
|
|
64
|
+
path: D(E, "finite-life"),
|
|
65
65
|
order: 3
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
68
|
id: "timecampus-time-well-spent",
|
|
69
69
|
label: "Time Well Spent",
|
|
70
|
-
path:
|
|
70
|
+
path: D(E, "time-well-spent"),
|
|
71
71
|
order: 4
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
id: "timecampus-dead-time-radar",
|
|
75
75
|
label: "Dead-Time Radar",
|
|
76
|
-
path:
|
|
76
|
+
path: D(E, "dead-time-radar"),
|
|
77
77
|
order: 5
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
80
|
id: "timecampus-values-goals",
|
|
81
81
|
label: "Values & Goals",
|
|
82
|
-
path:
|
|
82
|
+
path: D(E, "values-goals"),
|
|
83
83
|
order: 6
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
86
|
id: "timecampus-recommendations",
|
|
87
87
|
label: "Recommendations",
|
|
88
|
-
path:
|
|
88
|
+
path: D(E, "recommendations"),
|
|
89
89
|
order: 7
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
92
|
id: "timecampus-personal-corporate",
|
|
93
93
|
label: "Personal & Corporate",
|
|
94
|
-
path:
|
|
94
|
+
path: D(E, "personal-corporate"),
|
|
95
95
|
order: 8
|
|
96
96
|
}
|
|
97
97
|
]
|
|
@@ -99,27 +99,27 @@ var k = (k) => {
|
|
|
99
99
|
{
|
|
100
100
|
id: "timecampus-time",
|
|
101
101
|
label: "Time Tracking",
|
|
102
|
-
path:
|
|
103
|
-
icon: /* @__PURE__ */
|
|
102
|
+
path: D(E, "time"),
|
|
103
|
+
icon: /* @__PURE__ */ x(u, { size: 20 }),
|
|
104
104
|
order: 2,
|
|
105
105
|
group: "main",
|
|
106
106
|
children: [
|
|
107
107
|
{
|
|
108
108
|
id: "timecampus-time-tracking",
|
|
109
109
|
label: "Time Tracking",
|
|
110
|
-
path:
|
|
110
|
+
path: D(E, "time"),
|
|
111
111
|
order: 1
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
114
|
id: "timecampus-time-timer",
|
|
115
115
|
label: "Timer",
|
|
116
|
-
path:
|
|
116
|
+
path: D(E, "time/timer"),
|
|
117
117
|
order: 2
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
120
|
id: "timecampus-time-entries",
|
|
121
121
|
label: "Time Entries",
|
|
122
|
-
path:
|
|
122
|
+
path: D(E, "time/entries"),
|
|
123
123
|
order: 3
|
|
124
124
|
}
|
|
125
125
|
]
|
|
@@ -127,35 +127,35 @@ var k = (k) => {
|
|
|
127
127
|
{
|
|
128
128
|
id: "timecampus-projects",
|
|
129
129
|
label: "Projects",
|
|
130
|
-
path:
|
|
131
|
-
icon: /* @__PURE__ */
|
|
130
|
+
path: D(E, "projects"),
|
|
131
|
+
icon: /* @__PURE__ */ x(d, { size: 20 }),
|
|
132
132
|
order: 3,
|
|
133
133
|
group: "main"
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
136
|
id: "timecampus-pomodoro",
|
|
137
137
|
label: "Pomodoro",
|
|
138
|
-
path:
|
|
139
|
-
icon: /* @__PURE__ */
|
|
138
|
+
path: D(E, "pomodoro"),
|
|
139
|
+
icon: /* @__PURE__ */ x(v, { size: 20 }),
|
|
140
140
|
order: 4,
|
|
141
141
|
group: "main",
|
|
142
142
|
children: [
|
|
143
143
|
{
|
|
144
144
|
id: "timecampus-pomodoro-timer",
|
|
145
145
|
label: "Timer",
|
|
146
|
-
path:
|
|
146
|
+
path: D(E, "pomodoro"),
|
|
147
147
|
order: 1
|
|
148
148
|
},
|
|
149
149
|
{
|
|
150
150
|
id: "timecampus-pomodoro-analytics",
|
|
151
151
|
label: "Analytics",
|
|
152
|
-
path:
|
|
152
|
+
path: D(E, "pomodoro/analytics"),
|
|
153
153
|
order: 2
|
|
154
154
|
},
|
|
155
155
|
{
|
|
156
156
|
id: "timecampus-pomodoro-settings",
|
|
157
157
|
label: "Settings",
|
|
158
|
-
path:
|
|
158
|
+
path: D(E, "pomodoro/settings"),
|
|
159
159
|
order: 3
|
|
160
160
|
}
|
|
161
161
|
]
|
|
@@ -163,27 +163,27 @@ var k = (k) => {
|
|
|
163
163
|
{
|
|
164
164
|
id: "timecampus-team",
|
|
165
165
|
label: "Team",
|
|
166
|
-
path:
|
|
167
|
-
icon: /* @__PURE__ */
|
|
166
|
+
path: D(E, "team"),
|
|
167
|
+
icon: /* @__PURE__ */ x(b, { size: 20 }),
|
|
168
168
|
order: 5,
|
|
169
169
|
group: "main",
|
|
170
170
|
children: [
|
|
171
171
|
{
|
|
172
172
|
id: "timecampus-team-overview",
|
|
173
173
|
label: "Overview",
|
|
174
|
-
path:
|
|
174
|
+
path: D(E, "team"),
|
|
175
175
|
order: 1
|
|
176
176
|
},
|
|
177
177
|
{
|
|
178
178
|
id: "timecampus-team-members",
|
|
179
179
|
label: "Members",
|
|
180
|
-
path:
|
|
180
|
+
path: D(E, "team/members"),
|
|
181
181
|
order: 2
|
|
182
182
|
},
|
|
183
183
|
{
|
|
184
184
|
id: "timecampus-team-analytics",
|
|
185
185
|
label: "Analytics",
|
|
186
|
-
path:
|
|
186
|
+
path: D(E, "team/analytics"),
|
|
187
187
|
order: 3
|
|
188
188
|
}
|
|
189
189
|
]
|
|
@@ -191,212 +191,144 @@ var k = (k) => {
|
|
|
191
191
|
{
|
|
192
192
|
id: "timecampus-resource-planning",
|
|
193
193
|
label: "Resource Planning",
|
|
194
|
-
path:
|
|
195
|
-
icon: /* @__PURE__ */
|
|
194
|
+
path: D(E, "resource-planning"),
|
|
195
|
+
icon: /* @__PURE__ */ x(c, { size: 20 }),
|
|
196
196
|
order: 6,
|
|
197
197
|
group: "management"
|
|
198
198
|
},
|
|
199
199
|
{
|
|
200
200
|
id: "timecampus-time-approval",
|
|
201
201
|
label: "Time Approval",
|
|
202
|
-
path:
|
|
203
|
-
icon: /* @__PURE__ */
|
|
202
|
+
path: D(E, "time-approval"),
|
|
203
|
+
icon: /* @__PURE__ */ x(l, { size: 20 }),
|
|
204
204
|
order: 7,
|
|
205
205
|
group: "management"
|
|
206
206
|
},
|
|
207
207
|
{
|
|
208
208
|
id: "timecampus-team-activity",
|
|
209
209
|
label: "Team Activity",
|
|
210
|
-
path:
|
|
211
|
-
icon: /* @__PURE__ */
|
|
210
|
+
path: D(E, "team-activity"),
|
|
211
|
+
icon: /* @__PURE__ */ x(i, { size: 20 }),
|
|
212
212
|
order: 8,
|
|
213
213
|
group: "insights"
|
|
214
214
|
},
|
|
215
215
|
{
|
|
216
216
|
id: "timecampus-work-patterns",
|
|
217
217
|
label: "Work Patterns",
|
|
218
|
-
path:
|
|
219
|
-
icon: /* @__PURE__ */
|
|
218
|
+
path: D(E, "work-patterns"),
|
|
219
|
+
icon: /* @__PURE__ */ x(y, { size: 20 }),
|
|
220
220
|
order: 9,
|
|
221
221
|
group: "insights"
|
|
222
222
|
},
|
|
223
223
|
{
|
|
224
224
|
id: "timecampus-focus-score",
|
|
225
225
|
label: "Focus Score",
|
|
226
|
-
path:
|
|
227
|
-
icon: /* @__PURE__ */
|
|
226
|
+
path: D(E, "focus-score"),
|
|
227
|
+
icon: /* @__PURE__ */ x(a, { size: 20 }),
|
|
228
228
|
order: 10,
|
|
229
229
|
group: "insights"
|
|
230
230
|
},
|
|
231
231
|
{
|
|
232
232
|
id: "timecampus-app-usage",
|
|
233
233
|
label: "App Usage",
|
|
234
|
-
path:
|
|
235
|
-
icon: /* @__PURE__ */
|
|
234
|
+
path: D(E, "application-usage"),
|
|
235
|
+
icon: /* @__PURE__ */ x(g, { size: 20 }),
|
|
236
236
|
order: 11,
|
|
237
237
|
group: "insights"
|
|
238
238
|
},
|
|
239
239
|
{
|
|
240
240
|
id: "timecampus-email-tracking",
|
|
241
241
|
label: "Email Tracking",
|
|
242
|
-
path:
|
|
243
|
-
icon: /* @__PURE__ */
|
|
242
|
+
path: D(E, "email-tracking"),
|
|
243
|
+
icon: /* @__PURE__ */ x(m, { size: 20 }),
|
|
244
244
|
order: 12,
|
|
245
245
|
group: "tracking",
|
|
246
|
-
children: [
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
order: 2
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
id: "timecampus-email-settings",
|
|
261
|
-
label: "Settings",
|
|
262
|
-
path: N(M, "email-tracking/settings"),
|
|
263
|
-
order: 3
|
|
264
|
-
}
|
|
265
|
-
]
|
|
246
|
+
children: [{
|
|
247
|
+
id: "timecampus-email-all",
|
|
248
|
+
label: "All Emails",
|
|
249
|
+
path: D(E, "email-tracking"),
|
|
250
|
+
order: 1
|
|
251
|
+
}, {
|
|
252
|
+
id: "timecampus-email-analytics",
|
|
253
|
+
label: "Analytics",
|
|
254
|
+
path: D(E, "email-tracking/analytics"),
|
|
255
|
+
order: 2
|
|
256
|
+
}]
|
|
266
257
|
},
|
|
267
258
|
{
|
|
268
259
|
id: "timecampus-meetings",
|
|
269
260
|
label: "Meetings",
|
|
270
|
-
path:
|
|
271
|
-
icon: /* @__PURE__ */
|
|
261
|
+
path: D(E, "meetings"),
|
|
262
|
+
icon: /* @__PURE__ */ x(s, { size: 20 }),
|
|
272
263
|
order: 13,
|
|
273
264
|
group: "tracking",
|
|
274
265
|
children: [{
|
|
275
266
|
id: "timecampus-meetings-all",
|
|
276
267
|
label: "All Meetings",
|
|
277
|
-
path:
|
|
268
|
+
path: D(E, "meetings"),
|
|
278
269
|
order: 1
|
|
279
270
|
}, {
|
|
280
271
|
id: "timecampus-meetings-analytics",
|
|
281
272
|
label: "Analytics",
|
|
282
|
-
path:
|
|
273
|
+
path: D(E, "meetings/analytics"),
|
|
283
274
|
order: 2
|
|
284
275
|
}]
|
|
285
276
|
},
|
|
286
277
|
{
|
|
287
278
|
id: "timecampus-location",
|
|
288
279
|
label: "Location Tracking",
|
|
289
|
-
path:
|
|
290
|
-
icon: /* @__PURE__ */
|
|
280
|
+
path: D(E, "location-tracking"),
|
|
281
|
+
icon: /* @__PURE__ */ x(h, { size: 20 }),
|
|
291
282
|
order: 14,
|
|
292
283
|
group: "tracking",
|
|
293
284
|
children: [{
|
|
294
285
|
id: "timecampus-location-all",
|
|
295
286
|
label: "Locations",
|
|
296
|
-
path:
|
|
287
|
+
path: D(E, "location-tracking"),
|
|
297
288
|
order: 1
|
|
298
289
|
}, {
|
|
299
290
|
id: "timecampus-location-geofencing",
|
|
300
291
|
label: "Geofencing",
|
|
301
|
-
path:
|
|
292
|
+
path: D(E, "geofencing"),
|
|
302
293
|
order: 2
|
|
303
294
|
}]
|
|
304
295
|
},
|
|
305
296
|
{
|
|
306
297
|
id: "timecampus-expense-tracking",
|
|
307
298
|
label: "Expense Tracking",
|
|
308
|
-
path:
|
|
309
|
-
icon: /* @__PURE__ */
|
|
299
|
+
path: D(E, "expense-tracking"),
|
|
300
|
+
icon: /* @__PURE__ */ x(_, { size: 20 }),
|
|
310
301
|
order: 15,
|
|
311
302
|
group: "business"
|
|
312
303
|
},
|
|
313
304
|
{
|
|
314
305
|
id: "timecampus-client-portal",
|
|
315
306
|
label: "Client Portal",
|
|
316
|
-
path:
|
|
317
|
-
icon: /* @__PURE__ */
|
|
307
|
+
path: D(E, "client-portal"),
|
|
308
|
+
icon: /* @__PURE__ */ x(o, { size: 20 }),
|
|
318
309
|
order: 16,
|
|
319
310
|
group: "business"
|
|
320
|
-
},
|
|
321
|
-
{
|
|
322
|
-
id: "timecampus-channels",
|
|
323
|
-
label: "Channels",
|
|
324
|
-
path: N(M, "channels"),
|
|
325
|
-
icon: /* @__PURE__ */ D(x, { size: 20 }),
|
|
326
|
-
order: 17,
|
|
327
|
-
group: "platform"
|
|
328
|
-
},
|
|
329
|
-
{
|
|
330
|
-
id: "timecampus-widgets",
|
|
331
|
-
label: "Widgets",
|
|
332
|
-
path: N(M, "widgets"),
|
|
333
|
-
icon: /* @__PURE__ */ D(g, { size: 20 }),
|
|
334
|
-
order: 18,
|
|
335
|
-
group: "platform"
|
|
336
|
-
},
|
|
337
|
-
{
|
|
338
|
-
id: "timecampus-workflows",
|
|
339
|
-
label: "Workflows",
|
|
340
|
-
path: N(M, "workflows"),
|
|
341
|
-
icon: /* @__PURE__ */ D(p, { size: 20 }),
|
|
342
|
-
order: 19,
|
|
343
|
-
group: "platform"
|
|
344
|
-
},
|
|
345
|
-
{
|
|
346
|
-
id: "timecampus-applets",
|
|
347
|
-
label: "Applets",
|
|
348
|
-
path: N(M, "applets"),
|
|
349
|
-
icon: /* @__PURE__ */ D(b, { size: 20 }),
|
|
350
|
-
order: 20,
|
|
351
|
-
group: "platform",
|
|
352
|
-
children: [{
|
|
353
|
-
id: "timecampus-applets-installed",
|
|
354
|
-
label: "Installed",
|
|
355
|
-
path: N(M, "applets"),
|
|
356
|
-
order: 1
|
|
357
|
-
}, {
|
|
358
|
-
id: "timecampus-applets-store",
|
|
359
|
-
label: "Store",
|
|
360
|
-
path: N(M, "applets/store"),
|
|
361
|
-
order: 2
|
|
362
|
-
}]
|
|
363
|
-
},
|
|
364
|
-
{
|
|
365
|
-
id: "timecampus-templates",
|
|
366
|
-
label: "Templates",
|
|
367
|
-
path: N(M, "templates"),
|
|
368
|
-
icon: /* @__PURE__ */ D(C, { size: 20 }),
|
|
369
|
-
order: 21,
|
|
370
|
-
group: "platform"
|
|
371
|
-
},
|
|
372
|
-
{
|
|
373
|
-
id: "timecampus-industry-solutions",
|
|
374
|
-
label: "Industry Solutions",
|
|
375
|
-
path: N(M, "industry-solutions"),
|
|
376
|
-
icon: /* @__PURE__ */ D(d, { size: 20 }),
|
|
377
|
-
order: 22,
|
|
378
|
-
group: "platform"
|
|
379
311
|
}
|
|
380
312
|
]);
|
|
381
|
-
}, [
|
|
382
|
-
if (
|
|
313
|
+
}, [w, E]), r(() => {
|
|
314
|
+
if (T) return T([{
|
|
383
315
|
id: "timecampus-status",
|
|
384
316
|
label: "TimeCampus Ready",
|
|
385
317
|
type: "status",
|
|
386
318
|
order: 10,
|
|
387
319
|
section: "left"
|
|
388
320
|
}]);
|
|
389
|
-
}, [
|
|
321
|
+
}, [T]), /* @__PURE__ */ x(S, {
|
|
390
322
|
workspaceId: null,
|
|
391
323
|
gateway: "global",
|
|
392
324
|
defaultEnabled: !0,
|
|
393
|
-
children: /* @__PURE__ */
|
|
394
|
-
...
|
|
395
|
-
children: /* @__PURE__ */
|
|
325
|
+
children: /* @__PURE__ */ x(e, {
|
|
326
|
+
...C,
|
|
327
|
+
children: /* @__PURE__ */ x(n, { children: /* @__PURE__ */ x(t, {}) })
|
|
396
328
|
})
|
|
397
329
|
});
|
|
398
330
|
};
|
|
399
331
|
//#endregion
|
|
400
|
-
export {
|
|
332
|
+
export { C as TimeCampusRoot };
|
|
401
333
|
|
|
402
334
|
//# sourceMappingURL=TimeCampusRoot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeCampusRoot.js","names":[],"sources":["../../src/timecampus/TimeCampusRoot.tsx"],"sourcesContent":["/**\n * TimeCampus Root Component\n * @module timecampus\n */\n\nimport type { FC } from \"react\";\nimport { useEffect } from \"react\";\nimport {\n LayoutDashboard,\n Clock,\n FolderOpen,\n Timer,\n Users,\n CalendarRange,\n CheckCircle,\n Activity,\n TrendingUp,\n Brain,\n Monitor,\n Mail,\n CalendarDays,\n MapPin,\n Receipt,\n Building2,\n Radio,\n LayoutGrid,\n GitBranch,\n Puzzle,\n Sparkles,\n Factory,\n Heart,\n} from \"lucide-react\";\nimport { TimeCampusProvider } from \"./providers/TimeCampusProvider\";\nimport { FeatureFlagProvider } from \"@burdenoff/fe-libs/shared/feature-flags\";\nimport { TimeCampusRoutes } from \"./TimeCampusRoutes\";\nimport { ErrorBoundary } from \"./components/ErrorBoundary\";\nimport type { TimeCampusRootProps, NavItem } from \"./types\";\n\nexport const TimeCampusRoot: FC<TimeCampusRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = \"/\" } = props;\n\n // Helper to join paths correctly\n const joinPath = (base: string, path: string): string => {\n const cleanBase = base.endsWith(\"/\") ? base.slice(0, -1) : base;\n const cleanPath = path.startsWith(\"/\") ? path : `/${path}`;\n return cleanBase + cleanPath;\n };\n\n // Register navigation items with shell on mount\n useEffect(() => {\n if (!registerNavItems) return;\n\n const navItems: NavItem[] = [\n // 1. Dashboard\n {\n id: \"timecampus-dashboard\",\n label: \"Dashboard\",\n path: joinPath(basePath, \"\"),\n icon: <LayoutDashboard size={20} />,\n order: 1,\n group: \"main\",\n children: [\n {\n id: \"timecampus-dashboard-overview\",\n label: \"Overview\",\n path: joinPath(basePath, \"\"),\n order: 1,\n },\n {\n id: \"timecampus-dashboard-analytics\",\n label: \"Analytics\",\n path: joinPath(basePath, \"analytics\"),\n order: 2,\n },\n {\n id: \"timecampus-dashboard-reports\",\n label: \"Reports\",\n path: joinPath(basePath, \"reports\"),\n order: 3,\n },\n ],\n },\n\n // Life — the whole of your time (work + personal). Unique order (23) — the\n // shell keys nav items by order within a group, so it must not collide.\n {\n id: \"timecampus-life\",\n label: \"Life\",\n path: joinPath(basePath, \"life-timeline\"),\n icon: <Heart size={20} />,\n order: 23,\n group: \"main\",\n children: [\n {\n id: \"timecampus-life-timeline\",\n label: \"Life Timeline\",\n path: joinPath(basePath, \"life-timeline\"),\n order: 1,\n },\n {\n id: \"timecampus-life-balance\",\n label: \"Life Balance\",\n path: joinPath(basePath, \"life-balance\"),\n order: 2,\n },\n {\n id: \"timecampus-finite-life\",\n label: \"Life in Weeks\",\n path: joinPath(basePath, \"finite-life\"),\n order: 3,\n },\n {\n id: \"timecampus-time-well-spent\",\n label: \"Time Well Spent\",\n path: joinPath(basePath, \"time-well-spent\"),\n order: 4,\n },\n {\n id: \"timecampus-dead-time-radar\",\n label: \"Dead-Time Radar\",\n path: joinPath(basePath, \"dead-time-radar\"),\n order: 5,\n },\n {\n id: \"timecampus-values-goals\",\n label: \"Values & Goals\",\n path: joinPath(basePath, \"values-goals\"),\n order: 6,\n },\n {\n id: \"timecampus-recommendations\",\n label: \"Recommendations\",\n path: joinPath(basePath, \"recommendations\"),\n order: 7,\n },\n {\n id: \"timecampus-personal-corporate\",\n label: \"Personal & Corporate\",\n path: joinPath(basePath, \"personal-corporate\"),\n order: 8,\n },\n ],\n },\n\n // 2. Time Tracking\n {\n id: \"timecampus-time\",\n label: \"Time Tracking\",\n path: joinPath(basePath, \"time\"),\n icon: <Clock size={20} />,\n order: 2,\n group: \"main\",\n children: [\n {\n id: \"timecampus-time-tracking\",\n label: \"Time Tracking\",\n path: joinPath(basePath, \"time\"),\n order: 1,\n },\n {\n id: \"timecampus-time-timer\",\n label: \"Timer\",\n path: joinPath(basePath, \"time/timer\"),\n order: 2,\n },\n {\n id: \"timecampus-time-entries\",\n label: \"Time Entries\",\n path: joinPath(basePath, \"time/entries\"),\n order: 3,\n },\n ],\n },\n\n // 3. Projects\n {\n id: \"timecampus-projects\",\n label: \"Projects\",\n path: joinPath(basePath, \"projects\"),\n icon: <FolderOpen size={20} />,\n order: 3,\n group: \"main\",\n },\n\n // 4. Pomodoro\n {\n id: \"timecampus-pomodoro\",\n label: \"Pomodoro\",\n path: joinPath(basePath, \"pomodoro\"),\n icon: <Timer size={20} />,\n order: 4,\n group: \"main\",\n children: [\n {\n id: \"timecampus-pomodoro-timer\",\n label: \"Timer\",\n path: joinPath(basePath, \"pomodoro\"),\n order: 1,\n },\n {\n id: \"timecampus-pomodoro-analytics\",\n label: \"Analytics\",\n path: joinPath(basePath, \"pomodoro/analytics\"),\n order: 2,\n },\n {\n id: \"timecampus-pomodoro-settings\",\n label: \"Settings\",\n path: joinPath(basePath, \"pomodoro/settings\"),\n order: 3,\n },\n ],\n },\n\n // 5. Team\n {\n id: \"timecampus-team\",\n label: \"Team\",\n path: joinPath(basePath, \"team\"),\n icon: <Users size={20} />,\n order: 5,\n group: \"main\",\n children: [\n {\n id: \"timecampus-team-overview\",\n label: \"Overview\",\n path: joinPath(basePath, \"team\"),\n order: 1,\n },\n {\n id: \"timecampus-team-members\",\n label: \"Members\",\n path: joinPath(basePath, \"team/members\"),\n order: 2,\n },\n {\n id: \"timecampus-team-analytics\",\n label: \"Analytics\",\n path: joinPath(basePath, \"team/analytics\"),\n order: 3,\n },\n ],\n },\n\n // 6. Resource Planning\n {\n id: \"timecampus-resource-planning\",\n label: \"Resource Planning\",\n path: joinPath(basePath, \"resource-planning\"),\n icon: <CalendarRange size={20} />,\n order: 6,\n group: \"management\",\n },\n\n // 7. Time Approval\n {\n id: \"timecampus-time-approval\",\n label: \"Time Approval\",\n path: joinPath(basePath, \"time-approval\"),\n icon: <CheckCircle size={20} />,\n order: 7,\n group: \"management\",\n },\n\n // 8. Team Activity\n {\n id: \"timecampus-team-activity\",\n label: \"Team Activity\",\n path: joinPath(basePath, \"team-activity\"),\n icon: <Activity size={20} />,\n order: 8,\n group: \"insights\",\n },\n\n // 9. Work Patterns\n {\n id: \"timecampus-work-patterns\",\n label: \"Work Patterns\",\n path: joinPath(basePath, \"work-patterns\"),\n icon: <TrendingUp size={20} />,\n order: 9,\n group: \"insights\",\n },\n\n // 10. Focus Score\n {\n id: \"timecampus-focus-score\",\n label: \"Focus Score\",\n path: joinPath(basePath, \"focus-score\"),\n icon: <Brain size={20} />,\n order: 10,\n group: \"insights\",\n },\n\n // 11. App Usage\n {\n id: \"timecampus-app-usage\",\n label: \"App Usage\",\n path: joinPath(basePath, \"application-usage\"),\n icon: <Monitor size={20} />,\n order: 11,\n group: \"insights\",\n },\n\n // 12. Email Tracking\n {\n id: \"timecampus-email-tracking\",\n label: \"Email Tracking\",\n path: joinPath(basePath, \"email-tracking\"),\n icon: <Mail size={20} />,\n order: 12,\n group: \"tracking\",\n children: [\n {\n id: \"timecampus-email-all\",\n label: \"All Emails\",\n path: joinPath(basePath, \"email-tracking\"),\n order: 1,\n },\n {\n id: \"timecampus-email-analytics\",\n label: \"Analytics\",\n path: joinPath(basePath, \"email-tracking/analytics\"),\n order: 2,\n },\n {\n id: \"timecampus-email-settings\",\n label: \"Settings\",\n path: joinPath(basePath, \"email-tracking/settings\"),\n order: 3,\n },\n ],\n },\n\n // 13. Meetings\n {\n id: \"timecampus-meetings\",\n label: \"Meetings\",\n path: joinPath(basePath, \"meetings\"),\n icon: <CalendarDays size={20} />,\n order: 13,\n group: \"tracking\",\n children: [\n {\n id: \"timecampus-meetings-all\",\n label: \"All Meetings\",\n path: joinPath(basePath, \"meetings\"),\n order: 1,\n },\n {\n id: \"timecampus-meetings-analytics\",\n label: \"Analytics\",\n path: joinPath(basePath, \"meetings/analytics\"),\n order: 2,\n },\n ],\n },\n\n // 14. Location Tracking\n {\n id: \"timecampus-location\",\n label: \"Location Tracking\",\n path: joinPath(basePath, \"location-tracking\"),\n icon: <MapPin size={20} />,\n order: 14,\n group: \"tracking\",\n children: [\n {\n id: \"timecampus-location-all\",\n label: \"Locations\",\n path: joinPath(basePath, \"location-tracking\"),\n order: 1,\n },\n {\n id: \"timecampus-location-geofencing\",\n label: \"Geofencing\",\n path: joinPath(basePath, \"geofencing\"),\n order: 2,\n },\n ],\n },\n\n // 15. Expense Tracking\n {\n id: \"timecampus-expense-tracking\",\n label: \"Expense Tracking\",\n path: joinPath(basePath, \"expense-tracking\"),\n icon: <Receipt size={20} />,\n order: 15,\n group: \"business\",\n },\n\n // 16. Client Portal\n {\n id: \"timecampus-client-portal\",\n label: \"Client Portal\",\n path: joinPath(basePath, \"client-portal\"),\n icon: <Building2 size={20} />,\n order: 16,\n group: \"business\",\n },\n\n // 17. Channels\n {\n id: \"timecampus-channels\",\n label: \"Channels\",\n path: joinPath(basePath, \"channels\"),\n icon: <Radio size={20} />,\n order: 17,\n group: \"platform\",\n },\n\n // 18. Widgets\n {\n id: \"timecampus-widgets\",\n label: \"Widgets\",\n path: joinPath(basePath, \"widgets\"),\n icon: <LayoutGrid size={20} />,\n order: 18,\n group: \"platform\",\n },\n\n // 19. Workflows\n {\n id: \"timecampus-workflows\",\n label: \"Workflows\",\n path: joinPath(basePath, \"workflows\"),\n icon: <GitBranch size={20} />,\n order: 19,\n group: \"platform\",\n },\n\n // 20. Applets\n {\n id: \"timecampus-applets\",\n label: \"Applets\",\n path: joinPath(basePath, \"applets\"),\n icon: <Puzzle size={20} />,\n order: 20,\n group: \"platform\",\n children: [\n {\n id: \"timecampus-applets-installed\",\n label: \"Installed\",\n path: joinPath(basePath, \"applets\"),\n order: 1,\n },\n {\n id: \"timecampus-applets-store\",\n label: \"Store\",\n path: joinPath(basePath, \"applets/store\"),\n order: 2,\n },\n ],\n },\n\n // 21. Templates\n {\n id: \"timecampus-templates\",\n label: \"Templates\",\n path: joinPath(basePath, \"templates\"),\n icon: <Sparkles size={20} />,\n order: 21,\n group: \"platform\",\n },\n\n // 22. Industry Solutions\n {\n id: \"timecampus-industry-solutions\",\n label: \"Industry Solutions\",\n path: joinPath(basePath, \"industry-solutions\"),\n icon: <Factory size={20} />,\n order: 22,\n group: \"platform\",\n },\n ];\n\n const cleanup = registerNavItems(navItems);\n return cleanup;\n }, [registerNavItems, basePath]);\n\n // Register footer items\n useEffect(() => {\n if (!registerFooterItems) return;\n\n const footerItems = [\n {\n id: \"timecampus-status\",\n label: \"TimeCampus Ready\",\n type: \"status\" as const,\n order: 10,\n section: \"left\" as const,\n },\n ];\n\n const cleanup = registerFooterItems(footerItems);\n return cleanup;\n }, [registerFooterItems]);\n\n return (\n <FeatureFlagProvider\n workspaceId={null}\n gateway=\"global\"\n defaultEnabled={true}\n >\n <TimeCampusProvider {...props}>\n <ErrorBoundary>\n <TimeCampusRoutes />\n </ErrorBoundary>\n </TimeCampusProvider>\n </FeatureFlagProvider>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimeCampusRoot.js","names":[],"sources":["../../src/timecampus/TimeCampusRoot.tsx"],"sourcesContent":["/**\n * TimeCampus Root Component\n * @module timecampus\n */\n\nimport type { FC } from \"react\";\nimport { useEffect } from \"react\";\nimport {\n LayoutDashboard,\n Clock,\n FolderOpen,\n Timer,\n Users,\n CalendarRange,\n CheckCircle,\n Activity,\n TrendingUp,\n Brain,\n Monitor,\n Mail,\n CalendarDays,\n MapPin,\n Receipt,\n Building2,\n Heart,\n} from \"lucide-react\";\nimport { TimeCampusProvider } from \"./providers/TimeCampusProvider\";\nimport { FeatureFlagProvider } from \"@burdenoff/fe-libs/shared/feature-flags\";\nimport { TimeCampusRoutes } from \"./TimeCampusRoutes\";\nimport { ErrorBoundary } from \"./components/ErrorBoundary\";\nimport type { TimeCampusRootProps, NavItem } from \"./types\";\n\nexport const TimeCampusRoot: FC<TimeCampusRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = \"/\" } = props;\n\n // Helper to join paths correctly\n const joinPath = (base: string, path: string): string => {\n const cleanBase = base.endsWith(\"/\") ? base.slice(0, -1) : base;\n const cleanPath = path.startsWith(\"/\") ? path : `/${path}`;\n return cleanBase + cleanPath;\n };\n\n // Register navigation items with shell on mount\n useEffect(() => {\n if (!registerNavItems) return;\n\n const navItems: NavItem[] = [\n // 1. Dashboard\n {\n id: \"timecampus-dashboard\",\n label: \"Dashboard\",\n path: joinPath(basePath, \"\"),\n icon: <LayoutDashboard size={20} />,\n order: 1,\n group: \"main\",\n children: [\n {\n id: \"timecampus-dashboard-overview\",\n label: \"Overview\",\n path: joinPath(basePath, \"\"),\n order: 1,\n },\n {\n id: \"timecampus-dashboard-analytics\",\n label: \"Analytics\",\n path: joinPath(basePath, \"analytics\"),\n order: 2,\n },\n {\n id: \"timecampus-dashboard-reports\",\n label: \"Reports\",\n path: joinPath(basePath, \"reports\"),\n order: 3,\n },\n ],\n },\n\n // Life — the whole of your time (work + personal). Unique order (23) — the\n // shell keys nav items by order within a group, so it must not collide.\n {\n id: \"timecampus-life\",\n label: \"Life\",\n path: joinPath(basePath, \"life-timeline\"),\n icon: <Heart size={20} />,\n order: 23,\n group: \"main\",\n children: [\n {\n id: \"timecampus-life-timeline\",\n label: \"Life Timeline\",\n path: joinPath(basePath, \"life-timeline\"),\n order: 1,\n },\n {\n id: \"timecampus-life-balance\",\n label: \"Life Balance\",\n path: joinPath(basePath, \"life-balance\"),\n order: 2,\n },\n {\n id: \"timecampus-finite-life\",\n label: \"Life in Weeks\",\n path: joinPath(basePath, \"finite-life\"),\n order: 3,\n },\n {\n id: \"timecampus-time-well-spent\",\n label: \"Time Well Spent\",\n path: joinPath(basePath, \"time-well-spent\"),\n order: 4,\n },\n {\n id: \"timecampus-dead-time-radar\",\n label: \"Dead-Time Radar\",\n path: joinPath(basePath, \"dead-time-radar\"),\n order: 5,\n },\n {\n id: \"timecampus-values-goals\",\n label: \"Values & Goals\",\n path: joinPath(basePath, \"values-goals\"),\n order: 6,\n },\n {\n id: \"timecampus-recommendations\",\n label: \"Recommendations\",\n path: joinPath(basePath, \"recommendations\"),\n order: 7,\n },\n {\n id: \"timecampus-personal-corporate\",\n label: \"Personal & Corporate\",\n path: joinPath(basePath, \"personal-corporate\"),\n order: 8,\n },\n ],\n },\n\n // 2. Time Tracking\n {\n id: \"timecampus-time\",\n label: \"Time Tracking\",\n path: joinPath(basePath, \"time\"),\n icon: <Clock size={20} />,\n order: 2,\n group: \"main\",\n children: [\n {\n id: \"timecampus-time-tracking\",\n label: \"Time Tracking\",\n path: joinPath(basePath, \"time\"),\n order: 1,\n },\n {\n id: \"timecampus-time-timer\",\n label: \"Timer\",\n path: joinPath(basePath, \"time/timer\"),\n order: 2,\n },\n {\n id: \"timecampus-time-entries\",\n label: \"Time Entries\",\n path: joinPath(basePath, \"time/entries\"),\n order: 3,\n },\n ],\n },\n\n // 3. Projects\n {\n id: \"timecampus-projects\",\n label: \"Projects\",\n path: joinPath(basePath, \"projects\"),\n icon: <FolderOpen size={20} />,\n order: 3,\n group: \"main\",\n },\n\n // 4. Pomodoro\n {\n id: \"timecampus-pomodoro\",\n label: \"Pomodoro\",\n path: joinPath(basePath, \"pomodoro\"),\n icon: <Timer size={20} />,\n order: 4,\n group: \"main\",\n children: [\n {\n id: \"timecampus-pomodoro-timer\",\n label: \"Timer\",\n path: joinPath(basePath, \"pomodoro\"),\n order: 1,\n },\n {\n id: \"timecampus-pomodoro-analytics\",\n label: \"Analytics\",\n path: joinPath(basePath, \"pomodoro/analytics\"),\n order: 2,\n },\n {\n id: \"timecampus-pomodoro-settings\",\n label: \"Settings\",\n path: joinPath(basePath, \"pomodoro/settings\"),\n order: 3,\n },\n ],\n },\n\n // 5. Team\n {\n id: \"timecampus-team\",\n label: \"Team\",\n path: joinPath(basePath, \"team\"),\n icon: <Users size={20} />,\n order: 5,\n group: \"main\",\n children: [\n {\n id: \"timecampus-team-overview\",\n label: \"Overview\",\n path: joinPath(basePath, \"team\"),\n order: 1,\n },\n {\n id: \"timecampus-team-members\",\n label: \"Members\",\n path: joinPath(basePath, \"team/members\"),\n order: 2,\n },\n {\n id: \"timecampus-team-analytics\",\n label: \"Analytics\",\n path: joinPath(basePath, \"team/analytics\"),\n order: 3,\n },\n ],\n },\n\n // 6. Resource Planning\n {\n id: \"timecampus-resource-planning\",\n label: \"Resource Planning\",\n path: joinPath(basePath, \"resource-planning\"),\n icon: <CalendarRange size={20} />,\n order: 6,\n group: \"management\",\n },\n\n // 7. Time Approval\n {\n id: \"timecampus-time-approval\",\n label: \"Time Approval\",\n path: joinPath(basePath, \"time-approval\"),\n icon: <CheckCircle size={20} />,\n order: 7,\n group: \"management\",\n },\n\n // 8. Team Activity\n {\n id: \"timecampus-team-activity\",\n label: \"Team Activity\",\n path: joinPath(basePath, \"team-activity\"),\n icon: <Activity size={20} />,\n order: 8,\n group: \"insights\",\n },\n\n // 9. Work Patterns\n {\n id: \"timecampus-work-patterns\",\n label: \"Work Patterns\",\n path: joinPath(basePath, \"work-patterns\"),\n icon: <TrendingUp size={20} />,\n order: 9,\n group: \"insights\",\n },\n\n // 10. Focus Score\n {\n id: \"timecampus-focus-score\",\n label: \"Focus Score\",\n path: joinPath(basePath, \"focus-score\"),\n icon: <Brain size={20} />,\n order: 10,\n group: \"insights\",\n },\n\n // 11. App Usage\n {\n id: \"timecampus-app-usage\",\n label: \"App Usage\",\n path: joinPath(basePath, \"application-usage\"),\n icon: <Monitor size={20} />,\n order: 11,\n group: \"insights\",\n },\n\n // 12. Email Tracking\n {\n id: \"timecampus-email-tracking\",\n label: \"Email Tracking\",\n path: joinPath(basePath, \"email-tracking\"),\n icon: <Mail size={20} />,\n order: 12,\n group: \"tracking\",\n children: [\n {\n id: \"timecampus-email-all\",\n label: \"All Emails\",\n path: joinPath(basePath, \"email-tracking\"),\n order: 1,\n },\n {\n id: \"timecampus-email-analytics\",\n label: \"Analytics\",\n path: joinPath(basePath, \"email-tracking/analytics\"),\n order: 2,\n },\n ],\n },\n\n // 13. Meetings\n {\n id: \"timecampus-meetings\",\n label: \"Meetings\",\n path: joinPath(basePath, \"meetings\"),\n icon: <CalendarDays size={20} />,\n order: 13,\n group: \"tracking\",\n children: [\n {\n id: \"timecampus-meetings-all\",\n label: \"All Meetings\",\n path: joinPath(basePath, \"meetings\"),\n order: 1,\n },\n {\n id: \"timecampus-meetings-analytics\",\n label: \"Analytics\",\n path: joinPath(basePath, \"meetings/analytics\"),\n order: 2,\n },\n ],\n },\n\n // 14. Location Tracking\n {\n id: \"timecampus-location\",\n label: \"Location Tracking\",\n path: joinPath(basePath, \"location-tracking\"),\n icon: <MapPin size={20} />,\n order: 14,\n group: \"tracking\",\n children: [\n {\n id: \"timecampus-location-all\",\n label: \"Locations\",\n path: joinPath(basePath, \"location-tracking\"),\n order: 1,\n },\n {\n id: \"timecampus-location-geofencing\",\n label: \"Geofencing\",\n path: joinPath(basePath, \"geofencing\"),\n order: 2,\n },\n ],\n },\n\n // 15. Expense Tracking\n {\n id: \"timecampus-expense-tracking\",\n label: \"Expense Tracking\",\n path: joinPath(basePath, \"expense-tracking\"),\n icon: <Receipt size={20} />,\n order: 15,\n group: \"business\",\n },\n\n // 16. Client Portal\n {\n id: \"timecampus-client-portal\",\n label: \"Client Portal\",\n path: joinPath(basePath, \"client-portal\"),\n icon: <Building2 size={20} />,\n order: 16,\n group: \"business\",\n },\n\n ];\n\n const cleanup = registerNavItems(navItems);\n return cleanup;\n }, [registerNavItems, basePath]);\n\n // Register footer items\n useEffect(() => {\n if (!registerFooterItems) return;\n\n const footerItems = [\n {\n id: \"timecampus-status\",\n label: \"TimeCampus Ready\",\n type: \"status\" as const,\n order: 10,\n section: \"left\" as const,\n },\n ];\n\n const cleanup = registerFooterItems(footerItems);\n return cleanup;\n }, [registerFooterItems]);\n\n return (\n <FeatureFlagProvider\n workspaceId={null}\n gateway=\"global\"\n defaultEnabled={true}\n >\n <TimeCampusProvider {...props}>\n <ErrorBoundary>\n <TimeCampusRoutes />\n </ErrorBoundary>\n </TimeCampusProvider>\n </FeatureFlagProvider>\n );\n};\n"],"mappings":"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"}
|