@mbpockets/shared-ui 0.2.0 → 0.2.6

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 (205) hide show
  1. package/dist/EventPage/editMode/index.cjs.map +1 -1
  2. package/dist/EventPage/editMode/index.d.cts +1 -1
  3. package/dist/EventPage/editMode/index.d.ts +1 -1
  4. package/dist/EventPage/editMode/index.mjs.map +1 -1
  5. package/dist/EventPage/editMode.cjs.map +1 -1
  6. package/dist/EventPage/editMode.d.cts +1 -1
  7. package/dist/EventPage/editMode.d.ts +1 -1
  8. package/dist/EventPage/editMode.mjs.map +1 -1
  9. package/dist/EventPage/index.cjs +202 -96
  10. package/dist/EventPage/index.cjs.map +1 -1
  11. package/dist/EventPage/index.d.cts +1 -1
  12. package/dist/EventPage/index.d.ts +1 -1
  13. package/dist/EventPage/index.mjs +202 -96
  14. package/dist/EventPage/index.mjs.map +1 -1
  15. package/dist/EventPage.cjs +202 -96
  16. package/dist/EventPage.cjs.map +1 -1
  17. package/dist/EventPage.d.cts +6 -4
  18. package/dist/EventPage.d.ts +6 -4
  19. package/dist/EventPage.mjs +202 -96
  20. package/dist/EventPage.mjs.map +1 -1
  21. package/dist/PlayerPage/index.cjs +12 -8
  22. package/dist/PlayerPage/index.cjs.map +1 -1
  23. package/dist/PlayerPage/index.mjs +12 -8
  24. package/dist/PlayerPage/index.mjs.map +1 -1
  25. package/dist/PlayerPage.cjs +12 -8
  26. package/dist/PlayerPage.cjs.map +1 -1
  27. package/dist/PlayerPage.mjs +12 -8
  28. package/dist/PlayerPage.mjs.map +1 -1
  29. package/dist/ProfilePage/index.cjs +12 -8
  30. package/dist/ProfilePage/index.cjs.map +1 -1
  31. package/dist/ProfilePage/index.mjs +12 -8
  32. package/dist/ProfilePage/index.mjs.map +1 -1
  33. package/dist/ProfilePage.cjs +12 -8
  34. package/dist/ProfilePage.cjs.map +1 -1
  35. package/dist/ProfilePage.mjs +12 -8
  36. package/dist/ProfilePage.mjs.map +1 -1
  37. package/dist/SearchPage/Filters/index.cjs +38 -18
  38. package/dist/SearchPage/Filters/index.cjs.map +1 -1
  39. package/dist/SearchPage/Filters/index.d.cts +2 -1
  40. package/dist/SearchPage/Filters/index.d.ts +2 -1
  41. package/dist/SearchPage/Filters/index.mjs +34 -17
  42. package/dist/SearchPage/Filters/index.mjs.map +1 -1
  43. package/dist/SearchPage/Filters.cjs +38 -18
  44. package/dist/SearchPage/Filters.cjs.map +1 -1
  45. package/dist/SearchPage/Filters.d.cts +13 -1
  46. package/dist/SearchPage/Filters.d.ts +13 -1
  47. package/dist/SearchPage/Filters.mjs +34 -17
  48. package/dist/SearchPage/Filters.mjs.map +1 -1
  49. package/dist/SearchPage/Results/index.cjs +137 -73
  50. package/dist/SearchPage/Results/index.cjs.map +1 -1
  51. package/dist/SearchPage/Results/index.mjs +137 -73
  52. package/dist/SearchPage/Results/index.mjs.map +1 -1
  53. package/dist/SearchPage/Results.cjs +137 -73
  54. package/dist/SearchPage/Results.cjs.map +1 -1
  55. package/dist/SearchPage/Results.d.cts +14 -3
  56. package/dist/SearchPage/Results.d.ts +14 -3
  57. package/dist/SearchPage/Results.mjs +137 -73
  58. package/dist/SearchPage/Results.mjs.map +1 -1
  59. package/dist/SearchPage/index.cjs +265 -130
  60. package/dist/SearchPage/index.cjs.map +1 -1
  61. package/dist/SearchPage/index.d.cts +2 -2
  62. package/dist/SearchPage/index.d.ts +2 -2
  63. package/dist/SearchPage/index.mjs +261 -129
  64. package/dist/SearchPage/index.mjs.map +1 -1
  65. package/dist/SearchPage.cjs +265 -130
  66. package/dist/SearchPage.cjs.map +1 -1
  67. package/dist/SearchPage.d.cts +25 -3
  68. package/dist/SearchPage.d.ts +25 -3
  69. package/dist/SearchPage.mjs +261 -129
  70. package/dist/SearchPage.mjs.map +1 -1
  71. package/dist/TablePage/EditComponents/index.cjs +296 -0
  72. package/dist/TablePage/EditComponents/index.cjs.map +1 -0
  73. package/dist/TablePage/EditComponents/index.d.cts +3 -0
  74. package/dist/TablePage/EditComponents/index.d.ts +3 -0
  75. package/dist/TablePage/EditComponents/index.mjs +286 -0
  76. package/dist/TablePage/EditComponents/index.mjs.map +1 -0
  77. package/dist/TablePage/EditComponents.cjs +296 -0
  78. package/dist/TablePage/EditComponents.cjs.map +1 -0
  79. package/dist/TablePage/EditComponents.d.cts +21 -0
  80. package/dist/TablePage/EditComponents.d.ts +21 -0
  81. package/dist/TablePage/EditComponents.mjs +286 -0
  82. package/dist/TablePage/EditComponents.mjs.map +1 -0
  83. package/dist/TablePage/ModalProvider/index.cjs +59 -58
  84. package/dist/TablePage/ModalProvider/index.cjs.map +1 -1
  85. package/dist/TablePage/ModalProvider/index.d.cts +1 -1
  86. package/dist/TablePage/ModalProvider/index.d.ts +1 -1
  87. package/dist/TablePage/ModalProvider/index.mjs +50 -59
  88. package/dist/TablePage/ModalProvider/index.mjs.map +1 -1
  89. package/dist/TablePage/ModalProvider.cjs +59 -58
  90. package/dist/TablePage/ModalProvider.cjs.map +1 -1
  91. package/dist/TablePage/ModalProvider.d.cts +7 -2
  92. package/dist/TablePage/ModalProvider.d.ts +7 -2
  93. package/dist/TablePage/ModalProvider.mjs +50 -59
  94. package/dist/TablePage/ModalProvider.mjs.map +1 -1
  95. package/dist/TablePage/index.cjs +555 -331
  96. package/dist/TablePage/index.cjs.map +1 -1
  97. package/dist/TablePage/index.d.cts +3 -2
  98. package/dist/TablePage/index.d.ts +3 -2
  99. package/dist/TablePage/index.mjs +539 -320
  100. package/dist/TablePage/index.mjs.map +1 -1
  101. package/dist/TablePage/players/index.cjs +24 -4
  102. package/dist/TablePage/players/index.cjs.map +1 -1
  103. package/dist/TablePage/players/index.mjs +24 -4
  104. package/dist/TablePage/players/index.mjs.map +1 -1
  105. package/dist/TablePage/players.cjs +24 -4
  106. package/dist/TablePage/players.cjs.map +1 -1
  107. package/dist/TablePage/players.mjs +24 -4
  108. package/dist/TablePage/players.mjs.map +1 -1
  109. package/dist/TablePage.cjs +555 -331
  110. package/dist/TablePage.cjs.map +1 -1
  111. package/dist/TablePage.d.cts +4 -1
  112. package/dist/TablePage.d.ts +4 -1
  113. package/dist/TablePage.mjs +539 -320
  114. package/dist/TablePage.mjs.map +1 -1
  115. package/dist/{index-D7WHhl3Q.d.ts → index-B23RQop0.d.ts} +12 -12
  116. package/dist/{index-DC0kK3aC.d.cts → index-Csj8S4A4.d.cts} +12 -12
  117. package/dist/index.cjs +972 -460
  118. package/dist/index.cjs.map +1 -1
  119. package/dist/index.d.cts +5 -4
  120. package/dist/index.d.ts +5 -4
  121. package/dist/index.mjs +953 -457
  122. package/dist/index.mjs.map +1 -1
  123. package/dist/mocks/{EventDB.cjs → EventDetails.cjs} +203 -3
  124. package/dist/mocks/EventDetails.cjs.map +1 -0
  125. package/dist/mocks/EventDetails.d.cts +6 -0
  126. package/dist/mocks/EventDetails.d.ts +6 -0
  127. package/dist/mocks/{EventDB.mjs → EventDetails.mjs} +203 -3
  128. package/dist/mocks/EventDetails.mjs.map +1 -0
  129. package/dist/mocks/Tables.cjs +1 -1
  130. package/dist/mocks/Tables.cjs.map +1 -1
  131. package/dist/mocks/Tables.mjs +1 -1
  132. package/dist/mocks/Tables.mjs.map +1 -1
  133. package/dist/mocks/Tags.cjs +200 -0
  134. package/dist/mocks/Tags.cjs.map +1 -1
  135. package/dist/mocks/Tags.mjs +200 -0
  136. package/dist/mocks/Tags.mjs.map +1 -1
  137. package/dist/mocks/index.cjs +202 -2
  138. package/dist/mocks/index.cjs.map +1 -1
  139. package/dist/mocks/index.d.cts +1 -1
  140. package/dist/mocks/index.d.ts +1 -1
  141. package/dist/mocks/index.mjs +202 -2
  142. package/dist/mocks/index.mjs.map +1 -1
  143. package/dist/mocks.cjs +202 -2
  144. package/dist/mocks.cjs.map +1 -1
  145. package/dist/mocks.d.cts +1 -1
  146. package/dist/mocks.d.ts +1 -1
  147. package/dist/mocks.mjs +202 -2
  148. package/dist/mocks.mjs.map +1 -1
  149. package/dist/shared/index.cjs +327 -64
  150. package/dist/shared/index.cjs.map +1 -1
  151. package/dist/shared/index.d.cts +1 -1
  152. package/dist/shared/index.d.ts +1 -1
  153. package/dist/shared/index.mjs +324 -64
  154. package/dist/shared/index.mjs.map +1 -1
  155. package/dist/shared.cjs +327 -64
  156. package/dist/shared.cjs.map +1 -1
  157. package/dist/shared.d.cts +25 -2
  158. package/dist/shared.d.ts +25 -2
  159. package/dist/shared.mjs +324 -64
  160. package/dist/shared.mjs.map +1 -1
  161. package/dist/types/event.d.cts +2 -3
  162. package/dist/types/event.d.ts +2 -3
  163. package/dist/types/index.d.cts +2 -2
  164. package/dist/types/index.d.ts +2 -2
  165. package/dist/types/search.d.cts +7 -1
  166. package/dist/types/search.d.ts +7 -1
  167. package/dist/types/tables.d.cts +1 -0
  168. package/dist/types/tables.d.ts +1 -0
  169. package/dist/types.d.cts +2 -2
  170. package/dist/types.d.ts +2 -2
  171. package/package.json +9 -2
  172. package/dist/TablePage/ModalProvider/index.css +0 -49
  173. package/dist/TablePage/ModalProvider/index.css.map +0 -1
  174. package/dist/TablePage/ModalProvider.css +0 -49
  175. package/dist/TablePage/ModalProvider.css.map +0 -1
  176. package/dist/TablePage/index.css +0 -49
  177. package/dist/TablePage/index.css.map +0 -1
  178. package/dist/TablePage.css +0 -49
  179. package/dist/TablePage.css.map +0 -1
  180. package/dist/index.css +0 -49
  181. package/dist/index.css.map +0 -1
  182. package/dist/mocks/EventDB.cjs.map +0 -1
  183. package/dist/mocks/EventDB.d.cts +0 -6
  184. package/dist/mocks/EventDB.d.ts +0 -6
  185. package/dist/mocks/EventDB.mjs.map +0 -1
  186. package/dist/shared/Modal/index.cjs +0 -64
  187. package/dist/shared/Modal/index.cjs.map +0 -1
  188. package/dist/shared/Modal/index.css +0 -49
  189. package/dist/shared/Modal/index.css.map +0 -1
  190. package/dist/shared/Modal/index.d.cts +0 -2
  191. package/dist/shared/Modal/index.d.ts +0 -2
  192. package/dist/shared/Modal/index.mjs +0 -62
  193. package/dist/shared/Modal/index.mjs.map +0 -1
  194. package/dist/shared/Modal.cjs +0 -64
  195. package/dist/shared/Modal.cjs.map +0 -1
  196. package/dist/shared/Modal.css +0 -49
  197. package/dist/shared/Modal.css.map +0 -1
  198. package/dist/shared/Modal.d.cts +0 -9
  199. package/dist/shared/Modal.d.ts +0 -9
  200. package/dist/shared/Modal.mjs +0 -62
  201. package/dist/shared/Modal.mjs.map +0 -1
  202. package/dist/shared/index.css +0 -49
  203. package/dist/shared/index.css.map +0 -1
  204. package/dist/shared.css +0 -49
  205. package/dist/shared.css.map +0 -1
@@ -1,6 +1,6 @@
1
- export { E as EventBanner, a as EventBannerEdit, b as EventBannerEditPayload, c as EventBannerProps, d as EventBasicInfoEdit, e as EventBasicInfoEditPayload, f as EventEditProvider, u as useEventEdit } from './index-DC0kK3aC';
1
+ export { E as EventBanner, a as EventBannerEdit, b as EventBannerEditPayload, c as EventBannerProps, d as EventBasicInfoEdit, e as EventBasicInfoEditPayload, f as EventEditProvider, u as useEventEdit } from './index-Csj8S4A4';
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import { EventDB } from './types/event';
3
+ import { EventDetails } from './types/event';
4
4
  import { Tag } from './types/tag';
5
5
  import React__default from 'react';
6
6
 
@@ -16,9 +16,9 @@ declare const CANDIDATE_TIMEZONES: string[];
16
16
  declare function EventBasicInfo(props: EventBasicInfoProps): react_jsx_runtime.JSX.Element;
17
17
 
18
18
  type EventPageProps = {
19
- mergedEvent: EventDB;
19
+ mergedEvent: EventDetails;
20
20
  isOwner: boolean;
21
- updateEvent?: (patch: Partial<EventDB>) => void;
21
+ updateEvent?: (patch: Partial<EventDetails>) => void;
22
22
  updateImages?: () => void;
23
23
  attendees: number;
24
24
  numGames: number;
@@ -33,6 +33,8 @@ interface EventTablesCardProps {
33
33
  tags: Tag[];
34
34
  maxHeight?: number | string;
35
35
  onTableClick?: (id: number) => void;
36
+ showEventTag?: boolean;
37
+ eventTagId?: number;
36
38
  }
37
39
  /**
38
40
  * Event page card that shows a scrollable list of tables, reusing search result cards.
@@ -1,6 +1,6 @@
1
- export { E as EventBanner, a as EventBannerEdit, b as EventBannerEditPayload, c as EventBannerProps, d as EventBasicInfoEdit, e as EventBasicInfoEditPayload, f as EventEditProvider, u as useEventEdit } from './index-D7WHhl3Q';
1
+ export { E as EventBanner, a as EventBannerEdit, b as EventBannerEditPayload, c as EventBannerProps, d as EventBasicInfoEdit, e as EventBasicInfoEditPayload, f as EventEditProvider, u as useEventEdit } from './index-B23RQop0';
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import { EventDB } from './types/event';
3
+ import { EventDetails } from './types/event';
4
4
  import { Tag } from './types/tag';
5
5
  import React__default from 'react';
6
6
 
@@ -16,9 +16,9 @@ declare const CANDIDATE_TIMEZONES: string[];
16
16
  declare function EventBasicInfo(props: EventBasicInfoProps): react_jsx_runtime.JSX.Element;
17
17
 
18
18
  type EventPageProps = {
19
- mergedEvent: EventDB;
19
+ mergedEvent: EventDetails;
20
20
  isOwner: boolean;
21
- updateEvent?: (patch: Partial<EventDB>) => void;
21
+ updateEvent?: (patch: Partial<EventDetails>) => void;
22
22
  updateImages?: () => void;
23
23
  attendees: number;
24
24
  numGames: number;
@@ -33,6 +33,8 @@ interface EventTablesCardProps {
33
33
  tags: Tag[];
34
34
  maxHeight?: number | string;
35
35
  onTableClick?: (id: number) => void;
36
+ showEventTag?: boolean;
37
+ eventTagId?: number;
36
38
  }
37
39
  /**
38
40
  * Event page card that shows a scrollable list of tables, reusing search result cards.
@@ -17,6 +17,7 @@ import Divider from '@mui/material/Divider';
17
17
  import Typography4 from '@mui/material/Typography';
18
18
  import Pagination from '@mui/material/Pagination';
19
19
  import Avatar from '@mui/material/Avatar';
20
+ import { useRouter } from 'next/navigation';
20
21
  import Chip2 from '@mui/material/Chip';
21
22
  import LinearProgress from '@mui/material/LinearProgress';
22
23
  import PersonIcon from '@mui/icons-material/Person';
@@ -113,12 +114,29 @@ function Chip({ tag, removeCallback }) {
113
114
  function generateTagsDisplay(tag) {
114
115
  return /* @__PURE__ */ jsx(Chip, { tag }, tag.id);
115
116
  }
116
- function renderTagsFromIds(ids, legalTags) {
117
+ function renderTagsFromIds(ids, legalTags, options = {}) {
117
118
  if (!ids || !legalTags || legalTags.length === 0) {
118
119
  return /* @__PURE__ */ jsx(Fragment, {});
119
120
  }
121
+ const { showEventTag = false, eventTagId } = options;
120
122
  const validTags = ids.map((id) => legalTags.find((tag) => tag.id === id)).filter((tag) => Boolean(tag));
121
- return validTags.map((tag) => generateTagsDisplay(tag));
123
+ const sortedTags = [...validTags].sort((a, b) => {
124
+ if (showEventTag && eventTagId !== void 0) {
125
+ if (a.id === eventTagId && b.id === eventTagId) return 0;
126
+ if (a.id === eventTagId) return -1;
127
+ if (b.id === eventTagId) return 1;
128
+ }
129
+ const priorityOrder = ["Organizer Run", "Display Only"];
130
+ const aIndex = priorityOrder.indexOf(a.label);
131
+ const bIndex = priorityOrder.indexOf(b.label);
132
+ if (aIndex !== -1 && bIndex !== -1) {
133
+ return aIndex - bIndex;
134
+ }
135
+ if (aIndex !== -1) return -1;
136
+ if (bIndex !== -1) return 1;
137
+ return 0;
138
+ });
139
+ return sortedTags.map((tag) => generateTagsDisplay(tag));
122
140
  }
123
141
  function EventBannerEdit({
124
142
  initialValue,
@@ -928,6 +946,9 @@ var generateLink = function(link) {
928
946
  link.text
929
947
  );
930
948
  };
949
+
950
+ // src/data/values.tsx
951
+ var DEFAULT_PROFILE_PIC = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiB2aWV3Qm94PSIwIDAgMjU2IDI1NiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIHN0eWxlPSJzdHJva2U6IG5vbmU7IHN0cm9rZS13aWR0aDogMDsgc3Ryb2tlLWRhc2hhcnJheTogbm9uZTsgc3Ryb2tlLWxpbmVjYXA6IGJ1dHQ7IHN0cm9rZS1saW5lam9pbjogbWl0ZXI7IHN0cm9rZS1taXRlcmxpbWl0OiAxMDsgZmlsbDogbm9uZTsgZmlsbC1ydWxlOiBub256ZXJvOyBvcGFjaXR5OiAxOyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40MDY1OTM0MDY1OTM0MDE2IDEuNDA2NTkzNDA2NTkzNDAxNikgc2NhbGUoMi44MSAyLjgxKSI+Cgk8cGF0aCBkPSJNIDQ1IDg4IGMgLTExLjA0OSAwIC0yMS4xOCAtMi4wMDMgLTI5LjAyMSAtOC42MzQgQyA2LjIxMiA3MS4xMDUgMCA1OC43NjQgMCA0NSBDIDAgMjAuMTg3IDIwLjE4NyAwIDQ1IDAgYyAyNC44MTMgMCA0NSAyMC4xODcgNDUgNDUgYyAwIDEzLjc2NSAtNi4yMTIgMjYuMTA1IC0xNS45NzkgMzQuMzY2IEMgNjYuMTgxIDg1Ljk5OCA1Ni4wNDkgODggNDUgODggeiIgc3R5bGU9InN0cm9rZTogbm9uZTsgc3Ryb2tlLXdpZHRoOiAxOyBzdHJva2UtZGFzaGFycmF5OiBub25lOyBzdHJva2UtbGluZWNhcDogYnV0dDsgc3Ryb2tlLWxpbmVqb2luOiBtaXRlcjsgc3Ryb2tlLW1pdGVybGltaXQ6IDEwOyBmaWxsOiByZ2IoMjE0LDIxNCwyMTQpOyBmaWxsLXJ1bGU6IG5vbnplcm87IG9wYWNpdHk6IDE7IiB0cmFuc2Zvcm09IiBtYXRyaXgoMSAwIDAgMSAwIDApICIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cgk8cGF0aCBkPSJNIDQ1IDYwLjcxIGMgLTExLjQ3OSAwIC0yMC44MTggLTkuMzM5IC0yMC44MTggLTIwLjgxNyBjIDAgLTExLjQ3OSA5LjMzOSAtMjAuODE4IDIwLjgxOCAtMjAuODE4IGMgMTEuNDc5IDAgMjAuODE3IDkuMzM5IDIwLjgxNyAyMC44MTggQyA2NS44MTcgNTEuMzcxIDU2LjQ3OSA2MC43MSA0NSA2MC43MSB6IiBzdHlsZT0ic3Ryb2tlOiBub25lOyBzdHJva2Utd2lkdGg6IDE7IHN0cm9rZS1kYXNoYXJyYXk6IG5vbmU7IHN0cm9rZS1saW5lY2FwOiBidXR0OyBzdHJva2UtbGluZWpvaW46IG1pdGVyOyBzdHJva2UtbWl0ZXJsaW1pdDogMTA7IGZpbGw6IHJnYigxNjUsMTY0LDE2NCk7IGZpbGwtcnVsZTogbm9uemVybzsgb3BhY2l0eTogMTsiIHRyYW5zZm9ybT0iIG1hdHJpeCgxIDAgMCAxIDAgMCkgIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KCTxwYXRoIGQ9Ik0gNDUgOTAgYyAtMTAuNjEzIDAgLTIwLjkyMiAtMy43NzMgLTI5LjAyOCAtMTAuNjI1IGMgLTAuNjQ4IC0wLjU0OCAtMC44OCAtMS40NDQgLTAuNTc5IC0yLjIzNyBDIDIwLjAzNCA2NC45MTkgMzEuOTMzIDU2LjcxIDQ1IDU2LjcxIHMgMjQuOTY2IDguMjA5IDI5LjYwNyAyMC40MjggYyAwLjMwMSAwLjc5MyAwLjA2OSAxLjY4OSAtMC41NzkgMi4yMzcgQyA2NS45MjIgODYuMjI3IDU1LjYxMyA5MCA0NSA5MCB6IiBzdHlsZT0ic3Ryb2tlOiBub25lOyBzdHJva2Utd2lkdGg6IDE7IHN0cm9rZS1kYXNoYXJyYXk6IG5vbmU7IHN0cm9rZS1saW5lY2FwOiBidXR0OyBzdHJva2UtbGluZWpvaW46IG1pdGVyOyBzdHJva2UtbWl0ZXJsaW1pdDogMTA7IGZpbGw6IHJnYigxNjUsMTY0LDE2NCk7IGZpbGwtcnVsZTogbm9uemVybzsgb3BhY2l0eTogMTsiIHRyYW5zZm9ybT0iIG1hdHJpeCgxIDAgMCAxIDAgMCkgIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPC9nPgo8L3N2Zz4=";
931
952
  var NextGameLabel = ({ nextGameTime }) => {
932
953
  const date = typeof nextGameTime === "string" ? new Date(nextGameTime) : nextGameTime;
933
954
  return /* @__PURE__ */ jsxs(Typography, { variant: "caption", sx: { display: "block", mb: 1, color: "primary.main", fontWeight: "bold" }, children: [
@@ -941,17 +962,22 @@ var BaseSearchResultCard = ({
941
962
  onClick,
942
963
  children,
943
964
  icon,
944
- tags
965
+ tags,
966
+ showEventTag,
967
+ eventTagId
945
968
  }) => {
969
+ const router = useRouter();
946
970
  const handleClick = (e) => {
971
+ const url = `/${result.type}/${result.id}`;
972
+ if (e.ctrlKey || e.metaKey || e.shiftKey) {
973
+ e.stopPropagation();
974
+ window.open(url, "_blank");
975
+ return;
976
+ }
947
977
  if (onClick) {
948
- if (e.ctrlKey || e.metaKey || e.shiftKey) {
949
- e.stopPropagation();
950
- const url = `/${result.type}/${result.id}`;
951
- window.open(url, "_blank");
952
- } else {
953
- onClick(result.id);
954
- }
978
+ onClick(result.id);
979
+ } else {
980
+ router.push(url);
955
981
  }
956
982
  };
957
983
  return /* @__PURE__ */ jsx(
@@ -960,7 +986,7 @@ var BaseSearchResultCard = ({
960
986
  elevation: 6,
961
987
  sx: {
962
988
  width: "100%",
963
- cursor: onClick ? "pointer" : "default",
989
+ cursor: "pointer",
964
990
  boxShadow: "0px 8px 24px rgba(0, 0, 0, 0.15)",
965
991
  transition: "box-shadow 0.3s ease-in-out",
966
992
  "&:hover": {
@@ -982,7 +1008,7 @@ var BaseSearchResultCard = ({
982
1008
  const text = full || "";
983
1009
  return text.length > 200 ? `${text.slice(0, 200).trimEnd()}...` : text;
984
1010
  })() }) : /* @__PURE__ */ jsx(Typography4, { variant: "body1", children: result.description }),
985
- result.tags && result.tags.length > 0 && /* @__PURE__ */ jsx(Box2, { sx: { mt: 1, display: "flex", flexWrap: "wrap", gap: 1 }, children: renderTagsFromIds(result.tags, tags) })
1011
+ result.tags && result.tags.length > 0 && /* @__PURE__ */ jsx(Box2, { sx: { mt: 1, display: "flex", flexWrap: "wrap", gap: 1 }, children: renderTagsFromIds(result.tags, tags, { showEventTag, eventTagId }) })
986
1012
  ] })
987
1013
  ] })
988
1014
  }
@@ -992,7 +1018,9 @@ var BaseSearchResultCard_default = BaseSearchResultCard;
992
1018
  var PlayerResultCard = ({
993
1019
  result,
994
1020
  onClick,
995
- tags
1021
+ tags,
1022
+ showEventTag,
1023
+ eventTagId
996
1024
  }) => {
997
1025
  const firstLetter = result.title.charAt(0).toUpperCase();
998
1026
  const getAvatarColor = (name) => {
@@ -1024,7 +1052,7 @@ var PlayerResultCard = ({
1024
1052
  const playerIcon = /* @__PURE__ */ jsx(
1025
1053
  Avatar,
1026
1054
  {
1027
- src: result.imageUrl,
1055
+ src: result.imageUrl || DEFAULT_PROFILE_PIC,
1028
1056
  alt: result.title,
1029
1057
  sx: {
1030
1058
  width: 40,
@@ -1034,13 +1062,25 @@ var PlayerResultCard = ({
1034
1062
  children: !result.imageUrl && firstLetter
1035
1063
  }
1036
1064
  );
1037
- return /* @__PURE__ */ jsx(BaseSearchResultCard_default, { result, onClick, icon: playerIcon, tags });
1065
+ return /* @__PURE__ */ jsx(
1066
+ BaseSearchResultCard_default,
1067
+ {
1068
+ result,
1069
+ onClick,
1070
+ icon: playerIcon,
1071
+ tags,
1072
+ showEventTag,
1073
+ eventTagId
1074
+ }
1075
+ );
1038
1076
  };
1039
1077
  var PlayerResultCard_default = PlayerResultCard;
1040
1078
  var TableResultCard = ({
1041
1079
  result,
1042
1080
  onClick,
1043
- tags
1081
+ tags,
1082
+ showEventTag,
1083
+ eventTagId
1044
1084
  }) => {
1045
1085
  const rawCapacity = result.capacity;
1046
1086
  const hasDefinedCapacity = typeof rawCapacity === "number" && Number.isFinite(rawCapacity) && rawCapacity > 0;
@@ -1058,46 +1098,59 @@ var TableResultCard = ({
1058
1098
  }
1059
1099
  }
1060
1100
  );
1061
- return /* @__PURE__ */ jsx(BaseSearchResultCard_default, { result, onClick, icon: tableIcon, tags, children: /* @__PURE__ */ jsxs(Box2, { sx: { mb: 2 }, children: [
1062
- /* @__PURE__ */ jsxs(Box2, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center", mb: 1 }, children: [
1063
- /* @__PURE__ */ jsxs(Typography4, { variant: "body2", children: [
1064
- /* @__PURE__ */ jsx("strong", { children: "Players:" }),
1065
- " ",
1066
- hasDefinedCapacity ? `${activePlayers}/${capacity}` : activePlayers
1067
- ] }),
1068
- typeof hasDM === "boolean" && /* @__PURE__ */ jsx(
1069
- Chip2,
1070
- {
1071
- icon: hasDM ? /* @__PURE__ */ jsx(SupervisorAccountIcon, {}) : /* @__PURE__ */ jsx(PersonIcon, {}),
1072
- label: hasDM ? "DM Present" : "No DM",
1073
- color: hasDM ? "success" : "warning",
1074
- size: "small"
1075
- }
1076
- )
1077
- ] }),
1078
- /* @__PURE__ */ jsx(
1079
- LinearProgress,
1080
- {
1081
- variant: "determinate",
1082
- value: occupancyPercentage,
1083
- sx: {
1084
- height: 10,
1085
- borderRadius: 5,
1086
- backgroundColor: "#e0e0e0",
1087
- "& .MuiLinearProgress-bar": {
1088
- backgroundColor: hasDefinedCapacity ? availableSlots > 0 ? "#4caf50" : "#f44336" : "#2196f3"
1101
+ return /* @__PURE__ */ jsx(
1102
+ BaseSearchResultCard_default,
1103
+ {
1104
+ result,
1105
+ onClick,
1106
+ icon: tableIcon,
1107
+ tags,
1108
+ showEventTag,
1109
+ eventTagId,
1110
+ children: /* @__PURE__ */ jsxs(Box2, { sx: { mb: 2 }, children: [
1111
+ /* @__PURE__ */ jsxs(Box2, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center", mb: 1 }, children: [
1112
+ /* @__PURE__ */ jsxs(Typography4, { variant: "body2", children: [
1113
+ /* @__PURE__ */ jsx("strong", { children: "Players:" }),
1114
+ " ",
1115
+ hasDefinedCapacity ? `${activePlayers}/${capacity}` : activePlayers
1116
+ ] }),
1117
+ typeof hasDM === "boolean" && /* @__PURE__ */ jsx(
1118
+ Chip2,
1119
+ {
1120
+ icon: hasDM ? /* @__PURE__ */ jsx(SupervisorAccountIcon, {}) : /* @__PURE__ */ jsx(PersonIcon, {}),
1121
+ label: hasDM ? "DM Present" : "No DM",
1122
+ color: hasDM ? "success" : "warning",
1123
+ size: "small"
1124
+ }
1125
+ )
1126
+ ] }),
1127
+ /* @__PURE__ */ jsx(
1128
+ LinearProgress,
1129
+ {
1130
+ variant: "determinate",
1131
+ value: occupancyPercentage,
1132
+ sx: {
1133
+ height: 10,
1134
+ borderRadius: 5,
1135
+ backgroundColor: "#e0e0e0",
1136
+ "& .MuiLinearProgress-bar": {
1137
+ backgroundColor: hasDefinedCapacity ? availableSlots > 0 ? "#4caf50" : "#f44336" : "#2196f3"
1138
+ }
1139
+ }
1089
1140
  }
1090
- }
1091
- }
1092
- ),
1093
- hasDefinedCapacity && /* @__PURE__ */ jsx(Typography4, { variant: "body2", sx: { mt: 0.5, textAlign: "right" }, children: availableSlots > 0 ? `${availableSlots} slot${availableSlots !== 1 ? "s" : ""} available` : "Table full" })
1094
- ] }) });
1141
+ ),
1142
+ hasDefinedCapacity && /* @__PURE__ */ jsx(Typography4, { variant: "body2", sx: { mt: 0.5, textAlign: "right" }, children: availableSlots > 0 ? `${availableSlots} slot${availableSlots !== 1 ? "s" : ""} available` : "Table full" })
1143
+ ] })
1144
+ }
1145
+ );
1095
1146
  };
1096
1147
  var TableResultCard_default = TableResultCard;
1097
1148
  var EventResultCard = ({
1098
1149
  result,
1099
1150
  onClick,
1100
- tags
1151
+ tags,
1152
+ showEventTag,
1153
+ eventTagId
1101
1154
  }) => {
1102
1155
  const formatDate = (dateString) => {
1103
1156
  const options = {
@@ -1109,7 +1162,7 @@ var EventResultCard = ({
1109
1162
  try {
1110
1163
  const date = new Date(dateString);
1111
1164
  return date.toLocaleDateString("en-US", options);
1112
- } catch (error) {
1165
+ } catch (__) {
1113
1166
  return dateString;
1114
1167
  }
1115
1168
  };
@@ -1124,29 +1177,40 @@ var EventResultCard = ({
1124
1177
  }
1125
1178
  }
1126
1179
  );
1127
- return /* @__PURE__ */ jsx(BaseSearchResultCard_default, { result, onClick, icon: eventIcon, tags, children: /* @__PURE__ */ jsxs(Box2, { sx: { mb: 2 }, children: [
1128
- /* @__PURE__ */ jsxs(Box2, { sx: { display: "flex", alignItems: "center", mb: 1 }, children: [
1129
- /* @__PURE__ */ jsx(CalendarTodayIcon, { sx: { mr: 1, color: "primary.main" } }),
1130
- /* @__PURE__ */ jsxs(Typography4, { variant: "body2", children: [
1131
- /* @__PURE__ */ jsx("strong", { children: "Date:" }),
1132
- " ",
1133
- formattedDate
1134
- ] })
1135
- ] }),
1136
- /* @__PURE__ */ jsxs(Box2, { sx: { display: "flex", alignItems: "center" }, children: [
1137
- /* @__PURE__ */ jsx(LocationOnIcon, { sx: { mr: 1, color: "primary.main" } }),
1138
- /* @__PURE__ */ jsxs(Typography4, { variant: "body2", children: [
1139
- /* @__PURE__ */ jsx("strong", { children: "Location:" }),
1140
- " ",
1141
- location
1180
+ return /* @__PURE__ */ jsx(
1181
+ BaseSearchResultCard_default,
1182
+ {
1183
+ result,
1184
+ onClick,
1185
+ icon: eventIcon,
1186
+ tags,
1187
+ showEventTag,
1188
+ eventTagId,
1189
+ children: /* @__PURE__ */ jsxs(Box2, { sx: { mb: 2 }, children: [
1190
+ /* @__PURE__ */ jsxs(Box2, { sx: { display: "flex", alignItems: "center", mb: 1 }, children: [
1191
+ /* @__PURE__ */ jsx(CalendarTodayIcon, { sx: { mr: 1, color: "primary.main" } }),
1192
+ /* @__PURE__ */ jsxs(Typography4, { variant: "body2", children: [
1193
+ /* @__PURE__ */ jsx("strong", { children: "Date:" }),
1194
+ " ",
1195
+ formattedDate
1196
+ ] })
1197
+ ] }),
1198
+ /* @__PURE__ */ jsxs(Box2, { sx: { display: "flex", alignItems: "center" }, children: [
1199
+ /* @__PURE__ */ jsx(LocationOnIcon, { sx: { mr: 1, color: "primary.main" } }),
1200
+ /* @__PURE__ */ jsxs(Typography4, { variant: "body2", children: [
1201
+ /* @__PURE__ */ jsx("strong", { children: "Location:" }),
1202
+ " ",
1203
+ location
1204
+ ] })
1205
+ ] }),
1206
+ result.organizer && /* @__PURE__ */ jsxs(Typography4, { variant: "body2", sx: { mt: 1 }, children: [
1207
+ /* @__PURE__ */ jsx("strong", { children: "Organizer:" }),
1208
+ " ",
1209
+ result.organizer
1210
+ ] })
1142
1211
  ] })
1143
- ] }),
1144
- result.organizer && /* @__PURE__ */ jsxs(Typography4, { variant: "body2", sx: { mt: 1 }, children: [
1145
- /* @__PURE__ */ jsx("strong", { children: "Organizer:" }),
1146
- " ",
1147
- result.organizer
1148
- ] })
1149
- ] }) });
1212
+ }
1213
+ );
1150
1214
  };
1151
1215
  var EventResultCard_default = EventResultCard;
1152
1216
  var ResultsContainer = ({
@@ -1154,20 +1218,22 @@ var ResultsContainer = ({
1154
1218
  onResultClick,
1155
1219
  tags,
1156
1220
  pagination,
1157
- onPacketChange
1221
+ onPacketChange,
1222
+ showEventTag,
1223
+ eventTagId
1158
1224
  }) => {
1159
1225
  if (!results || results.length === 0 || !results.map) {
1160
1226
  return /* @__PURE__ */ jsx(Box2, { sx: { textAlign: "center", py: 4 }, children: "No results found. Try adjusting your filters." });
1161
1227
  }
1162
- const onPlayerClick = (id) => {
1163
- onResultClick == null ? void 0 : onResultClick(id, "player");
1164
- };
1165
- const onTableClick = (id) => {
1166
- onResultClick == null ? void 0 : onResultClick(id, "table");
1167
- };
1168
- const onEventClick = (id) => {
1169
- onResultClick == null ? void 0 : onResultClick(id, "event");
1170
- };
1228
+ const onPlayerClick = onResultClick ? (id) => {
1229
+ onResultClick(id, "player");
1230
+ } : void 0;
1231
+ const onTableClick = onResultClick ? (id) => {
1232
+ onResultClick(id, "table");
1233
+ } : void 0;
1234
+ const onEventClick = onResultClick ? (id) => {
1235
+ onResultClick(id, "event");
1236
+ } : void 0;
1171
1237
  const handlePacketChange = (_event, packet) => {
1172
1238
  onPacketChange == null ? void 0 : onPacketChange(packet);
1173
1239
  };
@@ -1191,7 +1257,9 @@ var ResultsContainer = ({
1191
1257
  {
1192
1258
  result,
1193
1259
  onClick: onPlayerClick,
1194
- tags
1260
+ tags,
1261
+ showEventTag,
1262
+ eventTagId
1195
1263
  },
1196
1264
  result.id
1197
1265
  );
@@ -1201,7 +1269,9 @@ var ResultsContainer = ({
1201
1269
  {
1202
1270
  result,
1203
1271
  onClick: onTableClick,
1204
- tags
1272
+ tags,
1273
+ showEventTag,
1274
+ eventTagId
1205
1275
  },
1206
1276
  result.id
1207
1277
  );
@@ -1211,7 +1281,9 @@ var ResultsContainer = ({
1211
1281
  {
1212
1282
  result,
1213
1283
  onClick: onEventClick,
1214
- tags
1284
+ tags,
1285
+ showEventTag,
1286
+ eventTagId
1215
1287
  },
1216
1288
  result.id
1217
1289
  );
@@ -1237,29 +1309,43 @@ var ScrollableResultsList = ({
1237
1309
  tags,
1238
1310
  maxHeight = 400,
1239
1311
  onResultClick,
1240
- emptyText
1312
+ emptyText,
1313
+ showEventTag,
1314
+ eventTagId
1241
1315
  }) => {
1242
1316
  const hasResults = Array.isArray(results) && results.length > 0;
1243
- return /* @__PURE__ */ jsx(Box2, { sx: { maxHeight, overflowY: "auto", pr: 1 }, children: hasResults ? /* @__PURE__ */ jsx(ResultsContainer_default, { results, onResultClick, tags }) : /* @__PURE__ */ jsx(Box2, { sx: { textAlign: "center", py: 2 }, children: emptyText || "No results to display." }) });
1317
+ return /* @__PURE__ */ jsx(Box2, { sx: { maxHeight, overflowY: "auto", pr: 1 }, children: hasResults ? /* @__PURE__ */ jsx(
1318
+ ResultsContainer_default,
1319
+ {
1320
+ results,
1321
+ onResultClick,
1322
+ tags,
1323
+ showEventTag,
1324
+ eventTagId
1325
+ }
1326
+ ) : /* @__PURE__ */ jsx(Box2, { sx: { textAlign: "center", py: 2 }, children: emptyText || "No results to display." }) });
1244
1327
  };
1245
1328
  var ScrollableResultsList_default = ScrollableResultsList;
1246
1329
  var TablesScrollableList = ({
1247
1330
  results,
1248
1331
  tags,
1249
1332
  maxHeight,
1250
- onResultClick
1333
+ onResultClick,
1334
+ showEventTag,
1335
+ eventTagId
1251
1336
  }) => {
1252
1337
  const tables = (results || []).filter((r) => (r == null ? void 0 : r.type) === "table");
1253
- const handleClick = (id) => onResultClick == null ? void 0 : onResultClick(id);
1254
1338
  return /* @__PURE__ */ jsx(
1255
1339
  ScrollableResultsList_default,
1256
1340
  {
1257
1341
  results: tables,
1258
1342
  tags,
1259
1343
  maxHeight,
1260
- onResultClick: (id, type) => {
1261
- if (type === "table") handleClick(id);
1262
- }
1344
+ onResultClick: onResultClick ? (id, type) => {
1345
+ if (type === "table") onResultClick(id);
1346
+ } : void 0,
1347
+ showEventTag,
1348
+ eventTagId
1263
1349
  }
1264
1350
  );
1265
1351
  };
@@ -1268,12 +1354,24 @@ var EventTablesCard = ({
1268
1354
  tables,
1269
1355
  tags,
1270
1356
  maxHeight = 450,
1271
- onTableClick
1357
+ onTableClick,
1358
+ showEventTag,
1359
+ eventTagId
1272
1360
  }) => {
1273
1361
  return /* @__PURE__ */ jsxs(Card3, { elevation: 6, sx: { width: "100%", boxShadow: "0px 8px 24px rgba(0, 0, 0, 0.15)" }, children: [
1274
1362
  /* @__PURE__ */ jsx(CardHeader, { title: "Tables" }),
1275
1363
  /* @__PURE__ */ jsx(Divider, {}),
1276
- /* @__PURE__ */ jsx(CardContent3, { children: /* @__PURE__ */ jsx(TablesScrollableList_default, { results: tables, tags, maxHeight, onResultClick: onTableClick }) })
1364
+ /* @__PURE__ */ jsx(CardContent3, { children: /* @__PURE__ */ jsx(
1365
+ TablesScrollableList_default,
1366
+ {
1367
+ results: tables,
1368
+ tags,
1369
+ maxHeight,
1370
+ onResultClick: onTableClick,
1371
+ showEventTag,
1372
+ eventTagId
1373
+ }
1374
+ ) })
1277
1375
  ] });
1278
1376
  };
1279
1377
  var EventTablesCard_default = EventTablesCard;
@@ -1302,7 +1400,15 @@ function EventPageLayout({
1302
1400
  locationId: mergedEvent.location || "0"
1303
1401
  }
1304
1402
  ) }),
1305
- /* @__PURE__ */ jsx(Grid5, { size: { xs: 12, md: 8 }, spacing: 3, padding: 3, children: /* @__PURE__ */ jsx(EventTablesCard_default, { tables, tags: allTags }) })
1403
+ /* @__PURE__ */ jsx(Grid5, { size: { xs: 12, md: 8 }, spacing: 3, padding: 3, children: /* @__PURE__ */ jsx(
1404
+ EventTablesCard_default,
1405
+ {
1406
+ tables,
1407
+ tags: allTags,
1408
+ showEventTag: true,
1409
+ eventTagId: mergedEvent.id
1410
+ }
1411
+ ) })
1306
1412
  ] }),
1307
1413
  /* @__PURE__ */ jsx(Grid5, {})
1308
1414
  ] }) });