@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
|
@@ -1,44 +1,55 @@
|
|
|
1
1
|
import { useTechnoSpam as e, useTechnoSpamNavigate as t } from "../providers/TechnoSpamProvider.js";
|
|
2
2
|
import { useTechnoSpamAnalytics as n } from "../hooks/useTechnoSpamAnalytics.js";
|
|
3
3
|
import { useTr as r } from "../hooks/useTr.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
4
|
+
import { cn as i } from "../utils/cn.js";
|
|
5
|
+
import { PageLayout as a } from "../components/PageLayout.js";
|
|
6
|
+
import { StatCard as o } from "../components/StatCard.js";
|
|
7
|
+
import { formatDateTime as s, formatDuration as c } from "../utils/format.js";
|
|
8
|
+
import { StatusBadge as l } from "../components/StatusBadge.js";
|
|
9
|
+
import { EmptyView as u, ErrorView as d, LoadingRows as f } from "../components/StateViews.js";
|
|
10
|
+
import { notify as p } from "../lib/toast.js";
|
|
11
|
+
import { useCancelSession as m, useCompleteSession as h, useConfirmSession as g, useMentorsQuery as _, useSessionsQuery as v } from "../api/technospamApi.js";
|
|
9
12
|
import "../components/index.js";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { useState as
|
|
13
|
-
import { CalendarClock as
|
|
14
|
-
import { jsx as
|
|
15
|
-
import { Button as
|
|
13
|
+
import { FOCUS_PARAMS as y } from "../utils/pageContext.js";
|
|
14
|
+
import { focusableCardProps as b, useFocusedRecordParam as x } from "../hooks/useFocusedRecordParam.js";
|
|
15
|
+
import { useState as S } from "react";
|
|
16
|
+
import { CalendarClock as C, Check as w, CheckCircle2 as T, Clock as E, MessageSquare as D, Users as O, Video as k, X as A } from "lucide-react";
|
|
17
|
+
import { jsx as j, jsxs as M } from "react/jsx-runtime";
|
|
18
|
+
import { Button as N, GlassCard as P, Input as F, Tabs as I, TabsList as L, TabsTrigger as R } from "@burdenoff/fe-libs/ui";
|
|
16
19
|
//#region src/technospam/pages/MentorshipSessionsPagePage.tsx
|
|
17
|
-
var
|
|
18
|
-
function
|
|
19
|
-
let
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
var z = new Set(["REQUESTED", "CONFIRMED"]);
|
|
21
|
+
function B({ session: e, showMentor: t, isMentor: n, onCancel: r, onConfirm: a, onComplete: o, busy: u, focused: d, onFocusChange: f }) {
|
|
22
|
+
let p = () => f(e.id), m = () => f(d ? null : e.id), h = z.has(e.status), [g, _] = S("none"), [v, y] = S(""), [x, D] = S("5"), [O, I] = S(""), L = async () => {
|
|
23
|
+
await a(e.id, v.trim()), _("none"), y("");
|
|
24
|
+
}, R = async () => {
|
|
25
|
+
await o(e.id, Math.min(5, Math.max(1, Number(x) || 5)), O.trim()), _("none");
|
|
26
|
+
};
|
|
27
|
+
return /* @__PURE__ */ M(P, {
|
|
28
|
+
className: i("flex cursor-pointer flex-col gap-3 p-4 transition-all duration-200 hover:-translate-y-0.5 hover:shadow-md", d && "ring-2 ring-accent-primary"),
|
|
29
|
+
...b(d, m),
|
|
22
30
|
children: [
|
|
23
|
-
/* @__PURE__ */
|
|
31
|
+
/* @__PURE__ */ M("div", {
|
|
24
32
|
className: "flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",
|
|
25
|
-
children: [/* @__PURE__ */
|
|
33
|
+
children: [/* @__PURE__ */ M("div", {
|
|
26
34
|
className: "flex items-start gap-3",
|
|
27
|
-
children: [/* @__PURE__ */
|
|
35
|
+
children: [/* @__PURE__ */ j("span", {
|
|
28
36
|
className: "flex h-11 w-11 shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-accent-primary to-accent-purple text-white shadow-sm",
|
|
29
|
-
children: /* @__PURE__ */
|
|
30
|
-
}), /* @__PURE__ */
|
|
37
|
+
children: /* @__PURE__ */ j(k, { size: 18 })
|
|
38
|
+
}), /* @__PURE__ */ M("div", {
|
|
31
39
|
className: "min-w-0",
|
|
32
40
|
children: [
|
|
33
|
-
/* @__PURE__ */
|
|
41
|
+
/* @__PURE__ */ M("div", {
|
|
34
42
|
className: "flex flex-wrap items-center gap-2",
|
|
35
43
|
children: [
|
|
36
|
-
/* @__PURE__ */
|
|
37
|
-
|
|
44
|
+
/* @__PURE__ */ j("button", {
|
|
45
|
+
type: "button",
|
|
46
|
+
"aria-pressed": d,
|
|
47
|
+
onClick: m,
|
|
48
|
+
className: "truncate text-left text-sm font-semibold text-text-primary hover:text-accent-primary",
|
|
38
49
|
children: e.topic
|
|
39
50
|
}),
|
|
40
|
-
/* @__PURE__ */
|
|
41
|
-
e.rating ? /* @__PURE__ */
|
|
51
|
+
/* @__PURE__ */ j(l, { status: e.status }),
|
|
52
|
+
e.rating ? /* @__PURE__ */ M("span", {
|
|
42
53
|
className: "text-xs text-text-muted",
|
|
43
54
|
children: [
|
|
44
55
|
"★ ",
|
|
@@ -48,108 +59,110 @@ function I({ session: e, showMentor: t, isMentor: n, onCancel: r, onConfirm: i,
|
|
|
48
59
|
}) : null
|
|
49
60
|
]
|
|
50
61
|
}),
|
|
51
|
-
t && e.mentor?.headline ? /* @__PURE__ */
|
|
62
|
+
t && e.mentor?.headline ? /* @__PURE__ */ M("div", {
|
|
52
63
|
className: "mt-0.5 truncate text-xs text-text-secondary",
|
|
53
64
|
children: ["with ", e.mentor.headline]
|
|
54
65
|
}) : null,
|
|
55
|
-
/* @__PURE__ */
|
|
66
|
+
/* @__PURE__ */ M("div", {
|
|
56
67
|
className: "mt-1 flex flex-wrap items-center gap-3 text-xs text-text-muted",
|
|
57
|
-
children: [/* @__PURE__ */
|
|
68
|
+
children: [/* @__PURE__ */ M("span", {
|
|
58
69
|
className: "inline-flex items-center gap-1",
|
|
59
70
|
children: [
|
|
60
|
-
/* @__PURE__ */
|
|
71
|
+
/* @__PURE__ */ j(C, { size: 13 }),
|
|
61
72
|
" ",
|
|
62
|
-
|
|
73
|
+
s(e.scheduledAt)
|
|
63
74
|
]
|
|
64
|
-
}), /* @__PURE__ */
|
|
75
|
+
}), /* @__PURE__ */ M("span", {
|
|
65
76
|
className: "inline-flex items-center gap-1",
|
|
66
77
|
children: [
|
|
67
|
-
/* @__PURE__ */
|
|
78
|
+
/* @__PURE__ */ j(E, { size: 13 }),
|
|
68
79
|
" ",
|
|
69
|
-
|
|
80
|
+
c(e.durationMinutes)
|
|
70
81
|
]
|
|
71
82
|
})]
|
|
72
83
|
}),
|
|
73
|
-
e.agenda ? /* @__PURE__ */
|
|
84
|
+
e.agenda ? /* @__PURE__ */ j("p", {
|
|
74
85
|
className: "mt-1 line-clamp-2 text-xs text-text-secondary",
|
|
75
86
|
children: e.agenda
|
|
76
87
|
}) : null
|
|
77
88
|
]
|
|
78
89
|
})]
|
|
79
|
-
}), /* @__PURE__ */
|
|
90
|
+
}), /* @__PURE__ */ M("div", {
|
|
80
91
|
className: "flex shrink-0 flex-wrap items-center gap-2",
|
|
81
92
|
children: [
|
|
82
|
-
e.meetingUrl ? /* @__PURE__ */
|
|
93
|
+
e.meetingUrl ? /* @__PURE__ */ M(N, {
|
|
83
94
|
size: "sm",
|
|
84
95
|
onClick: () => window.open(e.meetingUrl ?? "", "_blank", "noopener,noreferrer"),
|
|
85
|
-
children: [/* @__PURE__ */
|
|
96
|
+
children: [/* @__PURE__ */ j(k, { size: 15 }), " Join"]
|
|
86
97
|
}) : null,
|
|
87
|
-
n && e.status === "REQUESTED" ? /* @__PURE__ */
|
|
98
|
+
n && e.status === "REQUESTED" ? /* @__PURE__ */ M(N, {
|
|
88
99
|
variant: "outline",
|
|
89
100
|
size: "sm",
|
|
90
|
-
onClick: () =>
|
|
91
|
-
|
|
101
|
+
onClick: () => {
|
|
102
|
+
p(), _(g === "confirm" ? "none" : "confirm");
|
|
103
|
+
},
|
|
104
|
+
children: [/* @__PURE__ */ j(w, { size: 15 }), " Confirm"]
|
|
92
105
|
}) : null,
|
|
93
|
-
n && e.status === "CONFIRMED" ? /* @__PURE__ */
|
|
106
|
+
n && e.status === "CONFIRMED" ? /* @__PURE__ */ M(N, {
|
|
94
107
|
variant: "outline",
|
|
95
108
|
size: "sm",
|
|
96
|
-
onClick: () =>
|
|
97
|
-
|
|
109
|
+
onClick: () => {
|
|
110
|
+
p(), _(g === "complete" ? "none" : "complete");
|
|
111
|
+
},
|
|
112
|
+
children: [/* @__PURE__ */ j(T, { size: 15 }), " Mark complete"]
|
|
98
113
|
}) : null,
|
|
99
|
-
|
|
114
|
+
h ? /* @__PURE__ */ M(N, {
|
|
100
115
|
variant: "ghost",
|
|
101
116
|
size: "sm",
|
|
102
|
-
onClick: () =>
|
|
103
|
-
|
|
104
|
-
|
|
117
|
+
onClick: () => {
|
|
118
|
+
p(), r(e.id);
|
|
119
|
+
},
|
|
120
|
+
disabled: u,
|
|
121
|
+
children: [/* @__PURE__ */ j(A, { size: 15 }), " Cancel"]
|
|
105
122
|
}) : null
|
|
106
123
|
]
|
|
107
124
|
})]
|
|
108
125
|
}),
|
|
109
|
-
|
|
126
|
+
g === "confirm" ? /* @__PURE__ */ M("div", {
|
|
110
127
|
className: "flex flex-col gap-2 rounded-lg border border-border-seam bg-bg-sunken p-3 sm:flex-row sm:items-center",
|
|
111
|
-
children: [/* @__PURE__ */
|
|
128
|
+
children: [/* @__PURE__ */ j(F, {
|
|
112
129
|
className: "flex-1",
|
|
113
130
|
placeholder: "Meeting link (e.g. https://meet.…)",
|
|
114
|
-
value:
|
|
115
|
-
onChange: (e) =>
|
|
116
|
-
}), /* @__PURE__ */
|
|
131
|
+
value: v,
|
|
132
|
+
onChange: (e) => y(e.target.value)
|
|
133
|
+
}), /* @__PURE__ */ j(N, {
|
|
117
134
|
size: "sm",
|
|
118
|
-
onClick:
|
|
119
|
-
|
|
120
|
-
},
|
|
121
|
-
disabled: l,
|
|
135
|
+
onClick: L,
|
|
136
|
+
disabled: u,
|
|
122
137
|
children: "Confirm session"
|
|
123
138
|
})]
|
|
124
139
|
}) : null,
|
|
125
|
-
|
|
140
|
+
g === "complete" ? /* @__PURE__ */ M("div", {
|
|
126
141
|
className: "flex flex-col gap-2 rounded-lg border border-border-seam bg-bg-sunken p-3",
|
|
127
142
|
children: [
|
|
128
|
-
/* @__PURE__ */
|
|
143
|
+
/* @__PURE__ */ M("div", {
|
|
129
144
|
className: "flex items-center gap-2",
|
|
130
|
-
children: [/* @__PURE__ */
|
|
145
|
+
children: [/* @__PURE__ */ j("label", {
|
|
131
146
|
className: "text-xs text-text-secondary",
|
|
132
147
|
children: "Rating (1–5)"
|
|
133
|
-
}), /* @__PURE__ */
|
|
148
|
+
}), /* @__PURE__ */ j(F, {
|
|
134
149
|
type: "number",
|
|
135
150
|
min: 1,
|
|
136
151
|
max: 5,
|
|
137
152
|
className: "w-20",
|
|
138
|
-
value:
|
|
139
|
-
onChange: (e) =>
|
|
153
|
+
value: x,
|
|
154
|
+
onChange: (e) => D(e.target.value)
|
|
140
155
|
})]
|
|
141
156
|
}),
|
|
142
|
-
/* @__PURE__ */
|
|
157
|
+
/* @__PURE__ */ j(F, {
|
|
143
158
|
placeholder: "Feedback for the mentee (optional)",
|
|
144
|
-
value:
|
|
145
|
-
onChange: (e) =>
|
|
159
|
+
value: O,
|
|
160
|
+
onChange: (e) => I(e.target.value)
|
|
146
161
|
}),
|
|
147
|
-
/* @__PURE__ */
|
|
162
|
+
/* @__PURE__ */ j("div", { children: /* @__PURE__ */ j(N, {
|
|
148
163
|
size: "sm",
|
|
149
|
-
onClick:
|
|
150
|
-
|
|
151
|
-
},
|
|
152
|
-
disabled: l,
|
|
164
|
+
onClick: R,
|
|
165
|
+
disabled: u,
|
|
153
166
|
children: "Complete session"
|
|
154
167
|
}) })
|
|
155
168
|
]
|
|
@@ -157,185 +170,191 @@ function I({ session: e, showMentor: t, isMentor: n, onCancel: r, onConfirm: i,
|
|
|
157
170
|
]
|
|
158
171
|
});
|
|
159
172
|
}
|
|
160
|
-
function
|
|
161
|
-
return e && n.length === 0 ? /* @__PURE__ */
|
|
173
|
+
function V({ loading: e, error: t, sessions: n, showMentor: r, emptyTitle: i, emptyDescription: a, emptyAction: o, isMentor: s, onCancel: c, onConfirm: l, onComplete: p, busyId: m, focusedId: h, onFocusChange: g }) {
|
|
174
|
+
return e && n.length === 0 ? /* @__PURE__ */ j(f, {
|
|
162
175
|
count: 3,
|
|
163
176
|
height: "h-24"
|
|
164
|
-
}) : t ? /* @__PURE__ */
|
|
177
|
+
}) : t ? /* @__PURE__ */ j(d, {
|
|
165
178
|
title: "Couldn't load sessions",
|
|
166
179
|
error: t
|
|
167
|
-
}) : n.length === 0 ? /* @__PURE__ */
|
|
168
|
-
icon: /* @__PURE__ */ D
|
|
180
|
+
}) : n.length === 0 ? /* @__PURE__ */ j(u, {
|
|
181
|
+
icon: /* @__PURE__ */ j(D, { size: 26 }),
|
|
169
182
|
title: i,
|
|
170
183
|
description: a,
|
|
171
184
|
action: o
|
|
172
|
-
}) : /* @__PURE__ */
|
|
185
|
+
}) : /* @__PURE__ */ j("div", {
|
|
173
186
|
className: "space-y-3",
|
|
174
|
-
children: [...n].sort((e, t) => new Date(t.scheduledAt).getTime() - new Date(e.scheduledAt).getTime()).map((e) => /* @__PURE__ */
|
|
187
|
+
children: [...n].sort((e, t) => new Date(t.scheduledAt).getTime() - new Date(e.scheduledAt).getTime()).map((e) => /* @__PURE__ */ j(B, {
|
|
175
188
|
session: e,
|
|
176
189
|
showMentor: r,
|
|
177
190
|
isMentor: s,
|
|
178
191
|
onCancel: c,
|
|
179
|
-
onConfirm:
|
|
192
|
+
onConfirm: l,
|
|
180
193
|
onComplete: p,
|
|
181
|
-
busy: m === e.id
|
|
194
|
+
busy: m === e.id,
|
|
195
|
+
focused: h === e.id,
|
|
196
|
+
onFocusChange: g
|
|
182
197
|
}, e.id))
|
|
183
198
|
});
|
|
184
199
|
}
|
|
185
|
-
function
|
|
186
|
-
let
|
|
187
|
-
|
|
200
|
+
function H() {
|
|
201
|
+
let i = t(), { currentUser: s, workspaceId: c } = e(), { emit: l } = n(), d = r(), [b, w] = S("mentee"), [E, k] = S(null), [A, P] = x(y.session), F = s?.id, z = v(F ? { menteeId: F } : {}), B = _({}), H = B.data?.tecListMentors?.items.find((e) => e.userId === s?.id), U = H?.id, W = v(U ? { mentorId: U } : {}), [G] = m(), [K] = g(), [q] = h(), J = F ? z.data?.tecListSessions?.items ?? [] : [], Y = U ? W.data?.tecListSessions?.items ?? [] : [], X = [...J, ...Y], ee = X.filter((e) => e.status === "REQUESTED" || e.status === "CONFIRMED").length, te = X.filter((e) => e.status === "COMPLETED").length, Z = async (e) => {
|
|
202
|
+
k(e), l("technospam.session.cancel_clicked", {
|
|
188
203
|
workspaceId: c,
|
|
189
204
|
entityId: e,
|
|
190
205
|
entityType: "TEC_MENTOR_SESSION"
|
|
191
206
|
});
|
|
192
207
|
try {
|
|
193
|
-
(await
|
|
208
|
+
(await G({ variables: { id: e } })).data?.tecCancelSession && (l("technospam.session.cancelled", {
|
|
194
209
|
workspaceId: c,
|
|
195
210
|
entityId: e,
|
|
196
211
|
entityType: "TEC_MENTOR_SESSION"
|
|
197
|
-
}),
|
|
212
|
+
}), p.success("Session cancelled", "The session has been cancelled."));
|
|
198
213
|
} finally {
|
|
199
|
-
|
|
214
|
+
k(null);
|
|
200
215
|
}
|
|
201
|
-
},
|
|
202
|
-
|
|
216
|
+
}, Q = async (e, t) => {
|
|
217
|
+
k(e);
|
|
203
218
|
try {
|
|
204
|
-
(await
|
|
219
|
+
(await K({ variables: {
|
|
205
220
|
id: e,
|
|
206
221
|
meetingUrl: t || void 0
|
|
207
|
-
} })).data?.tecConfirmSession && (
|
|
222
|
+
} })).data?.tecConfirmSession && (p.success("Session confirmed", "The mentee has been notified."), await W.refetch());
|
|
208
223
|
} finally {
|
|
209
|
-
|
|
224
|
+
k(null);
|
|
210
225
|
}
|
|
211
|
-
},
|
|
212
|
-
|
|
226
|
+
}, $ = async (e, t, n) => {
|
|
227
|
+
k(e), l("technospam.session.complete_clicked", {
|
|
213
228
|
workspaceId: c,
|
|
214
229
|
entityId: e,
|
|
215
230
|
entityType: "TEC_MENTOR_SESSION"
|
|
216
231
|
});
|
|
217
232
|
try {
|
|
218
|
-
(await
|
|
233
|
+
(await q({ variables: {
|
|
219
234
|
id: e,
|
|
220
235
|
rating: t,
|
|
221
236
|
feedback: n || void 0
|
|
222
|
-
} })).data?.tecCompleteSession && (
|
|
237
|
+
} })).data?.tecCompleteSession && (l("technospam.session.completed", {
|
|
223
238
|
workspaceId: c,
|
|
224
239
|
entityId: e,
|
|
225
240
|
entityType: "TEC_MENTOR_SESSION"
|
|
226
|
-
}),
|
|
241
|
+
}), p.success("Session completed", "Nice work — the session is wrapped up."), await W.refetch());
|
|
227
242
|
} finally {
|
|
228
|
-
|
|
243
|
+
k(null);
|
|
229
244
|
}
|
|
230
245
|
};
|
|
231
|
-
return s?.id ? /* @__PURE__ */
|
|
246
|
+
return s?.id ? /* @__PURE__ */ M(a, {
|
|
232
247
|
hero: !0,
|
|
233
|
-
title:
|
|
234
|
-
description:
|
|
235
|
-
actions: /* @__PURE__ */
|
|
248
|
+
title: d("technospam.mentorship.sessionsTitle", "My Sessions"),
|
|
249
|
+
description: d("technospam.mentorship.sessionsDescription", "Manage the mentorship sessions you've booked and the ones you host."),
|
|
250
|
+
actions: /* @__PURE__ */ M(N, {
|
|
236
251
|
variant: "outline",
|
|
237
|
-
onClick: () =>
|
|
252
|
+
onClick: () => i("/mentorship/mentors-page"),
|
|
238
253
|
children: [
|
|
239
|
-
/* @__PURE__ */
|
|
254
|
+
/* @__PURE__ */ j(O, { size: 16 }),
|
|
240
255
|
" ",
|
|
241
|
-
|
|
256
|
+
d("technospam.common.findMentor", "Find a mentor")
|
|
242
257
|
]
|
|
243
258
|
}),
|
|
244
259
|
children: [
|
|
245
|
-
/* @__PURE__ */
|
|
260
|
+
/* @__PURE__ */ M("div", {
|
|
246
261
|
className: "mb-5 grid grid-cols-2 gap-3 sm:grid-cols-4",
|
|
247
262
|
children: [
|
|
248
|
-
/* @__PURE__ */
|
|
249
|
-
label:
|
|
250
|
-
value:
|
|
251
|
-
icon:
|
|
263
|
+
/* @__PURE__ */ j(o, {
|
|
264
|
+
label: d("technospam.mentorship.statAsMentee", "As mentee"),
|
|
265
|
+
value: J.length,
|
|
266
|
+
icon: D,
|
|
252
267
|
tone: "blue"
|
|
253
268
|
}),
|
|
254
|
-
/* @__PURE__ */
|
|
255
|
-
label:
|
|
256
|
-
value:
|
|
257
|
-
icon:
|
|
269
|
+
/* @__PURE__ */ j(o, {
|
|
270
|
+
label: d("technospam.mentorship.statAsMentor", "As mentor"),
|
|
271
|
+
value: U ? Y.length : 0,
|
|
272
|
+
icon: O,
|
|
258
273
|
tone: "purple"
|
|
259
274
|
}),
|
|
260
|
-
/* @__PURE__ */
|
|
261
|
-
label:
|
|
262
|
-
value:
|
|
263
|
-
icon:
|
|
275
|
+
/* @__PURE__ */ j(o, {
|
|
276
|
+
label: d("technospam.mentorship.statUpcoming", "Upcoming"),
|
|
277
|
+
value: ee,
|
|
278
|
+
icon: C,
|
|
264
279
|
tone: "teal"
|
|
265
280
|
}),
|
|
266
|
-
/* @__PURE__ */
|
|
267
|
-
label:
|
|
268
|
-
value:
|
|
269
|
-
icon:
|
|
281
|
+
/* @__PURE__ */ j(o, {
|
|
282
|
+
label: d("technospam.mentorship.statCompleted", "Completed"),
|
|
283
|
+
value: te,
|
|
284
|
+
icon: T,
|
|
270
285
|
tone: "green"
|
|
271
286
|
})
|
|
272
287
|
]
|
|
273
288
|
}),
|
|
274
|
-
/* @__PURE__ */
|
|
275
|
-
value:
|
|
276
|
-
onValueChange: (e) =>
|
|
289
|
+
/* @__PURE__ */ j(I, {
|
|
290
|
+
value: b,
|
|
291
|
+
onValueChange: (e) => w(e),
|
|
277
292
|
className: "mb-4",
|
|
278
|
-
children: /* @__PURE__ */
|
|
293
|
+
children: /* @__PURE__ */ M(L, { children: [/* @__PURE__ */ j(R, {
|
|
279
294
|
value: "mentee",
|
|
280
|
-
children:
|
|
281
|
-
}), /* @__PURE__ */
|
|
295
|
+
children: d("technospam.mentorship.tabAsMentee", "As mentee")
|
|
296
|
+
}), /* @__PURE__ */ j(R, {
|
|
282
297
|
value: "mentor",
|
|
283
|
-
children:
|
|
298
|
+
children: d("technospam.mentorship.tabAsMentor", "As mentor")
|
|
284
299
|
})] })
|
|
285
300
|
}),
|
|
286
|
-
|
|
287
|
-
loading:
|
|
288
|
-
error:
|
|
289
|
-
sessions:
|
|
301
|
+
b === "mentee" ? /* @__PURE__ */ j(V, {
|
|
302
|
+
loading: z.loading,
|
|
303
|
+
error: z.error,
|
|
304
|
+
sessions: J,
|
|
290
305
|
showMentor: !0,
|
|
291
|
-
emptyTitle:
|
|
292
|
-
emptyDescription:
|
|
293
|
-
emptyAction: /* @__PURE__ */
|
|
294
|
-
onClick: () =>
|
|
295
|
-
children:
|
|
306
|
+
emptyTitle: d("technospam.mentorship.noSessionsBookedTitle", "No sessions booked yet"),
|
|
307
|
+
emptyDescription: d("technospam.mentorship.noSessionsBookedDesc", "Find a mentor and request a session to get personalized guidance."),
|
|
308
|
+
emptyAction: /* @__PURE__ */ j(N, {
|
|
309
|
+
onClick: () => i("/mentorship/mentors-page"),
|
|
310
|
+
children: d("technospam.common.findMentor", "Find a mentor")
|
|
296
311
|
}),
|
|
297
312
|
isMentor: !1,
|
|
298
|
-
onCancel:
|
|
299
|
-
onConfirm:
|
|
300
|
-
onComplete:
|
|
301
|
-
busyId: E
|
|
302
|
-
|
|
313
|
+
onCancel: Z,
|
|
314
|
+
onConfirm: Q,
|
|
315
|
+
onComplete: $,
|
|
316
|
+
busyId: E,
|
|
317
|
+
focusedId: A,
|
|
318
|
+
onFocusChange: P
|
|
319
|
+
}) : B.loading && !H ? /* @__PURE__ */ j(f, {
|
|
303
320
|
count: 3,
|
|
304
321
|
height: "h-24"
|
|
305
|
-
}) :
|
|
306
|
-
loading:
|
|
307
|
-
error:
|
|
308
|
-
sessions:
|
|
322
|
+
}) : U ? /* @__PURE__ */ j(V, {
|
|
323
|
+
loading: W.loading,
|
|
324
|
+
error: W.error,
|
|
325
|
+
sessions: Y,
|
|
309
326
|
showMentor: !1,
|
|
310
|
-
emptyTitle:
|
|
311
|
-
emptyDescription:
|
|
327
|
+
emptyTitle: d("technospam.mentorship.noSessionsToHostTitle", "No sessions to host yet"),
|
|
328
|
+
emptyDescription: d("technospam.mentorship.noSessionsToHostDesc", "When mentees request time with you, their sessions will show up here."),
|
|
312
329
|
isMentor: !0,
|
|
313
|
-
onCancel:
|
|
314
|
-
onConfirm:
|
|
315
|
-
onComplete:
|
|
316
|
-
busyId: E
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
330
|
+
onCancel: Z,
|
|
331
|
+
onConfirm: Q,
|
|
332
|
+
onComplete: $,
|
|
333
|
+
busyId: E,
|
|
334
|
+
focusedId: A,
|
|
335
|
+
onFocusChange: P
|
|
336
|
+
}) : /* @__PURE__ */ j(u, {
|
|
337
|
+
icon: /* @__PURE__ */ j(O, { size: 26 }),
|
|
338
|
+
title: d("technospam.mentorship.notAMentorTitle", "You're not a mentor yet"),
|
|
339
|
+
description: d("technospam.mentorship.notAMentorDesc", "Create a mentor profile to start hosting sessions and helping others build."),
|
|
340
|
+
action: /* @__PURE__ */ j(N, {
|
|
341
|
+
onClick: () => i("/mentorship/mentors-page"),
|
|
342
|
+
children: d("technospam.common.becomeAMentor", "Become a mentor")
|
|
324
343
|
})
|
|
325
344
|
})
|
|
326
345
|
]
|
|
327
|
-
}) : /* @__PURE__ */
|
|
346
|
+
}) : /* @__PURE__ */ j(a, {
|
|
328
347
|
hero: !0,
|
|
329
|
-
title:
|
|
330
|
-
description:
|
|
331
|
-
children: /* @__PURE__ */
|
|
332
|
-
icon: /* @__PURE__ */ D
|
|
333
|
-
title:
|
|
334
|
-
description:
|
|
348
|
+
title: d("technospam.mentorship.sessionsTitle", "My Sessions"),
|
|
349
|
+
description: d("technospam.mentorship.sessionsDescription", "Track your mentorship sessions."),
|
|
350
|
+
children: /* @__PURE__ */ j(u, {
|
|
351
|
+
icon: /* @__PURE__ */ j(D, { size: 26 }),
|
|
352
|
+
title: d("technospam.mentorship.signInTitle", "Sign in to view your sessions"),
|
|
353
|
+
description: d("technospam.mentorship.signInDesc", "Your booked and hosted mentorship sessions will appear here once you're signed in.")
|
|
335
354
|
})
|
|
336
355
|
});
|
|
337
356
|
}
|
|
338
357
|
//#endregion
|
|
339
|
-
export {
|
|
358
|
+
export { H as MentorshipSessionsPagePage };
|
|
340
359
|
|
|
341
360
|
//# sourceMappingURL=MentorshipSessionsPagePage.js.map
|