@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,12 +1,14 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
+ var Typography7 = require('@mui/material/Typography');
5
+ var FormControl = require('@mui/material/FormControl');
6
+ var Select = require('@mui/material/Select');
7
+ var MenuItem = require('@mui/material/MenuItem');
8
+ var jsxRuntime = require('react/jsx-runtime');
4
9
  var FormControlLabel = require('@mui/material/FormControlLabel');
5
10
  var Checkbox = require('@mui/material/Checkbox');
6
11
  var Box8 = require('@mui/material/Box');
7
- var jsxRuntime = require('react/jsx-runtime');
8
- var Typography6 = require('@mui/material/Typography');
9
- var FormControl = require('@mui/material/FormControl');
10
12
  var RadioGroup = require('@mui/material/RadioGroup');
11
13
  var Radio = require('@mui/material/Radio');
12
14
  var React = require('react');
@@ -21,6 +23,7 @@ var Pagination = require('@mui/material/Pagination');
21
23
  var Avatar = require('@mui/material/Avatar');
22
24
  var Card2 = require('@mui/material/Card');
23
25
  var CardContent2 = require('@mui/material/CardContent');
26
+ var navigation = require('next/navigation');
24
27
  var material = require('@mui/material');
25
28
  var Chip2 = require('@mui/material/Chip');
26
29
  var LinearProgress = require('@mui/material/LinearProgress');
@@ -36,11 +39,13 @@ var CircularProgress = require('@mui/material/CircularProgress');
36
39
 
37
40
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
38
41
 
42
+ var Typography7__default = /*#__PURE__*/_interopDefault(Typography7);
43
+ var FormControl__default = /*#__PURE__*/_interopDefault(FormControl);
44
+ var Select__default = /*#__PURE__*/_interopDefault(Select);
45
+ var MenuItem__default = /*#__PURE__*/_interopDefault(MenuItem);
39
46
  var FormControlLabel__default = /*#__PURE__*/_interopDefault(FormControlLabel);
40
47
  var Checkbox__default = /*#__PURE__*/_interopDefault(Checkbox);
41
48
  var Box8__default = /*#__PURE__*/_interopDefault(Box8);
42
- var Typography6__default = /*#__PURE__*/_interopDefault(Typography6);
43
- var FormControl__default = /*#__PURE__*/_interopDefault(FormControl);
44
49
  var RadioGroup__default = /*#__PURE__*/_interopDefault(RadioGroup);
45
50
  var Radio__default = /*#__PURE__*/_interopDefault(Radio);
46
51
  var React__default = /*#__PURE__*/_interopDefault(React);
@@ -67,7 +72,25 @@ var Grid__default = /*#__PURE__*/_interopDefault(Grid);
67
72
  var CardHeader__default = /*#__PURE__*/_interopDefault(CardHeader);
68
73
  var CircularProgress__default = /*#__PURE__*/_interopDefault(CircularProgress);
69
74
 
70
- // src/components/SearchPage/Filters/ExpiredTablesFilter.tsx
75
+ // src/components/SearchPage/Filters/DistanceFilter.tsx
76
+ var DistanceFilter = ({ distances, selectedDistance, onChange }) => {
77
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
78
+ /* @__PURE__ */ jsxRuntime.jsx(Typography7__default.default, { variant: "h6", gutterBottom: true, children: "Distance" }),
79
+ /* @__PURE__ */ jsxRuntime.jsx(FormControl__default.default, { fullWidth: true, size: "small", children: /* @__PURE__ */ jsxRuntime.jsxs(
80
+ Select__default.default,
81
+ {
82
+ value: selectedDistance !== void 0 ? selectedDistance : "",
83
+ onChange: (e) => onChange(Number(e.target.value)),
84
+ displayEmpty: true,
85
+ children: [
86
+ /* @__PURE__ */ jsxRuntime.jsx(MenuItem__default.default, { value: "", children: /* @__PURE__ */ jsxRuntime.jsx("em", { children: "Any Distance" }) }),
87
+ distances.map((option) => /* @__PURE__ */ jsxRuntime.jsx(MenuItem__default.default, { value: option.value, children: option.display }, option.value))
88
+ ]
89
+ }
90
+ ) })
91
+ ] });
92
+ };
93
+ var DistanceFilter_default = DistanceFilter;
71
94
  var ExpiredTablesFilter = ({
72
95
  includeExpiredTables,
73
96
  onChange
@@ -101,7 +124,7 @@ var SortOptions = ({
101
124
  onChange == null ? void 0 : onChange(event.target.value);
102
125
  };
103
126
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
104
- /* @__PURE__ */ jsxRuntime.jsx(Typography6__default.default, { variant: "h6", gutterBottom: true, children: "Sort By" }),
127
+ /* @__PURE__ */ jsxRuntime.jsx(Typography7__default.default, { variant: "h6", gutterBottom: true, children: "Sort By" }),
105
128
  /* @__PURE__ */ jsxRuntime.jsx(FormControl__default.default, { children: /* @__PURE__ */ jsxRuntime.jsx(RadioGroup__default.default, { defaultValue, onChange: handleSortChange, children: SORT_OPTIONS.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
106
129
  FormControlLabel__default.default,
107
130
  {
@@ -168,13 +191,13 @@ var TagsFilter = ({
168
191
  shouldHaveAtLeastOne: ""
169
192
  });
170
193
  const tagOptions = React__default.default.useMemo(() => {
194
+ var _a;
171
195
  console.log("available tags: " + JSON.stringify(Tags));
172
196
  console.log(!Tags);
173
- if (!Tags || Tags.length === 0 || !Tags.map) return [];
174
- return Tags.map((tag) => ({
197
+ return (_a = Tags == null ? void 0 : Tags.map((tag) => ({
175
198
  value: tag.id,
176
199
  label: tag.label
177
- }));
200
+ }))) != null ? _a : [];
178
201
  }, [Tags]);
179
202
  const handleTagChange = (tagId, category) => {
180
203
  let newTags = [];
@@ -202,8 +225,7 @@ var TagsFilter = ({
202
225
  };
203
226
  const renderSelectedTags = (selectedTags, category) => {
204
227
  const tagValues = [];
205
- if (!Tags || Tags.length === 0 || !Tags.map) return null;
206
- Tags.forEach((tag) => {
228
+ Tags == null ? void 0 : Tags.forEach((tag) => {
207
229
  if (selectedTags.includes(tag.id)) {
208
230
  tagValues.push(tag);
209
231
  }
@@ -223,7 +245,7 @@ var TagsFilter = ({
223
245
  const createTagSelector = (category, label) => {
224
246
  const selectedTags = category === "mustHave" ? mustHaveTags : category === "mustNotHave" ? mustNotHaveTags : shouldHaveAtLeastOneTags;
225
247
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
226
- /* @__PURE__ */ jsxRuntime.jsx(Typography6__default.default, { variant: "subtitle1", gutterBottom: true, sx: { mt: 2 }, children: label }),
248
+ /* @__PURE__ */ jsxRuntime.jsx(Typography7__default.default, { variant: "subtitle1", gutterBottom: true, sx: { mt: 2 }, children: label }),
227
249
  renderSelectedTags(selectedTags, category),
228
250
  /* @__PURE__ */ jsxRuntime.jsx(
229
251
  Autocomplete__default.default,
@@ -276,7 +298,7 @@ var TagsFilter = ({
276
298
  ] });
277
299
  };
278
300
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
279
- /* @__PURE__ */ jsxRuntime.jsx(Typography6__default.default, { variant: "h6", gutterBottom: true, children: "Tags" }),
301
+ /* @__PURE__ */ jsxRuntime.jsx(Typography7__default.default, { variant: "h6", gutterBottom: true, children: "Tags" }),
280
302
  createTagSelector("mustHave", "Must Have Tags"),
281
303
  /* @__PURE__ */ jsxRuntime.jsx(Divider2__default.default, { sx: { my: 2 } }),
282
304
  createTagSelector("mustNotHave", "Must Not Have Tags"),
@@ -338,7 +360,7 @@ var TextSearchCard = ({ onChange, selectedTypes, initialTextSearch }) => {
338
360
  }
339
361
  };
340
362
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
341
- /* @__PURE__ */ jsxRuntime.jsx(Typography6__default.default, { variant: "h6", gutterBottom: true, children: "Text Search" }),
363
+ /* @__PURE__ */ jsxRuntime.jsx(Typography7__default.default, { variant: "h6", gutterBottom: true, children: "Text Search" }),
342
364
  /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { mb: 2 }, children: [
343
365
  /* @__PURE__ */ jsxRuntime.jsx(
344
366
  TextField__default.default,
@@ -382,7 +404,7 @@ var TypeFilter = ({ types, initialSelectedTypes = [], onChange }) => {
382
404
  }
383
405
  };
384
406
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
385
- /* @__PURE__ */ jsxRuntime.jsx(Typography6__default.default, { variant: "h6", gutterBottom: true, children: "Type" }),
407
+ /* @__PURE__ */ jsxRuntime.jsx(Typography7__default.default, { variant: "h6", gutterBottom: true, children: "Type" }),
386
408
  /* @__PURE__ */ jsxRuntime.jsx(FormGroup__default.default, { children: types.map((type) => /* @__PURE__ */ jsxRuntime.jsx(
387
409
  FormControlLabel__default.default,
388
410
  {
@@ -390,9 +412,7 @@ var TypeFilter = ({ types, initialSelectedTypes = [], onChange }) => {
390
412
  Checkbox__default.default,
391
413
  {
392
414
  checked: selectedTypes.includes(type.id),
393
- onChange: () => handleTypeChange(type.id),
394
- disabled: type.id === "event",
395
- title: type.id === "event" ? "Coming soon! Currently only player and table search are supported." : ""
415
+ onChange: () => handleTypeChange(type.id)
396
416
  }
397
417
  ),
398
418
  label: type.label
@@ -407,10 +427,13 @@ var FiltersContainer = ({
407
427
  initialSelectedTags,
408
428
  initialTextSearch,
409
429
  includeExpiredTables = false,
430
+ distance,
431
+ distances,
410
432
  onTypeChange,
411
433
  onTagChange,
412
434
  onTextSearchChange,
413
435
  onIncludeExpiredTablesChange,
436
+ onDistanceChange,
414
437
  onSubmit,
415
438
  tags,
416
439
  searchTypes
@@ -425,7 +448,10 @@ var FiltersContainer = ({
425
448
  onTypeChange(types);
426
449
  }
427
450
  };
428
- return /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { children: [
451
+ return /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { component: "form", onSubmit: (e) => {
452
+ e.preventDefault();
453
+ if (onSubmit) onSubmit();
454
+ }, children: [
429
455
  /* @__PURE__ */ jsxRuntime.jsx(
430
456
  TypeFilter_default,
431
457
  {
@@ -435,6 +461,16 @@ var FiltersContainer = ({
435
461
  }
436
462
  ),
437
463
  /* @__PURE__ */ jsxRuntime.jsx(Divider2__default.default, { sx: { my: 2 } }),
464
+ /* @__PURE__ */ jsxRuntime.jsx(
465
+ DistanceFilter_default,
466
+ {
467
+ distances,
468
+ selectedDistance: distance,
469
+ onChange: onDistanceChange || (() => {
470
+ })
471
+ }
472
+ ),
473
+ /* @__PURE__ */ jsxRuntime.jsx(Divider2__default.default, { sx: { my: 2 } }),
438
474
  /* @__PURE__ */ jsxRuntime.jsx(
439
475
  TextSearchCard_default,
440
476
  {
@@ -467,11 +503,11 @@ var FiltersContainer = ({
467
503
  /* @__PURE__ */ jsxRuntime.jsx(Box8__default.default, { sx: { display: "flex", justifyContent: "center", mt: 2 }, children: /* @__PURE__ */ jsxRuntime.jsx(
468
504
  Button__default.default,
469
505
  {
506
+ type: "submit",
470
507
  variant: "contained",
471
508
  color: "primary",
472
509
  size: "large",
473
510
  startIcon: /* @__PURE__ */ jsxRuntime.jsx(SearchIcon__default.default, {}),
474
- onClick: onSubmit,
475
511
  sx: {
476
512
  width: "100%",
477
513
  py: 1.5,
@@ -489,6 +525,9 @@ var FiltersContainer = ({
489
525
  ] });
490
526
  };
491
527
  var FiltersContainer_default = FiltersContainer;
528
+
529
+ // src/data/values.tsx
530
+ var DEFAULT_PROFILE_PIC = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiB2aWV3Qm94PSIwIDAgMjU2IDI1NiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIHN0eWxlPSJzdHJva2U6IG5vbmU7IHN0cm9rZS13aWR0aDogMDsgc3Ryb2tlLWRhc2hhcnJheTogbm9uZTsgc3Ryb2tlLWxpbmVjYXA6IGJ1dHQ7IHN0cm9rZS1saW5lam9pbjogbWl0ZXI7IHN0cm9rZS1taXRlcmxpbWl0OiAxMDsgZmlsbDogbm9uZTsgZmlsbC1ydWxlOiBub256ZXJvOyBvcGFjaXR5OiAxOyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40MDY1OTM0MDY1OTM0MDE2IDEuNDA2NTkzNDA2NTkzNDAxNikgc2NhbGUoMi44MSAyLjgxKSI+Cgk8cGF0aCBkPSJNIDQ1IDg4IGMgLTExLjA0OSAwIC0yMS4xOCAtMi4wMDMgLTI5LjAyMSAtOC42MzQgQyA2LjIxMiA3MS4xMDUgMCA1OC43NjQgMCA0NSBDIDAgMjAuMTg3IDIwLjE4NyAwIDQ1IDAgYyAyNC44MTMgMCA0NSAyMC4xODcgNDUgNDUgYyAwIDEzLjc2NSAtNi4yMTIgMjYuMTA1IC0xNS45NzkgMzQuMzY2IEMgNjYuMTgxIDg1Ljk5OCA1Ni4wNDkgODggNDUgODggeiIgc3R5bGU9InN0cm9rZTogbm9uZTsgc3Ryb2tlLXdpZHRoOiAxOyBzdHJva2UtZGFzaGFycmF5OiBub25lOyBzdHJva2UtbGluZWNhcDogYnV0dDsgc3Ryb2tlLWxpbmVqb2luOiBtaXRlcjsgc3Ryb2tlLW1pdGVybGltaXQ6IDEwOyBmaWxsOiByZ2IoMjE0LDIxNCwyMTQpOyBmaWxsLXJ1bGU6IG5vbnplcm87IG9wYWNpdHk6IDE7IiB0cmFuc2Zvcm09IiBtYXRyaXgoMSAwIDAgMSAwIDApICIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cgk8cGF0aCBkPSJNIDQ1IDYwLjcxIGMgLTExLjQ3OSAwIC0yMC44MTggLTkuMzM5IC0yMC44MTggLTIwLjgxNyBjIDAgLTExLjQ3OSA5LjMzOSAtMjAuODE4IDIwLjgxOCAtMjAuODE4IGMgMTEuNDc5IDAgMjAuODE3IDkuMzM5IDIwLjgxNyAyMC44MTggQyA2NS44MTcgNTEuMzcxIDU2LjQ3OSA2MC43MSA0NSA2MC43MSB6IiBzdHlsZT0ic3Ryb2tlOiBub25lOyBzdHJva2Utd2lkdGg6IDE7IHN0cm9rZS1kYXNoYXJyYXk6IG5vbmU7IHN0cm9rZS1saW5lY2FwOiBidXR0OyBzdHJva2UtbGluZWpvaW46IG1pdGVyOyBzdHJva2UtbWl0ZXJsaW1pdDogMTA7IGZpbGw6IHJnYigxNjUsMTY0LDE2NCk7IGZpbGwtcnVsZTogbm9uemVybzsgb3BhY2l0eTogMTsiIHRyYW5zZm9ybT0iIG1hdHJpeCgxIDAgMCAxIDAgMCkgIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KCTxwYXRoIGQ9Ik0gNDUgOTAgYyAtMTAuNjEzIDAgLTIwLjkyMiAtMy43NzMgLTI5LjAyOCAtMTAuNjI1IGMgLTAuNjQ4IC0wLjU0OCAtMC44OCAtMS40NDQgLTAuNTc5IC0yLjIzNyBDIDIwLjAzNCA2NC45MTkgMzEuOTMzIDU2LjcxIDQ1IDU2LjcxIHMgMjQuOTY2IDguMjA5IDI5LjYwNyAyMC40MjggYyAwLjMwMSAwLjc5MyAwLjA2OSAxLjY4OSAtMC41NzkgMi4yMzcgQyA2NS45MjIgODYuMjI3IDU1LjYxMyA5MCA0NSA5MCB6IiBzdHlsZT0ic3Ryb2tlOiBub25lOyBzdHJva2Utd2lkdGg6IDE7IHN0cm9rZS1kYXNoYXJyYXk6IG5vbmU7IHN0cm9rZS1saW5lY2FwOiBidXR0OyBzdHJva2UtbGluZWpvaW46IG1pdGVyOyBzdHJva2UtbWl0ZXJsaW1pdDogMTA7IGZpbGw6IHJnYigxNjUsMTY0LDE2NCk7IGZpbGwtcnVsZTogbm9uemVybzsgb3BhY2l0eTogMTsiIHRyYW5zZm9ybT0iIG1hdHJpeCgxIDAgMCAxIDAgMCkgIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPC9nPgo8L3N2Zz4=";
492
531
  var NextGameLabel = ({ nextGameTime }) => {
493
532
  const date = typeof nextGameTime === "string" ? new Date(nextGameTime) : nextGameTime;
494
533
  return /* @__PURE__ */ jsxRuntime.jsxs(material.Typography, { variant: "caption", sx: { display: "block", mb: 1, color: "primary.main", fontWeight: "bold" }, children: [
@@ -500,29 +539,51 @@ var NextGameLabel_default = NextGameLabel;
500
539
  function generateTagsDisplay(tag) {
501
540
  return /* @__PURE__ */ jsxRuntime.jsx(Chip, { tag }, tag.id);
502
541
  }
503
- function renderTagsFromIds(ids, legalTags) {
542
+ function renderTagsFromIds(ids, legalTags, options = {}) {
504
543
  if (!ids || !legalTags || legalTags.length === 0) {
505
544
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {});
506
545
  }
546
+ const { showEventTag = false, eventTagId } = options;
507
547
  const validTags = ids.map((id) => legalTags.find((tag) => tag.id === id)).filter((tag) => Boolean(tag));
508
- return validTags.map((tag) => generateTagsDisplay(tag));
548
+ const sortedTags = [...validTags].sort((a, b) => {
549
+ if (showEventTag && eventTagId !== void 0) {
550
+ if (a.id === eventTagId && b.id === eventTagId) return 0;
551
+ if (a.id === eventTagId) return -1;
552
+ if (b.id === eventTagId) return 1;
553
+ }
554
+ const priorityOrder = ["Organizer Run", "Display Only"];
555
+ const aIndex = priorityOrder.indexOf(a.label);
556
+ const bIndex = priorityOrder.indexOf(b.label);
557
+ if (aIndex !== -1 && bIndex !== -1) {
558
+ return aIndex - bIndex;
559
+ }
560
+ if (aIndex !== -1) return -1;
561
+ if (bIndex !== -1) return 1;
562
+ return 0;
563
+ });
564
+ return sortedTags.map((tag) => generateTagsDisplay(tag));
509
565
  }
510
566
  var BaseSearchResultCard = ({
511
567
  result,
512
568
  onClick,
513
569
  children,
514
570
  icon,
515
- tags
571
+ tags,
572
+ showEventTag,
573
+ eventTagId
516
574
  }) => {
575
+ const router = navigation.useRouter();
517
576
  const handleClick = (e) => {
577
+ const url = `/${result.type}/${result.id}`;
578
+ if (e.ctrlKey || e.metaKey || e.shiftKey) {
579
+ e.stopPropagation();
580
+ window.open(url, "_blank");
581
+ return;
582
+ }
518
583
  if (onClick) {
519
- if (e.ctrlKey || e.metaKey || e.shiftKey) {
520
- e.stopPropagation();
521
- const url = `/${result.type}/${result.id}`;
522
- window.open(url, "_blank");
523
- } else {
524
- onClick(result.id);
525
- }
584
+ onClick(result.id);
585
+ } else {
586
+ router.push(url);
526
587
  }
527
588
  };
528
589
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -531,7 +592,7 @@ var BaseSearchResultCard = ({
531
592
  elevation: 6,
532
593
  sx: {
533
594
  width: "100%",
534
- cursor: onClick ? "pointer" : "default",
595
+ cursor: "pointer",
535
596
  boxShadow: "0px 8px 24px rgba(0, 0, 0, 0.15)",
536
597
  transition: "box-shadow 0.3s ease-in-out",
537
598
  "&:hover": {
@@ -543,17 +604,17 @@ var BaseSearchResultCard = ({
543
604
  children: /* @__PURE__ */ jsxRuntime.jsxs(CardContent2__default.default, { sx: { display: "flex", alignItems: "flex-start" }, children: [
544
605
  icon && /* @__PURE__ */ jsxRuntime.jsx(Box8__default.default, { sx: { mr: 2, display: "flex", alignItems: "center", pt: 0.5 }, children: icon }),
545
606
  /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { flex: 1 }, children: [
546
- /* @__PURE__ */ jsxRuntime.jsx(Typography6__default.default, { variant: "h6", sx: { mb: 1 }, children: result.title }),
607
+ /* @__PURE__ */ jsxRuntime.jsx(Typography7__default.default, { variant: "h6", sx: { mb: 1 }, children: result.title }),
547
608
  result.nextGameTime && /* @__PURE__ */ jsxRuntime.jsx(NextGameLabel_default, { nextGameTime: result.nextGameTime }),
548
- result.type === "table" && result.shortDescription ? /* @__PURE__ */ jsxRuntime.jsx(Typography6__default.default, { variant: "body2", sx: { mb: 1 }, children: result.shortDescription }) : null,
609
+ result.type === "table" && result.shortDescription ? /* @__PURE__ */ jsxRuntime.jsx(Typography7__default.default, { variant: "body2", sx: { mb: 1 }, children: result.shortDescription }) : null,
549
610
  children,
550
- result.type === "table" ? /* @__PURE__ */ jsxRuntime.jsx(Typography6__default.default, { variant: "body1", children: (() => {
611
+ result.type === "table" ? /* @__PURE__ */ jsxRuntime.jsx(Typography7__default.default, { variant: "body1", children: (() => {
551
612
  var _a, _b;
552
613
  const full = (_b = (_a = result.fullDescription) != null ? _a : result.description) != null ? _b : "";
553
614
  const text = full || "";
554
615
  return text.length > 200 ? `${text.slice(0, 200).trimEnd()}...` : text;
555
- })() }) : /* @__PURE__ */ jsxRuntime.jsx(Typography6__default.default, { variant: "body1", children: result.description }),
556
- result.tags && result.tags.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(Box8__default.default, { sx: { mt: 1, display: "flex", flexWrap: "wrap", gap: 1 }, children: renderTagsFromIds(result.tags, tags) })
616
+ })() }) : /* @__PURE__ */ jsxRuntime.jsx(Typography7__default.default, { variant: "body1", children: result.description }),
617
+ result.tags && result.tags.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(Box8__default.default, { sx: { mt: 1, display: "flex", flexWrap: "wrap", gap: 1 }, children: renderTagsFromIds(result.tags, tags, { showEventTag, eventTagId }) })
557
618
  ] })
558
619
  ] })
559
620
  }
@@ -563,7 +624,9 @@ var BaseSearchResultCard_default = BaseSearchResultCard;
563
624
  var PlayerResultCard = ({
564
625
  result,
565
626
  onClick,
566
- tags
627
+ tags,
628
+ showEventTag,
629
+ eventTagId
567
630
  }) => {
568
631
  const firstLetter = result.title.charAt(0).toUpperCase();
569
632
  const getAvatarColor = (name) => {
@@ -595,7 +658,7 @@ var PlayerResultCard = ({
595
658
  const playerIcon = /* @__PURE__ */ jsxRuntime.jsx(
596
659
  Avatar__default.default,
597
660
  {
598
- src: result.imageUrl,
661
+ src: result.imageUrl || DEFAULT_PROFILE_PIC,
599
662
  alt: result.title,
600
663
  sx: {
601
664
  width: 40,
@@ -605,13 +668,25 @@ var PlayerResultCard = ({
605
668
  children: !result.imageUrl && firstLetter
606
669
  }
607
670
  );
608
- return /* @__PURE__ */ jsxRuntime.jsx(BaseSearchResultCard_default, { result, onClick, icon: playerIcon, tags });
671
+ return /* @__PURE__ */ jsxRuntime.jsx(
672
+ BaseSearchResultCard_default,
673
+ {
674
+ result,
675
+ onClick,
676
+ icon: playerIcon,
677
+ tags,
678
+ showEventTag,
679
+ eventTagId
680
+ }
681
+ );
609
682
  };
610
683
  var PlayerResultCard_default = PlayerResultCard;
611
684
  var TableResultCard = ({
612
685
  result,
613
686
  onClick,
614
- tags
687
+ tags,
688
+ showEventTag,
689
+ eventTagId
615
690
  }) => {
616
691
  const rawCapacity = result.capacity;
617
692
  const hasDefinedCapacity = typeof rawCapacity === "number" && Number.isFinite(rawCapacity) && rawCapacity > 0;
@@ -629,46 +704,59 @@ var TableResultCard = ({
629
704
  }
630
705
  }
631
706
  );
632
- return /* @__PURE__ */ jsxRuntime.jsx(BaseSearchResultCard_default, { result, onClick, icon: tableIcon, tags, children: /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { mb: 2 }, children: [
633
- /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center", mb: 1 }, children: [
634
- /* @__PURE__ */ jsxRuntime.jsxs(Typography6__default.default, { variant: "body2", children: [
635
- /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Players:" }),
636
- " ",
637
- hasDefinedCapacity ? `${activePlayers}/${capacity}` : activePlayers
638
- ] }),
639
- typeof hasDM === "boolean" && /* @__PURE__ */ jsxRuntime.jsx(
640
- Chip2__default.default,
641
- {
642
- icon: hasDM ? /* @__PURE__ */ jsxRuntime.jsx(SupervisorAccountIcon__default.default, {}) : /* @__PURE__ */ jsxRuntime.jsx(PersonIcon__default.default, {}),
643
- label: hasDM ? "DM Present" : "No DM",
644
- color: hasDM ? "success" : "warning",
645
- size: "small"
646
- }
647
- )
648
- ] }),
649
- /* @__PURE__ */ jsxRuntime.jsx(
650
- LinearProgress__default.default,
651
- {
652
- variant: "determinate",
653
- value: occupancyPercentage,
654
- sx: {
655
- height: 10,
656
- borderRadius: 5,
657
- backgroundColor: "#e0e0e0",
658
- "& .MuiLinearProgress-bar": {
659
- backgroundColor: hasDefinedCapacity ? availableSlots > 0 ? "#4caf50" : "#f44336" : "#2196f3"
707
+ return /* @__PURE__ */ jsxRuntime.jsx(
708
+ BaseSearchResultCard_default,
709
+ {
710
+ result,
711
+ onClick,
712
+ icon: tableIcon,
713
+ tags,
714
+ showEventTag,
715
+ eventTagId,
716
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { mb: 2 }, children: [
717
+ /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center", mb: 1 }, children: [
718
+ /* @__PURE__ */ jsxRuntime.jsxs(Typography7__default.default, { variant: "body2", children: [
719
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Players:" }),
720
+ " ",
721
+ hasDefinedCapacity ? `${activePlayers}/${capacity}` : activePlayers
722
+ ] }),
723
+ typeof hasDM === "boolean" && /* @__PURE__ */ jsxRuntime.jsx(
724
+ Chip2__default.default,
725
+ {
726
+ icon: hasDM ? /* @__PURE__ */ jsxRuntime.jsx(SupervisorAccountIcon__default.default, {}) : /* @__PURE__ */ jsxRuntime.jsx(PersonIcon__default.default, {}),
727
+ label: hasDM ? "DM Present" : "No DM",
728
+ color: hasDM ? "success" : "warning",
729
+ size: "small"
730
+ }
731
+ )
732
+ ] }),
733
+ /* @__PURE__ */ jsxRuntime.jsx(
734
+ LinearProgress__default.default,
735
+ {
736
+ variant: "determinate",
737
+ value: occupancyPercentage,
738
+ sx: {
739
+ height: 10,
740
+ borderRadius: 5,
741
+ backgroundColor: "#e0e0e0",
742
+ "& .MuiLinearProgress-bar": {
743
+ backgroundColor: hasDefinedCapacity ? availableSlots > 0 ? "#4caf50" : "#f44336" : "#2196f3"
744
+ }
745
+ }
660
746
  }
661
- }
662
- }
663
- ),
664
- hasDefinedCapacity && /* @__PURE__ */ jsxRuntime.jsx(Typography6__default.default, { variant: "body2", sx: { mt: 0.5, textAlign: "right" }, children: availableSlots > 0 ? `${availableSlots} slot${availableSlots !== 1 ? "s" : ""} available` : "Table full" })
665
- ] }) });
747
+ ),
748
+ hasDefinedCapacity && /* @__PURE__ */ jsxRuntime.jsx(Typography7__default.default, { variant: "body2", sx: { mt: 0.5, textAlign: "right" }, children: availableSlots > 0 ? `${availableSlots} slot${availableSlots !== 1 ? "s" : ""} available` : "Table full" })
749
+ ] })
750
+ }
751
+ );
666
752
  };
667
753
  var TableResultCard_default = TableResultCard;
668
754
  var EventResultCard = ({
669
755
  result,
670
756
  onClick,
671
- tags
757
+ tags,
758
+ showEventTag,
759
+ eventTagId
672
760
  }) => {
673
761
  const formatDate = (dateString) => {
674
762
  const options = {
@@ -680,7 +768,7 @@ var EventResultCard = ({
680
768
  try {
681
769
  const date = new Date(dateString);
682
770
  return date.toLocaleDateString("en-US", options);
683
- } catch (error) {
771
+ } catch (__) {
684
772
  return dateString;
685
773
  }
686
774
  };
@@ -695,29 +783,40 @@ var EventResultCard = ({
695
783
  }
696
784
  }
697
785
  );
698
- return /* @__PURE__ */ jsxRuntime.jsx(BaseSearchResultCard_default, { result, onClick, icon: eventIcon, tags, children: /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { mb: 2 }, children: [
699
- /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { display: "flex", alignItems: "center", mb: 1 }, children: [
700
- /* @__PURE__ */ jsxRuntime.jsx(CalendarTodayIcon__default.default, { sx: { mr: 1, color: "primary.main" } }),
701
- /* @__PURE__ */ jsxRuntime.jsxs(Typography6__default.default, { variant: "body2", children: [
702
- /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Date:" }),
703
- " ",
704
- formattedDate
705
- ] })
706
- ] }),
707
- /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { display: "flex", alignItems: "center" }, children: [
708
- /* @__PURE__ */ jsxRuntime.jsx(LocationOnIcon__default.default, { sx: { mr: 1, color: "primary.main" } }),
709
- /* @__PURE__ */ jsxRuntime.jsxs(Typography6__default.default, { variant: "body2", children: [
710
- /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Location:" }),
711
- " ",
712
- location
786
+ return /* @__PURE__ */ jsxRuntime.jsx(
787
+ BaseSearchResultCard_default,
788
+ {
789
+ result,
790
+ onClick,
791
+ icon: eventIcon,
792
+ tags,
793
+ showEventTag,
794
+ eventTagId,
795
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { mb: 2 }, children: [
796
+ /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { display: "flex", alignItems: "center", mb: 1 }, children: [
797
+ /* @__PURE__ */ jsxRuntime.jsx(CalendarTodayIcon__default.default, { sx: { mr: 1, color: "primary.main" } }),
798
+ /* @__PURE__ */ jsxRuntime.jsxs(Typography7__default.default, { variant: "body2", children: [
799
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Date:" }),
800
+ " ",
801
+ formattedDate
802
+ ] })
803
+ ] }),
804
+ /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { display: "flex", alignItems: "center" }, children: [
805
+ /* @__PURE__ */ jsxRuntime.jsx(LocationOnIcon__default.default, { sx: { mr: 1, color: "primary.main" } }),
806
+ /* @__PURE__ */ jsxRuntime.jsxs(Typography7__default.default, { variant: "body2", children: [
807
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Location:" }),
808
+ " ",
809
+ location
810
+ ] })
811
+ ] }),
812
+ result.organizer && /* @__PURE__ */ jsxRuntime.jsxs(Typography7__default.default, { variant: "body2", sx: { mt: 1 }, children: [
813
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Organizer:" }),
814
+ " ",
815
+ result.organizer
816
+ ] })
713
817
  ] })
714
- ] }),
715
- result.organizer && /* @__PURE__ */ jsxRuntime.jsxs(Typography6__default.default, { variant: "body2", sx: { mt: 1 }, children: [
716
- /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Organizer:" }),
717
- " ",
718
- result.organizer
719
- ] })
720
- ] }) });
818
+ }
819
+ );
721
820
  };
722
821
  var EventResultCard_default = EventResultCard;
723
822
  var ResultsContainer = ({
@@ -725,27 +824,29 @@ var ResultsContainer = ({
725
824
  onResultClick,
726
825
  tags,
727
826
  pagination,
728
- onPacketChange
827
+ onPacketChange,
828
+ showEventTag,
829
+ eventTagId
729
830
  }) => {
730
831
  if (!results || results.length === 0 || !results.map) {
731
832
  return /* @__PURE__ */ jsxRuntime.jsx(Box8__default.default, { sx: { textAlign: "center", py: 4 }, children: "No results found. Try adjusting your filters." });
732
833
  }
733
- const onPlayerClick = (id) => {
734
- onResultClick == null ? void 0 : onResultClick(id, "player");
735
- };
736
- const onTableClick = (id) => {
737
- onResultClick == null ? void 0 : onResultClick(id, "table");
738
- };
739
- const onEventClick = (id) => {
740
- onResultClick == null ? void 0 : onResultClick(id, "event");
741
- };
834
+ const onPlayerClick = onResultClick ? (id) => {
835
+ onResultClick(id, "player");
836
+ } : void 0;
837
+ const onTableClick = onResultClick ? (id) => {
838
+ onResultClick(id, "table");
839
+ } : void 0;
840
+ const onEventClick = onResultClick ? (id) => {
841
+ onResultClick(id, "event");
842
+ } : void 0;
742
843
  const handlePacketChange = (_event, packet) => {
743
844
  onPacketChange == null ? void 0 : onPacketChange(packet);
744
845
  };
745
846
  const startResult = pagination ? (pagination.currentPacket - 1) * pagination.packetSize + 1 : 1;
746
847
  const endResult = pagination ? Math.min(pagination.currentPacket * pagination.packetSize, pagination.totalResults) : results.length;
747
848
  return /* @__PURE__ */ jsxRuntime.jsxs(Box8__default.default, { sx: { display: "flex", flexDirection: "column", gap: 2 }, children: [
748
- pagination && /* @__PURE__ */ jsxRuntime.jsx(Box8__default.default, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center", mb: 1 }, children: /* @__PURE__ */ jsxRuntime.jsxs(Typography6__default.default, { variant: "body2", color: "text.secondary", children: [
849
+ pagination && /* @__PURE__ */ jsxRuntime.jsx(Box8__default.default, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center", mb: 1 }, children: /* @__PURE__ */ jsxRuntime.jsxs(Typography7__default.default, { variant: "body2", color: "text.secondary", children: [
749
850
  "Showing ",
750
851
  startResult,
751
852
  "-",
@@ -762,7 +863,9 @@ var ResultsContainer = ({
762
863
  {
763
864
  result,
764
865
  onClick: onPlayerClick,
765
- tags
866
+ tags,
867
+ showEventTag,
868
+ eventTagId
766
869
  },
767
870
  result.id
768
871
  );
@@ -772,7 +875,9 @@ var ResultsContainer = ({
772
875
  {
773
876
  result,
774
877
  onClick: onTableClick,
775
- tags
878
+ tags,
879
+ showEventTag,
880
+ eventTagId
776
881
  },
777
882
  result.id
778
883
  );
@@ -782,7 +887,9 @@ var ResultsContainer = ({
782
887
  {
783
888
  result,
784
889
  onClick: onEventClick,
785
- tags
890
+ tags,
891
+ showEventTag,
892
+ eventTagId
786
893
  },
787
894
  result.id
788
895
  );
@@ -808,10 +915,21 @@ var ScrollableResultsList = ({
808
915
  tags,
809
916
  maxHeight = 400,
810
917
  onResultClick,
811
- emptyText
918
+ emptyText,
919
+ showEventTag,
920
+ eventTagId
812
921
  }) => {
813
922
  const hasResults = Array.isArray(results) && results.length > 0;
814
- return /* @__PURE__ */ jsxRuntime.jsx(Box8__default.default, { sx: { maxHeight, overflowY: "auto", pr: 1 }, children: hasResults ? /* @__PURE__ */ jsxRuntime.jsx(ResultsContainer_default, { results, onResultClick, tags }) : /* @__PURE__ */ jsxRuntime.jsx(Box8__default.default, { sx: { textAlign: "center", py: 2 }, children: emptyText || "No results to display." }) });
923
+ return /* @__PURE__ */ jsxRuntime.jsx(Box8__default.default, { sx: { maxHeight, overflowY: "auto", pr: 1 }, children: hasResults ? /* @__PURE__ */ jsxRuntime.jsx(
924
+ ResultsContainer_default,
925
+ {
926
+ results,
927
+ onResultClick,
928
+ tags,
929
+ showEventTag,
930
+ eventTagId
931
+ }
932
+ ) : /* @__PURE__ */ jsxRuntime.jsx(Box8__default.default, { sx: { textAlign: "center", py: 2 }, children: emptyText || "No results to display." }) });
815
933
  };
816
934
  var ScrollableResultsList_default = ScrollableResultsList;
817
935
  var PlayersScrollableList = ({
@@ -821,16 +939,15 @@ var PlayersScrollableList = ({
821
939
  onResultClick
822
940
  }) => {
823
941
  const players = (results || []).filter((r) => (r == null ? void 0 : r.type) === "player");
824
- const handleClick = (id) => onResultClick == null ? void 0 : onResultClick(id);
825
942
  return /* @__PURE__ */ jsxRuntime.jsx(
826
943
  ScrollableResultsList_default,
827
944
  {
828
945
  results: players,
829
946
  tags,
830
947
  maxHeight,
831
- onResultClick: (id, type) => {
832
- if (type === "player") handleClick(id);
833
- }
948
+ onResultClick: onResultClick ? (id, type) => {
949
+ if (type === "player") onResultClick(id);
950
+ } : void 0
834
951
  }
835
952
  );
836
953
  };
@@ -856,11 +973,13 @@ function SearchPageLayout({
856
973
  query: "",
857
974
  titleOnly: false
858
975
  },
859
- includeExpiredTables: initialIncludeExpiredTables = false,
976
+ initialDistance,
977
+ distances,
860
978
  onTypeChange,
861
979
  onTagChange,
862
980
  onTextSearchChange,
863
981
  onIncludeExpiredTablesChange,
982
+ onDistanceChange,
864
983
  onSubmit,
865
984
  onResultClick,
866
985
  onPacketChange,
@@ -868,14 +987,16 @@ function SearchPageLayout({
868
987
  validTags,
869
988
  allTags,
870
989
  searchTypes,
871
- isLoading = false
990
+ isLoading = false,
991
+ eventTagId
872
992
  }) {
873
993
  const theme = material.useTheme();
874
994
  const isMobile = material.useMediaQuery(theme.breakpoints.down("md"));
875
995
  const [selectedTypes, setSelectedTypes] = React.useState(initialSelectedTypes);
876
996
  const [selectedTags, setSelectedTags] = React.useState(initialSelectedTags);
877
997
  const [textSearch, setTextSearch] = React.useState(initialTextSearch);
878
- const [includeExpiredTables, setIncludeExpiredTables] = React.useState(initialIncludeExpiredTables);
998
+ const [includeExpiredTables, setIncludeExpiredTables] = React.useState(false);
999
+ const [distance, setDistance] = React.useState(initialDistance);
879
1000
  React.useEffect(() => {
880
1001
  setSelectedTypes(initialSelectedTypes);
881
1002
  }, [initialSelectedTypes]);
@@ -886,8 +1007,8 @@ function SearchPageLayout({
886
1007
  setTextSearch(initialTextSearch);
887
1008
  }, [initialTextSearch]);
888
1009
  React.useEffect(() => {
889
- setIncludeExpiredTables(initialIncludeExpiredTables);
890
- }, [initialIncludeExpiredTables]);
1010
+ setDistance(initialDistance);
1011
+ }, [initialDistance]);
891
1012
  const handleTypeChange = (types) => {
892
1013
  setSelectedTypes(types);
893
1014
  if (onTypeChange) onTypeChange(types);
@@ -904,12 +1025,17 @@ function SearchPageLayout({
904
1025
  setIncludeExpiredTables(include);
905
1026
  if (onIncludeExpiredTablesChange) onIncludeExpiredTablesChange(include);
906
1027
  };
1028
+ const handleDistanceChange = (dist) => {
1029
+ setDistance(dist);
1030
+ if (onDistanceChange) onDistanceChange(dist);
1031
+ };
907
1032
  const handleSubmit = () => {
908
1033
  const currentCriteria = {
909
1034
  selectedTypes,
910
1035
  selectedTags,
911
1036
  textSearch,
912
- includeExpiredTables
1037
+ includeExpiredTables,
1038
+ distance
913
1039
  };
914
1040
  if (onSubmit) {
915
1041
  onSubmit(currentCriteria);
@@ -949,10 +1075,13 @@ function SearchPageLayout({
949
1075
  initialSelectedTags: selectedTags,
950
1076
  initialTextSearch: textSearch,
951
1077
  includeExpiredTables,
1078
+ distance,
1079
+ distances,
952
1080
  onTypeChange: handleTypeChange,
953
1081
  onTagChange: handleTagChange,
954
1082
  onTextSearchChange: handleTextSearchChange,
955
1083
  onIncludeExpiredTablesChange: handleIncludeExpiredTablesChange,
1084
+ onDistanceChange: handleDistanceChange,
956
1085
  onSubmit: handleSubmit,
957
1086
  tags: validTags,
958
1087
  searchTypes
@@ -979,7 +1108,9 @@ function SearchPageLayout({
979
1108
  pagination,
980
1109
  onPacketChange,
981
1110
  onResultClick,
982
- tags: allTags
1111
+ tags: allTags,
1112
+ showEventTag: true,
1113
+ eventTagId
983
1114
  }
984
1115
  ) })
985
1116
  ] }) })
@@ -990,25 +1121,29 @@ var TablesScrollableList = ({
990
1121
  results,
991
1122
  tags,
992
1123
  maxHeight,
993
- onResultClick
1124
+ onResultClick,
1125
+ showEventTag,
1126
+ eventTagId
994
1127
  }) => {
995
1128
  const tables = (results || []).filter((r) => (r == null ? void 0 : r.type) === "table");
996
- const handleClick = (id) => onResultClick == null ? void 0 : onResultClick(id);
997
1129
  return /* @__PURE__ */ jsxRuntime.jsx(
998
1130
  ScrollableResultsList_default,
999
1131
  {
1000
1132
  results: tables,
1001
1133
  tags,
1002
1134
  maxHeight,
1003
- onResultClick: (id, type) => {
1004
- if (type === "table") handleClick(id);
1005
- }
1135
+ onResultClick: onResultClick ? (id, type) => {
1136
+ if (type === "table") onResultClick(id);
1137
+ } : void 0,
1138
+ showEventTag,
1139
+ eventTagId
1006
1140
  }
1007
1141
  );
1008
1142
  };
1009
1143
  var TablesScrollableList_default = TablesScrollableList;
1010
1144
 
1011
1145
  exports.BaseSearchResultCard = BaseSearchResultCard_default;
1146
+ exports.DistanceFilter = DistanceFilter_default;
1012
1147
  exports.EventResultCard = EventResultCard_default;
1013
1148
  exports.ExpiredTablesFilter = ExpiredTablesFilter_default;
1014
1149
  exports.FiltersContainer = FiltersContainer_default;