@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.
- package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -1
- package/dist/node_modules/sonner/dist/index.js.map +1 -1
- package/dist/technospam/api/technospamApi.d.ts +28 -0
- package/dist/technospam/api/technospamApi.d.ts.map +1 -1
- package/dist/technospam/api/technospamApi.js +193 -153
- package/dist/technospam/api/technospamApi.js.map +1 -1
- package/dist/technospam/components/SubmissionReviewPanel.d.ts +15 -0
- package/dist/technospam/components/SubmissionReviewPanel.d.ts.map +1 -0
- package/dist/technospam/components/SubmissionReviewPanel.js +85 -0
- package/dist/technospam/components/SubmissionReviewPanel.js.map +1 -0
- package/dist/technospam/components/index.d.ts +1 -0
- package/dist/technospam/components/index.d.ts.map +1 -1
- package/dist/technospam/components/index.js +1 -0
- package/dist/technospam/hooks/useFocusedRecordParam.d.ts +41 -0
- package/dist/technospam/hooks/useFocusedRecordParam.d.ts.map +1 -0
- package/dist/technospam/hooks/useFocusedRecordParam.js +41 -0
- package/dist/technospam/hooks/useFocusedRecordParam.js.map +1 -0
- package/dist/technospam/pages/AdminAdminDashboardPagePage.js +1 -1
- package/dist/technospam/pages/AnalyticsAnalyticsPagePage.js +1 -1
- package/dist/technospam/pages/ApplicationsPortfolioPagePage.js +1 -1
- package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.js +190 -165
- package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.js.map +1 -1
- package/dist/technospam/pages/ApplicationsProblemsPagePage.js +1 -1
- package/dist/technospam/pages/CoursesCourseDetailsPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/CoursesCourseDetailsPagePage.js +92 -88
- package/dist/technospam/pages/CoursesCourseDetailsPagePage.js.map +1 -1
- package/dist/technospam/pages/CoursesCoursesPagePage.js +1 -1
- package/dist/technospam/pages/CoursesMyLearningPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/CoursesMyLearningPagePage.js +90 -80
- package/dist/technospam/pages/CoursesMyLearningPagePage.js.map +1 -1
- package/dist/technospam/pages/DashboardDashboardPagePage.js +1 -1
- package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.js +155 -147
- package/dist/technospam/pages/HackathonsHackathonDetailsPagePage.js.map +1 -1
- package/dist/technospam/pages/HackathonsHackathonsPagePage.js +1 -1
- package/dist/technospam/pages/MentorshipMentorProfilePagePage.js +1 -1
- package/dist/technospam/pages/MentorshipMentorsPagePage.js +1 -1
- package/dist/technospam/pages/MentorshipSessionsPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/MentorshipSessionsPagePage.js +186 -167
- package/dist/technospam/pages/MentorshipSessionsPagePage.js.map +1 -1
- package/dist/technospam/pages/StudyPlannerStudyPlannerPagePage.js +1 -1
- package/dist/technospam/utils/pageContext.d.ts +54 -5
- package/dist/technospam/utils/pageContext.d.ts.map +1 -1
- package/dist/technospam/utils/pageContext.js +99 -35
- package/dist/technospam/utils/pageContext.js.map +1 -1
- 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
|
|
6
|
-
import { StatusBadge as
|
|
7
|
-
import { EmptyView as
|
|
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 {
|
|
10
|
-
import {
|
|
11
|
-
import { useState as
|
|
12
|
-
import { Award as
|
|
13
|
-
import { useSearchParams as
|
|
14
|
-
import { jsx as
|
|
15
|
-
import { Badge as
|
|
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
|
|
18
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
23
|
+
/* @__PURE__ */ S(e, { size: 15 }),
|
|
22
24
|
" ",
|
|
23
25
|
t
|
|
24
26
|
]
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
|
-
function
|
|
28
|
-
let
|
|
29
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
35
|
+
/* @__PURE__ */ C("div", {
|
|
33
36
|
className: "flex items-start justify-between gap-3",
|
|
34
|
-
children: [/* @__PURE__ */
|
|
37
|
+
children: [/* @__PURE__ */ C("div", {
|
|
35
38
|
className: "flex min-w-0 items-start gap-3",
|
|
36
|
-
children: [/* @__PURE__ */
|
|
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:
|
|
39
|
-
}), /* @__PURE__ */
|
|
41
|
+
children: S(o ? y : m, { size: 19 })
|
|
42
|
+
}), /* @__PURE__ */ C("div", {
|
|
40
43
|
className: "min-w-0",
|
|
41
|
-
children: [/* @__PURE__ */
|
|
44
|
+
children: [/* @__PURE__ */ C("div", {
|
|
42
45
|
className: "flex flex-wrap items-center gap-2",
|
|
43
|
-
children: [/* @__PURE__ */
|
|
44
|
-
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
65
|
+
}), /* @__PURE__ */ S(s, { status: e.status })]
|
|
60
66
|
}),
|
|
61
|
-
e.pitch ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
73
|
+
children: [/* @__PURE__ */ C("span", {
|
|
68
74
|
className: "inline-flex items-center gap-1",
|
|
69
75
|
children: [
|
|
70
|
-
/* @__PURE__ */
|
|
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__ */
|
|
82
|
+
}), /* @__PURE__ */ C("span", {
|
|
77
83
|
className: "inline-flex items-center gap-1",
|
|
78
84
|
children: [
|
|
79
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
93
|
-
}) : null, e.projectUrl ? /* @__PURE__ */
|
|
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__ */
|
|
104
|
+
children: [/* @__PURE__ */ S(h, { size: 13 }), " Live project"]
|
|
99
105
|
}) : null]
|
|
100
106
|
}) : null
|
|
101
107
|
]
|
|
102
108
|
});
|
|
103
109
|
}
|
|
104
|
-
function
|
|
105
|
-
let [t] =
|
|
106
|
-
return
|
|
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__ */
|
|
110
|
-
}) :
|
|
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:
|
|
119
|
+
children: A ? /* @__PURE__ */ S(l, {
|
|
114
120
|
title: "Couldn't load hackathon",
|
|
115
|
-
error:
|
|
116
|
-
}) : /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
136
|
+
children: /* @__PURE__ */ C("div", {
|
|
131
137
|
className: "flex w-full flex-col gap-3",
|
|
132
|
-
children: [/* @__PURE__ */
|
|
138
|
+
children: [/* @__PURE__ */ C("div", {
|
|
133
139
|
className: "flex flex-wrap items-center gap-2",
|
|
134
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
145
|
+
}), /* @__PURE__ */ C("div", {
|
|
140
146
|
className: "flex flex-wrap items-center gap-2",
|
|
141
147
|
children: [
|
|
142
|
-
/* @__PURE__ */
|
|
143
|
-
icon:
|
|
144
|
-
label: `${
|
|
148
|
+
/* @__PURE__ */ S(k, {
|
|
149
|
+
icon: se,
|
|
150
|
+
label: `${ee(Y.prizePool, Y.currency)} prize pool`
|
|
145
151
|
}),
|
|
146
|
-
/* @__PURE__ */
|
|
147
|
-
icon:
|
|
152
|
+
/* @__PURE__ */ S(k, {
|
|
153
|
+
icon: p,
|
|
148
154
|
label: `${a(Y.startAt)} – ${a(Y.endAt)}`
|
|
149
155
|
}),
|
|
150
|
-
/* @__PURE__ */
|
|
151
|
-
icon:
|
|
156
|
+
/* @__PURE__ */ S(k, {
|
|
157
|
+
icon: x,
|
|
152
158
|
label: `Team of ${Y.maxTeamSize}`
|
|
153
159
|
}),
|
|
154
|
-
/* @__PURE__ */
|
|
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__ */
|
|
168
|
+
Y.description ? /* @__PURE__ */ C(E, {
|
|
163
169
|
className: "mb-6 p-5",
|
|
164
|
-
children: [/* @__PURE__ */
|
|
170
|
+
children: [/* @__PURE__ */ S("h2", {
|
|
165
171
|
className: "mb-2 text-base font-semibold text-text-primary",
|
|
166
172
|
children: "About"
|
|
167
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
178
|
+
/* @__PURE__ */ C(E, {
|
|
173
179
|
className: "mb-6 p-5",
|
|
174
|
-
children: [/* @__PURE__ */
|
|
180
|
+
children: [/* @__PURE__ */ S("h2", {
|
|
175
181
|
className: "mb-3 text-base font-semibold text-text-primary",
|
|
176
182
|
children: "Schedule"
|
|
177
|
-
}), /* @__PURE__ */
|
|
183
|
+
}), /* @__PURE__ */ C("div", {
|
|
178
184
|
className: "grid grid-cols-1 gap-3 sm:grid-cols-3",
|
|
179
185
|
children: [
|
|
180
|
-
/* @__PURE__ */
|
|
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__ */
|
|
188
|
+
children: [/* @__PURE__ */ S(p, {
|
|
183
189
|
size: 16,
|
|
184
190
|
className: "text-accent-teal"
|
|
185
|
-
}), /* @__PURE__ */
|
|
191
|
+
}), /* @__PURE__ */ C("div", {
|
|
186
192
|
className: "min-w-0",
|
|
187
|
-
children: [/* @__PURE__ */
|
|
193
|
+
children: [/* @__PURE__ */ S("div", {
|
|
188
194
|
className: "text-xs text-text-muted",
|
|
189
195
|
children: "Starts"
|
|
190
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
204
|
+
children: [/* @__PURE__ */ S(p, {
|
|
199
205
|
size: 16,
|
|
200
206
|
className: "text-accent-teal"
|
|
201
|
-
}), /* @__PURE__ */
|
|
207
|
+
}), /* @__PURE__ */ C("div", {
|
|
202
208
|
className: "min-w-0",
|
|
203
|
-
children: [/* @__PURE__ */
|
|
209
|
+
children: [/* @__PURE__ */ S("div", {
|
|
204
210
|
className: "text-xs text-text-muted",
|
|
205
211
|
children: "Ends"
|
|
206
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
220
|
+
children: [/* @__PURE__ */ S(ce, {
|
|
215
221
|
size: 16,
|
|
216
222
|
className: "text-accent-teal"
|
|
217
|
-
}), /* @__PURE__ */
|
|
223
|
+
}), /* @__PURE__ */ C("div", {
|
|
218
224
|
className: "min-w-0",
|
|
219
|
-
children: [/* @__PURE__ */
|
|
225
|
+
children: [/* @__PURE__ */ S("div", {
|
|
220
226
|
className: "text-xs text-text-muted",
|
|
221
227
|
children: "Submission deadline"
|
|
222
|
-
}), /* @__PURE__ */
|
|
228
|
+
}), /* @__PURE__ */ S("div", {
|
|
223
229
|
className: "truncate text-sm font-medium text-text-primary",
|
|
224
|
-
children:
|
|
230
|
+
children: o(Y.submissionDeadline)
|
|
225
231
|
})]
|
|
226
232
|
})]
|
|
227
233
|
})
|
|
228
234
|
]
|
|
229
235
|
})]
|
|
230
236
|
}),
|
|
231
|
-
Z ? /* @__PURE__ */
|
|
237
|
+
Z ? /* @__PURE__ */ C(E, {
|
|
232
238
|
className: "mb-6 p-5",
|
|
233
239
|
children: [
|
|
234
|
-
/* @__PURE__ */
|
|
240
|
+
/* @__PURE__ */ C("div", {
|
|
235
241
|
className: "mb-3 flex items-center gap-3",
|
|
236
|
-
children: [/* @__PURE__ */
|
|
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
|
|
239
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
258
|
+
/* @__PURE__ */ C("div", {
|
|
253
259
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
|
|
254
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
272
|
+
/* @__PURE__ */ S("span", {
|
|
267
273
|
className: "text-text-muted",
|
|
268
274
|
children: "(optional, comma-separated)"
|
|
269
275
|
})
|
|
270
276
|
]
|
|
271
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
283
|
+
/* @__PURE__ */ S("div", {
|
|
278
284
|
className: "mt-4 flex justify-end",
|
|
279
|
-
children: /* @__PURE__ */
|
|
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
|
|
289
|
+
(await ve({ variables: { input: {
|
|
284
290
|
hackathonId: i,
|
|
285
291
|
name: L.trim(),
|
|
286
292
|
memberIds: e
|
|
287
|
-
} } })).data?.tecRegisterTeam && (
|
|
293
|
+
} } })).data?.tecRegisterTeam && (u.success("Team registered", `"${L.trim()}" is in the running.`), R(""), B(""), await Promise.all([P(), j()]));
|
|
288
294
|
},
|
|
289
|
-
disabled:
|
|
295
|
+
disabled: F || !L.trim(),
|
|
290
296
|
children: [
|
|
291
|
-
/* @__PURE__ */ b
|
|
297
|
+
/* @__PURE__ */ S(b, { size: 16 }),
|
|
292
298
|
" ",
|
|
293
|
-
|
|
299
|
+
F ? "Registering…" : "Register team"
|
|
294
300
|
]
|
|
295
301
|
})
|
|
296
302
|
})
|
|
297
303
|
]
|
|
298
304
|
}) : null,
|
|
299
|
-
Q.length > 0 ? /* @__PURE__ */
|
|
305
|
+
Q.length > 0 ? /* @__PURE__ */ C(E, {
|
|
300
306
|
className: "mb-6 p-5",
|
|
301
307
|
children: [
|
|
302
|
-
/* @__PURE__ */
|
|
308
|
+
/* @__PURE__ */ C("div", {
|
|
303
309
|
className: "mb-3 flex items-center gap-3",
|
|
304
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
307
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
321
|
+
Q.length > 1 ? /* @__PURE__ */ C("div", {
|
|
316
322
|
className: "sm:col-span-2",
|
|
317
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
326
|
+
}), /* @__PURE__ */ C(ue, {
|
|
321
327
|
value: $,
|
|
322
|
-
onValueChange:
|
|
323
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
355
|
+
children: ["Live project URL ", /* @__PURE__ */ S("span", {
|
|
350
356
|
className: "text-text-muted",
|
|
351
357
|
children: "(optional)"
|
|
352
358
|
})]
|
|
353
|
-
}), /* @__PURE__ */
|
|
359
|
+
}), /* @__PURE__ */ S(D, {
|
|
354
360
|
placeholder: "https://…",
|
|
355
361
|
value: U,
|
|
356
362
|
onChange: (e) => W(e.target.value)
|
|
357
363
|
})] }),
|
|
358
|
-
/* @__PURE__ */
|
|
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__ */
|
|
366
|
+
children: ["Repository URL ", /* @__PURE__ */ S("span", {
|
|
361
367
|
className: "text-text-muted",
|
|
362
368
|
children: "(optional)"
|
|
363
369
|
})]
|
|
364
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
375
|
+
/* @__PURE__ */ C("div", {
|
|
370
376
|
className: "sm:col-span-2",
|
|
371
|
-
children: [/* @__PURE__ */
|
|
377
|
+
children: [/* @__PURE__ */ C("label", {
|
|
372
378
|
className: "mb-1.5 block text-sm font-medium text-text-secondary",
|
|
373
|
-
children: ["Pitch ", /* @__PURE__ */
|
|
379
|
+
children: ["Pitch ", /* @__PURE__ */ S("span", {
|
|
374
380
|
className: "text-text-muted",
|
|
375
381
|
children: "(optional)"
|
|
376
382
|
})]
|
|
377
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
392
|
+
/* @__PURE__ */ S("div", {
|
|
387
393
|
className: "mt-4 flex justify-end",
|
|
388
|
-
children: /* @__PURE__ */
|
|
394
|
+
children: /* @__PURE__ */ C(T, {
|
|
389
395
|
onClick: async () => {
|
|
390
|
-
!$ || !V.trim() || (await
|
|
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 && (
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
-
}),
|
|
424
|
+
}), M && !X.length ? /* @__PURE__ */ C("div", {
|
|
419
425
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
|
|
420
|
-
children: [/* @__PURE__ */
|
|
421
|
-
}) :
|
|
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:
|
|
424
|
-
}) : X.length === 0 ? /* @__PURE__ */
|
|
425
|
-
icon: /* @__PURE__ */
|
|
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__ */
|
|
434
|
+
}) : /* @__PURE__ */ S("div", {
|
|
429
435
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
|
|
430
|
-
children: X.map((e) => /* @__PURE__ */
|
|
436
|
+
children: X.map((e) => /* @__PURE__ */ S(ge, {
|
|
431
437
|
team: e,
|
|
432
|
-
isMine: !!
|
|
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 {
|
|
447
|
+
export { A as HackathonsHackathonDetailsPagePage };
|
|
440
448
|
|
|
441
449
|
//# sourceMappingURL=HackathonsHackathonDetailsPagePage.js.map
|