@burdenoff/microfe-atheletebridge 2026.805.1 → 2026.829.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/components/LoadingState.d.ts.map +1 -1
- package/dist/atheletebridge/components/LoadingState.js +39 -32
- package/dist/atheletebridge/components/LoadingState.js.map +1 -1
- package/dist/atheletebridge/components/TeamCard.d.ts.map +1 -1
- package/dist/atheletebridge/components/TeamCard.js +45 -49
- package/dist/atheletebridge/components/TeamCard.js.map +1 -1
- package/dist/atheletebridge/hooks/index.d.ts +1 -1
- package/dist/atheletebridge/hooks/index.d.ts.map +1 -1
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.d.ts +41 -1
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.d.ts.map +1 -1
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.js +58 -28
- package/dist/atheletebridge/hooks/useAthleteBridgeApi.js.map +1 -1
- package/dist/atheletebridge/pages/DashboardPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/DashboardPage.js +56 -24
- package/dist/atheletebridge/pages/DashboardPage.js.map +1 -1
- package/dist/atheletebridge/pages/analytics/CoachAnalyticsPage.d.ts +6 -2
- package/dist/atheletebridge/pages/analytics/CoachAnalyticsPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/analytics/CoachAnalyticsPage.js +330 -174
- package/dist/atheletebridge/pages/analytics/CoachAnalyticsPage.js.map +1 -1
- package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.js +110 -106
- package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.js.map +1 -1
- package/dist/atheletebridge/pages/fixtures/FixturesListPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/fixtures/FixturesListPage.js +80 -71
- package/dist/atheletebridge/pages/fixtures/FixturesListPage.js.map +1 -1
- package/dist/atheletebridge/pages/onboarding/OnboardingPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/onboarding/OnboardingPage.js +244 -210
- package/dist/atheletebridge/pages/onboarding/OnboardingPage.js.map +1 -1
- package/dist/atheletebridge/pages/performance/PerformancePage.d.ts +7 -0
- package/dist/atheletebridge/pages/performance/PerformancePage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/performance/PerformancePage.js +526 -362
- package/dist/atheletebridge/pages/performance/PerformancePage.js.map +1 -1
- package/dist/atheletebridge/pages/programs/ProgramDetailPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/programs/ProgramDetailPage.js +169 -143
- package/dist/atheletebridge/pages/programs/ProgramDetailPage.js.map +1 -1
- package/dist/atheletebridge/pages/programs/ProgramsListPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/programs/ProgramsListPage.js +77 -72
- package/dist/atheletebridge/pages/programs/ProgramsListPage.js.map +1 -1
- package/dist/atheletebridge/pages/sessions/SessionDetailPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/sessions/SessionDetailPage.js +104 -86
- 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 +54 -49
- package/dist/atheletebridge/pages/sessions/SessionsListPage.js.map +1 -1
- package/dist/atheletebridge/pages/teams/TeamDetailPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/teams/TeamDetailPage.js +286 -267
- package/dist/atheletebridge/pages/teams/TeamDetailPage.js.map +1 -1
- package/dist/atheletebridge/pages/teams/TeamFormPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/teams/TeamFormPage.js +185 -180
- package/dist/atheletebridge/pages/teams/TeamFormPage.js.map +1 -1
- package/dist/atheletebridge/pages/teams/TeamsListPage.d.ts.map +1 -1
- package/dist/atheletebridge/pages/teams/TeamsListPage.js +70 -74
- package/dist/atheletebridge/pages/teams/TeamsListPage.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingState.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/LoadingState.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LoadingState.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/LoadingState.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKhC,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAY9C,CAAC;AAEF,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAgC1C,CAAC"}
|
|
@@ -1,36 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { useAbTranslate as e } from "../i18n.js";
|
|
2
|
+
import { cn as t } from "../utils/cn.js";
|
|
3
|
+
import { AlertCircle as n, Loader2 as r } from "lucide-react";
|
|
4
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
4
5
|
//#region src/atheletebridge/components/LoadingState.tsx
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
children:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
6
|
+
var o = ({ label: n, className: o }) => {
|
|
7
|
+
let s = e();
|
|
8
|
+
return /* @__PURE__ */ a("div", {
|
|
9
|
+
className: t("flex min-h-[40vh] flex-col items-center justify-center gap-3", o),
|
|
10
|
+
role: "status",
|
|
11
|
+
"aria-live": "polite",
|
|
12
|
+
children: [/* @__PURE__ */ i(r, { className: "h-8 w-8 animate-spin text-text-secondary" }), /* @__PURE__ */ i("p", {
|
|
13
|
+
className: "text-sm text-text-secondary",
|
|
14
|
+
children: n ?? s("common.loading", "Loading…")
|
|
15
|
+
})]
|
|
16
|
+
});
|
|
17
|
+
}, s = ({ title: r, message: o, onRetry: s, className: c }) => {
|
|
18
|
+
let l = e();
|
|
19
|
+
return /* @__PURE__ */ a("div", {
|
|
20
|
+
className: t("flex min-h-[40vh] flex-col items-center justify-center gap-3 text-center", c),
|
|
21
|
+
children: [
|
|
22
|
+
/* @__PURE__ */ i(n, { className: "h-10 w-10 text-status-error-text" }),
|
|
23
|
+
/* @__PURE__ */ i("h3", {
|
|
24
|
+
className: "text-lg font-semibold text-text-primary",
|
|
25
|
+
children: r ?? l("common.errorTitle", "Something went wrong")
|
|
26
|
+
}),
|
|
27
|
+
/* @__PURE__ */ i("p", {
|
|
28
|
+
className: "max-w-sm text-sm text-text-secondary",
|
|
29
|
+
children: o ?? l("common.errorMessage", "We could not load this data. Please try again.")
|
|
30
|
+
}),
|
|
31
|
+
s && /* @__PURE__ */ i("button", {
|
|
32
|
+
type: "button",
|
|
33
|
+
onClick: s,
|
|
34
|
+
className: "mt-2 rounded-lg border border-border-seam px-4 py-2 text-sm font-medium text-text-primary transition-colors hover:bg-bg-sunken",
|
|
35
|
+
children: l("common.tryAgain", "Try again")
|
|
36
|
+
})
|
|
37
|
+
]
|
|
38
|
+
});
|
|
39
|
+
};
|
|
33
40
|
//#endregion
|
|
34
|
-
export {
|
|
41
|
+
export { s as ErrorState, o as LoadingState };
|
|
35
42
|
|
|
36
43
|
//# sourceMappingURL=LoadingState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingState.js","names":[],"sources":["../../../src/atheletebridge/components/LoadingState.tsx"],"sourcesContent":["/**\n * Loading / Error State Components\n * @module atheletebridge/components\n *\n * Small calm, centered states shared across list and detail pages.\n */\n\nimport type { FC } from 'react';\nimport { AlertCircle, Loader2 } from 'lucide-react';\nimport { cn } from '../utils/cn';\n\ninterface LoadingStateProps {\n label?: string;\n className?: string;\n}\n\nexport const LoadingState: FC<LoadingStateProps> = ({ label
|
|
1
|
+
{"version":3,"file":"LoadingState.js","names":[],"sources":["../../../src/atheletebridge/components/LoadingState.tsx"],"sourcesContent":["/**\n * Loading / Error State Components\n * @module atheletebridge/components\n *\n * Small calm, centered states shared across list and detail pages.\n */\n\nimport type { FC } from 'react';\nimport { AlertCircle, Loader2 } from 'lucide-react';\nimport { cn } from '../utils/cn';\nimport { useAbTranslate } from '../i18n';\n\ninterface LoadingStateProps {\n label?: string;\n className?: string;\n}\n\nexport const LoadingState: FC<LoadingStateProps> = ({ label, className }) => {\n const tr = useAbTranslate();\n return (\n <div\n className={cn('flex min-h-[40vh] flex-col items-center justify-center gap-3', className)}\n role=\"status\"\n aria-live=\"polite\"\n >\n <Loader2 className=\"h-8 w-8 animate-spin text-text-secondary\" />\n <p className=\"text-sm text-text-secondary\">{label ?? tr('common.loading', 'Loading…')}</p>\n </div>\n );\n};\n\ninterface ErrorStateProps {\n title?: string;\n message?: string;\n onRetry?: () => void;\n className?: string;\n}\n\nexport const ErrorState: FC<ErrorStateProps> = ({\n title,\n message,\n onRetry,\n className,\n}) => {\n const tr = useAbTranslate();\n return (\n <div\n className={cn(\n 'flex min-h-[40vh] flex-col items-center justify-center gap-3 text-center',\n className\n )}\n >\n <AlertCircle className=\"h-10 w-10 text-status-error-text\" />\n <h3 className=\"text-lg font-semibold text-text-primary\">\n {title ?? tr('common.errorTitle', 'Something went wrong')}\n </h3>\n <p className=\"max-w-sm text-sm text-text-secondary\">\n {message ?? tr('common.errorMessage', 'We could not load this data. Please try again.')}\n </p>\n {onRetry && (\n <button\n type=\"button\"\n onClick={onRetry}\n className=\"mt-2 rounded-lg border border-border-seam px-4 py-2 text-sm font-medium text-text-primary transition-colors hover:bg-bg-sunken\"\n >\n {tr('common.tryAgain', 'Try again')}\n </button>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;AAiBA,IAAa,KAAuC,EAAE,UAAO,mBAAgB;CAC3E,IAAM,IAAK,EAAe;CAC1B,OACE,kBAAC,OAAD;EACE,WAAW,EAAG,gEAAgE,CAAS;EACvF,MAAK;EACL,aAAU;YAHZ,CAKE,kBAAC,GAAD,EAAS,WAAU,2CAA4C,CAAA,GAC/D,kBAAC,KAAD;GAAG,WAAU;aAA+B,KAAS,EAAG,kBAAkB,UAAU;EAAK,CAAA,CACtF;;AAET,GASa,KAAmC,EAC9C,UACA,YACA,YACA,mBACI;CACJ,IAAM,IAAK,EAAe;CAC1B,OACE,kBAAC,OAAD;EACE,WAAW,EACT,4EACA,CACF;YAJF;GAME,kBAAC,GAAD,EAAa,WAAU,mCAAoC,CAAA;GAC3D,kBAAC,MAAD;IAAI,WAAU;cACX,KAAS,EAAG,qBAAqB,sBAAsB;GACtD,CAAA;GACJ,kBAAC,KAAD;IAAG,WAAU;cACV,KAAW,EAAG,uBAAuB,gDAAgD;GACrF,CAAA;GACF,KACC,kBAAC,UAAD;IACE,MAAK;IACL,SAAS;IACT,WAAU;cAET,EAAG,mBAAmB,WAAW;GAC5B,CAAA;EAEP;;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TeamCard.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/TeamCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TeamCard.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/components/TeamCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAQhC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,UAAU,aAAa;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAiFtC,CAAC"}
|
|
@@ -1,111 +1,107 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { useAbTranslate as e } from "../i18n.js";
|
|
2
|
+
import { cn as t } from "../utils/cn.js";
|
|
3
|
+
import { StatusBadge as n } from "./StatusBadge.js";
|
|
4
|
+
import { SPORT_ICONS as r, SPORT_LABELS as i } from "./domain.js";
|
|
5
|
+
import { Crest as a } from "./Crest.js";
|
|
6
|
+
import { CalendarDays as o, MapPin as s, Users as c } from "lucide-react";
|
|
7
|
+
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
8
|
+
import { Badge as d, GlassCard as f } from "@burdenoff/fe-libs/ui";
|
|
8
9
|
//#region src/atheletebridge/components/TeamCard.tsx
|
|
9
|
-
var
|
|
10
|
-
let
|
|
11
|
-
return /* @__PURE__ */
|
|
10
|
+
var p = ({ team: p, onClick: m, memberCount: h }) => {
|
|
11
|
+
let g = e(), _ = r[p.sport], v = h ?? p.members?.items.length, y = v === 1 ? g("atheletebridge.team.memberCount.one", "{{count}} member").replace("{{count}}", String(v)) : g("atheletebridge.team.memberCount.other", "{{count}} members").replace("{{count}}", String(v ?? 0));
|
|
12
|
+
return /* @__PURE__ */ u(f, {
|
|
12
13
|
treatment: "metric",
|
|
13
14
|
role: "button",
|
|
14
15
|
tabIndex: 0,
|
|
15
|
-
onClick:
|
|
16
|
+
onClick: m,
|
|
16
17
|
onKeyDown: (e) => {
|
|
17
|
-
(e.key === "Enter" || e.key === " ") && (e.preventDefault(),
|
|
18
|
+
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), m?.());
|
|
18
19
|
},
|
|
19
|
-
className:
|
|
20
|
+
className: t("cursor-pointer p-5 transition-transform duration-200 hover:-translate-y-0.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]"),
|
|
20
21
|
children: [
|
|
21
|
-
/* @__PURE__ */
|
|
22
|
+
/* @__PURE__ */ u("div", {
|
|
22
23
|
className: "flex items-start justify-between gap-3",
|
|
23
|
-
children: [/* @__PURE__ */
|
|
24
|
+
children: [/* @__PURE__ */ u("div", {
|
|
24
25
|
className: "flex min-w-0 items-center gap-3",
|
|
25
|
-
children: [/* @__PURE__ */
|
|
26
|
-
name:
|
|
27
|
-
sport:
|
|
26
|
+
children: [/* @__PURE__ */ l(a, {
|
|
27
|
+
name: p.name,
|
|
28
|
+
sport: p.sport,
|
|
28
29
|
size: 44
|
|
29
|
-
}), /* @__PURE__ */
|
|
30
|
+
}), /* @__PURE__ */ u("div", {
|
|
30
31
|
className: "min-w-0",
|
|
31
|
-
children: [/* @__PURE__ */
|
|
32
|
+
children: [/* @__PURE__ */ l("h3", {
|
|
32
33
|
className: "truncate text-base font-semibold text-text-primary",
|
|
33
|
-
children:
|
|
34
|
-
}), /* @__PURE__ */
|
|
34
|
+
children: p.name
|
|
35
|
+
}), /* @__PURE__ */ l("div", {
|
|
35
36
|
className: "mt-1",
|
|
36
|
-
children: /* @__PURE__ */
|
|
37
|
+
children: /* @__PURE__ */ u(d, {
|
|
37
38
|
variant: "secondary",
|
|
38
39
|
className: "gap-1",
|
|
39
|
-
children: [/* @__PURE__ */
|
|
40
|
+
children: [/* @__PURE__ */ l(_, {
|
|
40
41
|
className: "h-3 w-3",
|
|
41
42
|
"aria-hidden": "true"
|
|
42
|
-
}),
|
|
43
|
+
}), i[p.sport]]
|
|
43
44
|
})
|
|
44
45
|
})]
|
|
45
46
|
})]
|
|
46
|
-
}), /* @__PURE__ */
|
|
47
|
+
}), /* @__PURE__ */ l(n, { status: p.status })]
|
|
47
48
|
}),
|
|
48
|
-
/* @__PURE__ */
|
|
49
|
+
/* @__PURE__ */ u("div", {
|
|
49
50
|
className: "mt-4 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-xs text-text-secondary",
|
|
50
51
|
children: [
|
|
51
|
-
|
|
52
|
+
p.ageGroup && /* @__PURE__ */ u("span", {
|
|
52
53
|
className: "flex items-center gap-1",
|
|
53
54
|
children: [
|
|
54
|
-
/* @__PURE__ */ c
|
|
55
|
+
/* @__PURE__ */ l(c, {
|
|
55
56
|
className: "h-3.5 w-3.5",
|
|
56
57
|
"aria-hidden": "true"
|
|
57
58
|
}),
|
|
58
59
|
" ",
|
|
59
|
-
|
|
60
|
+
p.ageGroup
|
|
60
61
|
]
|
|
61
62
|
}),
|
|
62
|
-
|
|
63
|
+
p.season && /* @__PURE__ */ u("span", {
|
|
63
64
|
className: "flex items-center gap-1",
|
|
64
65
|
children: [
|
|
65
|
-
/* @__PURE__ */
|
|
66
|
+
/* @__PURE__ */ l(o, {
|
|
66
67
|
className: "h-3.5 w-3.5",
|
|
67
68
|
"aria-hidden": "true"
|
|
68
69
|
}),
|
|
69
70
|
" ",
|
|
70
|
-
|
|
71
|
+
p.season
|
|
71
72
|
]
|
|
72
73
|
}),
|
|
73
|
-
|
|
74
|
+
p.homeVenue && /* @__PURE__ */ u("span", {
|
|
74
75
|
className: "flex items-center gap-1 truncate",
|
|
75
76
|
children: [
|
|
76
|
-
/* @__PURE__ */
|
|
77
|
+
/* @__PURE__ */ l(s, {
|
|
77
78
|
className: "h-3.5 w-3.5 shrink-0",
|
|
78
79
|
"aria-hidden": "true"
|
|
79
80
|
}),
|
|
80
81
|
" ",
|
|
81
|
-
|
|
82
|
+
p.homeVenue
|
|
82
83
|
]
|
|
83
84
|
})
|
|
84
85
|
]
|
|
85
86
|
}),
|
|
86
|
-
|
|
87
|
+
p.tags.length > 0 && /* @__PURE__ */ l("div", {
|
|
87
88
|
className: "mt-3 flex flex-wrap gap-1.5",
|
|
88
|
-
children:
|
|
89
|
+
children: p.tags.slice(0, 4).map((e) => /* @__PURE__ */ l("span", {
|
|
89
90
|
className: "inline-flex items-center rounded-full bg-bg-sunken px-2 py-0.5 text-xs text-text-secondary",
|
|
90
91
|
children: e
|
|
91
92
|
}, e))
|
|
92
93
|
}),
|
|
93
|
-
|
|
94
|
+
v !== void 0 && /* @__PURE__ */ u("div", {
|
|
94
95
|
className: "mt-4 flex items-center gap-1.5 border-t border-border-seam pt-3 text-xs font-medium text-text-secondary",
|
|
95
|
-
children: [
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}),
|
|
100
|
-
g,
|
|
101
|
-
" ",
|
|
102
|
-
g === 1 ? "member" : "members"
|
|
103
|
-
]
|
|
96
|
+
children: [/* @__PURE__ */ l(c, {
|
|
97
|
+
className: "h-3.5 w-3.5",
|
|
98
|
+
"aria-hidden": "true"
|
|
99
|
+
}), y]
|
|
104
100
|
})
|
|
105
101
|
]
|
|
106
102
|
});
|
|
107
103
|
};
|
|
108
104
|
//#endregion
|
|
109
|
-
export {
|
|
105
|
+
export { p as TeamCard };
|
|
110
106
|
|
|
111
107
|
//# sourceMappingURL=TeamCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TeamCard.js","names":[],"sources":["../../../src/atheletebridge/components/TeamCard.tsx"],"sourcesContent":["/**\n * Team Card\n * @module atheletebridge/components\n *\n * A team tile fronted by a deterministic gradient monogram crest, with a sport\n * Badge, a StatusBadge (green Active / amber Forming / grey Inactive·Archived),\n * a member-count chip and a hover lift. Semantic tokens only.\n */\n\nimport type { FC } from 'react';\nimport { Users, MapPin, CalendarDays } from 'lucide-react';\nimport { GlassCard, Badge } from '@burdenoff/fe-libs/ui';\nimport { StatusBadge } from './StatusBadge';\nimport { Crest } from './Crest';\nimport { SPORT_ICONS, SPORT_LABELS } from './domain';\nimport { cn } from '../utils/cn';\nimport type { AthTeam } from '../types';\n\ninterface TeamCardProps {\n team: AthTeam;\n onClick?: () => void;\n /**\n * Member count for the footer chip. Falls back to `team.members?.length`\n * when the list query selected members; omit the chip entirely if neither is\n * available (never guess).\n */\n memberCount?: number;\n}\n\nexport const TeamCard: FC<TeamCardProps> = ({ team, onClick, memberCount }) => {\n const SportIcon = SPORT_ICONS[team.sport];\n const count = memberCount ?? team.members?.items.length;\n\n return (\n <GlassCard\n treatment=\"metric\"\n role=\"button\"\n tabIndex={0}\n onClick={onClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onClick?.();\n }\n }}\n className={cn(\n 'cursor-pointer p-5 transition-transform duration-200 hover:-translate-y-0.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]'\n )}\n >\n <div className=\"flex items-start justify-between gap-3\">\n <div className=\"flex min-w-0 items-center gap-3\">\n <Crest name={team.name} sport={team.sport} size={44} />\n <div className=\"min-w-0\">\n <h3 className=\"truncate text-base font-semibold text-text-primary\">{team.name}</h3>\n <div className=\"mt-1\">\n <Badge variant=\"secondary\" className=\"gap-1\">\n <SportIcon className=\"h-3 w-3\" aria-hidden=\"true\" />\n {SPORT_LABELS[team.sport]}\n </Badge>\n </div>\n </div>\n </div>\n <StatusBadge status={team.status} />\n </div>\n\n <div className=\"mt-4 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-xs text-text-secondary\">\n {team.ageGroup && (\n <span className=\"flex items-center gap-1\">\n <Users className=\"h-3.5 w-3.5\" aria-hidden=\"true\" /> {team.ageGroup}\n </span>\n )}\n {team.season && (\n <span className=\"flex items-center gap-1\">\n <CalendarDays className=\"h-3.5 w-3.5\" aria-hidden=\"true\" /> {team.season}\n </span>\n )}\n {team.homeVenue && (\n <span className=\"flex items-center gap-1 truncate\">\n <MapPin className=\"h-3.5 w-3.5 shrink-0\" aria-hidden=\"true\" /> {team.homeVenue}\n </span>\n )}\n </div>\n\n {team.tags.length > 0 && (\n <div className=\"mt-3 flex flex-wrap gap-1.5\">\n {team.tags.slice(0, 4).map((tag) => (\n <span\n key={tag}\n className=\"inline-flex items-center rounded-full bg-bg-sunken px-2 py-0.5 text-xs text-text-secondary\"\n >\n {tag}\n </span>\n ))}\n </div>\n )}\n\n {count !== undefined && (\n <div className=\"mt-4 flex items-center gap-1.5 border-t border-border-seam pt-3 text-xs font-medium text-text-secondary\">\n <Users className=\"h-3.5 w-3.5\" aria-hidden=\"true\" />\n {
|
|
1
|
+
{"version":3,"file":"TeamCard.js","names":[],"sources":["../../../src/atheletebridge/components/TeamCard.tsx"],"sourcesContent":["/**\n * Team Card\n * @module atheletebridge/components\n *\n * A team tile fronted by a deterministic gradient monogram crest, with a sport\n * Badge, a StatusBadge (green Active / amber Forming / grey Inactive·Archived),\n * a member-count chip and a hover lift. Semantic tokens only.\n */\n\nimport type { FC } from 'react';\nimport { Users, MapPin, CalendarDays } from 'lucide-react';\nimport { GlassCard, Badge } from '@burdenoff/fe-libs/ui';\nimport { StatusBadge } from './StatusBadge';\nimport { Crest } from './Crest';\nimport { SPORT_ICONS, SPORT_LABELS } from './domain';\nimport { cn } from '../utils/cn';\nimport { useAbTranslate } from '../i18n';\nimport type { AthTeam } from '../types';\n\ninterface TeamCardProps {\n team: AthTeam;\n onClick?: () => void;\n /**\n * Member count for the footer chip. Falls back to `team.members?.length`\n * when the list query selected members; omit the chip entirely if neither is\n * available (never guess).\n */\n memberCount?: number;\n}\n\nexport const TeamCard: FC<TeamCardProps> = ({ team, onClick, memberCount }) => {\n const tr = useAbTranslate();\n const SportIcon = SPORT_ICONS[team.sport];\n const count = memberCount ?? team.members?.items.length;\n\n const memberLabel =\n count === 1\n ? tr('atheletebridge.team.memberCount.one', '{{count}} member').replace('{{count}}', String(count))\n : tr('atheletebridge.team.memberCount.other', '{{count}} members').replace('{{count}}', String(count ?? 0));\n\n return (\n <GlassCard\n treatment=\"metric\"\n role=\"button\"\n tabIndex={0}\n onClick={onClick}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onClick?.();\n }\n }}\n className={cn(\n 'cursor-pointer p-5 transition-transform duration-200 hover:-translate-y-0.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]'\n )}\n >\n <div className=\"flex items-start justify-between gap-3\">\n <div className=\"flex min-w-0 items-center gap-3\">\n <Crest name={team.name} sport={team.sport} size={44} />\n <div className=\"min-w-0\">\n <h3 className=\"truncate text-base font-semibold text-text-primary\">{team.name}</h3>\n <div className=\"mt-1\">\n <Badge variant=\"secondary\" className=\"gap-1\">\n <SportIcon className=\"h-3 w-3\" aria-hidden=\"true\" />\n {SPORT_LABELS[team.sport]}\n </Badge>\n </div>\n </div>\n </div>\n <StatusBadge status={team.status} />\n </div>\n\n <div className=\"mt-4 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-xs text-text-secondary\">\n {team.ageGroup && (\n <span className=\"flex items-center gap-1\">\n <Users className=\"h-3.5 w-3.5\" aria-hidden=\"true\" /> {team.ageGroup}\n </span>\n )}\n {team.season && (\n <span className=\"flex items-center gap-1\">\n <CalendarDays className=\"h-3.5 w-3.5\" aria-hidden=\"true\" /> {team.season}\n </span>\n )}\n {team.homeVenue && (\n <span className=\"flex items-center gap-1 truncate\">\n <MapPin className=\"h-3.5 w-3.5 shrink-0\" aria-hidden=\"true\" /> {team.homeVenue}\n </span>\n )}\n </div>\n\n {team.tags.length > 0 && (\n <div className=\"mt-3 flex flex-wrap gap-1.5\">\n {team.tags.slice(0, 4).map((tag) => (\n <span\n key={tag}\n className=\"inline-flex items-center rounded-full bg-bg-sunken px-2 py-0.5 text-xs text-text-secondary\"\n >\n {tag}\n </span>\n ))}\n </div>\n )}\n\n {count !== undefined && (\n <div className=\"mt-4 flex items-center gap-1.5 border-t border-border-seam pt-3 text-xs font-medium text-text-secondary\">\n <Users className=\"h-3.5 w-3.5\" aria-hidden=\"true\" />\n {memberLabel}\n </div>\n )}\n </GlassCard>\n );\n};\n"],"mappings":";;;;;;;;;AA8BA,IAAa,KAA+B,EAAE,SAAM,YAAS,qBAAkB;CAC7E,IAAM,IAAK,EAAe,GACpB,IAAY,EAAY,EAAK,QAC7B,IAAQ,KAAe,EAAK,SAAS,MAAM,QAE3C,IACJ,MAAU,IACN,EAAG,uCAAuC,kBAAkB,EAAE,QAAQ,aAAa,OAAO,CAAK,CAAC,IAChG,EAAG,yCAAyC,mBAAmB,EAAE,QAAQ,aAAa,OAAO,KAAS,CAAC,CAAC;CAE9G,OACE,kBAAC,GAAD;EACE,WAAU;EACV,MAAK;EACL,UAAU;EACD;EACT,YAAY,MAAM;GAChB,CAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,SACjC,EAAE,eAAe,GACjB,IAAU;EAEd;EACA,WAAW,EACT,0KACF;YAbF;GAeE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,GAAD;MAAO,MAAM,EAAK;MAAM,OAAO,EAAK;MAAO,MAAM;KAAK,CAAA,GACtD,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,MAAD;OAAI,WAAU;iBAAsD,EAAK;MAAS,CAAA,GAClF,kBAAC,OAAD;OAAK,WAAU;iBACb,kBAAC,GAAD;QAAO,SAAQ;QAAY,WAAU;kBAArC,CACE,kBAAC,GAAD;SAAW,WAAU;SAAU,eAAY;QAAQ,CAAA,GAClD,EAAa,EAAK,MACd;;MACJ,CAAA,CACF;OACF;QACL,kBAAC,GAAD,EAAa,QAAQ,EAAK,OAAS,CAAA,CAChC;;GAEL,kBAAC,OAAD;IAAK,WAAU;cAAf;KACG,EAAK,YACJ,kBAAC,QAAD;MAAM,WAAU;gBAAhB;OACE,kBAAC,GAAD;QAAO,WAAU;QAAc,eAAY;OAAQ,CAAA;OAAC;OAAE,EAAK;MACvD;;KAEP,EAAK,UACJ,kBAAC,QAAD;MAAM,WAAU;gBAAhB;OACE,kBAAC,GAAD;QAAc,WAAU;QAAc,eAAY;OAAQ,CAAA;OAAC;OAAE,EAAK;MAC9D;;KAEP,EAAK,aACJ,kBAAC,QAAD;MAAM,WAAU;gBAAhB;OACE,kBAAC,GAAD;QAAQ,WAAU;QAAuB,eAAY;OAAQ,CAAA;OAAC;OAAE,EAAK;MACjE;;IAEL;;GAEJ,EAAK,KAAK,SAAS,KAClB,kBAAC,OAAD;IAAK,WAAU;cACZ,EAAK,KAAK,MAAM,GAAG,CAAC,EAAE,KAAK,MAC1B,kBAAC,QAAD;KAEE,WAAU;eAET;IACG,GAJC,CAID,CACP;GACE,CAAA;GAGN,MAAU,KAAA,KACT,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,GAAD;KAAO,WAAU;KAAc,eAAY;IAAQ,CAAA,GAClD,CACE;;EAEE;;AAEf"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { useTeams, useTeam, useTeamMembers, useCreateTeam, useUpdateTeam, useArchiveTeam, useAddMember, useRemoveMember, useFixtures, useFixture, useStandings, useScheduleFixture, useRecordFixtureResult, usePrograms, useProgram, useCreateProgram, useUpdateProgram, useTransitionProgram, useArchiveProgram, useAddDrill, useRemoveDrill, useSessions, useSession, useBookSession, useConfirmSession, useCompleteSession, useCancelSession, useWorkoutLogs, usePerformanceMetrics, useLogWorkout, useRecordMetric, useUploadFile, useFile, useUserSearch, directoryUserName, useUsersByIds, useUserDirectory, useAiModelCatalog, useWorkspaceAiConfig, useSetWorkspaceAiModel, useSetWorkspaceAutoPilot, useAgentRuns, useAgentRun, useProgramAiState, useGenerateProgram, useAdjustPlanFromPerformance, useOverrideAgentRun, AthApiError, AI_PROVIDER_UNAVAILABLE, isAiProviderUnavailable, useRecentActivity, useAthleteProfile, useCoachAnalytics, useHealth, } from './useAthleteBridgeApi';
|
|
2
|
-
export type { TeamFilters, FixtureFilters, ProgramFilters, SessionFilters, WorkoutLogFilters, AgentRunFilters, WorkspaceFileRef, DirectoryUser, ResolvedUser, UserDirectory, ActivityType, ActivityItem, RecentActivityInput, AthleteProfile, SessionStatusCount, RatingByCoach, AnalyticsTrendPoint, CoachAnalytics, CoachAnalyticsOptions, } from './useAthleteBridgeApi';
|
|
2
|
+
export type { TeamFilters, FixtureFilters, ProgramFilters, SessionFilters, WorkoutLogFilters, AgentRunFilters, WorkspaceFileRef, DirectoryUser, ResolvedUser, UserDirectory, ActivityType, ActivityItem, RecentActivityInput, AthleteProfile, SessionStatusCount, RatingByCoach, AnalyticsTrendPoint, AthleteTrainingLoad, CoachAnalytics, CoachAnalyticsOptions, } from './useAthleteBridgeApi';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,OAAO,EACP,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EAEf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EAEtB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,cAAc,EAEd,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAEhB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,eAAe,EAEf,aAAa,EACb,OAAO,EAEP,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAEhB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,uBAAuB,EAEvB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAEjB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,qBAAqB,GACtB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,OAAO,EACP,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EAEf,WAAW,EACX,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EAEtB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,cAAc,EAEd,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAEhB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,eAAe,EAEf,aAAa,EACb,OAAO,EAEP,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAEhB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,uBAAuB,EAEvB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAEjB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,GACtB,MAAM,uBAAuB,CAAC"}
|
|
@@ -92,7 +92,14 @@ export interface WorkoutLogFilters {
|
|
|
92
92
|
pagination?: PaginationInput;
|
|
93
93
|
}
|
|
94
94
|
export declare const useWorkoutLogs: (filters?: WorkoutLogFilters) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthWorkoutLogConnection>, Error>;
|
|
95
|
-
|
|
95
|
+
/**
|
|
96
|
+
* An athlete's performance metrics, newest `recordedAt` first (the svc orders
|
|
97
|
+
* `recordedAt: desc`). `pagination` is optional — omit it to take the server
|
|
98
|
+
* default page; pass a limit when the caller needs a deeper history window than
|
|
99
|
+
* the default (the svc clamps `limit` to its own ceiling, so a caller can ask
|
|
100
|
+
* for more rows but never for unbounded ones).
|
|
101
|
+
*/
|
|
102
|
+
export declare const usePerformanceMetrics: (athleteId: string | undefined, pagination?: PaginationInput) => import('@tanstack/react-query').UseQueryResult<NoInfer<AthPerformanceMetric[]>, Error>;
|
|
96
103
|
export declare const useLogWorkout: () => import('@tanstack/react-query').UseMutationResult<AthWorkoutLog, Error, AthLogWorkoutInput, unknown>;
|
|
97
104
|
export declare const useRecordMetric: () => import('@tanstack/react-query').UseMutationResult<AthPerformanceMetric, Error, AthRecordMetricInput, unknown>;
|
|
98
105
|
export interface AvailabilityFilters {
|
|
@@ -216,6 +223,29 @@ export interface AnalyticsTrendPoint {
|
|
|
216
223
|
label: string;
|
|
217
224
|
value: number;
|
|
218
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* One athlete's acute:chronic workload, computed from that athlete's own real
|
|
228
|
+
* `AthWorkoutLog.totalLoad` rows in the sampled page.
|
|
229
|
+
*
|
|
230
|
+
* `acute` is the summed load of the last 7 days and `chronic` the mean weekly
|
|
231
|
+
* load over the last 28 days (28-day sum ÷ 4), matching the workspace-wide
|
|
232
|
+
* `trainingLoad` maths. `loadedCount` is how many of those 28-day workouts
|
|
233
|
+
* actually carried a `totalLoad`: when it is 0 the athlete trained but nobody
|
|
234
|
+
* recorded a load, and `acute` / `chronic` are 0 because nothing was measured —
|
|
235
|
+
* NOT because the athlete did nothing. Callers must render that case as
|
|
236
|
+
* "no load recorded" rather than as a real zero.
|
|
237
|
+
*/
|
|
238
|
+
export interface AthleteTrainingLoad {
|
|
239
|
+
athleteId: string;
|
|
240
|
+
acute: number;
|
|
241
|
+
chronic: number;
|
|
242
|
+
/** acute ÷ chronic, or null when there is no chronic load to divide by. */
|
|
243
|
+
ratio: number | null;
|
|
244
|
+
/** Workouts by this athlete inside the 28-day window. */
|
|
245
|
+
workoutCount: number;
|
|
246
|
+
/** How many of those workouts carried a real `totalLoad`. */
|
|
247
|
+
loadedCount: number;
|
|
248
|
+
}
|
|
219
249
|
export interface CoachAnalytics {
|
|
220
250
|
totalSessions: number;
|
|
221
251
|
ratedCount: number;
|
|
@@ -232,6 +262,16 @@ export interface CoachAnalytics {
|
|
|
232
262
|
chronic: number;
|
|
233
263
|
ratio: number | null;
|
|
234
264
|
};
|
|
265
|
+
/** Per-athlete acute/chronic load over the same windows, heaviest acute first. */
|
|
266
|
+
loadByAthlete: AthleteTrainingLoad[];
|
|
267
|
+
/** Distinct athlete ids seen in the sampled workout logs (for name lookup). */
|
|
268
|
+
athleteIds: string[];
|
|
269
|
+
/**
|
|
270
|
+
* True when the sampled workout page stopped short of 28 days ago — the svc
|
|
271
|
+
* clamps `limit`, so a busy workspace returns only the newest N workouts and
|
|
272
|
+
* every load figure below (workspace-wide AND per athlete) under-counts.
|
|
273
|
+
*/
|
|
274
|
+
loadSampleTruncated: boolean;
|
|
235
275
|
/** Weekly total workout load, oldest → newest (from real totalLoad). */
|
|
236
276
|
loadTrend: AnalyticsTrendPoint[];
|
|
237
277
|
/** Weekly session count, oldest → newest. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAthleteBridgeApi.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/useAthleteBridgeApi.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,eAAe,EAEf,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,SAAS,EAET,eAAe,EACf,oBAAoB,EAEpB,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,EACR,WAAW,EAEX,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EAChB,MAAM,UAAU,CAAC;AAMlB,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQlE;AAED,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WACM,CAAC;AA0HzE,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,QAAQ,GAAI,UAAS,WAAgB,sFAsBjD,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,GAAG,SAAS,mFAoB7C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,GAAG,SAAS,EAAE,SAAS,eAAe,gFAgBlF,CAAC;AAEF,eAAO,MAAM,aAAa,sGAkBzB,CAAC;AAEF,eAAO,MAAM,aAAa;QAIkB,MAAM;WAAS,kBAAkB;WAe5E,CAAC;AAEF,eAAO,MAAM,cAAc,0FAgB1B,CAAC;AAEF,eAAO,MAAM,YAAY,uGAqBxB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,uFAiB9C,CAAC;AAMF,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,GAAI,UAAS,cAAmB,yFAsBvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,GAAG,SAAS,sFAgBhD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,aAAa,MAAM,GAAG,SAAS,kFAgB3D,CAAC;AAEF,eAAO,MAAM,kBAAkB,4GAkB9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;QAIS,MAAM;WAAS,oBAAoB;WAgB9E,CAAC;AAMF,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,GAAI,UAAS,cAAmB,yFAuBvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,GAAG,SAAS,sFAmBhD,CAAC;AAEF,eAAO,MAAM,gBAAgB,4GAkB5B,CAAC;AAEF,eAAO,MAAM,gBAAgB;QAIe,MAAM;WAAS,qBAAqB;WAe/E,CAAC;AAEF,eAAO,MAAM,oBAAoB;QAIY,MAAM;YAAU,gBAAgB;WAe5E,CAAC;AAEF,eAAO,MAAM,iBAAiB,0FAgB7B,CAAC;AAEF,eAAO,MAAM,WAAW,qGAoBvB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,YAAY,MAAM,uFAgBhD,CAAC;AAMF,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,GAAI,UAAS,cAAmB,yFAuBvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,GAAG,SAAS,sFAgBhD,CAAC;AAEF,eAAO,MAAM,cAAc,0GAkB1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,6FAmB7B,CAAC;AAEF,eAAO,MAAM,kBAAkB;QAIa,MAAM;YAAU,uBAAuB;WAelF,CAAC;AAEF,eAAO,MAAM,gBAAgB,6FAmB5B,CAAC;AAMF,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,GAAI,UAAS,iBAAsB,4FAsB7D,CAAC;AAEF,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"useAthleteBridgeApi.d.ts","sourceRoot":"","sources":["../../../src/atheletebridge/hooks/useAthleteBridgeApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -233,7 +233,7 @@ var c = "AI_PROVIDER_UNAVAILABLE", l = class extends Error {
|
|
|
233
233
|
] }), t.invalidateQueries({ queryKey: ["atheletebridge", "standings"] });
|
|
234
234
|
}
|
|
235
235
|
});
|
|
236
|
-
},
|
|
236
|
+
}, N = (t = {}) => {
|
|
237
237
|
let { apiGatewayUrl: n } = e();
|
|
238
238
|
return i({
|
|
239
239
|
queryKey: [
|
|
@@ -253,7 +253,7 @@ var c = "AI_PROVIDER_UNAVAILABLE", l = class extends Error {
|
|
|
253
253
|
pagination: t.pagination
|
|
254
254
|
}, n)).athListPrograms
|
|
255
255
|
});
|
|
256
|
-
},
|
|
256
|
+
}, P = (t) => {
|
|
257
257
|
let { apiGatewayUrl: n } = e();
|
|
258
258
|
return i({
|
|
259
259
|
queryKey: [
|
|
@@ -269,7 +269,7 @@ var c = "AI_PROVIDER_UNAVAILABLE", l = class extends Error {
|
|
|
269
269
|
}`, { id: t }, n)).athProgram,
|
|
270
270
|
enabled: !!t
|
|
271
271
|
});
|
|
272
|
-
},
|
|
272
|
+
}, F = () => {
|
|
273
273
|
let t = a(), { apiGatewayUrl: n } = e();
|
|
274
274
|
return r({
|
|
275
275
|
mutationFn: async (e) => (await u(`mutation AthCreateProgram($input: AthCreateProgramInput!) {
|
|
@@ -279,7 +279,7 @@ var c = "AI_PROVIDER_UNAVAILABLE", l = class extends Error {
|
|
|
279
279
|
t.invalidateQueries({ queryKey: ["atheletebridge", "programs"] });
|
|
280
280
|
}
|
|
281
281
|
});
|
|
282
|
-
},
|
|
282
|
+
}, te = () => {
|
|
283
283
|
let t = a(), { apiGatewayUrl: n } = e();
|
|
284
284
|
return r({
|
|
285
285
|
mutationFn: async ({ id: e, input: t }) => (await u(`mutation AthUpdateProgram($id: ID!, $input: AthUpdateProgramInput!) {
|
|
@@ -296,7 +296,7 @@ var c = "AI_PROVIDER_UNAVAILABLE", l = class extends Error {
|
|
|
296
296
|
] });
|
|
297
297
|
}
|
|
298
298
|
});
|
|
299
|
-
},
|
|
299
|
+
}, ne = () => {
|
|
300
300
|
let t = a(), { apiGatewayUrl: n } = e();
|
|
301
301
|
return r({
|
|
302
302
|
mutationFn: async ({ id: e, status: t }) => (await u(`mutation AthTransitionProgram($id: ID!, $status: AthProgramStatus!) {
|
|
@@ -313,7 +313,7 @@ var c = "AI_PROVIDER_UNAVAILABLE", l = class extends Error {
|
|
|
313
313
|
] });
|
|
314
314
|
}
|
|
315
315
|
});
|
|
316
|
-
},
|
|
316
|
+
}, re = () => {
|
|
317
317
|
let t = a(), { apiGatewayUrl: n } = e();
|
|
318
318
|
return r({
|
|
319
319
|
mutationFn: async (e) => (await u("mutation AthArchiveProgram($id: ID!) { athArchiveProgram(id: $id) }", { id: e }, n)).athArchiveProgram,
|
|
@@ -321,7 +321,7 @@ var c = "AI_PROVIDER_UNAVAILABLE", l = class extends Error {
|
|
|
321
321
|
t.invalidateQueries({ queryKey: ["atheletebridge", "programs"] });
|
|
322
322
|
}
|
|
323
323
|
});
|
|
324
|
-
},
|
|
324
|
+
}, ie = () => {
|
|
325
325
|
let t = a(), { apiGatewayUrl: n } = e();
|
|
326
326
|
return r({
|
|
327
327
|
mutationFn: async (e) => (await u(`mutation AthAddDrill($input: AthAddDrillInput!) {
|
|
@@ -335,7 +335,7 @@ var c = "AI_PROVIDER_UNAVAILABLE", l = class extends Error {
|
|
|
335
335
|
] });
|
|
336
336
|
}
|
|
337
337
|
});
|
|
338
|
-
},
|
|
338
|
+
}, ae = (t) => {
|
|
339
339
|
let n = a(), { apiGatewayUrl: i } = e();
|
|
340
340
|
return r({
|
|
341
341
|
mutationFn: async (e) => (await u("mutation AthRemoveDrill($id: ID!) { athRemoveDrill(id: $id) }", { id: e }, i)).athRemoveDrill,
|
|
@@ -347,7 +347,7 @@ var c = "AI_PROVIDER_UNAVAILABLE", l = class extends Error {
|
|
|
347
347
|
] });
|
|
348
348
|
}
|
|
349
349
|
});
|
|
350
|
-
},
|
|
350
|
+
}, I = (t = {}) => {
|
|
351
351
|
let { apiGatewayUrl: n } = e();
|
|
352
352
|
return i({
|
|
353
353
|
queryKey: [
|
|
@@ -367,7 +367,7 @@ var c = "AI_PROVIDER_UNAVAILABLE", l = class extends Error {
|
|
|
367
367
|
pagination: t.pagination
|
|
368
368
|
}, n)).athListSessions
|
|
369
369
|
});
|
|
370
|
-
},
|
|
370
|
+
}, oe = (t) => {
|
|
371
371
|
let { apiGatewayUrl: n } = e();
|
|
372
372
|
return i({
|
|
373
373
|
queryKey: [
|
|
@@ -454,17 +454,23 @@ var c = "AI_PROVIDER_UNAVAILABLE", l = class extends Error {
|
|
|
454
454
|
pagination: t.pagination
|
|
455
455
|
}, n)).athListWorkoutLogs
|
|
456
456
|
});
|
|
457
|
-
}, H = (t) => {
|
|
458
|
-
let { apiGatewayUrl:
|
|
457
|
+
}, H = (t, n) => {
|
|
458
|
+
let { apiGatewayUrl: r } = e();
|
|
459
459
|
return i({
|
|
460
460
|
queryKey: [
|
|
461
461
|
"atheletebridge",
|
|
462
462
|
"metrics",
|
|
463
|
-
t
|
|
463
|
+
t,
|
|
464
|
+
n ?? null
|
|
464
465
|
],
|
|
465
|
-
queryFn: async () => (await u(`query AthPerformanceMetrics($athleteId: ID
|
|
466
|
-
athPerformanceMetrics(athleteId: $athleteId
|
|
467
|
-
|
|
466
|
+
queryFn: async () => (await u(`query AthPerformanceMetrics($athleteId: ID!, $pagination: PaginationInput) {
|
|
467
|
+
athPerformanceMetrics(athleteId: $athleteId, pagination: $pagination) {
|
|
468
|
+
items { ${b} }
|
|
469
|
+
}
|
|
470
|
+
}`, {
|
|
471
|
+
athleteId: t,
|
|
472
|
+
pagination: n
|
|
473
|
+
}, r)).athPerformanceMetrics.items,
|
|
468
474
|
enabled: !!t
|
|
469
475
|
});
|
|
470
476
|
}, U = () => {
|
|
@@ -678,7 +684,7 @@ var c = "AI_PROVIDER_UNAVAILABLE", l = class extends Error {
|
|
|
678
684
|
let r = C(e), i = n(() => (r.data ?? []).find((e) => e.id === t) ?? null, [r.data, t]), a = i?.userId, o = H(a), s = V({
|
|
679
685
|
athleteId: a,
|
|
680
686
|
pagination: { limit: 100 }
|
|
681
|
-
}), c =
|
|
687
|
+
}), c = I({
|
|
682
688
|
athleteId: a,
|
|
683
689
|
pagination: { limit: 100 }
|
|
684
690
|
});
|
|
@@ -711,7 +717,7 @@ function X(e, t, n, r = 8) {
|
|
|
711
717
|
});
|
|
712
718
|
}
|
|
713
719
|
var he = (e = {}) => {
|
|
714
|
-
let { competition: t, sampleLimit: r = 200 } = e, i =
|
|
720
|
+
let { competition: t, sampleLimit: r = 200 } = e, i = I({ pagination: { limit: r } }), a = V({ pagination: { limit: r } }), o = k({ pagination: { limit: r } }), s = n(() => i.data?.items ?? [], [i.data]), c = n(() => a.data?.items ?? [], [a.data]), l = n(() => o.data?.items ?? [], [o.data]), u = n(() => {
|
|
715
721
|
if (t) return t;
|
|
716
722
|
let e = /* @__PURE__ */ new Map();
|
|
717
723
|
for (let t of l) t.competition && e.set(t.competition, (e.get(t.competition) ?? 0) + 1);
|
|
@@ -743,12 +749,32 @@ var he = (e = {}) => {
|
|
|
743
749
|
coachId: e,
|
|
744
750
|
avgRating: t / n,
|
|
745
751
|
count: n
|
|
746
|
-
})).sort((e, t) => t.avgRating - e.avgRating), v = Array.from(new Set(s.map((e) => e.coachId))), y = Date.now(), b = 864e5, x =
|
|
752
|
+
})).sort((e, t) => t.avgRating - e.avgRating), v = Array.from(new Set(s.map((e) => e.coachId))), y = Date.now(), b = 864e5, x = y - 7 * b, S = y - 28 * b, C = 0, w = 0, T = Infinity, E = /* @__PURE__ */ new Map();
|
|
747
753
|
for (let e of c) {
|
|
748
|
-
let t =
|
|
749
|
-
Number.isNaN(
|
|
754
|
+
let t = new Date(e.performedAt).getTime();
|
|
755
|
+
if (Number.isNaN(t)) continue;
|
|
756
|
+
t < T && (T = t);
|
|
757
|
+
let n = e.totalLoad ?? 0;
|
|
758
|
+
if (t >= x && (C += n), t >= S && (w += n), t < S || !e.athleteId) continue;
|
|
759
|
+
let r = E.get(e.athleteId) ?? {
|
|
760
|
+
acute: 0,
|
|
761
|
+
chronic28: 0,
|
|
762
|
+
workoutCount: 0,
|
|
763
|
+
loadedCount: 0
|
|
764
|
+
};
|
|
765
|
+
r.chronic28 += n, r.workoutCount += 1, e.totalLoad != null && (r.loadedCount += 1), t >= x && (r.acute += n), E.set(e.athleteId, r);
|
|
750
766
|
}
|
|
751
|
-
let
|
|
767
|
+
let D = w / 4, O = D > 0 ? C / D : null, k = Array.from(E.entries()).map(([e, t]) => {
|
|
768
|
+
let n = t.chronic28 / 4;
|
|
769
|
+
return {
|
|
770
|
+
athleteId: e,
|
|
771
|
+
acute: t.acute,
|
|
772
|
+
chronic: n,
|
|
773
|
+
ratio: n > 0 ? t.acute / n : null,
|
|
774
|
+
workoutCount: t.workoutCount,
|
|
775
|
+
loadedCount: t.loadedCount
|
|
776
|
+
};
|
|
777
|
+
}).sort((e, t) => t.acute - e.acute || t.chronic - e.chronic), A = (a.data?.pageInfo.hasMore ?? !1) && T > S, j = X(c, (e) => e.performedAt, (e) => e.totalLoad ?? 0), M = X(s, (e) => e.scheduledAt, () => 1);
|
|
752
778
|
return {
|
|
753
779
|
totalSessions: e,
|
|
754
780
|
ratedCount: n,
|
|
@@ -759,12 +785,15 @@ var he = (e = {}) => {
|
|
|
759
785
|
ratingByCoach: _,
|
|
760
786
|
coachIds: v,
|
|
761
787
|
trainingLoad: {
|
|
762
|
-
acute:
|
|
763
|
-
chronic:
|
|
764
|
-
ratio:
|
|
788
|
+
acute: C,
|
|
789
|
+
chronic: D,
|
|
790
|
+
ratio: O
|
|
765
791
|
},
|
|
766
|
-
|
|
767
|
-
|
|
792
|
+
loadByAthlete: k,
|
|
793
|
+
athleteIds: k.map((e) => e.athleteId),
|
|
794
|
+
loadSampleTruncated: A,
|
|
795
|
+
loadTrend: j,
|
|
796
|
+
sessionTrend: M,
|
|
768
797
|
standings: d.data ?? [],
|
|
769
798
|
competition: u,
|
|
770
799
|
isLoading: i.isLoading || a.isLoading || o.isLoading || !!u && d.isLoading,
|
|
@@ -773,6 +802,7 @@ var he = (e = {}) => {
|
|
|
773
802
|
}, [
|
|
774
803
|
s,
|
|
775
804
|
c,
|
|
805
|
+
a.data,
|
|
776
806
|
u,
|
|
777
807
|
d.data,
|
|
778
808
|
d.isLoading,
|
|
@@ -917,6 +947,6 @@ var he = (e = {}) => {
|
|
|
917
947
|
});
|
|
918
948
|
};
|
|
919
949
|
//#endregion
|
|
920
|
-
export { c as AI_PROVIDER_UNAVAILABLE, l as AthApiError, J as directoryUserName,
|
|
950
|
+
export { c as AI_PROVIDER_UNAVAILABLE, l as AthApiError, J as directoryUserName, ie as useAddDrill, D as useAddMember, Ce as useAdjustPlanFromPerformance, be as useAgentRun, ye as useAgentRuns, ge as useAiModelCatalog, re as useArchiveProgram, E as useArchiveTeam, me as useAthleteProfile, K as useAvailability, L as useBookSession, B as useCancelSession, he as useCoachAnalytics, z as useCompleteSession, R as useConfirmSession, F as useCreateProgram, w as useCreateTeam, ue as useFile, A as useFixture, k as useFixtures, Se as useGenerateProgram, U as useLogWorkout, we as useOverrideAgentRun, H as usePerformanceMetrics, P as useProgram, xe as useProgramAiState, N as usePrograms, pe as useRecentActivity, ee as useRecordFixtureResult, W as useRecordMetric, se as useRemindAvailability, ae as useRemoveDrill, O as useRemoveMember, M as useScheduleFixture, oe as useSession, I as useSessions, q as useSetAvailability, _e as useSetWorkspaceAiModel, ve as useSetWorkspaceAutoPilot, j as useStandings, S as useTeam, C as useTeamMembers, x as useTeams, ne as useTransitionProgram, te as useUpdateProgram, T as useUpdateTeam, le as useUploadFile, fe as useUserDirectory, de as useUserSearch, Y as useUsersByIds, V as useWorkoutLogs, $ as useWorkspaceAiConfig };
|
|
921
951
|
|
|
922
952
|
//# sourceMappingURL=useAthleteBridgeApi.js.map
|