@burdenoff/microfe-timecampus 2026.719.4 → 2026.731.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.d.ts +527 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -1
- package/dist/generated/wspace-operations.js +1112 -880
- package/dist/generated/wspace-operations.js.map +1 -1
- package/dist/generated/wspace-types.d.ts +175 -0
- package/dist/generated/wspace-types.d.ts.map +1 -1
- package/dist/generated/wspace-types.js +5 -3
- package/dist/generated/wspace-types.js.map +1 -1
- package/dist/index.js +5 -5
- package/dist/timecampus/TimeCampusRoot.d.ts.map +1 -1
- package/dist/timecampus/TimeCampusRoot.js +81 -73
- package/dist/timecampus/TimeCampusRoot.js.map +1 -1
- package/dist/timecampus/TimeCampusRoutes.d.ts.map +1 -1
- package/dist/timecampus/TimeCampusRoutes.js +17 -13
- package/dist/timecampus/TimeCampusRoutes.js.map +1 -1
- package/dist/timecampus/components/StatusBadge.d.ts.map +1 -1
- package/dist/timecampus/components/StatusBadge.js.map +1 -1
- package/dist/timecampus/pages/invoicing/InvoicingPage.d.ts +2 -0
- package/dist/timecampus/pages/invoicing/InvoicingPage.d.ts.map +1 -0
- package/dist/timecampus/pages/invoicing/InvoicingPage.js +595 -0
- package/dist/timecampus/pages/invoicing/InvoicingPage.js.map +1 -0
- package/dist/timecampus/pages/lifetime/PersonalCorporatePage.d.ts.map +1 -1
- package/dist/timecampus/pages/lifetime/PersonalCorporatePage.js +88 -59
- package/dist/timecampus/pages/lifetime/PersonalCorporatePage.js.map +1 -1
- package/dist/timecampus/types/index.d.ts.map +1 -1
- package/dist/timecampus/utils/helpers.d.ts.map +1 -1
- package/dist/timecampus/utils/helpers.js +3 -1
- package/dist/timecampus/utils/helpers.js.map +1 -1
- package/dist/types/assistant.d.ts.map +1 -1
- package/dist/utils/pageContext.d.ts.map +1 -1
- package/dist/utils/pageContext.js +1 -0
- package/dist/utils/pageContext.js.map +1 -1
- package/package.json +1 -1
|
@@ -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 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 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 FileText,\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 // 17. Invoicing\n {\n id: \"timecampus-invoicing\",\n label: \"Invoicing\",\n path: joinPath(basePath, \"invoicing\"),\n icon: <FileText size={20} />,\n order: 17,\n group: \"business\",\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeCampusRoutes.d.ts","sourceRoot":"","sources":["../../src/timecampus/TimeCampusRoutes.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"TimeCampusRoutes.d.ts","sourceRoot":"","sources":["../../src/timecampus/TimeCampusRoutes.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AA8PH,wBAAgB,gBAAgB,gCAuF/B"}
|
|
@@ -10,8 +10,8 @@ function l() {
|
|
|
10
10
|
children: /* @__PURE__ */ o(c, { className: "h-8 w-8" })
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
|
-
var u = n(() => import("./pages/dashboard/AnalyticsPage.js").then((e) => ({ default: e.AnalyticsPage }))), d = n(() => import("./pages/dashboard/ReportsPage.js").then((e) => ({ default: e.ReportsPage }))), f = n(() => import("./pages/time/TimeTrackingPage.js").then((e) => ({ default: e.TimeTrackingPage }))), p = n(() => import("./pages/time/TimerPage.js").then((e) => ({ default: e.TimerPage }))), m = n(() => import("./pages/time/TimeEntriesPage.js").then((e) => ({ default: e.TimeEntriesPage }))), h = n(() => import("./pages/projects/ProjectsPage.js").then((e) => ({ default: e.ProjectsPage }))), g = n(() => import("./pages/projects/ProjectCreatePage.js").then((e) => ({ default: e.ProjectCreatePage }))), _ = n(() => import("./pages/projects/ProjectDetailPage.js").then((e) => ({ default: e.ProjectDetailPage }))), v = n(() => import("./pages/projects/TasksPage.js").then((e) => ({ default: e.TasksPage }))), y = n(() => import("./pages/team/TeamPage.js").then((e) => ({ default: e.TeamPage }))), b = n(() => import("./pages/team/TeamMembersPage.js").then((e) => ({ default: e.TeamMembersPage }))), x = n(() => import("./pages/team/TeamAnalyticsPage.js").then((e) => ({ default: e.TeamAnalyticsPage }))), S = n(() => import("./pages/pomodoro/PomodoroPage.js").then((e) => ({ default: e.PomodoroPage }))), C = n(() => import("./pages/pomodoro/PomodoroAnalyticsPage.js").then((e) => ({ default: e.PomodoroAnalyticsPage }))), w = n(() => import("./pages/pomodoro/PomodoroSettingsPage.js").then((e) => ({ default: e.PomodoroSettingsPage }))), T = n(() => import("./pages/meetings/MeetingsPage.js").then((e) => ({ default: e.MeetingsPage }))), E = n(() => import("./pages/meetings/MeetingCreatePage.js").then((e) => ({ default: e.MeetingCreatePage }))), D = n(() => import("./pages/meetings/MeetingDetailPage.js").then((e) => ({ default: e.MeetingDetailPage }))), O = n(() => import("./pages/meetings/MeetingAnalyticsPage.js").then((e) => ({ default: e.MeetingAnalyticsPage }))), k = n(() => import("./pages/email-tracking/EmailTrackingPage.js").then((e) => ({ default: e.EmailTrackingPage }))), A = n(() => import("./pages/email-tracking/EmailAnalyticsPage.js").then((e) => ({ default: e.EmailAnalyticsPage }))), j = n(() => import("./pages/work-patterns/WorkPatternsPage.js").then((e) => ({ default: e.WorkPatternsPage }))), M = n(() => import("./pages/application-usage/ApplicationUsagePage.js").then((e) => ({ default: e.ApplicationUsagePage }))), N = n(() => import("./pages/focus-score/FocusScorePage.js").then((e) => ({ default: e.FocusScorePage }))), P = n(() => import("./pages/location-tracking/LocationTrackingPage.js").then((e) => ({ default: e.LocationTrackingPage }))), F = n(() => import("./pages/geofencing/GeofencingPage.js").then((e) => ({ default: e.GeofencingPage }))), I = n(() => import("./pages/team-activity/TeamActivityPage.js").then((e) => ({ default: e.TeamActivityPage }))), L = n(() => import("./pages/resource-planning/ResourcePlanningPage.js").then((e) => ({ default: e.ResourcePlanningPage }))), R = n(() => import("./pages/time-approval/TimeApprovalPage.js").then((e) => ({ default: e.TimeApprovalPage }))), z = n(() => import("./pages/expense-tracking/ExpenseTrackingPage.js").then((e) => ({ default: e.ExpenseTrackingPage }))), B = n(() => import("./pages/client-portal/ClientPortalPage.js").then((e) => ({ default: e.ClientPortalPage }))),
|
|
14
|
-
function
|
|
13
|
+
var u = n(() => import("./pages/dashboard/AnalyticsPage.js").then((e) => ({ default: e.AnalyticsPage }))), d = n(() => import("./pages/dashboard/ReportsPage.js").then((e) => ({ default: e.ReportsPage }))), f = n(() => import("./pages/time/TimeTrackingPage.js").then((e) => ({ default: e.TimeTrackingPage }))), p = n(() => import("./pages/time/TimerPage.js").then((e) => ({ default: e.TimerPage }))), m = n(() => import("./pages/time/TimeEntriesPage.js").then((e) => ({ default: e.TimeEntriesPage }))), h = n(() => import("./pages/projects/ProjectsPage.js").then((e) => ({ default: e.ProjectsPage }))), g = n(() => import("./pages/projects/ProjectCreatePage.js").then((e) => ({ default: e.ProjectCreatePage }))), _ = n(() => import("./pages/projects/ProjectDetailPage.js").then((e) => ({ default: e.ProjectDetailPage }))), v = n(() => import("./pages/projects/TasksPage.js").then((e) => ({ default: e.TasksPage }))), y = n(() => import("./pages/team/TeamPage.js").then((e) => ({ default: e.TeamPage }))), b = n(() => import("./pages/team/TeamMembersPage.js").then((e) => ({ default: e.TeamMembersPage }))), x = n(() => import("./pages/team/TeamAnalyticsPage.js").then((e) => ({ default: e.TeamAnalyticsPage }))), S = n(() => import("./pages/pomodoro/PomodoroPage.js").then((e) => ({ default: e.PomodoroPage }))), C = n(() => import("./pages/pomodoro/PomodoroAnalyticsPage.js").then((e) => ({ default: e.PomodoroAnalyticsPage }))), w = n(() => import("./pages/pomodoro/PomodoroSettingsPage.js").then((e) => ({ default: e.PomodoroSettingsPage }))), T = n(() => import("./pages/meetings/MeetingsPage.js").then((e) => ({ default: e.MeetingsPage }))), E = n(() => import("./pages/meetings/MeetingCreatePage.js").then((e) => ({ default: e.MeetingCreatePage }))), D = n(() => import("./pages/meetings/MeetingDetailPage.js").then((e) => ({ default: e.MeetingDetailPage }))), O = n(() => import("./pages/meetings/MeetingAnalyticsPage.js").then((e) => ({ default: e.MeetingAnalyticsPage }))), k = n(() => import("./pages/email-tracking/EmailTrackingPage.js").then((e) => ({ default: e.EmailTrackingPage }))), A = n(() => import("./pages/email-tracking/EmailAnalyticsPage.js").then((e) => ({ default: e.EmailAnalyticsPage }))), j = n(() => import("./pages/work-patterns/WorkPatternsPage.js").then((e) => ({ default: e.WorkPatternsPage }))), M = n(() => import("./pages/application-usage/ApplicationUsagePage.js").then((e) => ({ default: e.ApplicationUsagePage }))), N = n(() => import("./pages/focus-score/FocusScorePage.js").then((e) => ({ default: e.FocusScorePage }))), P = n(() => import("./pages/location-tracking/LocationTrackingPage.js").then((e) => ({ default: e.LocationTrackingPage }))), F = n(() => import("./pages/geofencing/GeofencingPage.js").then((e) => ({ default: e.GeofencingPage }))), I = n(() => import("./pages/team-activity/TeamActivityPage.js").then((e) => ({ default: e.TeamActivityPage }))), L = n(() => import("./pages/resource-planning/ResourcePlanningPage.js").then((e) => ({ default: e.ResourcePlanningPage }))), R = n(() => import("./pages/time-approval/TimeApprovalPage.js").then((e) => ({ default: e.TimeApprovalPage }))), z = n(() => import("./pages/expense-tracking/ExpenseTrackingPage.js").then((e) => ({ default: e.ExpenseTrackingPage }))), B = n(() => import("./pages/invoicing/InvoicingPage.js").then((e) => ({ default: e.InvoicingPage }))), V = n(() => import("./pages/client-portal/ClientPortalPage.js").then((e) => ({ default: e.ClientPortalPage }))), H = n(() => import("./pages/timeline/TimelinePage.js").then((e) => ({ default: e.TimelinePage }))), U = n(() => import("./pages/lifetime/LifeTimelinePage.js").then((e) => ({ default: e.LifeTimelinePage }))), W = n(() => import("./pages/lifetime/LifeBalancePage.js").then((e) => ({ default: e.LifeBalancePage }))), G = n(() => import("./pages/lifetime/FiniteLifePage.js").then((e) => ({ default: e.FiniteLifePage }))), K = n(() => import("./pages/lifetime/TimeWellSpentPage.js").then((e) => ({ default: e.TimeWellSpentPage }))), q = n(() => import("./pages/lifetime/DeadTimeRadarPage.js").then((e) => ({ default: e.DeadTimeRadarPage }))), J = n(() => import("./pages/lifetime/ValuesGoalsPage.js").then((e) => ({ default: e.ValuesGoalsPage }))), Y = n(() => import("./pages/lifetime/RecommendationsPage.js").then((e) => ({ default: e.RecommendationsPage }))), X = n(() => import("./pages/lifetime/PersonalCorporatePage.js").then((e) => ({ default: e.PersonalCorporatePage })));
|
|
14
|
+
function Z() {
|
|
15
15
|
return /* @__PURE__ */ o(t, {
|
|
16
16
|
fallback: /* @__PURE__ */ o(l, {}),
|
|
17
17
|
children: /* @__PURE__ */ s(a, { children: [
|
|
@@ -140,45 +140,49 @@ function X() {
|
|
|
140
140
|
element: /* @__PURE__ */ o(z, {})
|
|
141
141
|
}),
|
|
142
142
|
/* @__PURE__ */ o(i, {
|
|
143
|
-
path: "
|
|
143
|
+
path: "invoicing",
|
|
144
144
|
element: /* @__PURE__ */ o(B, {})
|
|
145
145
|
}),
|
|
146
146
|
/* @__PURE__ */ o(i, {
|
|
147
|
-
path: "
|
|
147
|
+
path: "client-portal",
|
|
148
148
|
element: /* @__PURE__ */ o(V, {})
|
|
149
149
|
}),
|
|
150
150
|
/* @__PURE__ */ o(i, {
|
|
151
|
-
path: "
|
|
151
|
+
path: "timeline",
|
|
152
152
|
element: /* @__PURE__ */ o(H, {})
|
|
153
153
|
}),
|
|
154
154
|
/* @__PURE__ */ o(i, {
|
|
155
|
-
path: "life-
|
|
155
|
+
path: "life-timeline",
|
|
156
156
|
element: /* @__PURE__ */ o(U, {})
|
|
157
157
|
}),
|
|
158
158
|
/* @__PURE__ */ o(i, {
|
|
159
|
-
path: "
|
|
159
|
+
path: "life-balance",
|
|
160
160
|
element: /* @__PURE__ */ o(W, {})
|
|
161
161
|
}),
|
|
162
162
|
/* @__PURE__ */ o(i, {
|
|
163
|
-
path: "
|
|
163
|
+
path: "finite-life",
|
|
164
164
|
element: /* @__PURE__ */ o(G, {})
|
|
165
165
|
}),
|
|
166
166
|
/* @__PURE__ */ o(i, {
|
|
167
|
-
path: "
|
|
167
|
+
path: "time-well-spent",
|
|
168
168
|
element: /* @__PURE__ */ o(K, {})
|
|
169
169
|
}),
|
|
170
170
|
/* @__PURE__ */ o(i, {
|
|
171
|
-
path: "
|
|
171
|
+
path: "dead-time-radar",
|
|
172
172
|
element: /* @__PURE__ */ o(q, {})
|
|
173
173
|
}),
|
|
174
174
|
/* @__PURE__ */ o(i, {
|
|
175
|
-
path: "
|
|
175
|
+
path: "values-goals",
|
|
176
176
|
element: /* @__PURE__ */ o(J, {})
|
|
177
177
|
}),
|
|
178
178
|
/* @__PURE__ */ o(i, {
|
|
179
|
-
path: "
|
|
179
|
+
path: "recommendations",
|
|
180
180
|
element: /* @__PURE__ */ o(Y, {})
|
|
181
181
|
}),
|
|
182
|
+
/* @__PURE__ */ o(i, {
|
|
183
|
+
path: "personal-corporate",
|
|
184
|
+
element: /* @__PURE__ */ o(X, {})
|
|
185
|
+
}),
|
|
182
186
|
/* @__PURE__ */ o(i, {
|
|
183
187
|
path: "*",
|
|
184
188
|
element: /* @__PURE__ */ o(r, {
|
|
@@ -190,6 +194,6 @@ function X() {
|
|
|
190
194
|
});
|
|
191
195
|
}
|
|
192
196
|
//#endregion
|
|
193
|
-
export {
|
|
197
|
+
export { Z as TimeCampusRoutes };
|
|
194
198
|
|
|
195
199
|
//# sourceMappingURL=TimeCampusRoutes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeCampusRoutes.js","names":[],"sources":["../../src/timecampus/TimeCampusRoutes.tsx"],"sourcesContent":["/**\n * TimeCampus Routes\n * All route definitions with lazy loading.\n * @module timecampus\n */\n\nimport { lazy, Suspense } from \"react\";\nimport { Routes, Route, Navigate } from \"react-router-dom\";\nimport { Spinner } from \"@burdenoff/fe-libs/ui\";\n\n// Eagerly load the home page\nimport { HomePage } from \"./pages/HomePage\";\n\n// Loading fallback\nfunction PageLoader() {\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <Spinner className=\"h-8 w-8\" />\n </div>\n );\n}\n\n// ── Dashboard / Analytics / Reports ─────────────────────────────────────────\nconst AnalyticsPage = lazy(() =>\n import(\"./pages/dashboard/AnalyticsPage\").then((m) => ({\n default: m.AnalyticsPage,\n })),\n);\nconst ReportsPage = lazy(() =>\n import(\"./pages/dashboard/ReportsPage\").then((m) => ({\n default: m.ReportsPage,\n })),\n);\n\n// ── Time Tracking ───────────────────────────────────────────────────────────\nconst TimeTrackingPage = lazy(() =>\n import(\"./pages/time/TimeTrackingPage\").then((m) => ({\n default: m.TimeTrackingPage,\n })),\n);\nconst TimerPage = lazy(() =>\n import(\"./pages/time/TimerPage\").then((m) => ({ default: m.TimerPage })),\n);\nconst TimeEntriesPage = lazy(() =>\n import(\"./pages/time/TimeEntriesPage\").then((m) => ({\n default: m.TimeEntriesPage,\n })),\n);\n\n// ── Projects ────────────────────────────────────────────────────────────────\nconst ProjectsPage = lazy(() =>\n import(\"./pages/projects/ProjectsPage\").then((m) => ({\n default: m.ProjectsPage,\n })),\n);\nconst ProjectCreatePage = lazy(() =>\n import(\"./pages/projects/ProjectCreatePage\").then((m) => ({\n default: m.ProjectCreatePage,\n })),\n);\nconst ProjectDetailPage = lazy(() =>\n import(\"./pages/projects/ProjectDetailPage\").then((m) => ({\n default: m.ProjectDetailPage,\n })),\n);\nconst TasksPage = lazy(() =>\n import(\"./pages/projects/TasksPage\").then((m) => ({ default: m.TasksPage })),\n);\n\n// ── Team ────────────────────────────────────────────────────────────────────\nconst TeamPage = lazy(() =>\n import(\"./pages/team/TeamPage\").then((m) => ({ default: m.TeamPage })),\n);\nconst TeamMembersPage = lazy(() =>\n import(\"./pages/team/TeamMembersPage\").then((m) => ({\n default: m.TeamMembersPage,\n })),\n);\nconst TeamAnalyticsPage = lazy(() =>\n import(\"./pages/team/TeamAnalyticsPage\").then((m) => ({\n default: m.TeamAnalyticsPage,\n })),\n);\n\n// ── Pomodoro ────────────────────────────────────────────────────────────────\nconst PomodoroPage = lazy(() =>\n import(\"./pages/pomodoro/PomodoroPage\").then((m) => ({\n default: m.PomodoroPage,\n })),\n);\nconst PomodoroAnalyticsPage = lazy(() =>\n import(\"./pages/pomodoro/PomodoroAnalyticsPage\").then((m) => ({\n default: m.PomodoroAnalyticsPage,\n })),\n);\nconst PomodoroSettingsPage = lazy(() =>\n import(\"./pages/pomodoro/PomodoroSettingsPage\").then((m) => ({\n default: m.PomodoroSettingsPage,\n })),\n);\n\n// ── Meetings ────────────────────────────────────────────────────────────────\nconst MeetingsPage = lazy(() =>\n import(\"./pages/meetings/MeetingsPage\").then((m) => ({\n default: m.MeetingsPage,\n })),\n);\nconst MeetingCreatePage = lazy(() =>\n import(\"./pages/meetings/MeetingCreatePage\").then((m) => ({\n default: m.MeetingCreatePage,\n })),\n);\nconst MeetingDetailPage = lazy(() =>\n import(\"./pages/meetings/MeetingDetailPage\").then((m) => ({\n default: m.MeetingDetailPage,\n })),\n);\nconst MeetingAnalyticsPage = lazy(() =>\n import(\"./pages/meetings/MeetingAnalyticsPage\").then((m) => ({\n default: m.MeetingAnalyticsPage,\n })),\n);\n\n// ── Email Tracking ──────────────────────────────────────────────────────────\nconst EmailTrackingPage = lazy(() =>\n import(\"./pages/email-tracking/EmailTrackingPage\").then((m) => ({\n default: m.EmailTrackingPage,\n })),\n);\nconst EmailAnalyticsPage = lazy(() =>\n import(\"./pages/email-tracking/EmailAnalyticsPage\").then((m) => ({\n default: m.EmailAnalyticsPage,\n })),\n);\n// ── Work Patterns ───────────────────────────────────────────────────────────\nconst WorkPatternsPage = lazy(() =>\n import(\"./pages/work-patterns/WorkPatternsPage\").then((m) => ({\n default: m.WorkPatternsPage,\n })),\n);\n// ── Application Usage ───────────────────────────────────────────────────────\nconst ApplicationUsagePage = lazy(() =>\n import(\"./pages/application-usage/ApplicationUsagePage\").then((m) => ({\n default: m.ApplicationUsagePage,\n })),\n);\n// ── Focus Score ─────────────────────────────────────────────────────────────\nconst FocusScorePage = lazy(() =>\n import(\"./pages/focus-score/FocusScorePage\").then((m) => ({\n default: m.FocusScorePage,\n })),\n);\n// ── Location Tracking ───────────────────────────────────────────────────────\nconst LocationTrackingPage = lazy(() =>\n import(\"./pages/location-tracking/LocationTrackingPage\").then((m) => ({\n default: m.LocationTrackingPage,\n })),\n);\n// ── Geofencing ──────────────────────────────────────────────────────────────\nconst GeofencingPage = lazy(() =>\n import(\"./pages/geofencing/GeofencingPage\").then((m) => ({\n default: m.GeofencingPage,\n })),\n);\n// ── Team Activity ───────────────────────────────────────────────────────────\nconst TeamActivityPage = lazy(() =>\n import(\"./pages/team-activity/TeamActivityPage\").then((m) => ({\n default: m.TeamActivityPage,\n })),\n);\n// ── Resource Planning ───────────────────────────────────────────────────────\nconst ResourcePlanningPage = lazy(() =>\n import(\"./pages/resource-planning/ResourcePlanningPage\").then((m) => ({\n default: m.ResourcePlanningPage,\n })),\n);\n\n// ── Time Approval ───────────────────────────────────────────────────────────\nconst TimeApprovalPage = lazy(() =>\n import(\"./pages/time-approval/TimeApprovalPage\").then((m) => ({\n default: m.TimeApprovalPage,\n })),\n);\n\n// ── Expense Tracking ────────────────────────────────────────────────────────\nconst ExpenseTrackingPage = lazy(() =>\n import(\"./pages/expense-tracking/ExpenseTrackingPage\").then((m) => ({\n default: m.ExpenseTrackingPage,\n })),\n);\n\n// ── Client Portal ───────────────────────────────────────────────────────────\nconst ClientPortalPage = lazy(() =>\n import(\"./pages/client-portal/ClientPortalPage\").then((m) => ({\n default: m.ClientPortalPage,\n })),\n);\n\n// ── Timeline ────────────────────────────────────────────────────────────────\nconst TimelinePage = lazy(() =>\n import(\"./pages/timeline/TimelinePage\").then((m) => ({\n default: m.TimelinePage,\n })),\n);\n\n// ── Life-time intelligence ──────────────────────────────────────────────────\nconst LifeTimelinePage = lazy(() =>\n import(\"./pages/lifetime/LifeTimelinePage\").then((m) => ({\n default: m.LifeTimelinePage,\n })),\n);\nconst LifeBalancePage = lazy(() =>\n import(\"./pages/lifetime/LifeBalancePage\").then((m) => ({\n default: m.LifeBalancePage,\n })),\n);\nconst FiniteLifePage = lazy(() =>\n import(\"./pages/lifetime/FiniteLifePage\").then((m) => ({\n default: m.FiniteLifePage,\n })),\n);\nconst TimeWellSpentPage = lazy(() =>\n import(\"./pages/lifetime/TimeWellSpentPage\").then((m) => ({\n default: m.TimeWellSpentPage,\n })),\n);\nconst DeadTimeRadarPage = lazy(() =>\n import(\"./pages/lifetime/DeadTimeRadarPage\").then((m) => ({\n default: m.DeadTimeRadarPage,\n })),\n);\nconst ValuesGoalsPage = lazy(() =>\n import(\"./pages/lifetime/ValuesGoalsPage\").then((m) => ({\n default: m.ValuesGoalsPage,\n })),\n);\nconst RecommendationsPage = lazy(() =>\n import(\"./pages/lifetime/RecommendationsPage\").then((m) => ({\n default: m.RecommendationsPage,\n })),\n);\nconst PersonalCorporatePage = lazy(() =>\n import(\"./pages/lifetime/PersonalCorporatePage\").then((m) => ({\n default: m.PersonalCorporatePage,\n })),\n);\n\n// ============================================================================\n// Routes\n// ============================================================================\n\nexport function TimeCampusRoutes() {\n return (\n <Suspense fallback={<PageLoader />}>\n <Routes>\n {/* Dashboard */}\n <Route index element={<HomePage />} />\n <Route path=\"analytics\" element={<AnalyticsPage />} />\n <Route path=\"reports\" element={<ReportsPage />} />\n\n {/* Time Tracking */}\n <Route path=\"time\" element={<TimeTrackingPage />} />\n <Route path=\"time/timer\" element={<TimerPage />} />\n <Route path=\"time/entries\" element={<TimeEntriesPage />} />\n\n {/* Projects */}\n <Route path=\"projects\" element={<ProjectsPage />} />\n <Route path=\"projects/new\" element={<ProjectCreatePage />} />\n <Route path=\"projects/:projectId\" element={<ProjectDetailPage />} />\n <Route path=\"projects/:projectId/tasks\" element={<TasksPage />} />\n\n {/* Team */}\n <Route path=\"team\" element={<TeamPage />} />\n <Route path=\"team/members\" element={<TeamMembersPage />} />\n <Route path=\"team/analytics\" element={<TeamAnalyticsPage />} />\n\n {/* Pomodoro */}\n <Route path=\"pomodoro\" element={<PomodoroPage />} />\n <Route path=\"pomodoro/analytics\" element={<PomodoroAnalyticsPage />} />\n <Route path=\"pomodoro/settings\" element={<PomodoroSettingsPage />} />\n\n {/* Meetings */}\n <Route path=\"meetings\" element={<MeetingsPage />} />\n <Route path=\"meetings/new\" element={<MeetingCreatePage />} />\n <Route path=\"meetings/:id\" element={<MeetingDetailPage />} />\n <Route path=\"meetings/analytics\" element={<MeetingAnalyticsPage />} />\n\n {/* Email Tracking */}\n <Route path=\"email-tracking\" element={<EmailTrackingPage />} />\n <Route\n path=\"email-tracking/analytics\"\n element={<EmailAnalyticsPage />}\n />\n {/* Work Patterns */}\n <Route path=\"work-patterns\" element={<WorkPatternsPage />} />\n {/* Application Usage */}\n <Route path=\"application-usage\" element={<ApplicationUsagePage />} />\n {/* Focus Score */}\n <Route path=\"focus-score\" element={<FocusScorePage />} />\n {/* Location Tracking */}\n <Route path=\"location-tracking\" element={<LocationTrackingPage />} />\n {/* Geofencing */}\n <Route path=\"geofencing\" element={<GeofencingPage />} />\n {/* Team Activity */}\n <Route path=\"team-activity\" element={<TeamActivityPage />} />\n {/* Resource Planning */}\n <Route path=\"resource-planning\" element={<ResourcePlanningPage />} />\n\n {/* Time Approval */}\n <Route path=\"time-approval\" element={<TimeApprovalPage />} />\n\n {/* Expense Tracking */}\n <Route path=\"expense-tracking\" element={<ExpenseTrackingPage />} />\n\n {/* Client Portal */}\n <Route path=\"client-portal\" element={<ClientPortalPage />} />\n\n {/* Timeline */}\n <Route path=\"timeline\" element={<TimelinePage />} />\n\n {/* Life-time intelligence */}\n <Route path=\"life-timeline\" element={<LifeTimelinePage />} />\n <Route path=\"life-balance\" element={<LifeBalancePage />} />\n <Route path=\"finite-life\" element={<FiniteLifePage />} />\n <Route path=\"time-well-spent\" element={<TimeWellSpentPage />} />\n <Route path=\"dead-time-radar\" element={<DeadTimeRadarPage />} />\n <Route path=\"values-goals\" element={<ValuesGoalsPage />} />\n <Route path=\"recommendations\" element={<RecommendationsPage />} />\n <Route path=\"personal-corporate\" element={<PersonalCorporatePage />} />\n\n {/* Catch-all: redirect to dashboard */}\n <Route path=\"*\" element={<Navigate to=\"\" replace />} />\n </Routes>\n </Suspense>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimeCampusRoutes.js","names":[],"sources":["../../src/timecampus/TimeCampusRoutes.tsx"],"sourcesContent":["/**\n * TimeCampus Routes\n * All route definitions with lazy loading.\n * @module timecampus\n */\n\nimport { lazy, Suspense } from \"react\";\nimport { Routes, Route, Navigate } from \"react-router-dom\";\nimport { Spinner } from \"@burdenoff/fe-libs/ui\";\n\n// Eagerly load the home page\nimport { HomePage } from \"./pages/HomePage\";\n\n// Loading fallback\nfunction PageLoader() {\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <Spinner className=\"h-8 w-8\" />\n </div>\n );\n}\n\n// ── Dashboard / Analytics / Reports ─────────────────────────────────────────\nconst AnalyticsPage = lazy(() =>\n import(\"./pages/dashboard/AnalyticsPage\").then((m) => ({\n default: m.AnalyticsPage,\n })),\n);\nconst ReportsPage = lazy(() =>\n import(\"./pages/dashboard/ReportsPage\").then((m) => ({\n default: m.ReportsPage,\n })),\n);\n\n// ── Time Tracking ───────────────────────────────────────────────────────────\nconst TimeTrackingPage = lazy(() =>\n import(\"./pages/time/TimeTrackingPage\").then((m) => ({\n default: m.TimeTrackingPage,\n })),\n);\nconst TimerPage = lazy(() =>\n import(\"./pages/time/TimerPage\").then((m) => ({ default: m.TimerPage })),\n);\nconst TimeEntriesPage = lazy(() =>\n import(\"./pages/time/TimeEntriesPage\").then((m) => ({\n default: m.TimeEntriesPage,\n })),\n);\n\n// ── Projects ────────────────────────────────────────────────────────────────\nconst ProjectsPage = lazy(() =>\n import(\"./pages/projects/ProjectsPage\").then((m) => ({\n default: m.ProjectsPage,\n })),\n);\nconst ProjectCreatePage = lazy(() =>\n import(\"./pages/projects/ProjectCreatePage\").then((m) => ({\n default: m.ProjectCreatePage,\n })),\n);\nconst ProjectDetailPage = lazy(() =>\n import(\"./pages/projects/ProjectDetailPage\").then((m) => ({\n default: m.ProjectDetailPage,\n })),\n);\nconst TasksPage = lazy(() =>\n import(\"./pages/projects/TasksPage\").then((m) => ({ default: m.TasksPage })),\n);\n\n// ── Team ────────────────────────────────────────────────────────────────────\nconst TeamPage = lazy(() =>\n import(\"./pages/team/TeamPage\").then((m) => ({ default: m.TeamPage })),\n);\nconst TeamMembersPage = lazy(() =>\n import(\"./pages/team/TeamMembersPage\").then((m) => ({\n default: m.TeamMembersPage,\n })),\n);\nconst TeamAnalyticsPage = lazy(() =>\n import(\"./pages/team/TeamAnalyticsPage\").then((m) => ({\n default: m.TeamAnalyticsPage,\n })),\n);\n\n// ── Pomodoro ────────────────────────────────────────────────────────────────\nconst PomodoroPage = lazy(() =>\n import(\"./pages/pomodoro/PomodoroPage\").then((m) => ({\n default: m.PomodoroPage,\n })),\n);\nconst PomodoroAnalyticsPage = lazy(() =>\n import(\"./pages/pomodoro/PomodoroAnalyticsPage\").then((m) => ({\n default: m.PomodoroAnalyticsPage,\n })),\n);\nconst PomodoroSettingsPage = lazy(() =>\n import(\"./pages/pomodoro/PomodoroSettingsPage\").then((m) => ({\n default: m.PomodoroSettingsPage,\n })),\n);\n\n// ── Meetings ────────────────────────────────────────────────────────────────\nconst MeetingsPage = lazy(() =>\n import(\"./pages/meetings/MeetingsPage\").then((m) => ({\n default: m.MeetingsPage,\n })),\n);\nconst MeetingCreatePage = lazy(() =>\n import(\"./pages/meetings/MeetingCreatePage\").then((m) => ({\n default: m.MeetingCreatePage,\n })),\n);\nconst MeetingDetailPage = lazy(() =>\n import(\"./pages/meetings/MeetingDetailPage\").then((m) => ({\n default: m.MeetingDetailPage,\n })),\n);\nconst MeetingAnalyticsPage = lazy(() =>\n import(\"./pages/meetings/MeetingAnalyticsPage\").then((m) => ({\n default: m.MeetingAnalyticsPage,\n })),\n);\n\n// ── Email Tracking ──────────────────────────────────────────────────────────\nconst EmailTrackingPage = lazy(() =>\n import(\"./pages/email-tracking/EmailTrackingPage\").then((m) => ({\n default: m.EmailTrackingPage,\n })),\n);\nconst EmailAnalyticsPage = lazy(() =>\n import(\"./pages/email-tracking/EmailAnalyticsPage\").then((m) => ({\n default: m.EmailAnalyticsPage,\n })),\n);\n// ── Work Patterns ───────────────────────────────────────────────────────────\nconst WorkPatternsPage = lazy(() =>\n import(\"./pages/work-patterns/WorkPatternsPage\").then((m) => ({\n default: m.WorkPatternsPage,\n })),\n);\n// ── Application Usage ───────────────────────────────────────────────────────\nconst ApplicationUsagePage = lazy(() =>\n import(\"./pages/application-usage/ApplicationUsagePage\").then((m) => ({\n default: m.ApplicationUsagePage,\n })),\n);\n// ── Focus Score ─────────────────────────────────────────────────────────────\nconst FocusScorePage = lazy(() =>\n import(\"./pages/focus-score/FocusScorePage\").then((m) => ({\n default: m.FocusScorePage,\n })),\n);\n// ── Location Tracking ───────────────────────────────────────────────────────\nconst LocationTrackingPage = lazy(() =>\n import(\"./pages/location-tracking/LocationTrackingPage\").then((m) => ({\n default: m.LocationTrackingPage,\n })),\n);\n// ── Geofencing ──────────────────────────────────────────────────────────────\nconst GeofencingPage = lazy(() =>\n import(\"./pages/geofencing/GeofencingPage\").then((m) => ({\n default: m.GeofencingPage,\n })),\n);\n// ── Team Activity ───────────────────────────────────────────────────────────\nconst TeamActivityPage = lazy(() =>\n import(\"./pages/team-activity/TeamActivityPage\").then((m) => ({\n default: m.TeamActivityPage,\n })),\n);\n// ── Resource Planning ───────────────────────────────────────────────────────\nconst ResourcePlanningPage = lazy(() =>\n import(\"./pages/resource-planning/ResourcePlanningPage\").then((m) => ({\n default: m.ResourcePlanningPage,\n })),\n);\n\n// ── Time Approval ───────────────────────────────────────────────────────────\nconst TimeApprovalPage = lazy(() =>\n import(\"./pages/time-approval/TimeApprovalPage\").then((m) => ({\n default: m.TimeApprovalPage,\n })),\n);\n\n// ── Expense Tracking ────────────────────────────────────────────────────────\nconst ExpenseTrackingPage = lazy(() =>\n import(\"./pages/expense-tracking/ExpenseTrackingPage\").then((m) => ({\n default: m.ExpenseTrackingPage,\n })),\n);\n\n// ── Invoicing ────────────────────────────────────────────────────────────────\nconst InvoicingPage = lazy(() =>\n import(\"./pages/invoicing/InvoicingPage\").then((m) => ({\n default: m.InvoicingPage,\n })),\n);\n\n// ── Client Portal ───────────────────────────────────────────────────────────\nconst ClientPortalPage = lazy(() =>\n import(\"./pages/client-portal/ClientPortalPage\").then((m) => ({\n default: m.ClientPortalPage,\n })),\n);\n\n// ── Timeline ────────────────────────────────────────────────────────────────\nconst TimelinePage = lazy(() =>\n import(\"./pages/timeline/TimelinePage\").then((m) => ({\n default: m.TimelinePage,\n })),\n);\n\n// ── Life-time intelligence ──────────────────────────────────────────────────\nconst LifeTimelinePage = lazy(() =>\n import(\"./pages/lifetime/LifeTimelinePage\").then((m) => ({\n default: m.LifeTimelinePage,\n })),\n);\nconst LifeBalancePage = lazy(() =>\n import(\"./pages/lifetime/LifeBalancePage\").then((m) => ({\n default: m.LifeBalancePage,\n })),\n);\nconst FiniteLifePage = lazy(() =>\n import(\"./pages/lifetime/FiniteLifePage\").then((m) => ({\n default: m.FiniteLifePage,\n })),\n);\nconst TimeWellSpentPage = lazy(() =>\n import(\"./pages/lifetime/TimeWellSpentPage\").then((m) => ({\n default: m.TimeWellSpentPage,\n })),\n);\nconst DeadTimeRadarPage = lazy(() =>\n import(\"./pages/lifetime/DeadTimeRadarPage\").then((m) => ({\n default: m.DeadTimeRadarPage,\n })),\n);\nconst ValuesGoalsPage = lazy(() =>\n import(\"./pages/lifetime/ValuesGoalsPage\").then((m) => ({\n default: m.ValuesGoalsPage,\n })),\n);\nconst RecommendationsPage = lazy(() =>\n import(\"./pages/lifetime/RecommendationsPage\").then((m) => ({\n default: m.RecommendationsPage,\n })),\n);\nconst PersonalCorporatePage = lazy(() =>\n import(\"./pages/lifetime/PersonalCorporatePage\").then((m) => ({\n default: m.PersonalCorporatePage,\n })),\n);\n\n// ============================================================================\n// Routes\n// ============================================================================\n\nexport function TimeCampusRoutes() {\n return (\n <Suspense fallback={<PageLoader />}>\n <Routes>\n {/* Dashboard */}\n <Route index element={<HomePage />} />\n <Route path=\"analytics\" element={<AnalyticsPage />} />\n <Route path=\"reports\" element={<ReportsPage />} />\n\n {/* Time Tracking */}\n <Route path=\"time\" element={<TimeTrackingPage />} />\n <Route path=\"time/timer\" element={<TimerPage />} />\n <Route path=\"time/entries\" element={<TimeEntriesPage />} />\n\n {/* Projects */}\n <Route path=\"projects\" element={<ProjectsPage />} />\n <Route path=\"projects/new\" element={<ProjectCreatePage />} />\n <Route path=\"projects/:projectId\" element={<ProjectDetailPage />} />\n <Route path=\"projects/:projectId/tasks\" element={<TasksPage />} />\n\n {/* Team */}\n <Route path=\"team\" element={<TeamPage />} />\n <Route path=\"team/members\" element={<TeamMembersPage />} />\n <Route path=\"team/analytics\" element={<TeamAnalyticsPage />} />\n\n {/* Pomodoro */}\n <Route path=\"pomodoro\" element={<PomodoroPage />} />\n <Route path=\"pomodoro/analytics\" element={<PomodoroAnalyticsPage />} />\n <Route path=\"pomodoro/settings\" element={<PomodoroSettingsPage />} />\n\n {/* Meetings */}\n <Route path=\"meetings\" element={<MeetingsPage />} />\n <Route path=\"meetings/new\" element={<MeetingCreatePage />} />\n <Route path=\"meetings/:id\" element={<MeetingDetailPage />} />\n <Route path=\"meetings/analytics\" element={<MeetingAnalyticsPage />} />\n\n {/* Email Tracking */}\n <Route path=\"email-tracking\" element={<EmailTrackingPage />} />\n <Route\n path=\"email-tracking/analytics\"\n element={<EmailAnalyticsPage />}\n />\n {/* Work Patterns */}\n <Route path=\"work-patterns\" element={<WorkPatternsPage />} />\n {/* Application Usage */}\n <Route path=\"application-usage\" element={<ApplicationUsagePage />} />\n {/* Focus Score */}\n <Route path=\"focus-score\" element={<FocusScorePage />} />\n {/* Location Tracking */}\n <Route path=\"location-tracking\" element={<LocationTrackingPage />} />\n {/* Geofencing */}\n <Route path=\"geofencing\" element={<GeofencingPage />} />\n {/* Team Activity */}\n <Route path=\"team-activity\" element={<TeamActivityPage />} />\n {/* Resource Planning */}\n <Route path=\"resource-planning\" element={<ResourcePlanningPage />} />\n\n {/* Time Approval */}\n <Route path=\"time-approval\" element={<TimeApprovalPage />} />\n\n {/* Expense Tracking */}\n <Route path=\"expense-tracking\" element={<ExpenseTrackingPage />} />\n\n {/* Invoicing */}\n <Route path=\"invoicing\" element={<InvoicingPage />} />\n\n {/* Client Portal */}\n <Route path=\"client-portal\" element={<ClientPortalPage />} />\n\n {/* Timeline */}\n <Route path=\"timeline\" element={<TimelinePage />} />\n\n {/* Life-time intelligence */}\n <Route path=\"life-timeline\" element={<LifeTimelinePage />} />\n <Route path=\"life-balance\" element={<LifeBalancePage />} />\n <Route path=\"finite-life\" element={<FiniteLifePage />} />\n <Route path=\"time-well-spent\" element={<TimeWellSpentPage />} />\n <Route path=\"dead-time-radar\" element={<DeadTimeRadarPage />} />\n <Route path=\"values-goals\" element={<ValuesGoalsPage />} />\n <Route path=\"recommendations\" element={<RecommendationsPage />} />\n <Route path=\"personal-corporate\" element={<PersonalCorporatePage />} />\n\n {/* Catch-all: redirect to dashboard */}\n <Route path=\"*\" element={<Navigate to=\"\" replace />} />\n </Routes>\n </Suspense>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBadge.d.ts","sourceRoot":"","sources":["../../../src/timecampus/components/StatusBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"StatusBadge.d.ts","sourceRoot":"","sources":["../../../src/timecampus/components/StatusBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,KAAK,YAAY,GACf,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjE,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoBD,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAoC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBadge.js","names":[],"sources":["../../../src/timecampus/components/StatusBadge.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { cn, getStatusColor, getPriorityColor } from \"../utils/helpers\";\n\ntype BadgeVariant =\n
|
|
1
|
+
{"version":3,"file":"StatusBadge.js","names":[],"sources":["../../../src/timecampus/components/StatusBadge.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { cn, getStatusColor, getPriorityColor } from \"../utils/helpers\";\n\ntype BadgeVariant =\n \"success\" | \"warning\" | \"error\" | \"info\" | \"default\" | \"muted\";\n\ninterface StatusBadgeProps {\n label: string;\n variant?: BadgeVariant;\n /** Auto-detect variant from a status string using getStatusColor */\n status?: string;\n /** Auto-detect variant from a priority string using getPriorityColor */\n priority?: string;\n dot?: boolean;\n className?: string;\n}\n\nconst variantStyles: Record<BadgeVariant, string> = {\n success: \"bg-status-success-bg text-status-success-text\",\n warning: \"bg-status-warning-bg text-status-warning-text\",\n error: \"bg-status-error-bg text-status-error-text\",\n info: \"bg-status-info-bg text-status-info-text\",\n default: \"bg-action-primary-bg/10 text-primary\",\n muted: \"bg-bg-sunken text-text-secondary\",\n};\n\nconst dotStyles: Record<BadgeVariant, string> = {\n success: \"bg-status-success-text\",\n warning: \"bg-status-warning-text\",\n error: \"bg-status-error-text\",\n info: \"bg-status-info-text\",\n default: \"bg-action-primary-bg\",\n muted: \"bg-muted-foreground\",\n};\n\nexport const StatusBadge: FC<StatusBadgeProps> = ({\n label,\n variant,\n status,\n priority,\n dot = false,\n className,\n}) => {\n // Resolve variant: explicit > status-based > priority-based > default\n const resolvedVariant: BadgeVariant =\n variant ??\n (status\n ? (getStatusColor(status) as BadgeVariant)\n : priority\n ? (getPriorityColor(priority) as BadgeVariant)\n : \"default\");\n\n return (\n <span\n className={cn(\n \"inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs font-medium\",\n variantStyles[resolvedVariant],\n className,\n )}\n >\n {dot && (\n <span\n className={cn(\n \"h-1.5 w-1.5 rounded-full motion-safe:animate-vc-glow-pulse\",\n dotStyles[resolvedVariant],\n )}\n />\n )}\n {label}\n </span>\n );\n};\n"],"mappings":";;;AAiBA,IAAM,IAA8C;CAClD,SAAS;CACT,SAAS;CACT,OAAO;CACP,MAAM;CACN,SAAS;CACT,OAAO;CACR,EAEK,IAA0C;CAC9C,SAAS;CACT,SAAS;CACT,OAAO;CACP,MAAM;CACN,SAAS;CACT,OAAO;CACR,EAEY,KAAqC,EAChD,UACA,YACA,WACA,aACA,SAAM,IACN,mBACI;CAEJ,IAAM,IACJ,MACC,IACI,EAAe,EAAO,GACvB,IACG,EAAiB,EAAS,GAC3B;AAER,QACE,kBAAC,QAAD;EACE,WAAW,EACT,mFACA,EAAc,IACd,EACD;YALH,CAOG,KACC,kBAAC,QAAD,EACE,WAAW,EACT,8DACA,EAAU,GACX,EACD,CAAA,EAEH,EACI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvoicingPage.d.ts","sourceRoot":"","sources":["../../../../src/timecampus/pages/invoicing/InvoicingPage.tsx"],"names":[],"mappings":"AAwGA,wBAAgB,aAAa,gCA4qB5B"}
|