@burdenoff/microfe-atheletebridge 2026.713.1 → 2026.716.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/atheletebridge/AthleteBridgeRoot.js +50 -53
- package/dist/atheletebridge/AthleteBridgeRoot.js.map +1 -1
- package/dist/atheletebridge/AthleteBridgeRoutes.d.ts.map +1 -1
- package/dist/atheletebridge/AthleteBridgeRoutes.js +29 -25
- package/dist/atheletebridge/AthleteBridgeRoutes.js.map +1 -1
- package/dist/atheletebridge/admin/AdminDashboardPage.d.ts +4 -0
- package/dist/atheletebridge/admin/AdminDashboardPage.d.ts.map +1 -0
- package/dist/atheletebridge/admin/AdminDashboardPage.js +553 -0
- package/dist/atheletebridge/admin/AdminDashboardPage.js.map +1 -0
- package/dist/atheletebridge/admin/AdminRoot.d.ts +9 -0
- package/dist/atheletebridge/admin/AdminRoot.d.ts.map +1 -0
- package/dist/atheletebridge/admin/AdminRoot.js +23 -0
- package/dist/atheletebridge/admin/AdminRoot.js.map +1 -0
- package/dist/atheletebridge/admin/index.d.ts +11 -0
- package/dist/atheletebridge/admin/index.d.ts.map +1 -0
- package/dist/atheletebridge/admin/index.js +2 -0
- package/dist/atheletebridge/components/DrillVideoLink.js +1 -1
- package/dist/atheletebridge/components/DrillVideoLink.js.map +1 -1
- package/dist/atheletebridge/components/UserSearchSelect.js +2 -2
- package/dist/atheletebridge/components/UserSearchSelect.js.map +1 -1
- package/dist/atheletebridge/components/domain.js +3 -3
- package/dist/atheletebridge/components/domain.js.map +1 -1
- package/dist/atheletebridge/hooks/index.js +1 -0
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.d.ts.map +1 -1
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.js +27 -27
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.js.map +1 -1
- package/dist/atheletebridge/i18n.d.ts +26 -0
- package/dist/atheletebridge/i18n.d.ts.map +1 -0
- package/dist/atheletebridge/i18n.js +14 -0
- package/dist/atheletebridge/i18n.js.map +1 -0
- package/dist/atheletebridge/index.d.ts +1 -0
- package/dist/atheletebridge/index.d.ts.map +1 -1
- package/dist/atheletebridge/index.js +3 -0
- package/dist/atheletebridge/pages/DashboardPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/DashboardPage.js +166 -144
- package/dist/atheletebridge/pages/DashboardPage.js.map +1 -1
- package/dist/atheletebridge/pages/StandingsPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/StandingsPage.js +98 -92
- package/dist/atheletebridge/pages/StandingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/fixtures/FixturesListPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/fixtures/FixturesListPage.js +6 -4
- package/dist/atheletebridge/pages/fixtures/FixturesListPage.js.map +1 -1
- package/dist/atheletebridge/pages/onboarding/OnboardingPage.d.ts +4 -0
- package/dist/atheletebridge/pages/onboarding/OnboardingPage.d.ts.map +1 -0
- package/dist/atheletebridge/pages/onboarding/OnboardingPage.js +371 -0
- package/dist/atheletebridge/pages/onboarding/OnboardingPage.js.map +1 -0
- package/dist/atheletebridge/pages/performance/PerformancePage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/performance/PerformancePage.js +42 -41
- package/dist/atheletebridge/pages/performance/PerformancePage.js.map +1 -1
- package/dist/atheletebridge/pages/programs/ProgramsListPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/programs/ProgramsListPage.js +8 -6
- package/dist/atheletebridge/pages/programs/ProgramsListPage.js.map +1 -1
- package/dist/atheletebridge/pages/sessions/SessionDetailPage.js +1 -1
- package/dist/atheletebridge/pages/sessions/SessionDetailPage.js.map +1 -1
- package/dist/atheletebridge/pages/sessions/SessionsListPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/sessions/SessionsListPage.js +6 -4
- package/dist/atheletebridge/pages/sessions/SessionsListPage.js.map +1 -1
- package/dist/atheletebridge/pages/teams/TeamsListPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/teams/TeamsListPage.js +7 -5
- package/dist/atheletebridge/pages/teams/TeamsListPage.js.map +1 -1
- package/dist/atheletebridge/types/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/package.json +13 -2
|
@@ -1,121 +1,118 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { useAbTranslate as e } from "./i18n.js";
|
|
2
|
+
import { AthleteBridgeProvider as t } from "./context/AthleteBridgeContext.js";
|
|
3
|
+
import { AthleteBridgeRoutes as n } from "./AthleteBridgeRoutes.js";
|
|
4
|
+
import { useEffect as r } from "react";
|
|
4
5
|
import { QueryClient as i, QueryClientProvider as a } from "@tanstack/react-query";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { jsx as _ } from "react/jsx-runtime";
|
|
6
|
+
import { FeatureFlagProvider as o } from "@burdenoff/fe-libs/shared/feature-flags";
|
|
7
|
+
import { BarChart3 as s, CalendarDays as c, ClipboardCheck as l, Dumbbell as u, Gauge as d, LayoutDashboard as f, Swords as p, Trophy as m, Users as h } from "lucide-react";
|
|
8
|
+
import { jsx as g } from "react/jsx-runtime";
|
|
9
9
|
//#region src/atheletebridge/AthleteBridgeRoot.tsx
|
|
10
|
-
var
|
|
10
|
+
var _ = new i({ defaultOptions: { queries: {
|
|
11
11
|
staleTime: 300 * 1e3,
|
|
12
12
|
retry: 1
|
|
13
|
-
} } }),
|
|
14
|
-
let { registerNavItems:
|
|
15
|
-
let n = S(e);
|
|
16
|
-
return n === e ? t : n;
|
|
17
|
-
}, [S]), w = (e, t) => (e.endsWith("/") ? e.slice(0, -1) : e) + (t.startsWith("/") ? t : `/${t}`);
|
|
13
|
+
} } }), v = (i) => {
|
|
14
|
+
let { registerNavItems: v, registerFooterItems: y, basePath: b = "/", workspaceId: x } = i, S = e(), C = (e, t) => (e.endsWith("/") ? e.slice(0, -1) : e) + (t.startsWith("/") ? t : `/${t}`);
|
|
18
15
|
return r(() => {
|
|
19
|
-
if (
|
|
16
|
+
if (v) return v([
|
|
20
17
|
{
|
|
21
18
|
id: "atheletebridge-dashboard",
|
|
22
|
-
label:
|
|
23
|
-
path:
|
|
24
|
-
icon: /* @__PURE__ */
|
|
19
|
+
label: S("atheletebridge.nav.dashboard", "Dashboard"),
|
|
20
|
+
path: C(b, ""),
|
|
21
|
+
icon: /* @__PURE__ */ g(f, { size: 20 }),
|
|
25
22
|
order: 1,
|
|
26
23
|
group: "main"
|
|
27
24
|
},
|
|
28
25
|
{
|
|
29
26
|
id: "atheletebridge-teams",
|
|
30
|
-
label:
|
|
31
|
-
path:
|
|
32
|
-
icon: /* @__PURE__ */
|
|
27
|
+
label: S("atheletebridge.nav.teams", "Teams"),
|
|
28
|
+
path: C(b, "teams"),
|
|
29
|
+
icon: /* @__PURE__ */ g(h, { size: 20 }),
|
|
33
30
|
order: 10,
|
|
34
31
|
group: "roster"
|
|
35
32
|
},
|
|
36
33
|
{
|
|
37
34
|
id: "atheletebridge-fixtures",
|
|
38
|
-
label:
|
|
39
|
-
path:
|
|
40
|
-
icon: /* @__PURE__ */
|
|
35
|
+
label: S("atheletebridge.nav.fixtures", "Fixtures"),
|
|
36
|
+
path: C(b, "fixtures"),
|
|
37
|
+
icon: /* @__PURE__ */ g(c, { size: 20 }),
|
|
41
38
|
order: 11,
|
|
42
39
|
group: "roster"
|
|
43
40
|
},
|
|
44
41
|
{
|
|
45
42
|
id: "atheletebridge-standings",
|
|
46
|
-
label:
|
|
47
|
-
path:
|
|
48
|
-
icon: /* @__PURE__ */
|
|
43
|
+
label: S("atheletebridge.nav.standings", "Standings"),
|
|
44
|
+
path: C(b, "standings"),
|
|
45
|
+
icon: /* @__PURE__ */ g(m, { size: 20 }),
|
|
49
46
|
order: 12,
|
|
50
47
|
group: "roster"
|
|
51
48
|
},
|
|
52
49
|
{
|
|
53
50
|
id: "atheletebridge-tournaments",
|
|
54
|
-
label:
|
|
55
|
-
path:
|
|
56
|
-
icon: /* @__PURE__ */
|
|
51
|
+
label: S("atheletebridge.nav.tournaments", "Tournaments"),
|
|
52
|
+
path: C(b, "tournaments"),
|
|
53
|
+
icon: /* @__PURE__ */ g(p, { size: 20 }),
|
|
57
54
|
order: 13,
|
|
58
55
|
group: "roster"
|
|
59
56
|
},
|
|
60
57
|
{
|
|
61
58
|
id: "atheletebridge-programs",
|
|
62
|
-
label:
|
|
63
|
-
path:
|
|
64
|
-
icon: /* @__PURE__ */
|
|
59
|
+
label: S("atheletebridge.nav.programs", "Programs"),
|
|
60
|
+
path: C(b, "programs"),
|
|
61
|
+
icon: /* @__PURE__ */ g(u, { size: 20 }),
|
|
65
62
|
order: 20,
|
|
66
63
|
group: "training"
|
|
67
64
|
},
|
|
68
65
|
{
|
|
69
66
|
id: "atheletebridge-sessions",
|
|
70
|
-
label:
|
|
71
|
-
path:
|
|
72
|
-
icon: /* @__PURE__ */
|
|
67
|
+
label: S("atheletebridge.nav.sessions", "Sessions"),
|
|
68
|
+
path: C(b, "sessions"),
|
|
69
|
+
icon: /* @__PURE__ */ g(l, { size: 20 }),
|
|
73
70
|
order: 21,
|
|
74
71
|
group: "training"
|
|
75
72
|
},
|
|
76
73
|
{
|
|
77
74
|
id: "atheletebridge-performance",
|
|
78
|
-
label:
|
|
79
|
-
path:
|
|
80
|
-
icon: /* @__PURE__ */
|
|
75
|
+
label: S("atheletebridge.nav.performance", "Performance"),
|
|
76
|
+
path: C(b, "performance"),
|
|
77
|
+
icon: /* @__PURE__ */ g(d, { size: 20 }),
|
|
81
78
|
order: 22,
|
|
82
79
|
group: "training"
|
|
83
80
|
},
|
|
84
81
|
{
|
|
85
82
|
id: "atheletebridge-analytics",
|
|
86
|
-
label:
|
|
87
|
-
path:
|
|
88
|
-
icon: /* @__PURE__ */
|
|
83
|
+
label: S("atheletebridge.nav.analytics", "Analytics"),
|
|
84
|
+
path: C(b, "analytics"),
|
|
85
|
+
icon: /* @__PURE__ */ g(s, { size: 20 }),
|
|
89
86
|
order: 23,
|
|
90
87
|
group: "training"
|
|
91
88
|
}
|
|
92
89
|
]);
|
|
93
90
|
}, [
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
91
|
+
v,
|
|
92
|
+
b,
|
|
93
|
+
S
|
|
97
94
|
]), r(() => {
|
|
98
|
-
if (
|
|
95
|
+
if (y) return y([{
|
|
99
96
|
id: "atheletebridge-status",
|
|
100
|
-
label:
|
|
97
|
+
label: S("atheletebridge.footer.ready", "AthleteBridge Ready"),
|
|
101
98
|
type: "status",
|
|
102
99
|
order: 10,
|
|
103
100
|
section: "left"
|
|
104
101
|
}]);
|
|
105
|
-
}, [
|
|
106
|
-
client:
|
|
107
|
-
children: /* @__PURE__ */
|
|
108
|
-
workspaceId: null,
|
|
102
|
+
}, [y, S]), /* @__PURE__ */ g(a, {
|
|
103
|
+
client: _,
|
|
104
|
+
children: /* @__PURE__ */ g(o, {
|
|
105
|
+
workspaceId: x ?? null,
|
|
109
106
|
gateway: "global",
|
|
110
107
|
defaultEnabled: !0,
|
|
111
|
-
children: /* @__PURE__ */
|
|
108
|
+
children: /* @__PURE__ */ g(t, {
|
|
112
109
|
...i,
|
|
113
|
-
children: /* @__PURE__ */
|
|
110
|
+
children: /* @__PURE__ */ g(n, {})
|
|
114
111
|
})
|
|
115
112
|
})
|
|
116
113
|
});
|
|
117
114
|
};
|
|
118
115
|
//#endregion
|
|
119
|
-
export {
|
|
116
|
+
export { v as AthleteBridgeRoot };
|
|
120
117
|
|
|
121
118
|
//# sourceMappingURL=AthleteBridgeRoot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AthleteBridgeRoot.js","names":[],"sources":["../../src/atheletebridge/AthleteBridgeRoot.tsx"],"sourcesContent":["/**\n * AthleteBridge Root Component\n * @module atheletebridge\n *\n * The single Root export consumed by the host app shell. The export name and\n * props (AthleteBridgeRootProps) are the host contract and must not change —\n * only the internal nav config, provider tree, and routes are product-specific.\n */\n\nimport type { FC } from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"AthleteBridgeRoot.js","names":[],"sources":["../../src/atheletebridge/AthleteBridgeRoot.tsx"],"sourcesContent":["/**\n * AthleteBridge Root Component\n * @module atheletebridge\n *\n * The single Root export consumed by the host app shell. The export name and\n * props (AthleteBridgeRootProps) are the host contract and must not change —\n * only the internal nav config, provider tree, and routes are product-specific.\n */\n\nimport type { FC } from 'react';\nimport { useEffect } from 'react';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { useAbTranslate } from './i18n';\nimport { FeatureFlagProvider } from '@burdenoff/fe-libs/shared/feature-flags';\nimport {\n LayoutDashboard,\n Users,\n CalendarDays,\n Trophy,\n Dumbbell,\n ClipboardCheck,\n Gauge,\n BarChart3,\n Swords,\n} from 'lucide-react';\nimport { AthleteBridgeProvider } from './context/AthleteBridgeContext';\nimport { AthleteBridgeRoutes } from './AthleteBridgeRoutes';\nimport type { AthleteBridgeRootProps, NavItem } from './types';\n\n// Create a query client for this microfrontend\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 5 * 60 * 1000,\n retry: 1,\n },\n },\n});\n\nexport const AthleteBridgeRoot: FC<AthleteBridgeRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = '/', workspaceId } = props;\n const t = useAbTranslate();\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 {\n id: 'atheletebridge-dashboard',\n label: t('atheletebridge.nav.dashboard', 'Dashboard'),\n path: joinPath(basePath, ''),\n icon: <LayoutDashboard size={20} />,\n order: 1,\n group: 'main',\n },\n {\n id: 'atheletebridge-teams',\n label: t('atheletebridge.nav.teams', 'Teams'),\n path: joinPath(basePath, 'teams'),\n icon: <Users size={20} />,\n order: 10,\n group: 'roster',\n },\n {\n id: 'atheletebridge-fixtures',\n label: t('atheletebridge.nav.fixtures', 'Fixtures'),\n path: joinPath(basePath, 'fixtures'),\n icon: <CalendarDays size={20} />,\n order: 11,\n group: 'roster',\n },\n {\n id: 'atheletebridge-standings',\n label: t('atheletebridge.nav.standings', 'Standings'),\n path: joinPath(basePath, 'standings'),\n icon: <Trophy size={20} />,\n order: 12,\n group: 'roster',\n },\n {\n id: 'atheletebridge-tournaments',\n label: t('atheletebridge.nav.tournaments', 'Tournaments'),\n path: joinPath(basePath, 'tournaments'),\n icon: <Swords size={20} />,\n order: 13,\n group: 'roster',\n },\n {\n id: 'atheletebridge-programs',\n label: t('atheletebridge.nav.programs', 'Programs'),\n path: joinPath(basePath, 'programs'),\n icon: <Dumbbell size={20} />,\n order: 20,\n group: 'training',\n },\n {\n id: 'atheletebridge-sessions',\n label: t('atheletebridge.nav.sessions', 'Sessions'),\n path: joinPath(basePath, 'sessions'),\n icon: <ClipboardCheck size={20} />,\n order: 21,\n group: 'training',\n },\n {\n id: 'atheletebridge-performance',\n label: t('atheletebridge.nav.performance', 'Performance'),\n path: joinPath(basePath, 'performance'),\n icon: <Gauge size={20} />,\n order: 22,\n group: 'training',\n },\n {\n id: 'atheletebridge-analytics',\n label: t('atheletebridge.nav.analytics', 'Analytics'),\n path: joinPath(basePath, 'analytics'),\n icon: <BarChart3 size={20} />,\n order: 23,\n group: 'training',\n },\n ];\n\n const cleanup = registerNavItems(navItems);\n return cleanup;\n }, [registerNavItems, basePath, t]);\n\n // Register footer items\n useEffect(() => {\n if (!registerFooterItems) return;\n\n const footerItems = [\n {\n id: 'atheletebridge-status',\n label: t('atheletebridge.footer.ready', 'AthleteBridge 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, t]);\n\n return (\n <QueryClientProvider client={queryClient}>\n {/*\n * The host-supplied workspaceId MUST be forwarded: FeatureFlagProvider\n * skips the evaluation fetch entirely when it is null, which collapses\n * every gate onto its defaultValue and makes per-workspace/per-tenant\n * overrides unresolvable. defaultEnabled stays true so an outage of the\n * flag service degrades open rather than hiding shipped modules.\n */}\n <FeatureFlagProvider workspaceId={workspaceId ?? null} gateway=\"global\" defaultEnabled={true}>\n <AthleteBridgeProvider {...props}>\n <AthleteBridgeRoutes />\n </AthleteBridgeProvider>\n </FeatureFlagProvider>\n </QueryClientProvider>\n );\n};\n"],"mappings":";;;;;;;;;AA8BA,IAAM,IAAc,IAAI,EAAY,EAClC,gBAAgB,EACd,SAAS;CACP,WAAW,MAAS;CACpB,OAAO;CACR,EACF,EACF,CAAC,EAEW,KAAiD,MAAU;CACtE,IAAM,EAAE,qBAAkB,wBAAqB,cAAW,KAAK,mBAAgB,GACzE,IAAI,GAAgB,EAGpB,KAAY,GAAc,OACZ,EAAK,SAAS,IAAI,GAAG,EAAK,MAAM,GAAG,GAAG,GAAG,MACzC,EAAK,WAAW,IAAI,GAAG,IAAO,IAAI;AAyGtD,QApGA,QAAgB;AACT,QA8EL,QADgB,EA3EY;GAC1B;IACE,IAAI;IACJ,OAAO,EAAE,gCAAgC,YAAY;IACrD,MAAM,EAAS,GAAU,GAAG;IAC5B,MAAM,kBAAC,GAAD,EAAiB,MAAM,IAAM,CAAA;IACnC,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,4BAA4B,QAAQ;IAC7C,MAAM,EAAS,GAAU,QAAQ;IACjC,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;IACzB,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,+BAA+B,WAAW;IACnD,MAAM,EAAS,GAAU,WAAW;IACpC,MAAM,kBAAC,GAAD,EAAc,MAAM,IAAM,CAAA;IAChC,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,gCAAgC,YAAY;IACrD,MAAM,EAAS,GAAU,YAAY;IACrC,MAAM,kBAAC,GAAD,EAAQ,MAAM,IAAM,CAAA;IAC1B,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,kCAAkC,cAAc;IACzD,MAAM,EAAS,GAAU,cAAc;IACvC,MAAM,kBAAC,GAAD,EAAQ,MAAM,IAAM,CAAA;IAC1B,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,+BAA+B,WAAW;IACnD,MAAM,EAAS,GAAU,WAAW;IACpC,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;IAC5B,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,+BAA+B,WAAW;IACnD,MAAM,EAAS,GAAU,WAAW;IACpC,MAAM,kBAAC,GAAD,EAAgB,MAAM,IAAM,CAAA;IAClC,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,kCAAkC,cAAc;IACzD,MAAM,EAAS,GAAU,cAAc;IACvC,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;IACzB,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,gCAAgC,YAAY;IACrD,MAAM,EAAS,GAAU,YAAY;IACrC,MAAM,kBAAC,GAAD,EAAW,MAAM,IAAM,CAAA;IAC7B,OAAO;IACP,OAAO;IACR;GACF,CAEyC;IAEzC;EAAC;EAAkB;EAAU;EAAE,CAAC,EAGnC,QAAgB;AACT,QAaL,QADgB,EAVI,CAClB;GACE,IAAI;GACJ,OAAO,EAAE,+BAA+B,sBAAsB;GAC9D,MAAM;GACN,OAAO;GACP,SAAS;GACV,CACF,CAE+C;IAE/C,CAAC,GAAqB,EAAE,CAAC,EAG1B,kBAAC,GAAD;EAAqB,QAAQ;YAQ3B,kBAAC,GAAD;GAAqB,aAAa,KAAe;GAAM,SAAQ;GAAS,gBAAgB;aACtF,kBAAC,GAAD;IAAuB,GAAI;cACzB,kBAAC,GAAD,EAAuB,CAAA;IACD,CAAA;GACJ,CAAA;EACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AthleteBridgeRoutes.d.ts","sourceRoot":"","sources":["../../src/atheletebridge/AthleteBridgeRoutes.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AthleteBridgeRoutes.d.ts","sourceRoot":"","sources":["../../src/atheletebridge/AthleteBridgeRoutes.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AA4FhD,eAAO,MAAM,mBAAmB,EAAE,EAiNjC,CAAC"}
|
|
@@ -7,26 +7,30 @@ import { Loader2 as o } from "lucide-react";
|
|
|
7
7
|
import { Navigate as s, Route as c, Routes as l, useLocation as u } from "react-router-dom";
|
|
8
8
|
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
9
9
|
//#region src/atheletebridge/AthleteBridgeRoutes.tsx
|
|
10
|
-
var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default: e.TeamsListPage }))),
|
|
10
|
+
var p = i(() => import("./pages/onboarding/OnboardingPage.js").then((e) => ({ default: e.OnboardingPage }))), m = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default: e.TeamsListPage }))), h = i(() => import("./pages/teams/TeamDetailPage.js").then((e) => ({ default: e.TeamDetailPage }))), g = i(() => import("./pages/teams/TeamFormPage.js").then((e) => ({ default: e.TeamFormPage }))), _ = i(() => import("./pages/fixtures/FixturesListPage.js").then((e) => ({ default: e.FixturesListPage }))), v = i(() => import("./pages/fixtures/FixtureDetailPage.js").then((e) => ({ default: e.FixtureDetailPage }))), y = i(() => import("./pages/fixtures/FixtureFormPage.js").then((e) => ({ default: e.FixtureFormPage }))), b = i(() => import("./pages/StandingsPage.js").then((e) => ({ default: e.StandingsPage }))), x = i(() => import("./pages/programs/ProgramsListPage.js").then((e) => ({ default: e.ProgramsListPage }))), S = i(() => import("./pages/programs/ProgramDetailPage.js").then((e) => ({ default: e.ProgramDetailPage }))), C = i(() => import("./pages/programs/ProgramFormPage.js").then((e) => ({ default: e.ProgramFormPage }))), w = i(() => import("./pages/sessions/SessionsListPage.js").then((e) => ({ default: e.SessionsListPage }))), T = i(() => import("./pages/sessions/SessionDetailPage.js").then((e) => ({ default: e.SessionDetailPage }))), E = i(() => import("./pages/sessions/SessionFormPage.js").then((e) => ({ default: e.SessionFormPage }))), D = i(() => import("./pages/performance/PerformancePage.js").then((e) => ({ default: e.PerformancePage }))), O = i(() => import("./pages/athletes/AthleteProfilePage.js").then((e) => ({ default: e.AthleteProfilePage }))), k = i(() => import("./pages/analytics/CoachAnalyticsPage.js").then((e) => ({ default: e.CoachAnalyticsPage }))), A = i(() => import("./pages/tournaments/TournamentBracketPage.js").then((e) => ({ default: e.TournamentBracketPage }))), j = () => /* @__PURE__ */ d("div", {
|
|
11
11
|
className: "flex min-h-[400px] items-center justify-center",
|
|
12
12
|
children: /* @__PURE__ */ d(o, { className: "h-8 w-8 animate-spin text-text-secondary" })
|
|
13
|
-
}),
|
|
14
|
-
let { basePath: i, isStandalone: o } = e(),
|
|
15
|
-
return
|
|
13
|
+
}), M = () => {
|
|
14
|
+
let { basePath: i, isStandalone: o } = e(), M = u(), N = i === "/" ? "" : (i ?? "").replace(/\/$/, "");
|
|
15
|
+
return N && !o && !(M.pathname === N || M.pathname.startsWith(N + "/")) ? null : /* @__PURE__ */ d("div", {
|
|
16
16
|
className: "flex min-h-full flex-col",
|
|
17
17
|
children: /* @__PURE__ */ f(r, {
|
|
18
|
-
fallback: /* @__PURE__ */ d(
|
|
18
|
+
fallback: /* @__PURE__ */ d(j, {}),
|
|
19
19
|
children: [/* @__PURE__ */ d(t, {}), /* @__PURE__ */ f(l, { children: [
|
|
20
20
|
/* @__PURE__ */ d(c, {
|
|
21
21
|
index: !0,
|
|
22
22
|
element: /* @__PURE__ */ d(n, {})
|
|
23
23
|
}),
|
|
24
|
+
/* @__PURE__ */ d(c, {
|
|
25
|
+
path: "onboarding",
|
|
26
|
+
element: /* @__PURE__ */ d(p, {})
|
|
27
|
+
}),
|
|
24
28
|
/* @__PURE__ */ d(c, {
|
|
25
29
|
path: "teams",
|
|
26
30
|
element: /* @__PURE__ */ d(a, {
|
|
27
31
|
flag: "atheletebridge.teams.enabled",
|
|
28
32
|
defaultValue: !0,
|
|
29
|
-
children: /* @__PURE__ */ d(
|
|
33
|
+
children: /* @__PURE__ */ d(m, {})
|
|
30
34
|
})
|
|
31
35
|
}),
|
|
32
36
|
/* @__PURE__ */ d(c, {
|
|
@@ -34,7 +38,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
34
38
|
element: /* @__PURE__ */ d(a, {
|
|
35
39
|
flag: "atheletebridge.teams.enabled",
|
|
36
40
|
defaultValue: !0,
|
|
37
|
-
children: /* @__PURE__ */ d(
|
|
41
|
+
children: /* @__PURE__ */ d(g, {})
|
|
38
42
|
})
|
|
39
43
|
}),
|
|
40
44
|
/* @__PURE__ */ d(c, {
|
|
@@ -42,7 +46,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
42
46
|
element: /* @__PURE__ */ d(a, {
|
|
43
47
|
flag: "atheletebridge.teams.enabled",
|
|
44
48
|
defaultValue: !0,
|
|
45
|
-
children: /* @__PURE__ */ d(
|
|
49
|
+
children: /* @__PURE__ */ d(h, {})
|
|
46
50
|
})
|
|
47
51
|
}),
|
|
48
52
|
/* @__PURE__ */ d(c, {
|
|
@@ -50,7 +54,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
50
54
|
element: /* @__PURE__ */ d(a, {
|
|
51
55
|
flag: "atheletebridge.teams.enabled",
|
|
52
56
|
defaultValue: !0,
|
|
53
|
-
children: /* @__PURE__ */ d(
|
|
57
|
+
children: /* @__PURE__ */ d(g, {})
|
|
54
58
|
})
|
|
55
59
|
}),
|
|
56
60
|
/* @__PURE__ */ d(c, {
|
|
@@ -58,7 +62,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
58
62
|
element: /* @__PURE__ */ d(a, {
|
|
59
63
|
flag: "atheletebridge.teams.enabled",
|
|
60
64
|
defaultValue: !0,
|
|
61
|
-
children: /* @__PURE__ */ d(
|
|
65
|
+
children: /* @__PURE__ */ d(O, {})
|
|
62
66
|
})
|
|
63
67
|
}),
|
|
64
68
|
/* @__PURE__ */ d(c, {
|
|
@@ -66,7 +70,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
66
70
|
element: /* @__PURE__ */ d(a, {
|
|
67
71
|
flag: "atheletebridge.fixtures.enabled",
|
|
68
72
|
defaultValue: !0,
|
|
69
|
-
children: /* @__PURE__ */ d(
|
|
73
|
+
children: /* @__PURE__ */ d(_, {})
|
|
70
74
|
})
|
|
71
75
|
}),
|
|
72
76
|
/* @__PURE__ */ d(c, {
|
|
@@ -74,7 +78,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
74
78
|
element: /* @__PURE__ */ d(a, {
|
|
75
79
|
flag: "atheletebridge.fixtures.enabled",
|
|
76
80
|
defaultValue: !0,
|
|
77
|
-
children: /* @__PURE__ */ d(
|
|
81
|
+
children: /* @__PURE__ */ d(y, {})
|
|
78
82
|
})
|
|
79
83
|
}),
|
|
80
84
|
/* @__PURE__ */ d(c, {
|
|
@@ -82,7 +86,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
82
86
|
element: /* @__PURE__ */ d(a, {
|
|
83
87
|
flag: "atheletebridge.fixtures.enabled",
|
|
84
88
|
defaultValue: !0,
|
|
85
|
-
children: /* @__PURE__ */ d(
|
|
89
|
+
children: /* @__PURE__ */ d(v, {})
|
|
86
90
|
})
|
|
87
91
|
}),
|
|
88
92
|
/* @__PURE__ */ d(c, {
|
|
@@ -90,7 +94,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
90
94
|
element: /* @__PURE__ */ d(a, {
|
|
91
95
|
flag: "atheletebridge.standings.enabled",
|
|
92
96
|
defaultValue: !0,
|
|
93
|
-
children: /* @__PURE__ */ d(
|
|
97
|
+
children: /* @__PURE__ */ d(b, {})
|
|
94
98
|
})
|
|
95
99
|
}),
|
|
96
100
|
/* @__PURE__ */ d(c, {
|
|
@@ -98,7 +102,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
98
102
|
element: /* @__PURE__ */ d(a, {
|
|
99
103
|
flag: "atheletebridge.programs.enabled",
|
|
100
104
|
defaultValue: !0,
|
|
101
|
-
children: /* @__PURE__ */ d(
|
|
105
|
+
children: /* @__PURE__ */ d(x, {})
|
|
102
106
|
})
|
|
103
107
|
}),
|
|
104
108
|
/* @__PURE__ */ d(c, {
|
|
@@ -106,7 +110,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
106
110
|
element: /* @__PURE__ */ d(a, {
|
|
107
111
|
flag: "atheletebridge.programs.enabled",
|
|
108
112
|
defaultValue: !0,
|
|
109
|
-
children: /* @__PURE__ */ d(
|
|
113
|
+
children: /* @__PURE__ */ d(C, {})
|
|
110
114
|
})
|
|
111
115
|
}),
|
|
112
116
|
/* @__PURE__ */ d(c, {
|
|
@@ -114,7 +118,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
114
118
|
element: /* @__PURE__ */ d(a, {
|
|
115
119
|
flag: "atheletebridge.programs.enabled",
|
|
116
120
|
defaultValue: !0,
|
|
117
|
-
children: /* @__PURE__ */ d(
|
|
121
|
+
children: /* @__PURE__ */ d(S, {})
|
|
118
122
|
})
|
|
119
123
|
}),
|
|
120
124
|
/* @__PURE__ */ d(c, {
|
|
@@ -122,7 +126,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
122
126
|
element: /* @__PURE__ */ d(a, {
|
|
123
127
|
flag: "atheletebridge.programs.enabled",
|
|
124
128
|
defaultValue: !0,
|
|
125
|
-
children: /* @__PURE__ */ d(
|
|
129
|
+
children: /* @__PURE__ */ d(C, {})
|
|
126
130
|
})
|
|
127
131
|
}),
|
|
128
132
|
/* @__PURE__ */ d(c, {
|
|
@@ -130,7 +134,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
130
134
|
element: /* @__PURE__ */ d(a, {
|
|
131
135
|
flag: "atheletebridge.sessions.enabled",
|
|
132
136
|
defaultValue: !0,
|
|
133
|
-
children: /* @__PURE__ */ d(
|
|
137
|
+
children: /* @__PURE__ */ d(w, {})
|
|
134
138
|
})
|
|
135
139
|
}),
|
|
136
140
|
/* @__PURE__ */ d(c, {
|
|
@@ -138,7 +142,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
138
142
|
element: /* @__PURE__ */ d(a, {
|
|
139
143
|
flag: "atheletebridge.sessions.enabled",
|
|
140
144
|
defaultValue: !0,
|
|
141
|
-
children: /* @__PURE__ */ d(
|
|
145
|
+
children: /* @__PURE__ */ d(E, {})
|
|
142
146
|
})
|
|
143
147
|
}),
|
|
144
148
|
/* @__PURE__ */ d(c, {
|
|
@@ -146,7 +150,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
146
150
|
element: /* @__PURE__ */ d(a, {
|
|
147
151
|
flag: "atheletebridge.sessions.enabled",
|
|
148
152
|
defaultValue: !0,
|
|
149
|
-
children: /* @__PURE__ */ d(
|
|
153
|
+
children: /* @__PURE__ */ d(T, {})
|
|
150
154
|
})
|
|
151
155
|
}),
|
|
152
156
|
/* @__PURE__ */ d(c, {
|
|
@@ -154,7 +158,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
154
158
|
element: /* @__PURE__ */ d(a, {
|
|
155
159
|
flag: "atheletebridge.performance.enabled",
|
|
156
160
|
defaultValue: !0,
|
|
157
|
-
children: /* @__PURE__ */ d(
|
|
161
|
+
children: /* @__PURE__ */ d(D, {})
|
|
158
162
|
})
|
|
159
163
|
}),
|
|
160
164
|
/* @__PURE__ */ d(c, {
|
|
@@ -162,7 +166,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
162
166
|
element: /* @__PURE__ */ d(a, {
|
|
163
167
|
flag: "atheletebridge.analytics.enabled",
|
|
164
168
|
defaultValue: !0,
|
|
165
|
-
children: /* @__PURE__ */ d(
|
|
169
|
+
children: /* @__PURE__ */ d(k, {})
|
|
166
170
|
})
|
|
167
171
|
}),
|
|
168
172
|
/* @__PURE__ */ d(c, {
|
|
@@ -170,7 +174,7 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
170
174
|
element: /* @__PURE__ */ d(a, {
|
|
171
175
|
flag: "atheletebridge.tournaments.enabled",
|
|
172
176
|
defaultValue: !0,
|
|
173
|
-
children: /* @__PURE__ */ d(
|
|
177
|
+
children: /* @__PURE__ */ d(A, {})
|
|
174
178
|
})
|
|
175
179
|
}),
|
|
176
180
|
/* @__PURE__ */ d(c, {
|
|
@@ -185,6 +189,6 @@ var p = i(() => import("./pages/teams/TeamsListPage.js").then((e) => ({ default:
|
|
|
185
189
|
});
|
|
186
190
|
};
|
|
187
191
|
//#endregion
|
|
188
|
-
export {
|
|
192
|
+
export { M as AthleteBridgeRoutes };
|
|
189
193
|
|
|
190
194
|
//# sourceMappingURL=AthleteBridgeRoutes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AthleteBridgeRoutes.js","names":[],"sources":["../../src/atheletebridge/AthleteBridgeRoutes.tsx"],"sourcesContent":["/**\n * AthleteBridge Routes\n * @module atheletebridge\n *\n * Real sports-domain routes wired to the deployed `wspace-atheletebridge-svc`\n * GraphQL contract. Dashboard is eager; entity pages are lazy.\n */\n\nimport { type FC, lazy, Suspense } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router-dom';\nimport { Loader2 } from 'lucide-react';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useAthleteBridge } from './context/AthleteBridgeContext';\nimport { RouteAnalytics } from './components/RouteAnalytics';\n\n// Eager — primary landing\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Teams\nconst TeamsListPage = lazy(() =>\n import('./pages/teams/TeamsListPage').then((m) => ({ default: m.TeamsListPage }))\n);\nconst TeamDetailPage = lazy(() =>\n import('./pages/teams/TeamDetailPage').then((m) => ({ default: m.TeamDetailPage }))\n);\nconst TeamFormPage = lazy(() =>\n import('./pages/teams/TeamFormPage').then((m) => ({ default: m.TeamFormPage }))\n);\n\n// Fixtures\nconst FixturesListPage = lazy(() =>\n import('./pages/fixtures/FixturesListPage').then((m) => ({ default: m.FixturesListPage }))\n);\nconst FixtureDetailPage = lazy(() =>\n import('./pages/fixtures/FixtureDetailPage').then((m) => ({ default: m.FixtureDetailPage }))\n);\nconst FixtureFormPage = lazy(() =>\n import('./pages/fixtures/FixtureFormPage').then((m) => ({ default: m.FixtureFormPage }))\n);\n\n// Standings\nconst StandingsPage = lazy(() =>\n import('./pages/StandingsPage').then((m) => ({ default: m.StandingsPage }))\n);\n\n// Programs\nconst ProgramsListPage = lazy(() =>\n import('./pages/programs/ProgramsListPage').then((m) => ({ default: m.ProgramsListPage }))\n);\nconst ProgramDetailPage = lazy(() =>\n import('./pages/programs/ProgramDetailPage').then((m) => ({ default: m.ProgramDetailPage }))\n);\nconst ProgramFormPage = lazy(() =>\n import('./pages/programs/ProgramFormPage').then((m) => ({ default: m.ProgramFormPage }))\n);\n\n// Sessions\nconst SessionsListPage = lazy(() =>\n import('./pages/sessions/SessionsListPage').then((m) => ({ default: m.SessionsListPage }))\n);\nconst SessionDetailPage = lazy(() =>\n import('./pages/sessions/SessionDetailPage').then((m) => ({ default: m.SessionDetailPage }))\n);\nconst SessionFormPage = lazy(() =>\n import('./pages/sessions/SessionFormPage').then((m) => ({ default: m.SessionFormPage }))\n);\n\n// Performance\nconst PerformancePage = lazy(() =>\n import('./pages/performance/PerformancePage').then((m) => ({ default: m.PerformancePage }))\n);\n\n// Athlete profile\nconst AthleteProfilePage = lazy(() =>\n import('./pages/athletes/AthleteProfilePage').then((m) => ({ default: m.AthleteProfilePage }))\n);\n\n// Coach analytics\nconst CoachAnalyticsPage = lazy(() =>\n import('./pages/analytics/CoachAnalyticsPage').then((m) => ({ default: m.CoachAnalyticsPage }))\n);\n\n// Tournaments (esports bracket)\nconst TournamentBracketPage = lazy(() =>\n import('./pages/tournaments/TournamentBracketPage').then((m) => ({\n default: m.TournamentBracketPage,\n }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <Loader2 className=\"h-8 w-8 animate-spin text-text-secondary\" />\n </div>\n);\n\nexport const AthleteBridgeRoutes: FC = () => {\n const { basePath, isStandalone } = useAthleteBridge();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n // Guard: only render when the path matches basePath (integrated mode).\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex min-h-full flex-col\">\n <Suspense fallback={<PageLoader />}>\n <RouteAnalytics />\n <Routes>\n {/* Dashboard */}\n <Route index element={<DashboardPage />} />\n\n {/* Teams */}\n <Route\n path=\"teams\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <TeamsListPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"teams/new\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <TeamFormPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"teams/:id\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <TeamDetailPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"teams/:id/edit\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <TeamFormPage />\n </FeatureGate>\n }\n />\n\n {/* Athlete profile (reached from a team roster) */}\n <Route\n path=\"teams/:teamId/athletes/:memberId\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <AthleteProfilePage />\n </FeatureGate>\n }\n />\n\n {/* Fixtures */}\n <Route\n path=\"fixtures\"\n element={\n <FeatureGate flag=\"atheletebridge.fixtures.enabled\" defaultValue={true}>\n <FixturesListPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"fixtures/new\"\n element={\n <FeatureGate flag=\"atheletebridge.fixtures.enabled\" defaultValue={true}>\n <FixtureFormPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"fixtures/:id\"\n element={\n <FeatureGate flag=\"atheletebridge.fixtures.enabled\" defaultValue={true}>\n <FixtureDetailPage />\n </FeatureGate>\n }\n />\n\n {/* Standings */}\n <Route\n path=\"standings\"\n element={\n <FeatureGate flag=\"atheletebridge.standings.enabled\" defaultValue={true}>\n <StandingsPage />\n </FeatureGate>\n }\n />\n\n {/* Programs */}\n <Route\n path=\"programs\"\n element={\n <FeatureGate flag=\"atheletebridge.programs.enabled\" defaultValue={true}>\n <ProgramsListPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"programs/new\"\n element={\n <FeatureGate flag=\"atheletebridge.programs.enabled\" defaultValue={true}>\n <ProgramFormPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"programs/:id\"\n element={\n <FeatureGate flag=\"atheletebridge.programs.enabled\" defaultValue={true}>\n <ProgramDetailPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"programs/:id/edit\"\n element={\n <FeatureGate flag=\"atheletebridge.programs.enabled\" defaultValue={true}>\n <ProgramFormPage />\n </FeatureGate>\n }\n />\n\n {/* Sessions */}\n <Route\n path=\"sessions\"\n element={\n <FeatureGate flag=\"atheletebridge.sessions.enabled\" defaultValue={true}>\n <SessionsListPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"sessions/new\"\n element={\n <FeatureGate flag=\"atheletebridge.sessions.enabled\" defaultValue={true}>\n <SessionFormPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"sessions/:id\"\n element={\n <FeatureGate flag=\"atheletebridge.sessions.enabled\" defaultValue={true}>\n <SessionDetailPage />\n </FeatureGate>\n }\n />\n\n {/* Performance */}\n <Route\n path=\"performance\"\n element={\n <FeatureGate flag=\"atheletebridge.performance.enabled\" defaultValue={true}>\n <PerformancePage />\n </FeatureGate>\n }\n />\n\n {/* Analytics */}\n <Route\n path=\"analytics\"\n element={\n <FeatureGate flag=\"atheletebridge.analytics.enabled\" defaultValue={true}>\n <CoachAnalyticsPage />\n </FeatureGate>\n }\n />\n\n {/* Tournaments (esports bracket) */}\n <Route\n path=\"tournaments\"\n element={\n <FeatureGate flag=\"atheletebridge.tournaments.enabled\" defaultValue={true}>\n <TournamentBracketPage />\n </FeatureGate>\n }\n />\n\n {/* Fallback */}\n <Route path=\"*\" element={<Navigate to=\".\" replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AthleteBridgeRoutes.js","names":[],"sources":["../../src/atheletebridge/AthleteBridgeRoutes.tsx"],"sourcesContent":["/**\n * AthleteBridge Routes\n * @module atheletebridge\n *\n * Real sports-domain routes wired to the deployed `wspace-atheletebridge-svc`\n * GraphQL contract. Dashboard is eager; entity pages are lazy.\n */\n\nimport { type FC, lazy, Suspense } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router-dom';\nimport { Loader2 } from 'lucide-react';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useAthleteBridge } from './context/AthleteBridgeContext';\nimport { RouteAnalytics } from './components/RouteAnalytics';\n\n// Eager — primary landing\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Onboarding (first-run wizard: sport → team → role)\nconst OnboardingPage = lazy(() =>\n import('./pages/onboarding/OnboardingPage').then((m) => ({ default: m.OnboardingPage }))\n);\n\n// Teams\nconst TeamsListPage = lazy(() =>\n import('./pages/teams/TeamsListPage').then((m) => ({ default: m.TeamsListPage }))\n);\nconst TeamDetailPage = lazy(() =>\n import('./pages/teams/TeamDetailPage').then((m) => ({ default: m.TeamDetailPage }))\n);\nconst TeamFormPage = lazy(() =>\n import('./pages/teams/TeamFormPage').then((m) => ({ default: m.TeamFormPage }))\n);\n\n// Fixtures\nconst FixturesListPage = lazy(() =>\n import('./pages/fixtures/FixturesListPage').then((m) => ({ default: m.FixturesListPage }))\n);\nconst FixtureDetailPage = lazy(() =>\n import('./pages/fixtures/FixtureDetailPage').then((m) => ({ default: m.FixtureDetailPage }))\n);\nconst FixtureFormPage = lazy(() =>\n import('./pages/fixtures/FixtureFormPage').then((m) => ({ default: m.FixtureFormPage }))\n);\n\n// Standings\nconst StandingsPage = lazy(() =>\n import('./pages/StandingsPage').then((m) => ({ default: m.StandingsPage }))\n);\n\n// Programs\nconst ProgramsListPage = lazy(() =>\n import('./pages/programs/ProgramsListPage').then((m) => ({ default: m.ProgramsListPage }))\n);\nconst ProgramDetailPage = lazy(() =>\n import('./pages/programs/ProgramDetailPage').then((m) => ({ default: m.ProgramDetailPage }))\n);\nconst ProgramFormPage = lazy(() =>\n import('./pages/programs/ProgramFormPage').then((m) => ({ default: m.ProgramFormPage }))\n);\n\n// Sessions\nconst SessionsListPage = lazy(() =>\n import('./pages/sessions/SessionsListPage').then((m) => ({ default: m.SessionsListPage }))\n);\nconst SessionDetailPage = lazy(() =>\n import('./pages/sessions/SessionDetailPage').then((m) => ({ default: m.SessionDetailPage }))\n);\nconst SessionFormPage = lazy(() =>\n import('./pages/sessions/SessionFormPage').then((m) => ({ default: m.SessionFormPage }))\n);\n\n// Performance\nconst PerformancePage = lazy(() =>\n import('./pages/performance/PerformancePage').then((m) => ({ default: m.PerformancePage }))\n);\n\n// Athlete profile\nconst AthleteProfilePage = lazy(() =>\n import('./pages/athletes/AthleteProfilePage').then((m) => ({ default: m.AthleteProfilePage }))\n);\n\n// Coach analytics\nconst CoachAnalyticsPage = lazy(() =>\n import('./pages/analytics/CoachAnalyticsPage').then((m) => ({ default: m.CoachAnalyticsPage }))\n);\n\n// Tournaments (esports bracket)\nconst TournamentBracketPage = lazy(() =>\n import('./pages/tournaments/TournamentBracketPage').then((m) => ({\n default: m.TournamentBracketPage,\n }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <Loader2 className=\"h-8 w-8 animate-spin text-text-secondary\" />\n </div>\n);\n\nexport const AthleteBridgeRoutes: FC = () => {\n const { basePath, isStandalone } = useAthleteBridge();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n // Guard: only render when the path matches basePath (integrated mode).\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex min-h-full flex-col\">\n <Suspense fallback={<PageLoader />}>\n <RouteAnalytics />\n <Routes>\n {/* Dashboard */}\n <Route index element={<DashboardPage />} />\n\n {/*\n Onboarding — the first-run wizard. Intentionally NOT behind a\n FeatureGate: it only collects sport/team/role and writes through the\n same `athCreateTeam` / `athAddMember` the gated Teams pages use, so a\n flag here would gate nothing that `atheletebridge.teams.enabled` does\n not already gate at the destination.\n */}\n <Route path=\"onboarding\" element={<OnboardingPage />} />\n\n {/* Teams */}\n <Route\n path=\"teams\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <TeamsListPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"teams/new\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <TeamFormPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"teams/:id\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <TeamDetailPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"teams/:id/edit\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <TeamFormPage />\n </FeatureGate>\n }\n />\n\n {/* Athlete profile (reached from a team roster) */}\n <Route\n path=\"teams/:teamId/athletes/:memberId\"\n element={\n <FeatureGate flag=\"atheletebridge.teams.enabled\" defaultValue={true}>\n <AthleteProfilePage />\n </FeatureGate>\n }\n />\n\n {/* Fixtures */}\n <Route\n path=\"fixtures\"\n element={\n <FeatureGate flag=\"atheletebridge.fixtures.enabled\" defaultValue={true}>\n <FixturesListPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"fixtures/new\"\n element={\n <FeatureGate flag=\"atheletebridge.fixtures.enabled\" defaultValue={true}>\n <FixtureFormPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"fixtures/:id\"\n element={\n <FeatureGate flag=\"atheletebridge.fixtures.enabled\" defaultValue={true}>\n <FixtureDetailPage />\n </FeatureGate>\n }\n />\n\n {/* Standings */}\n <Route\n path=\"standings\"\n element={\n <FeatureGate flag=\"atheletebridge.standings.enabled\" defaultValue={true}>\n <StandingsPage />\n </FeatureGate>\n }\n />\n\n {/* Programs */}\n <Route\n path=\"programs\"\n element={\n <FeatureGate flag=\"atheletebridge.programs.enabled\" defaultValue={true}>\n <ProgramsListPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"programs/new\"\n element={\n <FeatureGate flag=\"atheletebridge.programs.enabled\" defaultValue={true}>\n <ProgramFormPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"programs/:id\"\n element={\n <FeatureGate flag=\"atheletebridge.programs.enabled\" defaultValue={true}>\n <ProgramDetailPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"programs/:id/edit\"\n element={\n <FeatureGate flag=\"atheletebridge.programs.enabled\" defaultValue={true}>\n <ProgramFormPage />\n </FeatureGate>\n }\n />\n\n {/* Sessions */}\n <Route\n path=\"sessions\"\n element={\n <FeatureGate flag=\"atheletebridge.sessions.enabled\" defaultValue={true}>\n <SessionsListPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"sessions/new\"\n element={\n <FeatureGate flag=\"atheletebridge.sessions.enabled\" defaultValue={true}>\n <SessionFormPage />\n </FeatureGate>\n }\n />\n <Route\n path=\"sessions/:id\"\n element={\n <FeatureGate flag=\"atheletebridge.sessions.enabled\" defaultValue={true}>\n <SessionDetailPage />\n </FeatureGate>\n }\n />\n\n {/* Performance */}\n <Route\n path=\"performance\"\n element={\n <FeatureGate flag=\"atheletebridge.performance.enabled\" defaultValue={true}>\n <PerformancePage />\n </FeatureGate>\n }\n />\n\n {/* Analytics */}\n <Route\n path=\"analytics\"\n element={\n <FeatureGate flag=\"atheletebridge.analytics.enabled\" defaultValue={true}>\n <CoachAnalyticsPage />\n </FeatureGate>\n }\n />\n\n {/* Tournaments (esports bracket) */}\n <Route\n path=\"tournaments\"\n element={\n <FeatureGate flag=\"atheletebridge.tournaments.enabled\" defaultValue={true}>\n <TournamentBracketPage />\n </FeatureGate>\n }\n />\n\n {/* Fallback */}\n <Route path=\"*\" element={<Navigate to=\".\" replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminDashboardPage.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/admin/AdminDashboardPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAqB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AA8nBnD,eAAO,MAAM,kBAAkB,EAAE,EA6ChC,CAAC"}
|