@burdenoff/microfe-technospam 2026.1024.1 → 2026.1030.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 (54) hide show
  1. package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -1
  2. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -1
  3. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -1
  4. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -1
  5. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -1
  6. package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -1
  7. package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -1
  8. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -1
  9. package/dist/node_modules/sonner/dist/index.js.map +1 -1
  10. package/dist/technospam/api/technospamApi.d.ts +28 -0
  11. package/dist/technospam/api/technospamApi.d.ts.map +1 -1
  12. package/dist/technospam/api/technospamApi.js +193 -153
  13. package/dist/technospam/api/technospamApi.js.map +1 -1
  14. package/dist/technospam/components/SubmissionReviewPanel.d.ts +15 -0
  15. package/dist/technospam/components/SubmissionReviewPanel.d.ts.map +1 -0
  16. package/dist/technospam/components/SubmissionReviewPanel.js +85 -0
  17. package/dist/technospam/components/SubmissionReviewPanel.js.map +1 -0
  18. package/dist/technospam/components/index.d.ts +1 -0
  19. package/dist/technospam/components/index.d.ts.map +1 -1
  20. package/dist/technospam/components/index.js +1 -0
  21. package/dist/technospam/hooks/useFocusedRecordParam.d.ts +41 -0
  22. package/dist/technospam/hooks/useFocusedRecordParam.d.ts.map +1 -0
  23. package/dist/technospam/hooks/useFocusedRecordParam.js +41 -0
  24. package/dist/technospam/hooks/useFocusedRecordParam.js.map +1 -0
  25. package/dist/technospam/pages/AdminAdminDashboardPagePage.js +1 -1
  26. package/dist/technospam/pages/AnalyticsAnalyticsPagePage.js +1 -1
  27. package/dist/technospam/pages/ApplicationsPortfolioPagePage.js +1 -1
  28. package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.d.ts.map +1 -1
  29. package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.js +190 -165
  30. package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.js.map +1 -1
  31. package/dist/technospam/pages/ApplicationsProblemsPagePage.js +1 -1
  32. package/dist/technospam/pages/CoursesCourseDetailsPagePage.d.ts.map +1 -1
  33. package/dist/technospam/pages/CoursesCourseDetailsPagePage.js +92 -88
  34. package/dist/technospam/pages/CoursesCourseDetailsPagePage.js.map +1 -1
  35. package/dist/technospam/pages/CoursesCoursesPagePage.js +1 -1
  36. package/dist/technospam/pages/CoursesMyLearningPagePage.d.ts.map +1 -1
  37. package/dist/technospam/pages/CoursesMyLearningPagePage.js +90 -80
  38. package/dist/technospam/pages/CoursesMyLearningPagePage.js.map +1 -1
  39. package/dist/technospam/pages/DashboardDashboardPagePage.js +1 -1
  40. package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.d.ts.map +1 -1
  41. package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.js +155 -147
  42. package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.js.map +1 -1
  43. package/dist/technospam/pages/HackathonsHackathonsPagePage.js +1 -1
  44. package/dist/technospam/pages/MentorshipMentorProfilePagePage.js +1 -1
  45. package/dist/technospam/pages/MentorshipMentorsPagePage.js +1 -1
  46. package/dist/technospam/pages/MentorshipSessionsPagePage.d.ts.map +1 -1
  47. package/dist/technospam/pages/MentorshipSessionsPagePage.js +186 -167
  48. package/dist/technospam/pages/MentorshipSessionsPagePage.js.map +1 -1
  49. package/dist/technospam/pages/StudyPlannerStudyPlannerPagePage.js +1 -1
  50. package/dist/technospam/utils/pageContext.d.ts +54 -5
  51. package/dist/technospam/utils/pageContext.d.ts.map +1 -1
  52. package/dist/technospam/utils/pageContext.js +99 -35
  53. package/dist/technospam/utils/pageContext.js.map +1 -1
  54. package/package.json +1 -1
@@ -2,246 +2,252 @@ import { useTechnoSpam as e } from "../providers/TechnoSpamProvider.js";
2
2
  import { cn as t } from "../utils/cn.js";
3
3
  import { PageLayout as n } from "../components/PageLayout.js";
4
4
  import { MediaCover as r, coverGradient as i } from "../components/MediaCover.js";
5
- import { formatDate as a, formatDateTime as ee, formatMoney as te } from "../utils/format.js";
6
- import { StatusBadge as o } from "../components/StatusBadge.js";
7
- import { EmptyView as s, ErrorView as c } from "../components/StateViews.js";
5
+ import { formatDate as a, formatDateTime as o, formatMoney as ee } from "../utils/format.js";
6
+ import { StatusBadge as s } from "../components/StatusBadge.js";
7
+ import { EmptyView as c, ErrorView as l } from "../components/StateViews.js";
8
+ import { notify as u } from "../lib/toast.js";
9
+ import { useHackathonQuery as te, useRegisterTeam as ne, useSubmitProject as re, useTeamsQuery as ie } from "../api/technospamApi.js";
8
10
  import "../components/index.js";
9
- import { notify as l } from "../lib/toast.js";
10
- import { useHackathonQuery as ne, useRegisterTeam as re, useSubmitProject as ie, useTeamsQuery as ae } from "../api/technospamApi.js";
11
- import { useState as u } from "react";
12
- import { Award as oe, CalendarClock as se, CalendarDays as d, Code2 as f, ExternalLink as p, Flag as m, Github as h, Send as g, Trophy as _, UserPlus as v, Users as y } from "lucide-react";
13
- import { useSearchParams as ce } from "react-router";
14
- import { jsx as b, jsxs as x } from "react/jsx-runtime";
15
- import { Badge as S, Button as C, GlassCard as w, Input as T, Select as E, SelectContent as D, SelectItem as O, SelectTrigger as le, SelectValue as ue, Skeleton as k, Textarea as de } from "@burdenoff/fe-libs/ui";
11
+ import { FOCUS_PARAMS as ae } from "../utils/pageContext.js";
12
+ import { focusableCardProps as d, useFocusedRecordParam as oe } from "../hooks/useFocusedRecordParam.js";
13
+ import { useState as f } from "react";
14
+ import { Award as se, CalendarClock as ce, CalendarDays as p, Code2 as m, ExternalLink as h, Flag as g, Github as _, Send as v, Trophy as y, UserPlus as b, Users as x } from "lucide-react";
15
+ import { useSearchParams as le } from "react-router";
16
+ import { jsx as S, jsxs as C } from "react/jsx-runtime";
17
+ import { Badge as w, Button as T, GlassCard as E, Input as D, Select as ue, SelectContent as de, SelectItem as fe, SelectTrigger as pe, SelectValue as me, Skeleton as O, Textarea as he } from "@burdenoff/fe-libs/ui";
16
18
  //#region src/technospam/pages/HackathonsHackathonDetailsPagePage.tsx
17
- function A({ icon: e, label: t }) {
18
- return /* @__PURE__ */ x("span", {
19
+ function k({ icon: e, label: t }) {
20
+ return /* @__PURE__ */ C("span", {
19
21
  className: "inline-flex items-center gap-1.5 rounded-lg bg-white/15 px-3 py-1.5 text-sm font-medium text-white ring-1 ring-white/25 backdrop-blur-sm",
20
22
  children: [
21
- /* @__PURE__ */ b(e, { size: 15 }),
23
+ /* @__PURE__ */ S(e, { size: 15 }),
22
24
  " ",
23
25
  t
24
26
  ]
25
27
  });
26
28
  }
27
- function fe({ team: e, isMine: n }) {
28
- let r = e.status === "WINNER";
29
- return /* @__PURE__ */ x(w, {
30
- className: "group flex flex-col gap-3 p-4 transition-all duration-200 hover:-translate-y-1 hover:shadow-lg",
29
+ function ge({ team: e, isMine: n, focused: r, onToggle: a }) {
30
+ let o = e.status === "WINNER";
31
+ return /* @__PURE__ */ C(E, {
32
+ className: t("group flex cursor-pointer flex-col gap-3 p-4 transition-all duration-200 hover:-translate-y-1 hover:shadow-lg", r && "ring-2 ring-accent-primary"),
33
+ ...d(r, a),
31
34
  children: [
32
- /* @__PURE__ */ x("div", {
35
+ /* @__PURE__ */ C("div", {
33
36
  className: "flex items-start justify-between gap-3",
34
- children: [/* @__PURE__ */ x("div", {
37
+ children: [/* @__PURE__ */ C("div", {
35
38
  className: "flex min-w-0 items-start gap-3",
36
- children: [/* @__PURE__ */ b("span", {
39
+ children: [/* @__PURE__ */ S("span", {
37
40
  className: t("flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-gradient-to-br text-white shadow-sm ring-1 ring-white/10 transition-transform duration-200 group-hover:scale-105", i(e.name)),
38
- children: b(r ? _ : f, { size: 19 })
39
- }), /* @__PURE__ */ x("div", {
41
+ children: S(o ? y : m, { size: 19 })
42
+ }), /* @__PURE__ */ C("div", {
40
43
  className: "min-w-0",
41
- children: [/* @__PURE__ */ x("div", {
44
+ children: [/* @__PURE__ */ C("div", {
42
45
  className: "flex flex-wrap items-center gap-2",
43
- children: [/* @__PURE__ */ b("span", {
44
- className: "truncate text-sm font-semibold text-text-primary",
46
+ children: [/* @__PURE__ */ S("button", {
47
+ type: "button",
48
+ "aria-pressed": r,
49
+ onClick: a,
50
+ className: "truncate text-left text-sm font-semibold text-text-primary hover:text-accent-primary",
45
51
  children: e.name
46
- }), n ? /* @__PURE__ */ b(S, {
52
+ }), n ? /* @__PURE__ */ S(w, {
47
53
  variant: "secondary",
48
54
  className: "text-[11px]",
49
55
  children: "Your team"
50
56
  }) : null]
51
- }), e.projectName ? /* @__PURE__ */ b("p", {
57
+ }), e.projectName ? /* @__PURE__ */ S("p", {
52
58
  className: "mt-0.5 truncate text-sm text-text-secondary",
53
59
  children: e.projectName
54
- }) : /* @__PURE__ */ b("p", {
60
+ }) : /* @__PURE__ */ S("p", {
55
61
  className: "mt-0.5 text-sm text-text-muted",
56
62
  children: "No project submitted yet"
57
63
  })]
58
64
  })]
59
- }), /* @__PURE__ */ b(o, { status: e.status })]
65
+ }), /* @__PURE__ */ S(s, { status: e.status })]
60
66
  }),
61
- e.pitch ? /* @__PURE__ */ b("p", {
67
+ e.pitch ? /* @__PURE__ */ S("p", {
62
68
  className: "line-clamp-3 text-sm text-text-secondary",
63
69
  children: e.pitch
64
70
  }) : null,
65
- /* @__PURE__ */ x("div", {
71
+ /* @__PURE__ */ C("div", {
66
72
  className: "mt-auto flex flex-wrap items-center gap-x-4 gap-y-1.5 text-xs text-text-muted",
67
- children: [/* @__PURE__ */ x("span", {
73
+ children: [/* @__PURE__ */ C("span", {
68
74
  className: "inline-flex items-center gap-1",
69
75
  children: [
70
- /* @__PURE__ */ b(y, { size: 13 }),
76
+ /* @__PURE__ */ S(x, { size: 13 }),
71
77
  " ",
72
78
  e.memberIds.length,
73
79
  " member",
74
80
  e.memberIds.length === 1 ? "" : "s"
75
81
  ]
76
- }), /* @__PURE__ */ x("span", {
82
+ }), /* @__PURE__ */ C("span", {
77
83
  className: "inline-flex items-center gap-1",
78
84
  children: [
79
- /* @__PURE__ */ b(m, { size: 13 }),
85
+ /* @__PURE__ */ S(g, { size: 13 }),
80
86
  " Score ",
81
87
  e.score
82
88
  ]
83
89
  })]
84
90
  }),
85
- e.repoUrl || e.projectUrl ? /* @__PURE__ */ x("div", {
91
+ e.repoUrl || e.projectUrl ? /* @__PURE__ */ C("div", {
86
92
  className: "flex flex-wrap items-center gap-3 border-t border-border-seam pt-3",
87
- children: [e.repoUrl ? /* @__PURE__ */ x("a", {
93
+ children: [e.repoUrl ? /* @__PURE__ */ C("a", {
88
94
  href: e.repoUrl,
89
95
  target: "_blank",
90
96
  rel: "noreferrer",
91
97
  className: "inline-flex items-center gap-1 text-xs font-medium text-accent-primary hover:underline",
92
- children: [/* @__PURE__ */ b(h, { size: 13 }), " Repository"]
93
- }) : null, e.projectUrl ? /* @__PURE__ */ x("a", {
98
+ children: [/* @__PURE__ */ S(_, { size: 13 }), " Repository"]
99
+ }) : null, e.projectUrl ? /* @__PURE__ */ C("a", {
94
100
  href: e.projectUrl,
95
101
  target: "_blank",
96
102
  rel: "noreferrer",
97
103
  className: "inline-flex items-center gap-1 text-xs font-medium text-accent-primary hover:underline",
98
- children: [/* @__PURE__ */ b(p, { size: 13 }), " Live project"]
104
+ children: [/* @__PURE__ */ S(h, { size: 13 }), " Live project"]
99
105
  }) : null]
100
106
  }) : null
101
107
  ]
102
108
  });
103
109
  }
104
- function j() {
105
- let [t] = ce(), i = t.get("id") ?? "", { currentUser: f } = e(), { data: p, loading: m, error: h, refetch: j } = ne(i), { data: pe, loading: me, error: M, refetch: N } = ae(i), [he, { loading: P }] = re(), [F, { loading: I }] = ie(), [L, R] = u(""), [z, B] = u(""), [ge, _e] = u(""), [V, H] = u(""), [U, W] = u(""), [G, K] = u(""), [q, J] = u(""), Y = p?.tecHackathon ?? null, X = pe?.tecListTeams?.items ?? [], Z = Y?.status === "REGISTRATION_OPEN", Q = f?.id ? X.filter((e) => e.captainId === f.id) : [], $ = ge || Q[0]?.id || "";
106
- return m && !Y ? /* @__PURE__ */ x(n, {
110
+ function A() {
111
+ let [t] = le(), i = t.get("id") ?? "", { currentUser: d } = e(), [m, h] = oe(ae.team), { data: g, loading: _, error: A, refetch: j } = te(i), { data: _e, loading: M, error: N, refetch: P } = ie(i), [ve, { loading: F }] = ne(), [ye, { loading: I }] = re(), [L, R] = f(""), [z, B] = f(""), [be, xe] = f(""), [V, H] = f(""), [U, W] = f(""), [G, K] = f(""), [q, J] = f(""), Y = g?.tecHackathon ?? null, X = _e?.tecListTeams?.items ?? [], Z = Y?.status === "REGISTRATION_OPEN", Q = d?.id ? X.filter((e) => e.captainId === d.id) : [], $ = be || Q[0]?.id || "";
112
+ return _ && !Y ? /* @__PURE__ */ C(n, {
107
113
  title: "Hackathon",
108
114
  backPath: "/hackathons/hackathons-page",
109
- children: [/* @__PURE__ */ b(k, { className: "mb-4 h-32 w-full rounded-xl" }), /* @__PURE__ */ b(k, { className: "h-64 w-full rounded-xl" })]
110
- }) : h || !Y ? /* @__PURE__ */ b(n, {
115
+ children: [/* @__PURE__ */ S(O, { className: "mb-4 h-32 w-full rounded-xl" }), /* @__PURE__ */ S(O, { className: "h-64 w-full rounded-xl" })]
116
+ }) : A || !Y ? /* @__PURE__ */ S(n, {
111
117
  title: "Hackathon",
112
118
  backPath: "/hackathons/hackathons-page",
113
- children: h ? /* @__PURE__ */ b(c, {
119
+ children: A ? /* @__PURE__ */ S(l, {
114
120
  title: "Couldn't load hackathon",
115
- error: h
116
- }) : /* @__PURE__ */ b(s, {
121
+ error: A
122
+ }) : /* @__PURE__ */ S(c, {
117
123
  title: "Hackathon not found",
118
124
  description: "This hackathon may no longer be listed."
119
125
  })
120
- }) : /* @__PURE__ */ x(n, {
126
+ }) : /* @__PURE__ */ C(n, {
121
127
  backPath: "/hackathons/hackathons-page",
122
128
  title: Y.title,
123
129
  description: Y.theme ?? void 0,
124
130
  children: [
125
- /* @__PURE__ */ b(r, {
131
+ /* @__PURE__ */ S(r, {
126
132
  height: "h-40",
127
133
  seed: Y.theme ?? Y.id,
128
- icon: _,
134
+ icon: y,
129
135
  className: "mb-6 rounded-xl",
130
- children: /* @__PURE__ */ x("div", {
136
+ children: /* @__PURE__ */ C("div", {
131
137
  className: "flex w-full flex-col gap-3",
132
- children: [/* @__PURE__ */ x("div", {
138
+ children: [/* @__PURE__ */ C("div", {
133
139
  className: "flex flex-wrap items-center gap-2",
134
- children: [/* @__PURE__ */ b(o, { status: Y.status }), Y.tags.map((e) => /* @__PURE__ */ b(S, {
140
+ children: [/* @__PURE__ */ S(s, { status: Y.status }), Y.tags.map((e) => /* @__PURE__ */ S(w, {
135
141
  variant: "secondary",
136
142
  className: "border-white/20 bg-white/15 text-[11px] text-white",
137
143
  children: e
138
144
  }, e))]
139
- }), /* @__PURE__ */ x("div", {
145
+ }), /* @__PURE__ */ C("div", {
140
146
  className: "flex flex-wrap items-center gap-2",
141
147
  children: [
142
- /* @__PURE__ */ b(A, {
143
- icon: oe,
144
- label: `${te(Y.prizePool, Y.currency)} prize pool`
148
+ /* @__PURE__ */ S(k, {
149
+ icon: se,
150
+ label: `${ee(Y.prizePool, Y.currency)} prize pool`
145
151
  }),
146
- /* @__PURE__ */ b(A, {
147
- icon: d,
152
+ /* @__PURE__ */ S(k, {
153
+ icon: p,
148
154
  label: `${a(Y.startAt)} – ${a(Y.endAt)}`
149
155
  }),
150
- /* @__PURE__ */ b(A, {
151
- icon: y,
156
+ /* @__PURE__ */ S(k, {
157
+ icon: x,
152
158
  label: `Team of ${Y.maxTeamSize}`
153
159
  }),
154
- /* @__PURE__ */ b(A, {
155
- icon: _,
160
+ /* @__PURE__ */ S(k, {
161
+ icon: y,
156
162
  label: `${X.length} team${X.length === 1 ? "" : "s"} registered`
157
163
  })
158
164
  ]
159
165
  })]
160
166
  })
161
167
  }),
162
- Y.description ? /* @__PURE__ */ x(w, {
168
+ Y.description ? /* @__PURE__ */ C(E, {
163
169
  className: "mb-6 p-5",
164
- children: [/* @__PURE__ */ b("h2", {
170
+ children: [/* @__PURE__ */ S("h2", {
165
171
  className: "mb-2 text-base font-semibold text-text-primary",
166
172
  children: "About"
167
- }), /* @__PURE__ */ b("p", {
173
+ }), /* @__PURE__ */ S("p", {
168
174
  className: "whitespace-pre-line text-sm text-text-secondary",
169
175
  children: Y.description
170
176
  })]
171
177
  }) : null,
172
- /* @__PURE__ */ x(w, {
178
+ /* @__PURE__ */ C(E, {
173
179
  className: "mb-6 p-5",
174
- children: [/* @__PURE__ */ b("h2", {
180
+ children: [/* @__PURE__ */ S("h2", {
175
181
  className: "mb-3 text-base font-semibold text-text-primary",
176
182
  children: "Schedule"
177
- }), /* @__PURE__ */ x("div", {
183
+ }), /* @__PURE__ */ C("div", {
178
184
  className: "grid grid-cols-1 gap-3 sm:grid-cols-3",
179
185
  children: [
180
- /* @__PURE__ */ x("div", {
186
+ /* @__PURE__ */ C("div", {
181
187
  className: "flex items-center gap-2 rounded-lg border border-border-seam bg-bg-sunken p-3",
182
- children: [/* @__PURE__ */ b(d, {
188
+ children: [/* @__PURE__ */ S(p, {
183
189
  size: 16,
184
190
  className: "text-accent-teal"
185
- }), /* @__PURE__ */ x("div", {
191
+ }), /* @__PURE__ */ C("div", {
186
192
  className: "min-w-0",
187
- children: [/* @__PURE__ */ b("div", {
193
+ children: [/* @__PURE__ */ S("div", {
188
194
  className: "text-xs text-text-muted",
189
195
  children: "Starts"
190
- }), /* @__PURE__ */ b("div", {
196
+ }), /* @__PURE__ */ S("div", {
191
197
  className: "truncate text-sm font-medium text-text-primary",
192
198
  children: a(Y.startAt)
193
199
  })]
194
200
  })]
195
201
  }),
196
- /* @__PURE__ */ x("div", {
202
+ /* @__PURE__ */ C("div", {
197
203
  className: "flex items-center gap-2 rounded-lg border border-border-seam bg-bg-sunken p-3",
198
- children: [/* @__PURE__ */ b(d, {
204
+ children: [/* @__PURE__ */ S(p, {
199
205
  size: 16,
200
206
  className: "text-accent-teal"
201
- }), /* @__PURE__ */ x("div", {
207
+ }), /* @__PURE__ */ C("div", {
202
208
  className: "min-w-0",
203
- children: [/* @__PURE__ */ b("div", {
209
+ children: [/* @__PURE__ */ S("div", {
204
210
  className: "text-xs text-text-muted",
205
211
  children: "Ends"
206
- }), /* @__PURE__ */ b("div", {
212
+ }), /* @__PURE__ */ S("div", {
207
213
  className: "truncate text-sm font-medium text-text-primary",
208
214
  children: a(Y.endAt)
209
215
  })]
210
216
  })]
211
217
  }),
212
- /* @__PURE__ */ x("div", {
218
+ /* @__PURE__ */ C("div", {
213
219
  className: "flex items-center gap-2 rounded-lg border border-border-seam bg-bg-sunken p-3",
214
- children: [/* @__PURE__ */ b(se, {
220
+ children: [/* @__PURE__ */ S(ce, {
215
221
  size: 16,
216
222
  className: "text-accent-teal"
217
- }), /* @__PURE__ */ x("div", {
223
+ }), /* @__PURE__ */ C("div", {
218
224
  className: "min-w-0",
219
- children: [/* @__PURE__ */ b("div", {
225
+ children: [/* @__PURE__ */ S("div", {
220
226
  className: "text-xs text-text-muted",
221
227
  children: "Submission deadline"
222
- }), /* @__PURE__ */ b("div", {
228
+ }), /* @__PURE__ */ S("div", {
223
229
  className: "truncate text-sm font-medium text-text-primary",
224
- children: ee(Y.submissionDeadline)
230
+ children: o(Y.submissionDeadline)
225
231
  })]
226
232
  })]
227
233
  })
228
234
  ]
229
235
  })]
230
236
  }),
231
- Z ? /* @__PURE__ */ x(w, {
237
+ Z ? /* @__PURE__ */ C(E, {
232
238
  className: "mb-6 p-5",
233
239
  children: [
234
- /* @__PURE__ */ x("div", {
240
+ /* @__PURE__ */ C("div", {
235
241
  className: "mb-3 flex items-center gap-3",
236
- children: [/* @__PURE__ */ b("span", {
242
+ children: [/* @__PURE__ */ S("span", {
237
243
  className: "flex h-9 w-9 items-center justify-center rounded-xl bg-accent-primary/15 text-accent-primary ring-1 ring-accent-primary/20",
238
- children: /* @__PURE__ */ b(v, { size: 18 })
239
- }), /* @__PURE__ */ b("h2", {
244
+ children: /* @__PURE__ */ S(b, { size: 18 })
245
+ }), /* @__PURE__ */ S("h2", {
240
246
  className: "text-base font-semibold text-text-primary",
241
247
  children: "Register a team"
242
248
  })]
243
249
  }),
244
- /* @__PURE__ */ x("p", {
250
+ /* @__PURE__ */ C("p", {
245
251
  className: "mb-4 text-sm text-text-secondary",
246
252
  children: [
247
253
  "You'll be the team captain. Add teammates by their user id (optional) — teams can be up to ",
@@ -249,132 +255,132 @@ function j() {
249
255
  " members."
250
256
  ]
251
257
  }),
252
- /* @__PURE__ */ x("div", {
258
+ /* @__PURE__ */ C("div", {
253
259
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
254
- children: [/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
260
+ children: [/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("label", {
255
261
  className: "mb-1.5 block text-sm font-medium text-text-secondary",
256
262
  children: "Team name"
257
- }), /* @__PURE__ */ b(T, {
263
+ }), /* @__PURE__ */ S(D, {
258
264
  placeholder: "e.g. Byte Builders",
259
265
  value: L,
260
266
  onChange: (e) => R(e.target.value)
261
- })] }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("label", {
267
+ })] }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("label", {
262
268
  className: "mb-1.5 block text-sm font-medium text-text-secondary",
263
269
  children: [
264
270
  "Teammate user ids",
265
271
  " ",
266
- /* @__PURE__ */ b("span", {
272
+ /* @__PURE__ */ S("span", {
267
273
  className: "text-text-muted",
268
274
  children: "(optional, comma-separated)"
269
275
  })
270
276
  ]
271
- }), /* @__PURE__ */ b(T, {
277
+ }), /* @__PURE__ */ S(D, {
272
278
  placeholder: "user-id-1, user-id-2",
273
279
  value: z,
274
280
  onChange: (e) => B(e.target.value)
275
281
  })] })]
276
282
  }),
277
- /* @__PURE__ */ b("div", {
283
+ /* @__PURE__ */ S("div", {
278
284
  className: "mt-4 flex justify-end",
279
- children: /* @__PURE__ */ x(C, {
285
+ children: /* @__PURE__ */ C(T, {
280
286
  onClick: async () => {
281
287
  if (!i || !L.trim()) return;
282
288
  let e = z.split(",").map((e) => e.trim()).filter(Boolean);
283
- (await he({ variables: { input: {
289
+ (await ve({ variables: { input: {
284
290
  hackathonId: i,
285
291
  name: L.trim(),
286
292
  memberIds: e
287
- } } })).data?.tecRegisterTeam && (l.success("Team registered", `"${L.trim()}" is in the running.`), R(""), B(""), await Promise.all([N(), j()]));
293
+ } } })).data?.tecRegisterTeam && (u.success("Team registered", `"${L.trim()}" is in the running.`), R(""), B(""), await Promise.all([P(), j()]));
288
294
  },
289
- disabled: P || !L.trim(),
295
+ disabled: F || !L.trim(),
290
296
  children: [
291
- /* @__PURE__ */ b(v, { size: 16 }),
297
+ /* @__PURE__ */ S(b, { size: 16 }),
292
298
  " ",
293
- P ? "Registering…" : "Register team"
299
+ F ? "Registering…" : "Register team"
294
300
  ]
295
301
  })
296
302
  })
297
303
  ]
298
304
  }) : null,
299
- Q.length > 0 ? /* @__PURE__ */ x(w, {
305
+ Q.length > 0 ? /* @__PURE__ */ C(E, {
300
306
  className: "mb-6 p-5",
301
307
  children: [
302
- /* @__PURE__ */ x("div", {
308
+ /* @__PURE__ */ C("div", {
303
309
  className: "mb-3 flex items-center gap-3",
304
- children: [/* @__PURE__ */ b("span", {
310
+ children: [/* @__PURE__ */ S("span", {
305
311
  className: "flex h-9 w-9 items-center justify-center rounded-xl bg-accent-teal/15 text-accent-teal ring-1 ring-accent-teal/20",
306
- children: /* @__PURE__ */ b(g, { size: 18 })
307
- }), /* @__PURE__ */ b("h2", {
312
+ children: /* @__PURE__ */ S(v, { size: 18 })
313
+ }), /* @__PURE__ */ S("h2", {
308
314
  className: "text-base font-semibold text-text-primary",
309
315
  children: "Submit your project"
310
316
  })]
311
317
  }),
312
- /* @__PURE__ */ x("div", {
318
+ /* @__PURE__ */ C("div", {
313
319
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
314
320
  children: [
315
- Q.length > 1 ? /* @__PURE__ */ x("div", {
321
+ Q.length > 1 ? /* @__PURE__ */ C("div", {
316
322
  className: "sm:col-span-2",
317
- children: [/* @__PURE__ */ b("label", {
323
+ children: [/* @__PURE__ */ S("label", {
318
324
  className: "mb-1.5 block text-sm font-medium text-text-secondary",
319
325
  children: "Team"
320
- }), /* @__PURE__ */ x(E, {
326
+ }), /* @__PURE__ */ C(ue, {
321
327
  value: $,
322
- onValueChange: _e,
323
- children: [/* @__PURE__ */ b(le, { children: /* @__PURE__ */ b(ue, { placeholder: "Choose a team" }) }), /* @__PURE__ */ b(D, { children: Q.map((e) => /* @__PURE__ */ b(O, {
328
+ onValueChange: xe,
329
+ children: [/* @__PURE__ */ S(pe, { children: /* @__PURE__ */ S(me, { placeholder: "Choose a team" }) }), /* @__PURE__ */ S(de, { children: Q.map((e) => /* @__PURE__ */ S(fe, {
324
330
  value: e.id,
325
331
  children: e.name
326
332
  }, e.id)) })]
327
333
  })]
328
- }) : /* @__PURE__ */ x("div", {
334
+ }) : /* @__PURE__ */ C("div", {
329
335
  className: "sm:col-span-2 text-sm text-text-secondary",
330
336
  children: [
331
337
  "Submitting for",
332
338
  " ",
333
- /* @__PURE__ */ b("span", {
339
+ /* @__PURE__ */ S("span", {
334
340
  className: "font-medium text-text-primary",
335
341
  children: Q[0]?.name
336
342
  })
337
343
  ]
338
344
  }),
339
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
345
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("label", {
340
346
  className: "mb-1.5 block text-sm font-medium text-text-secondary",
341
347
  children: "Project name"
342
- }), /* @__PURE__ */ b(T, {
348
+ }), /* @__PURE__ */ S(D, {
343
349
  placeholder: "e.g. RealtimeCanvas",
344
350
  value: V,
345
351
  onChange: (e) => H(e.target.value)
346
352
  })] }),
347
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("label", {
353
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("label", {
348
354
  className: "mb-1.5 block text-sm font-medium text-text-secondary",
349
- children: ["Live project URL ", /* @__PURE__ */ b("span", {
355
+ children: ["Live project URL ", /* @__PURE__ */ S("span", {
350
356
  className: "text-text-muted",
351
357
  children: "(optional)"
352
358
  })]
353
- }), /* @__PURE__ */ b(T, {
359
+ }), /* @__PURE__ */ S(D, {
354
360
  placeholder: "https://…",
355
361
  value: U,
356
362
  onChange: (e) => W(e.target.value)
357
363
  })] }),
358
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("label", {
364
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("label", {
359
365
  className: "mb-1.5 block text-sm font-medium text-text-secondary",
360
- children: ["Repository URL ", /* @__PURE__ */ b("span", {
366
+ children: ["Repository URL ", /* @__PURE__ */ S("span", {
361
367
  className: "text-text-muted",
362
368
  children: "(optional)"
363
369
  })]
364
- }), /* @__PURE__ */ b(T, {
370
+ }), /* @__PURE__ */ S(D, {
365
371
  placeholder: "https://github.com/…",
366
372
  value: G,
367
373
  onChange: (e) => K(e.target.value)
368
374
  })] }),
369
- /* @__PURE__ */ x("div", {
375
+ /* @__PURE__ */ C("div", {
370
376
  className: "sm:col-span-2",
371
- children: [/* @__PURE__ */ x("label", {
377
+ children: [/* @__PURE__ */ C("label", {
372
378
  className: "mb-1.5 block text-sm font-medium text-text-secondary",
373
- children: ["Pitch ", /* @__PURE__ */ b("span", {
379
+ children: ["Pitch ", /* @__PURE__ */ S("span", {
374
380
  className: "text-text-muted",
375
381
  children: "(optional)"
376
382
  })]
377
- }), /* @__PURE__ */ b(de, {
383
+ }), /* @__PURE__ */ S(he, {
378
384
  rows: 3,
379
385
  placeholder: "What did you build, and why does it matter?",
380
386
  value: q,
@@ -383,21 +389,21 @@ function j() {
383
389
  })
384
390
  ]
385
391
  }),
386
- /* @__PURE__ */ b("div", {
392
+ /* @__PURE__ */ S("div", {
387
393
  className: "mt-4 flex justify-end",
388
- children: /* @__PURE__ */ x(C, {
394
+ children: /* @__PURE__ */ C(T, {
389
395
  onClick: async () => {
390
- !$ || !V.trim() || (await F({ variables: { input: {
396
+ !$ || !V.trim() || (await ye({ variables: { input: {
391
397
  teamId: $,
392
398
  projectName: V.trim(),
393
399
  projectUrl: U.trim() || void 0,
394
400
  repoUrl: G.trim() || void 0,
395
401
  pitch: q.trim() || void 0
396
- } } })).data?.tecSubmitProject && (l.success("Project submitted", `"${V.trim()}" is submitted for judging.`), H(""), W(""), K(""), J(""), await Promise.all([N(), j()]));
402
+ } } })).data?.tecSubmitProject && (u.success("Project submitted", `"${V.trim()}" is submitted for judging.`), H(""), W(""), K(""), J(""), await Promise.all([P(), j()]));
397
403
  },
398
404
  disabled: I || !$ || !V.trim(),
399
405
  children: [
400
- /* @__PURE__ */ b(g, { size: 16 }),
406
+ /* @__PURE__ */ S(v, { size: 16 }),
401
407
  " ",
402
408
  I ? "Submitting…" : "Submit project"
403
409
  ]
@@ -405,9 +411,9 @@ function j() {
405
411
  })
406
412
  ]
407
413
  }) : null,
408
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("h2", {
414
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("h2", {
409
415
  className: "mb-3 text-base font-semibold text-text-primary",
410
- children: ["Teams ", X.length ? /* @__PURE__ */ x("span", {
416
+ children: ["Teams ", X.length ? /* @__PURE__ */ C("span", {
411
417
  className: "text-text-muted",
412
418
  children: [
413
419
  "(",
@@ -415,27 +421,29 @@ function j() {
415
421
  ")"
416
422
  ]
417
423
  }) : null]
418
- }), me && !X.length ? /* @__PURE__ */ x("div", {
424
+ }), M && !X.length ? /* @__PURE__ */ C("div", {
419
425
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
420
- children: [/* @__PURE__ */ b(k, { className: "h-40 w-full rounded-xl" }), /* @__PURE__ */ b(k, { className: "h-40 w-full rounded-xl" })]
421
- }) : M ? /* @__PURE__ */ b(c, {
426
+ children: [/* @__PURE__ */ S(O, { className: "h-40 w-full rounded-xl" }), /* @__PURE__ */ S(O, { className: "h-40 w-full rounded-xl" })]
427
+ }) : N ? /* @__PURE__ */ S(l, {
422
428
  title: "Couldn't load teams",
423
- error: M
424
- }) : X.length === 0 ? /* @__PURE__ */ b(s, {
425
- icon: /* @__PURE__ */ b(y, { size: 26 }),
429
+ error: N
430
+ }) : X.length === 0 ? /* @__PURE__ */ S(c, {
431
+ icon: /* @__PURE__ */ S(x, { size: 26 }),
426
432
  title: "No teams registered yet",
427
433
  description: Z ? "Be the first to register a team above." : "Teams will appear here once registration opens."
428
- }) : /* @__PURE__ */ b("div", {
434
+ }) : /* @__PURE__ */ S("div", {
429
435
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
430
- children: X.map((e) => /* @__PURE__ */ b(fe, {
436
+ children: X.map((e) => /* @__PURE__ */ S(ge, {
431
437
  team: e,
432
- isMine: !!f?.id && e.captainId === f.id
438
+ isMine: !!d?.id && e.captainId === d.id,
439
+ focused: m === e.id,
440
+ onToggle: () => h(m === e.id ? null : e.id)
433
441
  }, e.id))
434
442
  })] })
435
443
  ]
436
444
  });
437
445
  }
438
446
  //#endregion
439
- export { j as HackathonsHackathonDetailsPagePage };
447
+ export { A as HackathonsHackathonDetailsPagePage };
440
448
 
441
449
  //# sourceMappingURL=HackathonsHackathonDetailsPagePage.js.map