@burdenoff/microfe-technospam 2026.828.1 → 2026.830.1
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/index.js +4 -3
- package/dist/technospam/TechnoSpamRoot.js +4 -4
- package/dist/technospam/components/PageLayout.d.ts.map +1 -1
- package/dist/technospam/components/PageLayout.js +24 -23
- package/dist/technospam/components/PageLayout.js.map +1 -1
- package/dist/technospam/components/StateViews.d.ts +1 -1
- package/dist/technospam/components/StateViews.d.ts.map +1 -1
- package/dist/technospam/components/StateViews.js +28 -26
- package/dist/technospam/components/StateViews.js.map +1 -1
- package/dist/technospam/components/TagInput.d.ts +1 -1
- package/dist/technospam/components/TagInput.d.ts.map +1 -1
- package/dist/technospam/components/TagInput.js +39 -34
- package/dist/technospam/components/TagInput.js.map +1 -1
- package/dist/technospam/hooks/useTr.d.ts +17 -0
- package/dist/technospam/hooks/useTr.d.ts.map +1 -0
- package/dist/technospam/hooks/useTr.js +12 -0
- package/dist/technospam/hooks/useTr.js.map +1 -0
- package/dist/technospam/index.d.ts +1 -0
- package/dist/technospam/index.d.ts.map +1 -1
- package/dist/technospam/index.js +1 -0
- package/dist/technospam/pages/AnalyticsAnalyticsPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/AnalyticsAnalyticsPagePage.js +198 -189
- package/dist/technospam/pages/AnalyticsAnalyticsPagePage.js.map +1 -1
- package/dist/technospam/pages/ApplicationsProblemsPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/ApplicationsProblemsPagePage.js +165 -163
- package/dist/technospam/pages/ApplicationsProblemsPagePage.js.map +1 -1
- package/dist/technospam/pages/CoursesCoursesPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/CoursesCoursesPagePage.js +117 -113
- package/dist/technospam/pages/CoursesCoursesPagePage.js.map +1 -1
- package/dist/technospam/pages/DashboardDashboardPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/DashboardDashboardPagePage.js +211 -193
- package/dist/technospam/pages/DashboardDashboardPagePage.js.map +1 -1
- package/dist/technospam/pages/HackathonsHackathonsPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/HackathonsHackathonsPagePage.js +110 -110
- package/dist/technospam/pages/HackathonsHackathonsPagePage.js.map +1 -1
- package/dist/technospam/pages/MentorshipMentorsPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/MentorshipMentorsPagePage.js +174 -160
- package/dist/technospam/pages/MentorshipMentorsPagePage.js.map +1 -1
- package/dist/technospam/pages/MentorshipSessionsPagePage.d.ts.map +1 -1
- package/dist/technospam/pages/MentorshipSessionsPagePage.js +156 -151
- package/dist/technospam/pages/MentorshipSessionsPagePage.js.map +1 -1
- package/dist/technospam/utils/i18n.js +1 -1
- package/dist/technospam/utils/i18n.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,234 +1,240 @@
|
|
|
1
1
|
import { useTechnoSpam as e, useTechnoSpamNavigate as t } from "../providers/TechnoSpamProvider.js";
|
|
2
2
|
import { useTechnoSpamAnalytics as n } from "../hooks/useTechnoSpamAnalytics.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
3
|
+
import { useTr as r } from "../hooks/useTr.js";
|
|
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 { coverGradient as s, topicIcon as c } from "../components/MediaCover.js";
|
|
8
|
+
import { formatMoneyFromMinorUnits as l } from "../utils/format.js";
|
|
9
|
+
import { LoadMore as u } from "../components/LoadMore.js";
|
|
10
|
+
import { EmptyView as d, ErrorView as f, LoadingGrid as p } from "../components/StateViews.js";
|
|
10
11
|
import "../components/index.js";
|
|
11
|
-
import { notify as
|
|
12
|
-
import { pageArg as
|
|
13
|
-
import { createElement as
|
|
14
|
-
import { Award as
|
|
15
|
-
import { jsx as
|
|
16
|
-
import { Badge as
|
|
12
|
+
import { notify as m } from "../lib/toast.js";
|
|
13
|
+
import { pageArg as h, useBecomeMentor as g, useMentorsQuery as _, usePageLimit as v } from "../api/technospamApi.js";
|
|
14
|
+
import { createElement as y, useMemo as b, useState as x } from "react";
|
|
15
|
+
import { Award as S, MessageSquare as C, Search as w, Sparkles as T, Star as E, UserPlus as D, Users as O, X as k } from "lucide-react";
|
|
16
|
+
import { jsx as A, jsxs as j } from "react/jsx-runtime";
|
|
17
|
+
import { Badge as M, Button as N, GlassCard as P, Input as F, Textarea as I } from "@burdenoff/fe-libs/ui";
|
|
17
18
|
//#region src/technospam/pages/MentorshipMentorsPagePage.tsx
|
|
18
|
-
function
|
|
19
|
-
return /* @__PURE__ */
|
|
19
|
+
function L({ mentor: e, size: t = "md" }) {
|
|
20
|
+
return /* @__PURE__ */ j("div", {
|
|
20
21
|
className: "relative shrink-0",
|
|
21
|
-
children: [/* @__PURE__ */
|
|
22
|
-
className:
|
|
23
|
-
children:
|
|
22
|
+
children: [/* @__PURE__ */ A("span", {
|
|
23
|
+
className: i("flex items-center justify-center rounded-full bg-gradient-to-br text-white shadow-md ring-1 ring-white/15", t === "lg" ? "h-20 w-20" : "h-16 w-16", s(e.headline)),
|
|
24
|
+
children: y(c(e.expertise.join(" ") || e.headline), {
|
|
24
25
|
size: t === "lg" ? 32 : 26,
|
|
25
26
|
strokeWidth: 1.7
|
|
26
27
|
})
|
|
27
|
-
}), e.isAcceptingMentees ? /* @__PURE__ */
|
|
28
|
+
}), e.isAcceptingMentees ? /* @__PURE__ */ A("span", { className: "absolute -bottom-0.5 -right-0.5 h-4 w-4 rounded-full border-2 border-bg-surface bg-status-success-text" }) : null]
|
|
28
29
|
});
|
|
29
30
|
}
|
|
30
|
-
function
|
|
31
|
-
|
|
31
|
+
function R({ mentor: e, onOpen: t }) {
|
|
32
|
+
let n = r();
|
|
33
|
+
return /* @__PURE__ */ j(P, {
|
|
32
34
|
className: "group flex cursor-pointer flex-col gap-4 p-5 transition-all duration-200 hover:-translate-y-1 hover:shadow-lg",
|
|
33
35
|
onClick: t,
|
|
34
36
|
children: [
|
|
35
|
-
/* @__PURE__ */
|
|
37
|
+
/* @__PURE__ */ j("div", {
|
|
36
38
|
className: "flex items-start gap-4",
|
|
37
|
-
children: [/* @__PURE__ */
|
|
39
|
+
children: [/* @__PURE__ */ A(L, { mentor: e }), /* @__PURE__ */ j("div", {
|
|
38
40
|
className: "min-w-0 flex-1",
|
|
39
41
|
children: [
|
|
40
|
-
/* @__PURE__ */
|
|
42
|
+
/* @__PURE__ */ A("h3", {
|
|
41
43
|
className: "truncate text-base font-semibold text-text-primary group-hover:text-accent-primary",
|
|
42
44
|
children: e.headline
|
|
43
45
|
}),
|
|
44
|
-
e.role ? /* @__PURE__ */
|
|
46
|
+
e.role ? /* @__PURE__ */ A("p", {
|
|
45
47
|
className: "mt-0.5 truncate text-xs font-medium text-text-secondary",
|
|
46
48
|
children: e.role
|
|
47
49
|
}) : null,
|
|
48
|
-
e.isAcceptingMentees ? /* @__PURE__ */
|
|
50
|
+
e.isAcceptingMentees ? /* @__PURE__ */ j(M, {
|
|
49
51
|
variant: "outline",
|
|
50
52
|
className: "mt-1.5 inline-flex items-center gap-1.5 border-status-success-border bg-status-success-bg-subtle text-status-success-text",
|
|
51
|
-
children: [
|
|
52
|
-
|
|
53
|
+
children: [
|
|
54
|
+
/* @__PURE__ */ A("span", { className: "h-1.5 w-1.5 rounded-full bg-status-success-text" }),
|
|
55
|
+
" ",
|
|
56
|
+
n("technospam.common.acceptingMentees", "Accepting mentees")
|
|
57
|
+
]
|
|
58
|
+
}) : /* @__PURE__ */ A(M, {
|
|
53
59
|
variant: "outline",
|
|
54
60
|
className: "mt-1.5 border-border-seam bg-bg-sunken text-text-secondary",
|
|
55
|
-
children: "Not accepting"
|
|
61
|
+
children: n("technospam.common.notAcceptingMentees", "Not accepting")
|
|
56
62
|
})
|
|
57
63
|
]
|
|
58
64
|
})]
|
|
59
65
|
}),
|
|
60
|
-
e.bio ? /* @__PURE__ */
|
|
66
|
+
e.bio ? /* @__PURE__ */ A("p", {
|
|
61
67
|
className: "line-clamp-2 text-sm text-text-secondary",
|
|
62
68
|
children: e.bio
|
|
63
69
|
}) : null,
|
|
64
|
-
e.expertise.length ? /* @__PURE__ */
|
|
70
|
+
e.expertise.length ? /* @__PURE__ */ j("div", {
|
|
65
71
|
className: "flex flex-wrap gap-1.5",
|
|
66
|
-
children: [e.expertise.slice(0, 4).map((e) => /* @__PURE__ */
|
|
72
|
+
children: [e.expertise.slice(0, 4).map((e) => /* @__PURE__ */ A(M, {
|
|
67
73
|
variant: "secondary",
|
|
68
74
|
className: "text-[11px]",
|
|
69
75
|
children: e
|
|
70
|
-
}, e)), e.expertise.length > 4 ? /* @__PURE__ */
|
|
76
|
+
}, e)), e.expertise.length > 4 ? /* @__PURE__ */ j("span", {
|
|
71
77
|
className: "self-center text-xs text-text-muted",
|
|
72
78
|
children: ["+", e.expertise.length - 4]
|
|
73
79
|
}) : null]
|
|
74
80
|
}) : null,
|
|
75
|
-
/* @__PURE__ */
|
|
81
|
+
/* @__PURE__ */ j("div", {
|
|
76
82
|
className: "mt-auto grid grid-cols-3 divide-x divide-border-seam rounded-xl border border-border-seam bg-bg-sunken text-center",
|
|
77
83
|
children: [
|
|
78
|
-
/* @__PURE__ */
|
|
84
|
+
/* @__PURE__ */ j("div", {
|
|
79
85
|
className: "px-2 py-2.5",
|
|
80
|
-
children: [/* @__PURE__ */
|
|
86
|
+
children: [/* @__PURE__ */ j("div", {
|
|
81
87
|
className: "flex items-center justify-center gap-1 text-sm font-semibold text-text-primary",
|
|
82
|
-
children: [/* @__PURE__ */
|
|
88
|
+
children: [/* @__PURE__ */ A(E, {
|
|
83
89
|
size: 13,
|
|
84
90
|
className: "text-accent-teal"
|
|
85
91
|
}), e.ratingAvg > 0 ? e.ratingAvg.toFixed(1) : "New"]
|
|
86
|
-
}), /* @__PURE__ */
|
|
92
|
+
}), /* @__PURE__ */ A("div", {
|
|
87
93
|
className: "text-[11px] text-text-muted",
|
|
88
|
-
children: "rating"
|
|
94
|
+
children: n("technospam.common.rating", "rating")
|
|
89
95
|
})]
|
|
90
96
|
}),
|
|
91
|
-
/* @__PURE__ */
|
|
97
|
+
/* @__PURE__ */ j("div", {
|
|
92
98
|
className: "px-2 py-2.5",
|
|
93
|
-
children: [/* @__PURE__ */
|
|
99
|
+
children: [/* @__PURE__ */ A("div", {
|
|
94
100
|
className: "text-sm font-semibold text-text-primary",
|
|
95
101
|
children: e.sessionsCount
|
|
96
|
-
}), /* @__PURE__ */
|
|
102
|
+
}), /* @__PURE__ */ A("div", {
|
|
97
103
|
className: "text-[11px] text-text-muted",
|
|
98
|
-
children: "sessions"
|
|
104
|
+
children: n("technospam.common.sessions", "sessions")
|
|
99
105
|
})]
|
|
100
106
|
}),
|
|
101
|
-
/* @__PURE__ */
|
|
107
|
+
/* @__PURE__ */ j("div", {
|
|
102
108
|
className: "px-2 py-2.5",
|
|
103
|
-
children: [/* @__PURE__ */
|
|
109
|
+
children: [/* @__PURE__ */ A("div", {
|
|
104
110
|
className: "text-sm font-semibold text-text-primary",
|
|
105
|
-
children:
|
|
106
|
-
}), /* @__PURE__ */
|
|
111
|
+
children: l(e.hourlyRate, e.currency)
|
|
112
|
+
}), /* @__PURE__ */ A("div", {
|
|
107
113
|
className: "text-[11px] text-text-muted",
|
|
108
|
-
children: "/ hr"
|
|
114
|
+
children: n("technospam.common.perHour", "/ hr")
|
|
109
115
|
})]
|
|
110
116
|
})
|
|
111
117
|
]
|
|
112
118
|
}),
|
|
113
|
-
/* @__PURE__ */
|
|
119
|
+
/* @__PURE__ */ A(N, {
|
|
114
120
|
className: "w-full",
|
|
115
121
|
onClick: (e) => {
|
|
116
122
|
e.stopPropagation(), t();
|
|
117
123
|
},
|
|
118
|
-
children: "View profile"
|
|
124
|
+
children: n("technospam.common.viewProfile", "View profile")
|
|
119
125
|
})
|
|
120
126
|
]
|
|
121
127
|
});
|
|
122
128
|
}
|
|
123
|
-
function
|
|
124
|
-
let [i, a] =
|
|
125
|
-
return /* @__PURE__ */
|
|
129
|
+
function z({ onClose: e, onDone: t, workspaceId: r }) {
|
|
130
|
+
let [i, a] = x(""), [o, s] = x(""), [c, l] = x(""), [u, d] = x(""), [f, p] = x(""), [h, _] = x("USD"), [v, { loading: y }] = g(), { emit: b } = n(), S = i.trim().length > 0 && !y;
|
|
131
|
+
return /* @__PURE__ */ j(P, {
|
|
126
132
|
className: "mb-6 p-5",
|
|
127
|
-
children: [/* @__PURE__ */
|
|
133
|
+
children: [/* @__PURE__ */ j("div", {
|
|
128
134
|
className: "mb-4 flex items-start justify-between gap-3",
|
|
129
|
-
children: [/* @__PURE__ */
|
|
135
|
+
children: [/* @__PURE__ */ j("div", {
|
|
130
136
|
className: "flex items-center gap-3",
|
|
131
|
-
children: [/* @__PURE__ */
|
|
137
|
+
children: [/* @__PURE__ */ A("span", {
|
|
132
138
|
className: "flex h-11 w-11 shrink-0 items-center justify-center rounded-xl bg-gradient-to-br from-accent-primary to-accent-indigo text-white shadow-sm",
|
|
133
|
-
children: /* @__PURE__ */
|
|
134
|
-
}), /* @__PURE__ */
|
|
139
|
+
children: /* @__PURE__ */ A(D, { size: 20 })
|
|
140
|
+
}), /* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("h2", {
|
|
135
141
|
className: "text-base font-semibold text-text-primary",
|
|
136
142
|
children: "Become a mentor"
|
|
137
|
-
}), /* @__PURE__ */
|
|
143
|
+
}), /* @__PURE__ */ A("p", {
|
|
138
144
|
className: "text-sm text-text-secondary",
|
|
139
145
|
children: "Share your expertise and start mentoring builders in the community."
|
|
140
146
|
})] })]
|
|
141
|
-
}), /* @__PURE__ */
|
|
147
|
+
}), /* @__PURE__ */ A(N, {
|
|
142
148
|
variant: "ghost",
|
|
143
149
|
size: "sm",
|
|
144
150
|
onClick: e,
|
|
145
151
|
"aria-label": "Close",
|
|
146
|
-
children: /* @__PURE__ */ k
|
|
152
|
+
children: /* @__PURE__ */ A(k, { size: 16 })
|
|
147
153
|
})]
|
|
148
|
-
}), /* @__PURE__ */
|
|
154
|
+
}), /* @__PURE__ */ j("div", {
|
|
149
155
|
className: "grid grid-cols-1 gap-4",
|
|
150
156
|
children: [
|
|
151
|
-
/* @__PURE__ */
|
|
157
|
+
/* @__PURE__ */ j("div", { children: [/* @__PURE__ */ j("label", {
|
|
152
158
|
className: "mb-1.5 block text-sm font-medium text-text-primary",
|
|
153
|
-
children: ["Headline ", /* @__PURE__ */
|
|
159
|
+
children: ["Headline ", /* @__PURE__ */ A("span", {
|
|
154
160
|
className: "text-status-error-text",
|
|
155
161
|
children: "*"
|
|
156
162
|
})]
|
|
157
|
-
}), /* @__PURE__ */
|
|
163
|
+
}), /* @__PURE__ */ A(F, {
|
|
158
164
|
placeholder: "e.g. Staff Engineer · Distributed systems & career growth",
|
|
159
165
|
value: i,
|
|
160
166
|
onChange: (e) => a(e.target.value)
|
|
161
167
|
})] }),
|
|
162
|
-
/* @__PURE__ */
|
|
163
|
-
/* @__PURE__ */
|
|
168
|
+
/* @__PURE__ */ j("div", { children: [
|
|
169
|
+
/* @__PURE__ */ A("label", {
|
|
164
170
|
className: "mb-1.5 block text-sm font-medium text-text-primary",
|
|
165
171
|
children: "Role & company"
|
|
166
172
|
}),
|
|
167
|
-
/* @__PURE__ */
|
|
173
|
+
/* @__PURE__ */ A(F, {
|
|
168
174
|
placeholder: "e.g. Staff Engineer @ Acme",
|
|
169
175
|
value: o,
|
|
170
176
|
onChange: (e) => s(e.target.value)
|
|
171
177
|
}),
|
|
172
|
-
/* @__PURE__ */
|
|
178
|
+
/* @__PURE__ */ A("p", {
|
|
173
179
|
className: "mt-1 text-xs text-text-muted",
|
|
174
180
|
children: "Shown as a subtitle under your headline. Optional."
|
|
175
181
|
})
|
|
176
182
|
] }),
|
|
177
|
-
/* @__PURE__ */
|
|
183
|
+
/* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("label", {
|
|
178
184
|
className: "mb-1.5 block text-sm font-medium text-text-primary",
|
|
179
185
|
children: "Bio"
|
|
180
|
-
}), /* @__PURE__ */
|
|
186
|
+
}), /* @__PURE__ */ A(I, {
|
|
181
187
|
rows: 3,
|
|
182
188
|
placeholder: "Tell mentees about your experience and how you can help.",
|
|
183
189
|
value: c,
|
|
184
190
|
onChange: (e) => l(e.target.value)
|
|
185
191
|
})] }),
|
|
186
|
-
/* @__PURE__ */
|
|
187
|
-
/* @__PURE__ */
|
|
192
|
+
/* @__PURE__ */ j("div", { children: [
|
|
193
|
+
/* @__PURE__ */ A("label", {
|
|
188
194
|
className: "mb-1.5 block text-sm font-medium text-text-primary",
|
|
189
195
|
children: "Expertise"
|
|
190
196
|
}),
|
|
191
|
-
/* @__PURE__ */
|
|
197
|
+
/* @__PURE__ */ A(F, {
|
|
192
198
|
placeholder: "React, System design, Career coaching",
|
|
193
199
|
value: u,
|
|
194
200
|
onChange: (e) => d(e.target.value)
|
|
195
201
|
}),
|
|
196
|
-
/* @__PURE__ */
|
|
202
|
+
/* @__PURE__ */ A("p", {
|
|
197
203
|
className: "mt-1 text-xs text-text-muted",
|
|
198
204
|
children: "Comma-separated topics."
|
|
199
205
|
})
|
|
200
206
|
] }),
|
|
201
|
-
/* @__PURE__ */
|
|
207
|
+
/* @__PURE__ */ j("div", {
|
|
202
208
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
|
|
203
|
-
children: [/* @__PURE__ */
|
|
204
|
-
/* @__PURE__ */
|
|
209
|
+
children: [/* @__PURE__ */ j("div", { children: [
|
|
210
|
+
/* @__PURE__ */ A("label", {
|
|
205
211
|
className: "mb-1.5 block text-sm font-medium text-text-primary",
|
|
206
212
|
children: "Hourly rate"
|
|
207
213
|
}),
|
|
208
|
-
/* @__PURE__ */
|
|
214
|
+
/* @__PURE__ */ A(F, {
|
|
209
215
|
type: "number",
|
|
210
216
|
min: 0,
|
|
211
217
|
step: .01,
|
|
212
218
|
placeholder: "0.00",
|
|
213
219
|
value: f,
|
|
214
|
-
onChange: (e) =>
|
|
220
|
+
onChange: (e) => p(e.target.value)
|
|
215
221
|
}),
|
|
216
|
-
/* @__PURE__ */
|
|
222
|
+
/* @__PURE__ */ A("p", {
|
|
217
223
|
className: "mt-1 text-xs text-text-muted",
|
|
218
224
|
children: "Dollars per hour (e.g. 50 or 49.99). Leave 0 for free."
|
|
219
225
|
})
|
|
220
|
-
] }), /* @__PURE__ */
|
|
226
|
+
] }), /* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("label", {
|
|
221
227
|
className: "mb-1.5 block text-sm font-medium text-text-primary",
|
|
222
228
|
children: "Currency"
|
|
223
|
-
}), /* @__PURE__ */
|
|
229
|
+
}), /* @__PURE__ */ A(F, {
|
|
224
230
|
placeholder: "USD",
|
|
225
|
-
value:
|
|
231
|
+
value: h,
|
|
226
232
|
onChange: (e) => _(e.target.value)
|
|
227
233
|
})] })]
|
|
228
234
|
}),
|
|
229
|
-
/* @__PURE__ */
|
|
235
|
+
/* @__PURE__ */ j("div", {
|
|
230
236
|
className: "flex flex-wrap items-center gap-2",
|
|
231
|
-
children: [/* @__PURE__ */
|
|
237
|
+
children: [/* @__PURE__ */ j(N, {
|
|
232
238
|
onClick: async () => {
|
|
233
239
|
if (!S) return;
|
|
234
240
|
let e = { headline: i.trim() };
|
|
@@ -236,21 +242,21 @@ function R({ onClose: e, onDone: t, workspaceId: r }) {
|
|
|
236
242
|
let n = u.split(",").map((e) => e.trim()).filter(Boolean);
|
|
237
243
|
n.length && (e.expertise = n);
|
|
238
244
|
let a = Number.parseFloat(f);
|
|
239
|
-
!Number.isNaN(a) && a >= 0 && (e.hourlyRate = Math.round(a * 100)),
|
|
245
|
+
!Number.isNaN(a) && a >= 0 && (e.hourlyRate = Math.round(a * 100)), h.trim() && (e.currency = h.trim().toUpperCase()), b("technospam.mentor.become_mentor_clicked", { workspaceId: r });
|
|
240
246
|
let s = await v({ variables: { input: e } });
|
|
241
|
-
s.data?.tecBecomeMentor && (
|
|
247
|
+
s.data?.tecBecomeMentor && (b("technospam.mentor.became_mentor", {
|
|
242
248
|
workspaceId: r,
|
|
243
249
|
entityId: s.data.tecBecomeMentor.id,
|
|
244
250
|
entityType: "TEC_MENTOR"
|
|
245
|
-
}),
|
|
251
|
+
}), m.success("Mentor profile created", "Your profile is pending review."), t());
|
|
246
252
|
},
|
|
247
253
|
disabled: !S,
|
|
248
254
|
children: [
|
|
249
|
-
/* @__PURE__ */
|
|
255
|
+
/* @__PURE__ */ A(D, { size: 16 }),
|
|
250
256
|
" ",
|
|
251
257
|
y ? "Submitting…" : "Submit profile"
|
|
252
258
|
]
|
|
253
|
-
}), /* @__PURE__ */
|
|
259
|
+
}), /* @__PURE__ */ A(N, {
|
|
254
260
|
variant: "outline",
|
|
255
261
|
onClick: e,
|
|
256
262
|
disabled: y,
|
|
@@ -261,123 +267,131 @@ function R({ onClose: e, onDone: t, workspaceId: r }) {
|
|
|
261
267
|
})]
|
|
262
268
|
});
|
|
263
269
|
}
|
|
264
|
-
function
|
|
265
|
-
let
|
|
270
|
+
function B() {
|
|
271
|
+
let i = t(), { currentUser: s, workspaceId: c } = e(), { emit: l } = n(), m = r(), [g, y] = x(""), [k, M] = x(!1), { limit: I, more: L } = v(), { data: B, loading: V, error: H, refetch: U } = _({
|
|
266
272
|
status: "ACTIVE",
|
|
267
|
-
pagination:
|
|
268
|
-
}),
|
|
269
|
-
let e =
|
|
270
|
-
return e ?
|
|
271
|
-
}, [
|
|
272
|
-
return /* @__PURE__ */
|
|
273
|
+
pagination: h(I)
|
|
274
|
+
}), W = B?.tecListMentors?.items ?? [], G = B?.tecListMentors?.pageInfo?.hasMore ?? !1, K = s?.id, q = !!(K && W.some((e) => e.userId === K)), J = b(() => {
|
|
275
|
+
let e = g.trim().toLowerCase();
|
|
276
|
+
return e ? W.filter((t) => t.headline.toLowerCase().includes(e) || t.expertise.some((t) => t.toLowerCase().includes(e))) : W;
|
|
277
|
+
}, [W, g]), Y = W.filter((e) => e.isAcceptingMentees).length, X = W.reduce((e, t) => e + t.sessionsCount, 0), Z = W.filter((e) => e.ratingAvg > 0), Q = Z.length ? (Z.reduce((e, t) => e + t.ratingAvg, 0) / Z.length).toFixed(1) : "—";
|
|
278
|
+
return /* @__PURE__ */ j(a, {
|
|
273
279
|
hero: !0,
|
|
274
|
-
title: "Find a Mentor",
|
|
275
|
-
description: "Connect with experienced builders for 1:1 guidance, code review, and career coaching.",
|
|
276
|
-
actions: /* @__PURE__ */
|
|
280
|
+
title: m("technospam.mentorship.findAMentorTitle", "Find a Mentor"),
|
|
281
|
+
description: m("technospam.mentorship.description", "Connect with experienced builders for 1:1 guidance, code review, and career coaching."),
|
|
282
|
+
actions: /* @__PURE__ */ j(N, {
|
|
277
283
|
variant: "outline",
|
|
278
|
-
onClick: () =>
|
|
279
|
-
children: [
|
|
284
|
+
onClick: () => i("/mentorship/sessions-page"),
|
|
285
|
+
children: [
|
|
286
|
+
/* @__PURE__ */ A(C, { size: 16 }),
|
|
287
|
+
" ",
|
|
288
|
+
m("technospam.common.mySessions", "My sessions")
|
|
289
|
+
]
|
|
280
290
|
}),
|
|
281
291
|
children: [
|
|
282
|
-
|
|
292
|
+
q ? /* @__PURE__ */ j(P, {
|
|
283
293
|
className: "mb-6 flex items-center gap-3 p-4",
|
|
284
|
-
children: [/* @__PURE__ */
|
|
294
|
+
children: [/* @__PURE__ */ A("span", {
|
|
285
295
|
className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-status-success-bg-subtle text-status-success-text",
|
|
286
|
-
children: /* @__PURE__ */
|
|
287
|
-
}), /* @__PURE__ */
|
|
296
|
+
children: /* @__PURE__ */ A(S, { size: 20 })
|
|
297
|
+
}), /* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("div", {
|
|
288
298
|
className: "text-sm font-semibold text-text-primary",
|
|
289
299
|
children: "You're a mentor"
|
|
290
|
-
}), /* @__PURE__ */
|
|
300
|
+
}), /* @__PURE__ */ A("div", {
|
|
291
301
|
className: "text-xs text-text-secondary",
|
|
292
302
|
children: "Your mentor profile is live. Mentees can request sessions with you."
|
|
293
303
|
})] })]
|
|
294
|
-
}) :
|
|
295
|
-
onClose: () =>
|
|
304
|
+
}) : k ? /* @__PURE__ */ A(z, {
|
|
305
|
+
onClose: () => M(!1),
|
|
296
306
|
onDone: () => {
|
|
297
|
-
|
|
307
|
+
M(!1), U();
|
|
298
308
|
},
|
|
299
|
-
workspaceId:
|
|
309
|
+
workspaceId: c
|
|
300
310
|
}) : null,
|
|
301
|
-
/* @__PURE__ */
|
|
311
|
+
/* @__PURE__ */ j("div", {
|
|
302
312
|
className: "mb-5 grid grid-cols-2 gap-3 sm:grid-cols-4",
|
|
303
313
|
children: [
|
|
304
|
-
/* @__PURE__ */
|
|
305
|
-
label: "Mentors",
|
|
306
|
-
value:
|
|
307
|
-
icon:
|
|
314
|
+
/* @__PURE__ */ A(o, {
|
|
315
|
+
label: m("technospam.mentorship.statMentors", "Mentors"),
|
|
316
|
+
value: W.length,
|
|
317
|
+
icon: O,
|
|
308
318
|
tone: "blue"
|
|
309
319
|
}),
|
|
310
|
-
/* @__PURE__ */
|
|
311
|
-
label: "Accepting mentees",
|
|
312
|
-
value:
|
|
313
|
-
icon:
|
|
320
|
+
/* @__PURE__ */ A(o, {
|
|
321
|
+
label: m("technospam.mentorship.statAcceptingMentees", "Accepting mentees"),
|
|
322
|
+
value: Y,
|
|
323
|
+
icon: T,
|
|
314
324
|
tone: "green"
|
|
315
325
|
}),
|
|
316
|
-
/* @__PURE__ */
|
|
317
|
-
label: "Avg rating",
|
|
318
|
-
value:
|
|
319
|
-
icon:
|
|
326
|
+
/* @__PURE__ */ A(o, {
|
|
327
|
+
label: m("technospam.mentorship.statAvgRating", "Avg rating"),
|
|
328
|
+
value: Q,
|
|
329
|
+
icon: E,
|
|
320
330
|
tone: "amber"
|
|
321
331
|
}),
|
|
322
|
-
/* @__PURE__ */
|
|
323
|
-
label: "Total sessions",
|
|
324
|
-
value:
|
|
325
|
-
icon:
|
|
332
|
+
/* @__PURE__ */ A(o, {
|
|
333
|
+
label: m("technospam.mentorship.statTotalSessions", "Total sessions"),
|
|
334
|
+
value: X,
|
|
335
|
+
icon: C,
|
|
326
336
|
tone: "purple"
|
|
327
337
|
})
|
|
328
338
|
]
|
|
329
339
|
}),
|
|
330
|
-
/* @__PURE__ */
|
|
340
|
+
/* @__PURE__ */ j("div", {
|
|
331
341
|
className: "mb-4 flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",
|
|
332
|
-
children: [/* @__PURE__ */
|
|
342
|
+
children: [/* @__PURE__ */ j("div", {
|
|
333
343
|
className: "relative w-full sm:w-80",
|
|
334
|
-
children: [/* @__PURE__ */
|
|
344
|
+
children: [/* @__PURE__ */ A(w, {
|
|
335
345
|
className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-text-muted",
|
|
336
346
|
size: 16
|
|
337
|
-
}), /* @__PURE__ */
|
|
347
|
+
}), /* @__PURE__ */ A(F, {
|
|
338
348
|
className: "pl-9",
|
|
339
|
-
placeholder: "Search by headline or expertise…",
|
|
340
|
-
value:
|
|
341
|
-
onChange: (e) =>
|
|
349
|
+
placeholder: m("technospam.mentorship.searchPlaceholder", "Search by headline or expertise…"),
|
|
350
|
+
value: g,
|
|
351
|
+
onChange: (e) => y(e.target.value)
|
|
342
352
|
})]
|
|
343
|
-
}), !
|
|
344
|
-
onClick: () =>
|
|
345
|
-
children: [
|
|
353
|
+
}), !q && !k ? /* @__PURE__ */ j(N, {
|
|
354
|
+
onClick: () => M(!0),
|
|
355
|
+
children: [
|
|
356
|
+
/* @__PURE__ */ A(D, { size: 16 }),
|
|
357
|
+
" ",
|
|
358
|
+
m("technospam.common.becomeAMentor", "Become a mentor")
|
|
359
|
+
]
|
|
346
360
|
}) : null]
|
|
347
361
|
}),
|
|
348
|
-
|
|
349
|
-
title: "Couldn't load mentors",
|
|
350
|
-
error:
|
|
351
|
-
}) :
|
|
352
|
-
icon: /* @__PURE__ */
|
|
353
|
-
title:
|
|
354
|
-
description:
|
|
355
|
-
action: !
|
|
356
|
-
onClick: () =>
|
|
357
|
-
children: "Become a mentor"
|
|
362
|
+
V && !W.length ? /* @__PURE__ */ A(p, {}) : H ? /* @__PURE__ */ A(f, {
|
|
363
|
+
title: m("technospam.common.errorLoadMentors", "Couldn't load mentors"),
|
|
364
|
+
error: H
|
|
365
|
+
}) : J.length === 0 ? /* @__PURE__ */ A(d, {
|
|
366
|
+
icon: /* @__PURE__ */ A(O, { size: 26 }),
|
|
367
|
+
title: g ? m("technospam.mentorship.emptySearchTitle", "No matching mentors") : m("technospam.mentorship.emptyDefaultTitle", "No mentors yet"),
|
|
368
|
+
description: g ? m("technospam.mentorship.emptySearchDesc", "Try a different search term.") : m("technospam.mentorship.emptyDefaultDesc", "Active mentors will appear here. TechnoSpam is pre-launch — be one of the first to sign up."),
|
|
369
|
+
action: !g && !q ? /* @__PURE__ */ A(N, {
|
|
370
|
+
onClick: () => M(!0),
|
|
371
|
+
children: m("technospam.common.becomeAMentor", "Become a mentor")
|
|
358
372
|
}) : void 0
|
|
359
|
-
}) : /* @__PURE__ */
|
|
373
|
+
}) : /* @__PURE__ */ A("div", {
|
|
360
374
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
361
|
-
children:
|
|
375
|
+
children: J.map((e) => /* @__PURE__ */ A(R, {
|
|
362
376
|
mentor: e,
|
|
363
377
|
onOpen: () => {
|
|
364
|
-
|
|
365
|
-
workspaceId:
|
|
378
|
+
l("technospam.mentor.viewed", {
|
|
379
|
+
workspaceId: c,
|
|
366
380
|
entityId: e.id,
|
|
367
381
|
entityType: "TEC_MENTOR"
|
|
368
|
-
}),
|
|
382
|
+
}), i(`/mentorship/mentor-profile-page?id=${e.id}`);
|
|
369
383
|
}
|
|
370
384
|
}, e.id))
|
|
371
385
|
}),
|
|
372
|
-
/* @__PURE__ */
|
|
373
|
-
hasMore:
|
|
374
|
-
loading:
|
|
375
|
-
onClick:
|
|
386
|
+
/* @__PURE__ */ A(u, {
|
|
387
|
+
hasMore: G,
|
|
388
|
+
loading: V,
|
|
389
|
+
onClick: L
|
|
376
390
|
})
|
|
377
391
|
]
|
|
378
392
|
});
|
|
379
393
|
}
|
|
380
394
|
//#endregion
|
|
381
|
-
export {
|
|
395
|
+
export { B as MentorshipMentorsPagePage };
|
|
382
396
|
|
|
383
397
|
//# sourceMappingURL=MentorshipMentorsPagePage.js.map
|