@burdenoff/microfe-mybodyshield 2026.820.1 → 2026.821.2

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.
Files changed (48) hide show
  1. package/dist/mybodyshield/MyBodyShieldRoot.d.ts.map +1 -1
  2. package/dist/mybodyshield/MyBodyShieldRoot.js +68 -44
  3. package/dist/mybodyshield/MyBodyShieldRoot.js.map +1 -1
  4. package/dist/mybodyshield/MyBodyShieldRoutes.d.ts.map +1 -1
  5. package/dist/mybodyshield/MyBodyShieldRoutes.js +37 -16
  6. package/dist/mybodyshield/MyBodyShieldRoutes.js.map +1 -1
  7. package/dist/mybodyshield/hooks/useMyBodyShieldApi.d.ts +11 -1
  8. package/dist/mybodyshield/hooks/useMyBodyShieldApi.d.ts.map +1 -1
  9. package/dist/mybodyshield/hooks/useMyBodyShieldApi.js +113 -46
  10. package/dist/mybodyshield/hooks/useMyBodyShieldApi.js.map +1 -1
  11. package/dist/mybodyshield/pages/SettingsPage.d.ts +10 -0
  12. package/dist/mybodyshield/pages/SettingsPage.d.ts.map +1 -0
  13. package/dist/mybodyshield/pages/SettingsPage.js +104 -0
  14. package/dist/mybodyshield/pages/SettingsPage.js.map +1 -0
  15. package/dist/mybodyshield/pages/ai/AiControlsPage.d.ts +10 -0
  16. package/dist/mybodyshield/pages/ai/AiControlsPage.d.ts.map +1 -0
  17. package/dist/mybodyshield/pages/ai/AiControlsPage.js +378 -0
  18. package/dist/mybodyshield/pages/ai/AiControlsPage.js.map +1 -0
  19. package/dist/mybodyshield/pages/insights/InsightsCharts.d.ts +18 -0
  20. package/dist/mybodyshield/pages/insights/InsightsCharts.d.ts.map +1 -0
  21. package/dist/mybodyshield/pages/insights/InsightsCharts.js +549 -0
  22. package/dist/mybodyshield/pages/insights/InsightsCharts.js.map +1 -0
  23. package/dist/mybodyshield/pages/insights/InsightsPage.d.ts +12 -0
  24. package/dist/mybodyshield/pages/insights/InsightsPage.d.ts.map +1 -0
  25. package/dist/mybodyshield/pages/insights/InsightsPage.js +317 -0
  26. package/dist/mybodyshield/pages/insights/InsightsPage.js.map +1 -0
  27. package/dist/mybodyshield/types/index.d.ts +75 -0
  28. package/dist/mybodyshield/types/index.d.ts.map +1 -1
  29. package/dist/mybodyshield/utils/pageContext.d.ts.map +1 -1
  30. package/dist/mybodyshield/utils/pageContext.js +4 -1
  31. package/dist/mybodyshield/utils/pageContext.js.map +1 -1
  32. package/dist/node_modules/recharts/es6/cartesian/Line.js +473 -0
  33. package/dist/node_modules/recharts/es6/cartesian/Line.js.map +1 -0
  34. package/dist/node_modules/recharts/es6/cartesian/Scatter.js +368 -0
  35. package/dist/node_modules/recharts/es6/cartesian/Scatter.js.map +1 -0
  36. package/dist/node_modules/recharts/es6/cartesian/ZAxis.js +103 -0
  37. package/dist/node_modules/recharts/es6/cartesian/ZAxis.js.map +1 -0
  38. package/dist/node_modules/recharts/es6/chart/BarChart.js +24 -0
  39. package/dist/node_modules/recharts/es6/chart/BarChart.js.map +1 -0
  40. package/dist/node_modules/recharts/es6/chart/ComposedChart.js +38 -0
  41. package/dist/node_modules/recharts/es6/chart/ComposedChart.js.map +1 -0
  42. package/dist/node_modules/recharts/es6/util/DataUtils.js +12 -2
  43. package/dist/node_modules/recharts/es6/util/DataUtils.js.map +1 -1
  44. package/dist/node_modules/recharts/es6/util/ScatterUtils.js +48 -0
  45. package/dist/node_modules/recharts/es6/util/ScatterUtils.js.map +1 -0
  46. package/dist/stories/InsightsCharts.stories.d.ts +15 -0
  47. package/dist/stories/InsightsCharts.stories.d.ts.map +1 -0
  48. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MyBodyShieldRoot.d.ts","sourceRoot":"","sources":["../../src/mybodyshield/MyBodyShieldRoot.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAkBhC,OAAO,KAAK,EAAE,qBAAqB,EAAW,MAAM,SAAS,CAAC;AAY9D,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA6GtD,CAAC"}
1
+ {"version":3,"file":"MyBodyShieldRoot.d.ts","sourceRoot":"","sources":["../../src/mybodyshield/MyBodyShieldRoot.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAqBhC,OAAO,KAAK,EAAE,qBAAqB,EAAW,MAAM,SAAS,CAAC;AAY9D,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAqItD,CAAC"}
@@ -5,111 +5,135 @@ import { useCallback as r, useEffect as i } from "react";
5
5
  import { QueryClient as a, QueryClientProvider as o } from "@tanstack/react-query";
6
6
  import { FeatureFlagProvider as s } from "@burdenoff/fe-libs/shared/feature-flags";
7
7
  import { useI18n as c } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
8
- import { Dumbbell as l, Flame as u, LayoutDashboard as d, Moon as f, Salad as p, Target as m, TrendingUp as h, Users as g } from "lucide-react";
9
- import { jsx as _ } from "react/jsx-runtime";
8
+ import { BarChart3 as l, Dumbbell as u, Flame as d, LayoutDashboard as f, Moon as p, Salad as m, Settings as h, Sparkles as g, Target as _, TrendingUp as v, Users as y } from "lucide-react";
9
+ import { jsx as b } from "react/jsx-runtime";
10
10
  //#region src/mybodyshield/MyBodyShieldRoot.tsx
11
- var v = new a({ defaultOptions: { queries: {
11
+ var x = new a({ defaultOptions: { queries: {
12
12
  staleTime: 300 * 1e3,
13
13
  retry: 1,
14
14
  refetchOnWindowFocus: !1
15
- } } }), y = (a) => {
16
- let { registerNavItems: y, registerFooterItems: b, basePath: x = "/" } = a, { t: S } = c(), C = r((e, t) => {
17
- let n = S(e);
15
+ } } }), S = (a) => {
16
+ let { registerNavItems: S, registerFooterItems: C, basePath: w = "/" } = a, { t: T } = c(), E = r((e, t) => {
17
+ let n = T(e);
18
18
  return n === e ? t : n;
19
- }, [S]);
19
+ }, [T]);
20
20
  return i(() => {
21
- if (y) return y([
21
+ if (S) return S([
22
22
  {
23
23
  id: "mybodyshield-dashboard",
24
- label: C("mybodyshield.nav.dashboard", "Dashboard"),
25
- path: e(x, ""),
26
- icon: /* @__PURE__ */ _(d, { size: 20 }),
24
+ label: E("mybodyshield.nav.dashboard", "Dashboard"),
25
+ path: e(w, ""),
26
+ icon: /* @__PURE__ */ b(f, { size: 20 }),
27
27
  order: 0,
28
28
  group: "products"
29
29
  },
30
30
  {
31
31
  id: "mybodyshield-programs",
32
- label: C("mybodyshield.nav.programs", "Programs"),
33
- path: e(x, "programs"),
34
- icon: /* @__PURE__ */ _(l, { size: 20 }),
32
+ label: E("mybodyshield.nav.programs", "Programs"),
33
+ path: e(w, "programs"),
34
+ icon: /* @__PURE__ */ b(u, { size: 20 }),
35
35
  order: 1,
36
36
  group: "products"
37
37
  },
38
38
  {
39
39
  id: "mybodyshield-train",
40
- label: C("mybodyshield.nav.train", "Train"),
41
- path: e(x, "train"),
42
- icon: /* @__PURE__ */ _(u, { size: 20 }),
40
+ label: E("mybodyshield.nav.train", "Train"),
41
+ path: e(w, "train"),
42
+ icon: /* @__PURE__ */ b(d, { size: 20 }),
43
43
  order: 2,
44
44
  group: "products"
45
45
  },
46
46
  {
47
47
  id: "mybodyshield-nutrition",
48
- label: C("mybodyshield.nav.nutrition", "Nutrition"),
49
- path: e(x, "nutrition"),
50
- icon: /* @__PURE__ */ _(p, { size: 20 }),
48
+ label: E("mybodyshield.nav.nutrition", "Nutrition"),
49
+ path: e(w, "nutrition"),
50
+ icon: /* @__PURE__ */ b(m, { size: 20 }),
51
51
  order: 3,
52
52
  group: "products"
53
53
  },
54
54
  {
55
55
  id: "mybodyshield-goals",
56
- label: C("mybodyshield.nav.goals", "Goals"),
57
- path: e(x, "goals"),
58
- icon: /* @__PURE__ */ _(m, { size: 20 }),
56
+ label: E("mybodyshield.nav.goals", "Goals"),
57
+ path: e(w, "goals"),
58
+ icon: /* @__PURE__ */ b(_, { size: 20 }),
59
59
  order: 4,
60
60
  group: "products"
61
61
  },
62
62
  {
63
63
  id: "mybodyshield-progress",
64
- label: C("mybodyshield.nav.progress", "Progress"),
65
- path: e(x, "progress"),
66
- icon: /* @__PURE__ */ _(h, { size: 20 }),
64
+ label: E("mybodyshield.nav.progress", "Progress"),
65
+ path: e(w, "progress"),
66
+ icon: /* @__PURE__ */ b(v, { size: 20 }),
67
67
  order: 5,
68
68
  group: "products"
69
69
  },
70
70
  {
71
71
  id: "mybodyshield-recovery",
72
- label: C("mybodyshield.nav.recovery", "Recovery"),
73
- path: e(x, "recovery"),
74
- icon: /* @__PURE__ */ _(f, { size: 20 }),
72
+ label: E("mybodyshield.nav.recovery", "Recovery"),
73
+ path: e(w, "recovery"),
74
+ icon: /* @__PURE__ */ b(p, { size: 20 }),
75
75
  order: 6,
76
76
  group: "products"
77
77
  },
78
78
  {
79
- id: "mybodyshield-coaching",
80
- label: C("mybodyshield.nav.coaching", "Coaching"),
81
- path: e(x, "coaching"),
82
- icon: /* @__PURE__ */ _(g, { size: 20 }),
79
+ id: "mybodyshield-insights",
80
+ label: E("mybodyshield.nav.insights", "Insights"),
81
+ path: e(w, "insights"),
82
+ icon: /* @__PURE__ */ b(l, { size: 20 }),
83
83
  order: 7,
84
84
  group: "products"
85
+ },
86
+ {
87
+ id: "mybodyshield-ai",
88
+ label: E("mybodyshield.nav.ai", "AI"),
89
+ path: e(w, "ai"),
90
+ icon: /* @__PURE__ */ b(g, { size: 20 }),
91
+ order: 8,
92
+ group: "products"
93
+ },
94
+ {
95
+ id: "mybodyshield-coaching",
96
+ label: E("mybodyshield.nav.coaching", "Coaching"),
97
+ path: e(w, "coaching"),
98
+ icon: /* @__PURE__ */ b(y, { size: 20 }),
99
+ order: 9,
100
+ group: "products"
101
+ },
102
+ {
103
+ id: "mybodyshield-settings",
104
+ label: E("mybodyshield.nav.settings", "Settings"),
105
+ path: e(w, "settings"),
106
+ icon: /* @__PURE__ */ b(h, { size: 20 }),
107
+ order: 10,
108
+ group: "products"
85
109
  }
86
110
  ]);
87
111
  }, [
88
- y,
89
- x,
90
- C
112
+ S,
113
+ w,
114
+ E
91
115
  ]), i(() => {
92
- if (b) return b([{
116
+ if (C) return C([{
93
117
  id: "mybodyshield-status",
94
- label: C("mybodyshield.footer.ready", "MyBodyShield Ready"),
118
+ label: E("mybodyshield.footer.ready", "MyBodyShield Ready"),
95
119
  type: "status",
96
120
  section: "left",
97
121
  order: 10
98
122
  }]);
99
- }, [b, C]), /* @__PURE__ */ _(o, {
100
- client: v,
101
- children: /* @__PURE__ */ _(s, {
123
+ }, [C, E]), /* @__PURE__ */ b(o, {
124
+ client: x,
125
+ children: /* @__PURE__ */ b(s, {
102
126
  workspaceId: null,
103
127
  gateway: "global",
104
128
  defaultEnabled: !0,
105
- children: /* @__PURE__ */ _(t, {
129
+ children: /* @__PURE__ */ b(t, {
106
130
  ...a,
107
- children: /* @__PURE__ */ _(n, {})
131
+ children: /* @__PURE__ */ b(n, {})
108
132
  })
109
133
  })
110
134
  });
111
135
  };
112
136
  //#endregion
113
- export { y as MyBodyShieldRoot };
137
+ export { S as MyBodyShieldRoot };
114
138
 
115
139
  //# sourceMappingURL=MyBodyShieldRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MyBodyShieldRoot.js","names":[],"sources":["../../src/mybodyshield/MyBodyShieldRoot.tsx"],"sourcesContent":["/**\n * MyBodyShield Root Component\n * @module mybodyshield\n *\n * Host-contract entry point. Registers the product's sidebar nav (eight sections\n * that map 1:1 to the wspace-mybodyshield-svc `myb*` backend) and mounts the\n * routed pages inside the shared QueryClient + FeatureFlag providers.\n */\n\nimport type { FC } from 'react';\nimport { useCallback, useEffect } from 'react';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { FeatureFlagProvider } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n LayoutDashboard,\n Dumbbell,\n Flame,\n Salad,\n Target,\n TrendingUp,\n Moon,\n Users,\n} from 'lucide-react';\nimport { MyBodyShieldProvider } from './context/MyBodyShieldContext';\nimport { MyBodyShieldRoutes } from './MyBodyShieldRoutes';\nimport { joinPath } from './utils/navigation';\nimport type { MyBodyShieldRootProps, NavItem } from './types';\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 5 * 60 * 1000,\n retry: 1,\n refetchOnWindowFocus: false,\n },\n },\n});\n\nexport const MyBodyShieldRoot: FC<MyBodyShieldRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = '/' } = props;\n const { t: translate } = useI18n();\n const t = useCallback(\n (key: string, fallback: string): string => {\n const value = translate(key);\n return value === key ? fallback : value;\n },\n [translate]\n );\n\n // Register navigation items with the shell on mount. Ids/paths/orders match\n // the app-shell static NavRegistration block so the two are a single,\n // consistent source of truth.\n useEffect(() => {\n if (!registerNavItems) return;\n\n const navItems: NavItem[] = [\n {\n id: 'mybodyshield-dashboard',\n label: t('mybodyshield.nav.dashboard', 'Dashboard'),\n path: joinPath(basePath, ''),\n icon: <LayoutDashboard size={20} />,\n order: 0,\n group: 'products',\n },\n {\n id: 'mybodyshield-programs',\n label: t('mybodyshield.nav.programs', 'Programs'),\n path: joinPath(basePath, 'programs'),\n icon: <Dumbbell size={20} />,\n order: 1,\n group: 'products',\n },\n {\n id: 'mybodyshield-train',\n label: t('mybodyshield.nav.train', 'Train'),\n path: joinPath(basePath, 'train'),\n icon: <Flame size={20} />,\n order: 2,\n group: 'products',\n },\n {\n id: 'mybodyshield-nutrition',\n label: t('mybodyshield.nav.nutrition', 'Nutrition'),\n path: joinPath(basePath, 'nutrition'),\n icon: <Salad size={20} />,\n order: 3,\n group: 'products',\n },\n {\n id: 'mybodyshield-goals',\n label: t('mybodyshield.nav.goals', 'Goals'),\n path: joinPath(basePath, 'goals'),\n icon: <Target size={20} />,\n order: 4,\n group: 'products',\n },\n {\n id: 'mybodyshield-progress',\n label: t('mybodyshield.nav.progress', 'Progress'),\n path: joinPath(basePath, 'progress'),\n icon: <TrendingUp size={20} />,\n order: 5,\n group: 'products',\n },\n {\n id: 'mybodyshield-recovery',\n label: t('mybodyshield.nav.recovery', 'Recovery'),\n path: joinPath(basePath, 'recovery'),\n icon: <Moon size={20} />,\n order: 6,\n group: 'products',\n },\n {\n id: 'mybodyshield-coaching',\n label: t('mybodyshield.nav.coaching', 'Coaching'),\n path: joinPath(basePath, 'coaching'),\n icon: <Users size={20} />,\n order: 7,\n group: 'products',\n },\n ];\n\n return registerNavItems(navItems);\n }, [registerNavItems, basePath, t]);\n\n useEffect(() => {\n if (!registerFooterItems) return;\n return registerFooterItems([\n {\n id: 'mybodyshield-status',\n label: t('mybodyshield.footer.ready', 'MyBodyShield Ready'),\n type: 'status',\n section: 'left',\n order: 10,\n },\n ]);\n }, [registerFooterItems, t]);\n\n return (\n <QueryClientProvider client={queryClient}>\n <FeatureFlagProvider workspaceId={null} gateway=\"global\" defaultEnabled={true}>\n <MyBodyShieldProvider {...props}>\n <MyBodyShieldRoutes />\n </MyBodyShieldProvider>\n </FeatureFlagProvider>\n </QueryClientProvider>\n );\n};\n"],"mappings":";;;;;;;;;;AA6BA,IAAM,IAAc,IAAI,EAAY,EAClC,gBAAgB,EACd,SAAS;CACP,WAAW,MAAS;CACpB,OAAO;CACP,sBAAsB;CACvB,EACF,EACF,CAAC,EAEW,KAA+C,MAAU;CACpE,IAAM,EAAE,qBAAkB,wBAAqB,cAAW,QAAQ,GAC5D,EAAE,GAAG,MAAc,GAAS,EAC5B,IAAI,GACP,GAAa,MAA6B;EACzC,IAAM,IAAQ,EAAU,EAAI;AAC5B,SAAO,MAAU,IAAM,IAAW;IAEpC,CAAC,EAAU,CACZ;AA2FD,QAtFA,QAAgB;AACT,QAqEL,QAAO,EAnEqB;GAC1B;IACE,IAAI;IACJ,OAAO,EAAE,8BAA8B,YAAY;IACnD,MAAM,EAAS,GAAU,GAAG;IAC5B,MAAM,kBAAC,GAAD,EAAiB,MAAM,IAAM,CAAA;IACnC,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,6BAA6B,WAAW;IACjD,MAAM,EAAS,GAAU,WAAW;IACpC,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;IAC5B,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,0BAA0B,QAAQ;IAC3C,MAAM,EAAS,GAAU,QAAQ;IACjC,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;IACzB,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,8BAA8B,YAAY;IACnD,MAAM,EAAS,GAAU,YAAY;IACrC,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;IACzB,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,0BAA0B,QAAQ;IAC3C,MAAM,EAAS,GAAU,QAAQ;IACjC,MAAM,kBAAC,GAAD,EAAQ,MAAM,IAAM,CAAA;IAC1B,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,6BAA6B,WAAW;IACjD,MAAM,EAAS,GAAU,WAAW;IACpC,MAAM,kBAAC,GAAD,EAAY,MAAM,IAAM,CAAA;IAC9B,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,6BAA6B,WAAW;IACjD,MAAM,EAAS,GAAU,WAAW;IACpC,MAAM,kBAAC,GAAD,EAAM,MAAM,IAAM,CAAA;IACxB,OAAO;IACP,OAAO;IACR;GACD;IACE,IAAI;IACJ,OAAO,EAAE,6BAA6B,WAAW;IACjD,MAAM,EAAS,GAAU,WAAW;IACpC,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;IACzB,OAAO;IACP,OAAO;IACR;GACF,CAEgC;IAChC;EAAC;EAAkB;EAAU;EAAE,CAAC,EAEnC,QAAgB;AACT,QACL,QAAO,EAAoB,CACzB;GACE,IAAI;GACJ,OAAO,EAAE,6BAA6B,qBAAqB;GAC3D,MAAM;GACN,SAAS;GACT,OAAO;GACR,CACF,CAAC;IACD,CAAC,GAAqB,EAAE,CAAC,EAG1B,kBAAC,GAAD;EAAqB,QAAQ;YAC3B,kBAAC,GAAD;GAAqB,aAAa;GAAM,SAAQ;GAAS,gBAAgB;aACvE,kBAAC,GAAD;IAAsB,GAAI;cACxB,kBAAC,GAAD,EAAsB,CAAA;IACD,CAAA;GACH,CAAA;EACF,CAAA"}
1
+ {"version":3,"file":"MyBodyShieldRoot.js","names":[],"sources":["../../src/mybodyshield/MyBodyShieldRoot.tsx"],"sourcesContent":["/**\n * MyBodyShield Root Component\n * @module mybodyshield\n *\n * Host-contract entry point. Registers the product's sidebar nav (eight sections\n * that map 1:1 to the wspace-mybodyshield-svc `myb*` backend) and mounts the\n * routed pages inside the shared QueryClient + FeatureFlag providers.\n */\n\nimport type { FC } from 'react';\nimport { useCallback, useEffect } from 'react';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { FeatureFlagProvider } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n LayoutDashboard,\n Dumbbell,\n Flame,\n Salad,\n Target,\n TrendingUp,\n Moon,\n Users,\n BarChart3,\n Sparkles,\n Settings,\n} from 'lucide-react';\nimport { MyBodyShieldProvider } from './context/MyBodyShieldContext';\nimport { MyBodyShieldRoutes } from './MyBodyShieldRoutes';\nimport { joinPath } from './utils/navigation';\nimport type { MyBodyShieldRootProps, NavItem } from './types';\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 5 * 60 * 1000,\n retry: 1,\n refetchOnWindowFocus: false,\n },\n },\n});\n\nexport const MyBodyShieldRoot: FC<MyBodyShieldRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = '/' } = props;\n const { t: translate } = useI18n();\n const t = useCallback(\n (key: string, fallback: string): string => {\n const value = translate(key);\n return value === key ? fallback : value;\n },\n [translate]\n );\n\n // Register navigation items with the shell on mount. Ids/paths/orders match\n // the app-shell static NavRegistration block so the two are a single,\n // consistent source of truth.\n useEffect(() => {\n if (!registerNavItems) return;\n\n const navItems: NavItem[] = [\n {\n id: 'mybodyshield-dashboard',\n label: t('mybodyshield.nav.dashboard', 'Dashboard'),\n path: joinPath(basePath, ''),\n icon: <LayoutDashboard size={20} />,\n order: 0,\n group: 'products',\n },\n {\n id: 'mybodyshield-programs',\n label: t('mybodyshield.nav.programs', 'Programs'),\n path: joinPath(basePath, 'programs'),\n icon: <Dumbbell size={20} />,\n order: 1,\n group: 'products',\n },\n {\n id: 'mybodyshield-train',\n label: t('mybodyshield.nav.train', 'Train'),\n path: joinPath(basePath, 'train'),\n icon: <Flame size={20} />,\n order: 2,\n group: 'products',\n },\n {\n id: 'mybodyshield-nutrition',\n label: t('mybodyshield.nav.nutrition', 'Nutrition'),\n path: joinPath(basePath, 'nutrition'),\n icon: <Salad size={20} />,\n order: 3,\n group: 'products',\n },\n {\n id: 'mybodyshield-goals',\n label: t('mybodyshield.nav.goals', 'Goals'),\n path: joinPath(basePath, 'goals'),\n icon: <Target size={20} />,\n order: 4,\n group: 'products',\n },\n {\n id: 'mybodyshield-progress',\n label: t('mybodyshield.nav.progress', 'Progress'),\n path: joinPath(basePath, 'progress'),\n icon: <TrendingUp size={20} />,\n order: 5,\n group: 'products',\n },\n {\n id: 'mybodyshield-recovery',\n label: t('mybodyshield.nav.recovery', 'Recovery'),\n path: joinPath(basePath, 'recovery'),\n icon: <Moon size={20} />,\n order: 6,\n group: 'products',\n },\n {\n id: 'mybodyshield-insights',\n label: t('mybodyshield.nav.insights', 'Insights'),\n path: joinPath(basePath, 'insights'),\n icon: <BarChart3 size={20} />,\n order: 7,\n group: 'products',\n },\n {\n id: 'mybodyshield-ai',\n label: t('mybodyshield.nav.ai', 'AI'),\n path: joinPath(basePath, 'ai'),\n icon: <Sparkles size={20} />,\n order: 8,\n group: 'products',\n },\n {\n id: 'mybodyshield-coaching',\n label: t('mybodyshield.nav.coaching', 'Coaching'),\n path: joinPath(basePath, 'coaching'),\n icon: <Users size={20} />,\n order: 9,\n group: 'products',\n },\n {\n id: 'mybodyshield-settings',\n label: t('mybodyshield.nav.settings', 'Settings'),\n path: joinPath(basePath, 'settings'),\n icon: <Settings size={20} />,\n order: 10,\n group: 'products',\n },\n ];\n\n return registerNavItems(navItems);\n }, [registerNavItems, basePath, t]);\n\n useEffect(() => {\n if (!registerFooterItems) return;\n return registerFooterItems([\n {\n id: 'mybodyshield-status',\n label: t('mybodyshield.footer.ready', 'MyBodyShield Ready'),\n type: 'status',\n section: 'left',\n order: 10,\n },\n ]);\n }, [registerFooterItems, t]);\n\n return (\n <QueryClientProvider client={queryClient}>\n <FeatureFlagProvider workspaceId={null} gateway=\"global\" defaultEnabled={true}>\n <MyBodyShieldProvider {...props}>\n <MyBodyShieldRoutes />\n </MyBodyShieldProvider>\n </FeatureFlagProvider>\n </QueryClientProvider>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MyBodyShieldRoutes.d.ts","sourceRoot":"","sources":["../../src/mybodyshield/MyBodyShieldRoutes.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAkC,MAAM,OAAO,CAAC;AAqEhE,eAAO,MAAM,kBAAkB,EAAE,EAiHhC,CAAC"}
1
+ {"version":3,"file":"MyBodyShieldRoutes.d.ts","sourceRoot":"","sources":["../../src/mybodyshield/MyBodyShieldRoutes.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAkC,MAAM,OAAO,CAAC;AAoFhE,eAAO,MAAM,kBAAkB,EAAE,EA4IhC,CAAC"}
@@ -8,92 +8,113 @@ import { Navigate as o, Route as s, Routes as c, useLocation as l } from "react-
8
8
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
9
9
  import { Spinner as f } from "@burdenoff/fe-libs/ui";
10
10
  //#region src/mybodyshield/MyBodyShieldRoutes.tsx
11
- var p = a(() => import("./pages/programs/ProgramsPage.js").then((e) => ({ default: e.ProgramsPage }))), m = a(() => import("./pages/programs/ProgramDetailPage.js").then((e) => ({ default: e.ProgramDetailPage }))), h = a(() => import("./pages/train/SessionsPage.js").then((e) => ({ default: e.SessionsPage }))), g = a(() => import("./pages/train/SessionDetailPage.js").then((e) => ({ default: e.SessionDetailPage }))), _ = a(() => import("./pages/nutrition/NutritionPage.js").then((e) => ({ default: e.NutritionPage }))), v = a(() => import("./pages/goals/GoalsPage.js").then((e) => ({ default: e.GoalsPage }))), y = a(() => import("./pages/progress/ProgressPage.js").then((e) => ({ default: e.ProgressPage }))), b = a(() => import("./pages/recovery/RecoveryPage.js").then((e) => ({ default: e.RecoveryPage }))), x = a(() => import("./pages/coaching/CoachingPage.js").then((e) => ({ default: e.CoachingPage }))), S = () => /* @__PURE__ */ u("div", {
11
+ var p = a(() => import("./pages/programs/ProgramsPage.js").then((e) => ({ default: e.ProgramsPage }))), m = a(() => import("./pages/programs/ProgramDetailPage.js").then((e) => ({ default: e.ProgramDetailPage }))), h = a(() => import("./pages/train/SessionsPage.js").then((e) => ({ default: e.SessionsPage }))), g = a(() => import("./pages/train/SessionDetailPage.js").then((e) => ({ default: e.SessionDetailPage }))), _ = a(() => import("./pages/nutrition/NutritionPage.js").then((e) => ({ default: e.NutritionPage }))), v = a(() => import("./pages/goals/GoalsPage.js").then((e) => ({ default: e.GoalsPage }))), y = a(() => import("./pages/progress/ProgressPage.js").then((e) => ({ default: e.ProgressPage }))), b = a(() => import("./pages/recovery/RecoveryPage.js").then((e) => ({ default: e.RecoveryPage }))), x = a(() => import("./pages/insights/InsightsPage.js").then((e) => ({ default: e.InsightsPage }))), S = a(() => import("./pages/coaching/CoachingPage.js").then((e) => ({ default: e.CoachingPage }))), C = a(() => import("./pages/ai/AiControlsPage.js").then((e) => ({ default: e.AiControlsPage }))), w = a(() => import("./pages/SettingsPage.js").then((e) => ({ default: e.SettingsPage }))), T = () => /* @__PURE__ */ u("div", {
12
12
  className: "flex min-h-[400px] items-center justify-center",
13
13
  children: /* @__PURE__ */ u(f, { size: "lg" })
14
14
  });
15
- function C({ page: e, children: r }) {
15
+ function E({ page: e, children: r }) {
16
16
  return /* @__PURE__ */ u(t, {
17
17
  page: e,
18
18
  fallback: /* @__PURE__ */ u(n, { title: e.split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(" ") }),
19
19
  children: r
20
20
  });
21
21
  }
22
- var w = () => {
22
+ var D = () => {
23
23
  let { basePath: t, isStandalone: n } = e(), a = l(), f = t === "/" ? "" : (t ?? "").replace(/\/$/, "");
24
24
  return f && !n && !(a.pathname === f || a.pathname.startsWith(f + "/")) ? null : /* @__PURE__ */ u("div", {
25
25
  className: "flex min-h-full flex-col",
26
26
  children: /* @__PURE__ */ u(i, {
27
- fallback: /* @__PURE__ */ u(S, {}),
27
+ fallback: /* @__PURE__ */ u(T, {}),
28
28
  children: /* @__PURE__ */ d(c, { children: [
29
29
  /* @__PURE__ */ u(s, {
30
30
  index: !0,
31
- element: /* @__PURE__ */ u(C, {
31
+ element: /* @__PURE__ */ u(E, {
32
32
  page: "dashboard",
33
33
  children: /* @__PURE__ */ u(r, {})
34
34
  })
35
35
  }),
36
36
  /* @__PURE__ */ u(s, {
37
37
  path: "programs",
38
- element: /* @__PURE__ */ u(C, {
38
+ element: /* @__PURE__ */ u(E, {
39
39
  page: "programs",
40
40
  children: /* @__PURE__ */ u(p, {})
41
41
  })
42
42
  }),
43
43
  /* @__PURE__ */ u(s, {
44
44
  path: "programs/:id",
45
- element: /* @__PURE__ */ u(C, {
45
+ element: /* @__PURE__ */ u(E, {
46
46
  page: "program_detail",
47
47
  children: /* @__PURE__ */ u(m, {})
48
48
  })
49
49
  }),
50
50
  /* @__PURE__ */ u(s, {
51
51
  path: "train",
52
- element: /* @__PURE__ */ u(C, {
52
+ element: /* @__PURE__ */ u(E, {
53
53
  page: "train",
54
54
  children: /* @__PURE__ */ u(h, {})
55
55
  })
56
56
  }),
57
57
  /* @__PURE__ */ u(s, {
58
58
  path: "train/:id",
59
- element: /* @__PURE__ */ u(C, {
59
+ element: /* @__PURE__ */ u(E, {
60
60
  page: "session_detail",
61
61
  children: /* @__PURE__ */ u(g, {})
62
62
  })
63
63
  }),
64
64
  /* @__PURE__ */ u(s, {
65
65
  path: "nutrition",
66
- element: /* @__PURE__ */ u(C, {
66
+ element: /* @__PURE__ */ u(E, {
67
67
  page: "nutrition",
68
68
  children: /* @__PURE__ */ u(_, {})
69
69
  })
70
70
  }),
71
71
  /* @__PURE__ */ u(s, {
72
72
  path: "goals",
73
- element: /* @__PURE__ */ u(C, {
73
+ element: /* @__PURE__ */ u(E, {
74
74
  page: "goals",
75
75
  children: /* @__PURE__ */ u(v, {})
76
76
  })
77
77
  }),
78
78
  /* @__PURE__ */ u(s, {
79
79
  path: "progress",
80
- element: /* @__PURE__ */ u(C, {
80
+ element: /* @__PURE__ */ u(E, {
81
81
  page: "progress",
82
82
  children: /* @__PURE__ */ u(y, {})
83
83
  })
84
84
  }),
85
85
  /* @__PURE__ */ u(s, {
86
86
  path: "recovery",
87
- element: /* @__PURE__ */ u(C, {
87
+ element: /* @__PURE__ */ u(E, {
88
88
  page: "recovery",
89
89
  children: /* @__PURE__ */ u(b, {})
90
90
  })
91
91
  }),
92
+ /* @__PURE__ */ u(s, {
93
+ path: "insights",
94
+ element: /* @__PURE__ */ u(E, {
95
+ page: "insights",
96
+ children: /* @__PURE__ */ u(x, {})
97
+ })
98
+ }),
92
99
  /* @__PURE__ */ u(s, {
93
100
  path: "coaching",
94
- element: /* @__PURE__ */ u(C, {
101
+ element: /* @__PURE__ */ u(E, {
95
102
  page: "coaching",
96
- children: /* @__PURE__ */ u(x, {})
103
+ children: /* @__PURE__ */ u(S, {})
104
+ })
105
+ }),
106
+ /* @__PURE__ */ u(s, {
107
+ path: "ai",
108
+ element: /* @__PURE__ */ u(E, {
109
+ page: "ai_controls",
110
+ children: /* @__PURE__ */ u(C, {})
111
+ })
112
+ }),
113
+ /* @__PURE__ */ u(s, {
114
+ path: "settings",
115
+ element: /* @__PURE__ */ u(E, {
116
+ page: "settings",
117
+ children: /* @__PURE__ */ u(w, {})
97
118
  })
98
119
  }),
99
120
  /* @__PURE__ */ u(s, {
@@ -108,6 +129,6 @@ var w = () => {
108
129
  });
109
130
  };
110
131
  //#endregion
111
- export { w as MyBodyShieldRoutes };
132
+ export { D as MyBodyShieldRoutes };
112
133
 
113
134
  //# sourceMappingURL=MyBodyShieldRoutes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MyBodyShieldRoutes.js","names":[],"sources":["../../src/mybodyshield/MyBodyShieldRoutes.tsx"],"sourcesContent":["/**\n * MyBodyShield Routes\n * @module mybodyshield\n *\n * Domain routes. The dashboard is eager-loaded (primary landing); all other\n * pages are lazy-loaded. Every route maps to a real `myb*` backend capability.\n */\n\nimport { type FC, lazy, Suspense, type ReactNode } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { useMyBodyShield } from './context/MyBodyShieldContext';\nimport { FeatureFlagGuard, PageDisabled } from './components';\n\n// Eager — primary landing\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Programs (Training)\nconst ProgramsPage = lazy(() =>\n import('./pages/programs/ProgramsPage').then((m) => ({ default: m.ProgramsPage }))\n);\nconst ProgramDetailPage = lazy(() =>\n import('./pages/programs/ProgramDetailPage').then((m) => ({ default: m.ProgramDetailPage }))\n);\n\n// Train (live workout sessions & sets)\nconst SessionsPage = lazy(() =>\n import('./pages/train/SessionsPage').then((m) => ({ default: m.SessionsPage }))\n);\nconst SessionDetailPage = lazy(() =>\n import('./pages/train/SessionDetailPage').then((m) => ({ default: m.SessionDetailPage }))\n);\n\n// Nutrition (plans, meals, macros)\nconst NutritionPage = lazy(() =>\n import('./pages/nutrition/NutritionPage').then((m) => ({ default: m.NutritionPage }))\n);\n\n// Goals (Progress)\nconst GoalsPage = lazy(() =>\n import('./pages/goals/GoalsPage').then((m) => ({ default: m.GoalsPage }))\n);\n\n// Progress (body metrics)\nconst ProgressPage = lazy(() =>\n import('./pages/progress/ProgressPage').then((m) => ({ default: m.ProgressPage }))\n);\n\n// Recovery (Wellbeing)\nconst RecoveryPage = lazy(() =>\n import('./pages/recovery/RecoveryPage').then((m) => ({ default: m.RecoveryPage }))\n);\n\n// Coaching (Wellbeing)\nconst CoachingPage = lazy(() =>\n import('./pages/coaching/CoachingPage').then((m) => ({ default: m.CoachingPage }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <Spinner size=\"lg\" />\n </div>\n);\n\n/** Wrap a page element with its feature-flag gate + analytics page-view. */\nfunction PageGate({ page, children }: { page: string; children: ReactNode }): React.ReactElement {\n const title = page\n .split('_')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n return (\n <FeatureFlagGuard page={page} fallback={<PageDisabled title={title} />}>\n {children}\n </FeatureFlagGuard>\n );\n}\n\nexport const MyBodyShieldRoutes: FC = () => {\n const { basePath, isStandalone } = useMyBodyShield();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n // Guard: only render if the current 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 <Routes>\n <Route\n index\n element={\n <PageGate page=\"dashboard\">\n <DashboardPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"programs\"\n element={\n <PageGate page=\"programs\">\n <ProgramsPage />\n </PageGate>\n }\n />\n <Route\n path=\"programs/:id\"\n element={\n <PageGate page=\"program_detail\">\n <ProgramDetailPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"train\"\n element={\n <PageGate page=\"train\">\n <SessionsPage />\n </PageGate>\n }\n />\n <Route\n path=\"train/:id\"\n element={\n <PageGate page=\"session_detail\">\n <SessionDetailPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"nutrition\"\n element={\n <PageGate page=\"nutrition\">\n <NutritionPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"goals\"\n element={\n <PageGate page=\"goals\">\n <GoalsPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"progress\"\n element={\n <PageGate page=\"progress\">\n <ProgressPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"recovery\"\n element={\n <PageGate page=\"recovery\">\n <RecoveryPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"coaching\"\n element={\n <PageGate page=\"coaching\">\n <CoachingPage />\n </PageGate>\n }\n />\n\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":"MyBodyShieldRoutes.js","names":[],"sources":["../../src/mybodyshield/MyBodyShieldRoutes.tsx"],"sourcesContent":["/**\n * MyBodyShield Routes\n * @module mybodyshield\n *\n * Domain routes. The dashboard is eager-loaded (primary landing); all other\n * pages are lazy-loaded. Every route maps to a real `myb*` backend capability.\n */\n\nimport { type FC, lazy, Suspense, type ReactNode } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { useMyBodyShield } from './context/MyBodyShieldContext';\nimport { FeatureFlagGuard, PageDisabled } from './components';\n\n// Eager — primary landing\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Programs (Training)\nconst ProgramsPage = lazy(() =>\n import('./pages/programs/ProgramsPage').then((m) => ({ default: m.ProgramsPage }))\n);\nconst ProgramDetailPage = lazy(() =>\n import('./pages/programs/ProgramDetailPage').then((m) => ({ default: m.ProgramDetailPage }))\n);\n\n// Train (live workout sessions & sets)\nconst SessionsPage = lazy(() =>\n import('./pages/train/SessionsPage').then((m) => ({ default: m.SessionsPage }))\n);\nconst SessionDetailPage = lazy(() =>\n import('./pages/train/SessionDetailPage').then((m) => ({ default: m.SessionDetailPage }))\n);\n\n// Nutrition (plans, meals, macros)\nconst NutritionPage = lazy(() =>\n import('./pages/nutrition/NutritionPage').then((m) => ({ default: m.NutritionPage }))\n);\n\n// Goals (Progress)\nconst GoalsPage = lazy(() =>\n import('./pages/goals/GoalsPage').then((m) => ({ default: m.GoalsPage }))\n);\n\n// Progress (body metrics)\nconst ProgressPage = lazy(() =>\n import('./pages/progress/ProgressPage').then((m) => ({ default: m.ProgressPage }))\n);\n\n// Recovery (Wellbeing)\nconst RecoveryPage = lazy(() =>\n import('./pages/recovery/RecoveryPage').then((m) => ({ default: m.RecoveryPage }))\n);\n\n// Insights (unified analytics)\nconst InsightsPage = lazy(() =>\n import('./pages/insights/InsightsPage').then((m) => ({ default: m.InsightsPage }))\n);\n\n// Coaching (Wellbeing)\nconst CoachingPage = lazy(() =>\n import('./pages/coaching/CoachingPage').then((m) => ({ default: m.CoachingPage }))\n);\n\n// AI controls (BOFF-5949)\nconst AiControlsPage = lazy(() =>\n import('./pages/ai/AiControlsPage').then((m) => ({ default: m.AiControlsPage }))\n);\n\n// Settings (AI consent and product preferences)\nconst SettingsPage = lazy(() =>\n import('./pages/SettingsPage').then((m) => ({ default: m.SettingsPage }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <Spinner size=\"lg\" />\n </div>\n);\n\n/** Wrap a page element with its feature-flag gate + analytics page-view. */\nfunction PageGate({ page, children }: { page: string; children: ReactNode }): React.ReactElement {\n const title = page\n .split('_')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n return (\n <FeatureFlagGuard page={page} fallback={<PageDisabled title={title} />}>\n {children}\n </FeatureFlagGuard>\n );\n}\n\nexport const MyBodyShieldRoutes: FC = () => {\n const { basePath, isStandalone } = useMyBodyShield();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n // Guard: only render if the current 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 <Routes>\n <Route\n index\n element={\n <PageGate page=\"dashboard\">\n <DashboardPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"programs\"\n element={\n <PageGate page=\"programs\">\n <ProgramsPage />\n </PageGate>\n }\n />\n <Route\n path=\"programs/:id\"\n element={\n <PageGate page=\"program_detail\">\n <ProgramDetailPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"train\"\n element={\n <PageGate page=\"train\">\n <SessionsPage />\n </PageGate>\n }\n />\n <Route\n path=\"train/:id\"\n element={\n <PageGate page=\"session_detail\">\n <SessionDetailPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"nutrition\"\n element={\n <PageGate page=\"nutrition\">\n <NutritionPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"goals\"\n element={\n <PageGate page=\"goals\">\n <GoalsPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"progress\"\n element={\n <PageGate page=\"progress\">\n <ProgressPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"recovery\"\n element={\n <PageGate page=\"recovery\">\n <RecoveryPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"insights\"\n element={\n <PageGate page=\"insights\">\n <InsightsPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"coaching\"\n element={\n <PageGate page=\"coaching\">\n <CoachingPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"ai\"\n element={\n <PageGate page=\"ai_controls\">\n <AiControlsPage />\n </PageGate>\n }\n />\n\n <Route\n path=\"settings\"\n element={\n <PageGate page=\"settings\">\n <SettingsPage />\n </PageGate>\n }\n />\n\n <Route path=\"*\" element={<Navigate to=\"\" replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MybConnection, MybProgram, MybProgramStatus, MybWorkout, MybExercise, MybWorkoutSession, MybSessionStatus, MybSessionSet, MybGoal, MybGoalStatus, MybMealLog, MybMealType, MybNutritionPlan, MybDailyMacros, MybBodyMetric, MybBodyMetricType, MybRecoveryLog, MybRecoveryMetric, MybCoachingRelationship, MybCoachingStatus, MybCreateProgramInput, MybUpdateProgramInput, MybCreateWorkoutInput, MybCreateExerciseInput, MybStartSessionInput, MybLogSetInput, MybCompleteSessionInput, MybCreateGoalInput, MybUpdateGoalInput, MybCreateNutritionPlanInput, MybUpdateNutritionPlanInput, MybLogMealInput, MybRecordMetricInput, MybLogRecoveryInput, MybCreateCoachingInput, PaginationInput, MybDeviceConnection, MybDeviceProvider, MybWearableMetricType, MybTodayGuidance, MybFood } from '../types';
1
+ import { MybConnection, MybProgram, MybProgramStatus, MybWorkout, MybExercise, MybWorkoutSession, MybSessionStatus, MybSessionSet, MybGoal, MybGoalStatus, MybMealLog, MybMealType, MybNutritionPlan, MybDailyMacros, MybBodyMetric, MybBodyMetricType, MybRecoveryLog, MybRecoveryMetric, MybCoachingRelationship, MybCoachingStatus, MybCreateProgramInput, MybUpdateProgramInput, MybCreateWorkoutInput, MybCreateExerciseInput, MybStartSessionInput, MybLogSetInput, MybCompleteSessionInput, MybCreateGoalInput, MybUpdateGoalInput, MybCreateNutritionPlanInput, MybUpdateNutritionPlanInput, MybLogMealInput, MybRecordMetricInput, MybLogRecoveryInput, MybCreateCoachingInput, PaginationInput, MybDeviceConnection, MybDeviceProvider, MybWearableMetricType, MybTodayGuidance, MybFood, MybInsights, MybAiSettings, MybAiOperationLogConnection, MybUpdateAiSettingsInput, MybAiProcessingConsent } from '../types';
2
2
 
3
3
  export interface ProgramFilters {
4
4
  status?: MybProgramStatus;
@@ -154,6 +154,16 @@ export declare const useMybSyncDeviceReadings: () => import('@tanstack/react-que
154
154
  readings: MybSyncReadingInput[];
155
155
  }, unknown>;
156
156
  export declare const useMybTodayGuidance: (memberId?: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<MybTodayGuidance>, Error>;
157
+ export interface InsightsRange {
158
+ dateRangeStart?: string;
159
+ dateRangeEnd?: string;
160
+ }
161
+ export declare const useMybInsights: (range?: InsightsRange) => import('@tanstack/react-query').UseQueryResult<NoInfer<MybInsights>, Error>;
162
+ export declare const useMybAiSettings: () => import('@tanstack/react-query').UseQueryResult<NoInfer<MybAiSettings>, Error>;
163
+ export declare const useMybUpdateAiSettings: () => import('@tanstack/react-query').UseMutationResult<MybAiSettings, Error, MybUpdateAiSettingsInput, unknown>;
164
+ export declare const useMybAiOperationLogs: (pagination?: PaginationInput) => import('@tanstack/react-query').UseQueryResult<NoInfer<MybAiOperationLogConnection>, Error>;
165
+ export declare const useMybAiProcessingConsent: () => import('@tanstack/react-query').UseQueryResult<NoInfer<MybAiProcessingConsent>, Error>;
166
+ export declare const useMybSetAiProcessingConsent: () => import('@tanstack/react-query').UseMutationResult<MybAiProcessingConsent, Error, boolean, unknown>;
157
167
  export declare const useMybSearchFoods: (query: string, limit?: number) => import('@tanstack/react-query').UseQueryResult<NoInfer<MybFood[]>, Error>;
158
168
  export declare const useMybFoodByBarcode: () => import('@tanstack/react-query').UseMutationResult<MybFood | null, Error, string, unknown>;
159
169
  //# sourceMappingURL=useMyBodyShieldApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMyBodyShieldApi.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/hooks/useMyBodyShieldApi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,aAAa,EACb,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAC3B,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,EACR,MAAM,UAAU,CAAC;AAwKlB,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,GAAI,UAAS,cAAmB,8FAsB1D,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,GAAG,SAAS;;;;;;;;;;;;;;;;;;;iBAgCnD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,WAAW,MAAM,GAAG,SAAS,iFAuBlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,WAAW,MAAM,GAAG,SAAS,kFAkBnE,CAAC;AAEF,eAAO,MAAM,mBAAmB,4GAgB/B,CAAC;AAEF,eAAO,MAAM,mBAAmB;QAIG,MAAM;WAAS,qBAAqB;WAetE,CAAC;AAEF,eAAO,MAAM,uBAAuB;QAID,MAAM;YAAU,gBAAgB;WAelE,CAAC;AAEF,eAAO,MAAM,oBAAoB,0FAchC,CAAC;AAEF,eAAO,MAAM,gBAAgB,4GAmB5B,CAAC;AAEF,eAAO,MAAM,iBAAiB;QAK8B,MAAM;eAAa,MAAM;0CAgBpF,CAAC;AAMF,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,GAAI,UAAS,cAAmB,qGAsB1D,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,GAAG,SAAS;;;;;;;;;;;;;;;;iBAuBnD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAAI,cAAc,MAAM,yFAoBzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,kHAgB9B,CAAC;AAEF,eAAO,MAAM,YAAY,wGAuBxB,CAAC;AAEF,eAAO,MAAM,qBAAqB;QAIC,MAAM;WAAS,uBAAuB;WAexE,CAAC;AAMF,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,GAAI,UAAS,WAAgB,2FAsBpD,CAAC;AAEF,eAAO,MAAM,gBAAgB,sGAgB5B,CAAC;AAEF,eAAO,MAAM,gBAAgB;QAIM,MAAM;WAAS,kBAAkB;WAYnE,CAAC;AAEF,eAAO,MAAM,iBAAiB,0FAgB7B,CAAC;AAMF,eAAO,MAAM,yBAAyB,GAAI,WAAW,MAAM,4FAe1D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,IAAI,MAAM,GAAG,SAAS,4FAmBzD,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,GAAI,UAAS,WAAgB,8FAsBpD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,EAAE,WAAW,MAAM,mFAejE,CAAC;AAEF,eAAO,MAAM,yBAAyB,wHAkBrC,CAAC;AAEF,eAAO,MAAM,yBAAyB;QAIH,MAAM;WAAS,2BAA2B;WAe5E,CAAC;AAEF,eAAO,MAAM,2BAA2B,mGAmBvC,CAAC;AAEF,eAAO,MAAM,aAAa,sGAoBzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,0FAiB5B,CAAC;AAMF,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,GAAI,UAAS,iBAAsB,iGAsBhE,CAAC;AAEF,eAAO,MAAM,sBAAsB,8GAgBlC,CAAC;AAMF,eAAO,MAAM,kBAAkB,GAAI,SAAS,iBAAiB,EAAE,WAAW,MAAM,kGAkB/E,CAAC;AAEF,eAAO,MAAM,iBAAiB,8GAgB7B,CAAC;AAMF,eAAO,MAAM,cAAc,GAAI,SAAS,iBAAiB,EAAE,WAAW,MAAM,2GAkB3E,CAAC;AAEF,eAAO,MAAM,oBAAoB,0HAgBhC,CAAC;AAEF,eAAO,MAAM,wBAAwB;QAIF,MAAM;YAAU,iBAAiB;WAYnE,CAAC;AAMF,eAAO,MAAM,uBAAuB,GAAI,WAAW,MAAM,0FAexD,CAAC;AAEF,eAAO,MAAM,mBAAmB;cAKhB,iBAAiB;wBACP,MAAM;aACjB,MAAM,EAAE;WAatB,CAAC;AAEF,eAAO,MAAM,sBAAsB,0FAclC,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,qBAAqB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;kBAIQ,MAAM;cAAY,mBAAmB,EAAE;WAgBnF,CAAC;AAMF,eAAO,MAAM,mBAAmB,GAAI,WAAW,MAAM,qFAkBpD,CAAC;AAMF,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,EAAE,cAAU,8EAkB1D,CAAC;AAEF,eAAO,MAAM,mBAAmB,iGAc/B,CAAC"}
1
+ {"version":3,"file":"useMyBodyShieldApi.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/hooks/useMyBodyShieldApi.ts"],"names":[],"mappings":"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"}