@burdenoff/microfe-proserviceworld 2026.509.101
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/README.md +12 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +18199 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +43046 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/proserviceworld/ProServiceWorldRoot.d.ts +5 -0
- package/dist/proserviceworld/ProServiceWorldRoot.d.ts.map +1 -0
- package/dist/proserviceworld/ProServiceWorldRoot.js +151 -0
- package/dist/proserviceworld/ProServiceWorldRoot.js.map +1 -0
- package/dist/proserviceworld/ProServiceWorldRoutes.d.ts +2 -0
- package/dist/proserviceworld/ProServiceWorldRoutes.d.ts.map +1 -0
- package/dist/proserviceworld/ProServiceWorldRoutes.js +91 -0
- package/dist/proserviceworld/ProServiceWorldRoutes.js.map +1 -0
- package/dist/proserviceworld/index.d.ts +5 -0
- package/dist/proserviceworld/index.d.ts.map +1 -0
- package/dist/proserviceworld/index.js +3 -0
- package/dist/proserviceworld/pages/AdminReportsPage.d.ts +2 -0
- package/dist/proserviceworld/pages/AdminReportsPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/AdminReportsPage.js +512 -0
- package/dist/proserviceworld/pages/AdminReportsPage.js.map +1 -0
- package/dist/proserviceworld/pages/AdminUsersPage.d.ts +2 -0
- package/dist/proserviceworld/pages/AdminUsersPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/AdminUsersPage.js +444 -0
- package/dist/proserviceworld/pages/AdminUsersPage.js.map +1 -0
- package/dist/proserviceworld/pages/AnalyticsPage.d.ts +2 -0
- package/dist/proserviceworld/pages/AnalyticsPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/AnalyticsPage.js +433 -0
- package/dist/proserviceworld/pages/AnalyticsPage.js.map +1 -0
- package/dist/proserviceworld/pages/BookingsPage.d.ts +2 -0
- package/dist/proserviceworld/pages/BookingsPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/BookingsPage.js +425 -0
- package/dist/proserviceworld/pages/BookingsPage.js.map +1 -0
- package/dist/proserviceworld/pages/DashboardPage.d.ts +2 -0
- package/dist/proserviceworld/pages/DashboardPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/DashboardPage.js +583 -0
- package/dist/proserviceworld/pages/DashboardPage.js.map +1 -0
- package/dist/proserviceworld/pages/DocumentsPage.d.ts +2 -0
- package/dist/proserviceworld/pages/DocumentsPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/DocumentsPage.js +494 -0
- package/dist/proserviceworld/pages/DocumentsPage.js.map +1 -0
- package/dist/proserviceworld/pages/MessagesPage.d.ts +2 -0
- package/dist/proserviceworld/pages/MessagesPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/MessagesPage.js +229 -0
- package/dist/proserviceworld/pages/MessagesPage.js.map +1 -0
- package/dist/proserviceworld/pages/PaymentsPage.d.ts +2 -0
- package/dist/proserviceworld/pages/PaymentsPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/PaymentsPage.js +479 -0
- package/dist/proserviceworld/pages/PaymentsPage.js.map +1 -0
- package/dist/proserviceworld/pages/ProjectsPage.d.ts +2 -0
- package/dist/proserviceworld/pages/ProjectsPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/ProjectsPage.js +547 -0
- package/dist/proserviceworld/pages/ProjectsPage.js.map +1 -0
- package/dist/proserviceworld/pages/ProviderDetailPage.d.ts +2 -0
- package/dist/proserviceworld/pages/ProviderDetailPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/ProviderDetailPage.js +464 -0
- package/dist/proserviceworld/pages/ProviderDetailPage.js.map +1 -0
- package/dist/proserviceworld/pages/ProvidersPage.d.ts +2 -0
- package/dist/proserviceworld/pages/ProvidersPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/ProvidersPage.js +342 -0
- package/dist/proserviceworld/pages/ProvidersPage.js.map +1 -0
- package/dist/proserviceworld/pages/ReviewsPage.d.ts +2 -0
- package/dist/proserviceworld/pages/ReviewsPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/ReviewsPage.js +339 -0
- package/dist/proserviceworld/pages/ReviewsPage.js.map +1 -0
- package/dist/proserviceworld/pages/ServiceDetailsPage.d.ts +2 -0
- package/dist/proserviceworld/pages/ServiceDetailsPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/ServiceDetailsPage.js +563 -0
- package/dist/proserviceworld/pages/ServiceDetailsPage.js.map +1 -0
- package/dist/proserviceworld/pages/ServicesPage.d.ts +2 -0
- package/dist/proserviceworld/pages/ServicesPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/ServicesPage.js +337 -0
- package/dist/proserviceworld/pages/ServicesPage.js.map +1 -0
- package/dist/proserviceworld/pages/VerificationPage.d.ts +2 -0
- package/dist/proserviceworld/pages/VerificationPage.d.ts.map +1 -0
- package/dist/proserviceworld/pages/VerificationPage.js +357 -0
- package/dist/proserviceworld/pages/VerificationPage.js.map +1 -0
- package/dist/proserviceworld/providers/ProServiceWorldProvider.d.ts +6 -0
- package/dist/proserviceworld/providers/ProServiceWorldProvider.d.ts.map +1 -0
- package/dist/proserviceworld/providers/ProServiceWorldProvider.js +27 -0
- package/dist/proserviceworld/providers/ProServiceWorldProvider.js.map +1 -0
- package/dist/proserviceworld/store/proserviceworldStore.d.ts +32 -0
- package/dist/proserviceworld/store/proserviceworldStore.d.ts.map +1 -0
- package/dist/proserviceworld/store/proserviceworldStore.js +2490 -0
- package/dist/proserviceworld/store/proserviceworldStore.js.map +1 -0
- package/dist/proserviceworld/types/index.d.ts +338 -0
- package/dist/proserviceworld/types/index.d.ts.map +1 -0
- package/dist/proserviceworld/utils/cn.d.ts +4 -0
- package/dist/proserviceworld/utils/cn.d.ts.map +1 -0
- package/dist/proserviceworld/utils/i18n.d.ts +6 -0
- package/dist/proserviceworld/utils/i18n.d.ts.map +1 -0
- package/dist/proserviceworld/utils/i18n.js +15 -0
- package/dist/proserviceworld/utils/i18n.js.map +1 -0
- package/dist/proserviceworld/utils/navigation.d.ts +2 -0
- package/dist/proserviceworld/utils/navigation.d.ts.map +1 -0
- package/dist/proserviceworld/utils/navigation.js +8 -0
- package/dist/proserviceworld/utils/navigation.js.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
import { useProServiceWorldStore as e } from "../store/proserviceworldStore.js";
|
|
2
|
+
import { useState as t } from "react";
|
|
3
|
+
import { Award as n, Briefcase as r, Calendar as i, CheckCircle as a, Globe as o, MapPin as s, MessageSquare as c, Share2 as l, Star as u, Users as d } from "lucide-react";
|
|
4
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
5
|
+
import { Badge as m, Button as h, Card as g, CardContent as _, CardHeader as v, CardTitle as y } from "@burdenoff/fe-libs/ui";
|
|
6
|
+
//#region src/proserviceworld/pages/ProviderDetailPage.tsx
|
|
7
|
+
function b() {
|
|
8
|
+
let { providers: b, services: x, reviews: S } = e(), [C, w] = t("overview"), T = b[0], E = x.filter((e) => e.providerId === T.id), D = S.filter((e) => e.providerName === T.name), O = [
|
|
9
|
+
{
|
|
10
|
+
id: "overview",
|
|
11
|
+
label: "Overview"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
id: "services",
|
|
15
|
+
label: `Services (${E.length})`
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: "reviews",
|
|
19
|
+
label: `Reviews (${D.length})`
|
|
20
|
+
}
|
|
21
|
+
];
|
|
22
|
+
return /* @__PURE__ */ p("div", {
|
|
23
|
+
className: "space-y-6 p-6",
|
|
24
|
+
children: [
|
|
25
|
+
/* @__PURE__ */ p("div", {
|
|
26
|
+
className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
|
|
27
|
+
children: [/* @__PURE__ */ f("div", {
|
|
28
|
+
className: "lg:col-span-2",
|
|
29
|
+
children: /* @__PURE__ */ f(g, { children: /* @__PURE__ */ f(_, {
|
|
30
|
+
className: "p-6",
|
|
31
|
+
children: /* @__PURE__ */ p("div", {
|
|
32
|
+
className: "flex items-start space-x-6",
|
|
33
|
+
children: [/* @__PURE__ */ f("div", {
|
|
34
|
+
className: "h-20 w-20 rounded-full bg-primary/10 flex items-center justify-center shrink-0",
|
|
35
|
+
children: /* @__PURE__ */ p("span", {
|
|
36
|
+
className: "text-primary text-2xl font-bold",
|
|
37
|
+
children: [T.name.charAt(0), T.name.split(" ")[1]?.charAt(0)]
|
|
38
|
+
})
|
|
39
|
+
}), /* @__PURE__ */ p("div", {
|
|
40
|
+
className: "flex-1",
|
|
41
|
+
children: [
|
|
42
|
+
/* @__PURE__ */ p("div", {
|
|
43
|
+
className: "flex items-center gap-3 mb-1",
|
|
44
|
+
children: [/* @__PURE__ */ f("h1", {
|
|
45
|
+
className: "text-2xl font-bold",
|
|
46
|
+
children: T.businessName
|
|
47
|
+
}), T.verified && /* @__PURE__ */ p(m, {
|
|
48
|
+
variant: "default",
|
|
49
|
+
children: [/* @__PURE__ */ f(a, { className: "h-3 w-3 mr-1" }), "Verified"]
|
|
50
|
+
})]
|
|
51
|
+
}),
|
|
52
|
+
/* @__PURE__ */ f("p", {
|
|
53
|
+
className: "text-muted-foreground mb-2",
|
|
54
|
+
children: T.name
|
|
55
|
+
}),
|
|
56
|
+
/* @__PURE__ */ f("p", {
|
|
57
|
+
className: "text-sm text-muted-foreground mb-4",
|
|
58
|
+
children: T.tagline
|
|
59
|
+
}),
|
|
60
|
+
/* @__PURE__ */ p("div", {
|
|
61
|
+
className: "flex items-center gap-4 text-sm",
|
|
62
|
+
children: [
|
|
63
|
+
/* @__PURE__ */ p("div", {
|
|
64
|
+
className: "flex items-center",
|
|
65
|
+
children: [
|
|
66
|
+
/* @__PURE__ */ f(u, { className: "h-4 w-4 text-yellow-400 fill-current mr-1" }),
|
|
67
|
+
/* @__PURE__ */ f("span", {
|
|
68
|
+
className: "font-medium",
|
|
69
|
+
children: T.rating.toFixed(1)
|
|
70
|
+
}),
|
|
71
|
+
/* @__PURE__ */ p("span", {
|
|
72
|
+
className: "text-muted-foreground ml-1",
|
|
73
|
+
children: [
|
|
74
|
+
"(",
|
|
75
|
+
T.totalReviews,
|
|
76
|
+
" reviews)"
|
|
77
|
+
]
|
|
78
|
+
})
|
|
79
|
+
]
|
|
80
|
+
}),
|
|
81
|
+
/* @__PURE__ */ p("div", {
|
|
82
|
+
className: "flex items-center text-muted-foreground",
|
|
83
|
+
children: [/* @__PURE__ */ f(s, { className: "h-4 w-4 mr-1" }), T.location]
|
|
84
|
+
}),
|
|
85
|
+
/* @__PURE__ */ p("div", {
|
|
86
|
+
className: "flex items-center text-muted-foreground",
|
|
87
|
+
children: [
|
|
88
|
+
/* @__PURE__ */ f(r, { className: "h-4 w-4 mr-1" }),
|
|
89
|
+
T.yearsExperience,
|
|
90
|
+
" years"
|
|
91
|
+
]
|
|
92
|
+
})
|
|
93
|
+
]
|
|
94
|
+
})
|
|
95
|
+
]
|
|
96
|
+
})]
|
|
97
|
+
})
|
|
98
|
+
}) })
|
|
99
|
+
}), /* @__PURE__ */ f(g, { children: /* @__PURE__ */ p(_, {
|
|
100
|
+
className: "p-6 space-y-4",
|
|
101
|
+
children: [
|
|
102
|
+
/* @__PURE__ */ p("div", {
|
|
103
|
+
className: "text-center",
|
|
104
|
+
children: [/* @__PURE__ */ p("div", {
|
|
105
|
+
className: "text-2xl font-bold",
|
|
106
|
+
children: [
|
|
107
|
+
"$",
|
|
108
|
+
T.hourlyRate,
|
|
109
|
+
"/hr"
|
|
110
|
+
]
|
|
111
|
+
}), /* @__PURE__ */ f("p", {
|
|
112
|
+
className: "text-sm text-muted-foreground",
|
|
113
|
+
children: "Starting rate"
|
|
114
|
+
})]
|
|
115
|
+
}),
|
|
116
|
+
/* @__PURE__ */ p(h, {
|
|
117
|
+
className: "w-full",
|
|
118
|
+
children: [/* @__PURE__ */ f(c, { className: "h-4 w-4 mr-2" }), "Contact Provider"]
|
|
119
|
+
}),
|
|
120
|
+
/* @__PURE__ */ p(h, {
|
|
121
|
+
variant: "outline",
|
|
122
|
+
className: "w-full",
|
|
123
|
+
children: [/* @__PURE__ */ f(i, { className: "h-4 w-4 mr-2" }), "Book Consultation"]
|
|
124
|
+
}),
|
|
125
|
+
/* @__PURE__ */ p(h, {
|
|
126
|
+
variant: "ghost",
|
|
127
|
+
className: "w-full",
|
|
128
|
+
children: [/* @__PURE__ */ f(l, { className: "h-4 w-4 mr-2" }), "Share Profile"]
|
|
129
|
+
}),
|
|
130
|
+
/* @__PURE__ */ p("div", {
|
|
131
|
+
className: "grid grid-cols-2 gap-4 text-sm pt-4 border-t",
|
|
132
|
+
children: [
|
|
133
|
+
/* @__PURE__ */ p("div", {
|
|
134
|
+
className: "text-center p-3 bg-muted rounded",
|
|
135
|
+
children: [/* @__PURE__ */ p("div", {
|
|
136
|
+
className: "font-semibold",
|
|
137
|
+
children: [T.responseTime, "h"]
|
|
138
|
+
}), /* @__PURE__ */ f("div", {
|
|
139
|
+
className: "text-muted-foreground",
|
|
140
|
+
children: "Response"
|
|
141
|
+
})]
|
|
142
|
+
}),
|
|
143
|
+
/* @__PURE__ */ p("div", {
|
|
144
|
+
className: "text-center p-3 bg-muted rounded",
|
|
145
|
+
children: [/* @__PURE__ */ p("div", {
|
|
146
|
+
className: "font-semibold",
|
|
147
|
+
children: [T.completionRate, "%"]
|
|
148
|
+
}), /* @__PURE__ */ f("div", {
|
|
149
|
+
className: "text-muted-foreground",
|
|
150
|
+
children: "Completion"
|
|
151
|
+
})]
|
|
152
|
+
}),
|
|
153
|
+
/* @__PURE__ */ p("div", {
|
|
154
|
+
className: "text-center p-3 bg-muted rounded",
|
|
155
|
+
children: [/* @__PURE__ */ f("div", {
|
|
156
|
+
className: "font-semibold",
|
|
157
|
+
children: T.projectsCompleted
|
|
158
|
+
}), /* @__PURE__ */ f("div", {
|
|
159
|
+
className: "text-muted-foreground",
|
|
160
|
+
children: "Projects"
|
|
161
|
+
})]
|
|
162
|
+
}),
|
|
163
|
+
/* @__PURE__ */ p("div", {
|
|
164
|
+
className: "text-center p-3 bg-muted rounded",
|
|
165
|
+
children: [/* @__PURE__ */ f("div", {
|
|
166
|
+
className: "font-semibold",
|
|
167
|
+
children: T.activeProjects
|
|
168
|
+
}), /* @__PURE__ */ f("div", {
|
|
169
|
+
className: "text-muted-foreground",
|
|
170
|
+
children: "Active"
|
|
171
|
+
})]
|
|
172
|
+
})
|
|
173
|
+
]
|
|
174
|
+
})
|
|
175
|
+
]
|
|
176
|
+
}) })]
|
|
177
|
+
}),
|
|
178
|
+
/* @__PURE__ */ f("div", {
|
|
179
|
+
className: "border-b",
|
|
180
|
+
children: /* @__PURE__ */ f("nav", {
|
|
181
|
+
className: "-mb-px flex space-x-8",
|
|
182
|
+
children: O.map((e) => /* @__PURE__ */ f("button", {
|
|
183
|
+
onClick: () => w(e.id),
|
|
184
|
+
className: `py-3 px-1 border-b-2 font-medium text-sm transition-colors ${C === e.id ? "border-primary text-primary" : "border-transparent text-muted-foreground hover:text-foreground"}`,
|
|
185
|
+
children: e.label
|
|
186
|
+
}, e.id))
|
|
187
|
+
})
|
|
188
|
+
}),
|
|
189
|
+
C === "overview" && /* @__PURE__ */ p("div", {
|
|
190
|
+
className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
|
|
191
|
+
children: [/* @__PURE__ */ p("div", {
|
|
192
|
+
className: "lg:col-span-2 space-y-6",
|
|
193
|
+
children: [
|
|
194
|
+
/* @__PURE__ */ p(g, { children: [/* @__PURE__ */ f(v, { children: /* @__PURE__ */ f(y, { children: "About" }) }), /* @__PURE__ */ f(_, { children: /* @__PURE__ */ f("p", {
|
|
195
|
+
className: "text-muted-foreground",
|
|
196
|
+
children: T.description
|
|
197
|
+
}) })] }),
|
|
198
|
+
/* @__PURE__ */ p(g, { children: [/* @__PURE__ */ f(v, { children: /* @__PURE__ */ f(y, { children: "Specializations" }) }), /* @__PURE__ */ f(_, { children: /* @__PURE__ */ f("div", {
|
|
199
|
+
className: "flex flex-wrap gap-2",
|
|
200
|
+
children: T.specializations.map((e) => /* @__PURE__ */ f(m, {
|
|
201
|
+
variant: "secondary",
|
|
202
|
+
children: e
|
|
203
|
+
}, e))
|
|
204
|
+
}) })] }),
|
|
205
|
+
/* @__PURE__ */ p(g, { children: [/* @__PURE__ */ f(v, { children: /* @__PURE__ */ f(y, { children: "Certifications" }) }), /* @__PURE__ */ f(_, {
|
|
206
|
+
className: "space-y-3",
|
|
207
|
+
children: T.certifications.map((e) => /* @__PURE__ */ p("div", {
|
|
208
|
+
className: "flex items-center gap-3",
|
|
209
|
+
children: [/* @__PURE__ */ f(n, { className: "h-5 w-5 text-blue-600" }), /* @__PURE__ */ f("span", { children: e })]
|
|
210
|
+
}, e))
|
|
211
|
+
})] })
|
|
212
|
+
]
|
|
213
|
+
}), /* @__PURE__ */ p("div", {
|
|
214
|
+
className: "space-y-6",
|
|
215
|
+
children: [/* @__PURE__ */ p(g, { children: [/* @__PURE__ */ f(v, { children: /* @__PURE__ */ f(y, { children: "Details" }) }), /* @__PURE__ */ p(_, {
|
|
216
|
+
className: "space-y-3 text-sm",
|
|
217
|
+
children: [
|
|
218
|
+
/* @__PURE__ */ p("div", {
|
|
219
|
+
className: "flex justify-between",
|
|
220
|
+
children: [/* @__PURE__ */ f("span", {
|
|
221
|
+
className: "text-muted-foreground",
|
|
222
|
+
children: "Location"
|
|
223
|
+
}), /* @__PURE__ */ f("span", { children: T.location })]
|
|
224
|
+
}),
|
|
225
|
+
/* @__PURE__ */ p("div", {
|
|
226
|
+
className: "flex justify-between",
|
|
227
|
+
children: [/* @__PURE__ */ f("span", {
|
|
228
|
+
className: "text-muted-foreground",
|
|
229
|
+
children: "Languages"
|
|
230
|
+
}), /* @__PURE__ */ f("span", { children: T.languages.join(", ") })]
|
|
231
|
+
}),
|
|
232
|
+
/* @__PURE__ */ p("div", {
|
|
233
|
+
className: "flex justify-between",
|
|
234
|
+
children: [/* @__PURE__ */ f("span", {
|
|
235
|
+
className: "text-muted-foreground",
|
|
236
|
+
children: "Member Since"
|
|
237
|
+
}), /* @__PURE__ */ f("span", { children: new Date(T.joinedDate).toLocaleDateString("en-US", {
|
|
238
|
+
month: "short",
|
|
239
|
+
year: "numeric"
|
|
240
|
+
}) })]
|
|
241
|
+
}),
|
|
242
|
+
/* @__PURE__ */ p("div", {
|
|
243
|
+
className: "flex justify-between",
|
|
244
|
+
children: [/* @__PURE__ */ f("span", {
|
|
245
|
+
className: "text-muted-foreground",
|
|
246
|
+
children: "Category"
|
|
247
|
+
}), /* @__PURE__ */ f("span", {
|
|
248
|
+
className: "capitalize",
|
|
249
|
+
children: T.category.replace("_", " ")
|
|
250
|
+
})]
|
|
251
|
+
})
|
|
252
|
+
]
|
|
253
|
+
})] }), /* @__PURE__ */ p(g, { children: [/* @__PURE__ */ f(v, { children: /* @__PURE__ */ f(y, { children: "Similar Providers" }) }), /* @__PURE__ */ f(_, {
|
|
254
|
+
className: "space-y-3",
|
|
255
|
+
children: b.filter((e) => e.id !== T.id).slice(0, 3).map((e) => /* @__PURE__ */ p("div", {
|
|
256
|
+
className: "flex items-center gap-3",
|
|
257
|
+
children: [
|
|
258
|
+
/* @__PURE__ */ f("div", {
|
|
259
|
+
className: "h-8 w-8 rounded-full bg-muted flex items-center justify-center text-xs font-medium",
|
|
260
|
+
children: e.name.charAt(0)
|
|
261
|
+
}),
|
|
262
|
+
/* @__PURE__ */ p("div", {
|
|
263
|
+
className: "flex-1 min-w-0",
|
|
264
|
+
children: [/* @__PURE__ */ f("p", {
|
|
265
|
+
className: "text-sm font-medium truncate",
|
|
266
|
+
children: e.businessName
|
|
267
|
+
}), /* @__PURE__ */ f("p", {
|
|
268
|
+
className: "text-xs text-muted-foreground",
|
|
269
|
+
children: e.specializations[0]
|
|
270
|
+
})]
|
|
271
|
+
}),
|
|
272
|
+
/* @__PURE__ */ p("div", {
|
|
273
|
+
className: "flex items-center text-xs",
|
|
274
|
+
children: [/* @__PURE__ */ f(u, { className: "h-3 w-3 text-yellow-400 fill-current mr-0.5" }), e.rating.toFixed(1)]
|
|
275
|
+
})
|
|
276
|
+
]
|
|
277
|
+
}, e.id))
|
|
278
|
+
})] })]
|
|
279
|
+
})]
|
|
280
|
+
}),
|
|
281
|
+
C === "services" && /* @__PURE__ */ f("div", {
|
|
282
|
+
className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",
|
|
283
|
+
children: E.length > 0 ? E.map((e) => /* @__PURE__ */ f(g, {
|
|
284
|
+
className: "hover:shadow-md transition-shadow",
|
|
285
|
+
children: /* @__PURE__ */ p(_, {
|
|
286
|
+
className: "p-6",
|
|
287
|
+
children: [
|
|
288
|
+
/* @__PURE__ */ f("h3", {
|
|
289
|
+
className: "font-semibold mb-2",
|
|
290
|
+
children: e.title
|
|
291
|
+
}),
|
|
292
|
+
/* @__PURE__ */ f("p", {
|
|
293
|
+
className: "text-sm text-muted-foreground mb-3 line-clamp-2",
|
|
294
|
+
children: e.description
|
|
295
|
+
}),
|
|
296
|
+
/* @__PURE__ */ f("div", {
|
|
297
|
+
className: "flex flex-wrap gap-1 mb-3",
|
|
298
|
+
children: e.tags.slice(0, 3).map((e) => /* @__PURE__ */ f(m, {
|
|
299
|
+
variant: "outline",
|
|
300
|
+
className: "text-xs",
|
|
301
|
+
children: e
|
|
302
|
+
}, e))
|
|
303
|
+
}),
|
|
304
|
+
/* @__PURE__ */ p("div", {
|
|
305
|
+
className: "flex justify-between border-t pt-3",
|
|
306
|
+
children: [/* @__PURE__ */ p("span", {
|
|
307
|
+
className: "font-medium",
|
|
308
|
+
children: ["From $", e.pricing.basePrice.toLocaleString()]
|
|
309
|
+
}), /* @__PURE__ */ p("span", {
|
|
310
|
+
className: "text-sm text-muted-foreground",
|
|
311
|
+
children: [e.duration.typical, " days"]
|
|
312
|
+
})]
|
|
313
|
+
}),
|
|
314
|
+
/* @__PURE__ */ f(h, {
|
|
315
|
+
variant: "outline",
|
|
316
|
+
size: "sm",
|
|
317
|
+
className: "w-full mt-3",
|
|
318
|
+
children: "View Details"
|
|
319
|
+
})
|
|
320
|
+
]
|
|
321
|
+
})
|
|
322
|
+
}, e.id)) : /* @__PURE__ */ p("div", {
|
|
323
|
+
className: "col-span-full text-center py-12",
|
|
324
|
+
children: [/* @__PURE__ */ f(o, { className: "h-12 w-12 mx-auto text-muted-foreground mb-4" }), /* @__PURE__ */ f("p", {
|
|
325
|
+
className: "text-muted-foreground",
|
|
326
|
+
children: "No services listed yet"
|
|
327
|
+
})]
|
|
328
|
+
})
|
|
329
|
+
}),
|
|
330
|
+
C === "reviews" && /* @__PURE__ */ p("div", {
|
|
331
|
+
className: "space-y-4",
|
|
332
|
+
children: [/* @__PURE__ */ f(g, { children: /* @__PURE__ */ f(_, {
|
|
333
|
+
className: "p-6",
|
|
334
|
+
children: /* @__PURE__ */ p("div", {
|
|
335
|
+
className: "flex items-center gap-8",
|
|
336
|
+
children: [/* @__PURE__ */ p("div", {
|
|
337
|
+
className: "text-center",
|
|
338
|
+
children: [
|
|
339
|
+
/* @__PURE__ */ f("div", {
|
|
340
|
+
className: "text-4xl font-bold",
|
|
341
|
+
children: T.rating.toFixed(1)
|
|
342
|
+
}),
|
|
343
|
+
/* @__PURE__ */ f("div", {
|
|
344
|
+
className: "flex justify-center mt-1",
|
|
345
|
+
children: [
|
|
346
|
+
1,
|
|
347
|
+
2,
|
|
348
|
+
3,
|
|
349
|
+
4,
|
|
350
|
+
5
|
|
351
|
+
].map((e) => /* @__PURE__ */ f(u, { className: `h-4 w-4 ${e <= Math.round(T.rating) ? "text-yellow-400 fill-current" : "text-muted-foreground"}` }, e))
|
|
352
|
+
}),
|
|
353
|
+
/* @__PURE__ */ p("p", {
|
|
354
|
+
className: "text-sm text-muted-foreground mt-1",
|
|
355
|
+
children: [T.totalReviews, " reviews"]
|
|
356
|
+
})
|
|
357
|
+
]
|
|
358
|
+
}), /* @__PURE__ */ f("div", {
|
|
359
|
+
className: "flex-1 space-y-1",
|
|
360
|
+
children: [
|
|
361
|
+
5,
|
|
362
|
+
4,
|
|
363
|
+
3,
|
|
364
|
+
2,
|
|
365
|
+
1
|
|
366
|
+
].map((e) => {
|
|
367
|
+
let t = D.filter((t) => Math.round(t.rating) === e).length, n = D.length > 0 ? t / D.length * 100 : 0;
|
|
368
|
+
return /* @__PURE__ */ p("div", {
|
|
369
|
+
className: "flex items-center gap-2",
|
|
370
|
+
children: [
|
|
371
|
+
/* @__PURE__ */ f("span", {
|
|
372
|
+
className: "text-sm w-3",
|
|
373
|
+
children: e
|
|
374
|
+
}),
|
|
375
|
+
/* @__PURE__ */ f(u, { className: "h-3 w-3 text-yellow-400 fill-current" }),
|
|
376
|
+
/* @__PURE__ */ f("div", {
|
|
377
|
+
className: "flex-1 bg-muted rounded-full h-2",
|
|
378
|
+
children: /* @__PURE__ */ f("div", {
|
|
379
|
+
className: "bg-yellow-400 h-2 rounded-full",
|
|
380
|
+
style: { width: `${n}%` }
|
|
381
|
+
})
|
|
382
|
+
}),
|
|
383
|
+
/* @__PURE__ */ f("span", {
|
|
384
|
+
className: "text-sm text-muted-foreground w-6 text-right",
|
|
385
|
+
children: t
|
|
386
|
+
})
|
|
387
|
+
]
|
|
388
|
+
}, e);
|
|
389
|
+
})
|
|
390
|
+
})]
|
|
391
|
+
})
|
|
392
|
+
}) }), D.map((e) => /* @__PURE__ */ f(g, { children: /* @__PURE__ */ p(_, {
|
|
393
|
+
className: "p-6",
|
|
394
|
+
children: [
|
|
395
|
+
/* @__PURE__ */ p("div", {
|
|
396
|
+
className: "flex items-center gap-3 mb-3",
|
|
397
|
+
children: [/* @__PURE__ */ f("div", {
|
|
398
|
+
className: "h-10 w-10 rounded-full bg-primary/10 flex items-center justify-center",
|
|
399
|
+
children: /* @__PURE__ */ f("span", {
|
|
400
|
+
className: "text-primary font-medium",
|
|
401
|
+
children: e.clientName.charAt(0)
|
|
402
|
+
})
|
|
403
|
+
}), /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ p("div", {
|
|
404
|
+
className: "flex items-center gap-2",
|
|
405
|
+
children: [/* @__PURE__ */ f("span", {
|
|
406
|
+
className: "font-medium",
|
|
407
|
+
children: e.clientName
|
|
408
|
+
}), /* @__PURE__ */ f("div", {
|
|
409
|
+
className: "flex",
|
|
410
|
+
children: [
|
|
411
|
+
1,
|
|
412
|
+
2,
|
|
413
|
+
3,
|
|
414
|
+
4,
|
|
415
|
+
5
|
|
416
|
+
].map((t) => /* @__PURE__ */ f(u, { className: `h-3 w-3 ${t <= e.rating ? "text-yellow-400 fill-current" : "text-muted-foreground"}` }, t))
|
|
417
|
+
})]
|
|
418
|
+
}), /* @__PURE__ */ p("p", {
|
|
419
|
+
className: "text-xs text-muted-foreground",
|
|
420
|
+
children: [
|
|
421
|
+
e.serviceName,
|
|
422
|
+
" -",
|
|
423
|
+
" ",
|
|
424
|
+
new Date(e.createdAt).toLocaleDateString("en-US", {
|
|
425
|
+
month: "long",
|
|
426
|
+
day: "numeric",
|
|
427
|
+
year: "numeric"
|
|
428
|
+
})
|
|
429
|
+
]
|
|
430
|
+
})] })]
|
|
431
|
+
}),
|
|
432
|
+
/* @__PURE__ */ f("p", {
|
|
433
|
+
className: "text-sm text-muted-foreground mb-3",
|
|
434
|
+
children: e.comment
|
|
435
|
+
}),
|
|
436
|
+
/* @__PURE__ */ p("div", {
|
|
437
|
+
className: "flex gap-4 text-xs text-muted-foreground",
|
|
438
|
+
children: [
|
|
439
|
+
/* @__PURE__ */ p("span", { children: ["Value: $", e.projectValue.toLocaleString()] }),
|
|
440
|
+
/* @__PURE__ */ p("span", { children: [
|
|
441
|
+
"Duration: ",
|
|
442
|
+
e.projectDuration,
|
|
443
|
+
" days"
|
|
444
|
+
] }),
|
|
445
|
+
/* @__PURE__ */ p("span", {
|
|
446
|
+
className: "flex items-center",
|
|
447
|
+
children: [
|
|
448
|
+
/* @__PURE__ */ f(d, { className: "h-3 w-3 mr-1" }),
|
|
449
|
+
e.helpful,
|
|
450
|
+
" helpful"
|
|
451
|
+
]
|
|
452
|
+
})
|
|
453
|
+
]
|
|
454
|
+
})
|
|
455
|
+
]
|
|
456
|
+
}) }, e.id))]
|
|
457
|
+
})
|
|
458
|
+
]
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
//#endregion
|
|
462
|
+
export { b as ProviderDetailPage };
|
|
463
|
+
|
|
464
|
+
//# sourceMappingURL=ProviderDetailPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderDetailPage.js","names":[],"sources":["../../../src/proserviceworld/pages/ProviderDetailPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { Card, CardContent, CardHeader, CardTitle, Button, Badge } from '@burdenoff/fe-libs/ui';\nimport {\n Star,\n CheckCircle,\n Clock,\n MapPin,\n Briefcase,\n Globe,\n Award,\n MessageSquare,\n Share2,\n Calendar,\n Users,\n} from 'lucide-react';\nimport { useProServiceWorldStore } from '../store/proserviceworldStore';\n\ntype DetailTab = 'overview' | 'services' | 'reviews';\n\nexport function ProviderDetailPage() {\n const { providers, services, reviews } = useProServiceWorldStore();\n const [activeTab, setActiveTab] = useState<DetailTab>('overview');\n\n const provider = providers[0];\n const providerServices = services.filter((s) => s.providerId === provider.id);\n const providerReviews = reviews.filter((r) => r.providerName === provider.name);\n\n const tabs: { id: DetailTab; label: string }[] = [\n { id: 'overview', label: 'Overview' },\n { id: 'services', label: `Services (${providerServices.length})` },\n { id: 'reviews', label: `Reviews (${providerReviews.length})` },\n ];\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"grid grid-cols-1 lg:grid-cols-3 gap-6\">\n <div className=\"lg:col-span-2\">\n <Card>\n <CardContent className=\"p-6\">\n <div className=\"flex items-start space-x-6\">\n <div className=\"h-20 w-20 rounded-full bg-primary/10 flex items-center justify-center shrink-0\">\n <span className=\"text-primary text-2xl font-bold\">\n {provider.name.charAt(0)}\n {provider.name.split(' ')[1]?.charAt(0)}\n </span>\n </div>\n <div className=\"flex-1\">\n <div className=\"flex items-center gap-3 mb-1\">\n <h1 className=\"text-2xl font-bold\">{provider.businessName}</h1>\n {provider.verified && (\n <Badge variant=\"default\">\n <CheckCircle className=\"h-3 w-3 mr-1\" />\n Verified\n </Badge>\n )}\n </div>\n <p className=\"text-muted-foreground mb-2\">{provider.name}</p>\n <p className=\"text-sm text-muted-foreground mb-4\">{provider.tagline}</p>\n <div className=\"flex items-center gap-4 text-sm\">\n <div className=\"flex items-center\">\n <Star className=\"h-4 w-4 text-yellow-400 fill-current mr-1\" />\n <span className=\"font-medium\">{provider.rating.toFixed(1)}</span>\n <span className=\"text-muted-foreground ml-1\">\n ({provider.totalReviews} reviews)\n </span>\n </div>\n <div className=\"flex items-center text-muted-foreground\">\n <MapPin className=\"h-4 w-4 mr-1\" />\n {provider.location}\n </div>\n <div className=\"flex items-center text-muted-foreground\">\n <Briefcase className=\"h-4 w-4 mr-1\" />\n {provider.yearsExperience} years\n </div>\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n <Card>\n <CardContent className=\"p-6 space-y-4\">\n <div className=\"text-center\">\n <div className=\"text-2xl font-bold\">${provider.hourlyRate}/hr</div>\n <p className=\"text-sm text-muted-foreground\">Starting rate</p>\n </div>\n <Button className=\"w-full\">\n <MessageSquare className=\"h-4 w-4 mr-2\" />\n Contact Provider\n </Button>\n <Button variant=\"outline\" className=\"w-full\">\n <Calendar className=\"h-4 w-4 mr-2\" />\n Book Consultation\n </Button>\n <Button variant=\"ghost\" className=\"w-full\">\n <Share2 className=\"h-4 w-4 mr-2\" />\n Share Profile\n </Button>\n <div className=\"grid grid-cols-2 gap-4 text-sm pt-4 border-t\">\n <div className=\"text-center p-3 bg-muted rounded\">\n <div className=\"font-semibold\">{provider.responseTime}h</div>\n <div className=\"text-muted-foreground\">Response</div>\n </div>\n <div className=\"text-center p-3 bg-muted rounded\">\n <div className=\"font-semibold\">{provider.completionRate}%</div>\n <div className=\"text-muted-foreground\">Completion</div>\n </div>\n <div className=\"text-center p-3 bg-muted rounded\">\n <div className=\"font-semibold\">{provider.projectsCompleted}</div>\n <div className=\"text-muted-foreground\">Projects</div>\n </div>\n <div className=\"text-center p-3 bg-muted rounded\">\n <div className=\"font-semibold\">{provider.activeProjects}</div>\n <div className=\"text-muted-foreground\">Active</div>\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n\n <div className=\"border-b\">\n <nav className=\"-mb-px flex space-x-8\">\n {tabs.map((tab) => (\n <button\n key={tab.id}\n onClick={() => setActiveTab(tab.id)}\n className={`py-3 px-1 border-b-2 font-medium text-sm transition-colors ${activeTab === tab.id ? 'border-primary text-primary' : 'border-transparent text-muted-foreground hover:text-foreground'}`}\n >\n {tab.label}\n </button>\n ))}\n </nav>\n </div>\n\n {activeTab === 'overview' && (\n <div className=\"grid grid-cols-1 lg:grid-cols-3 gap-6\">\n <div className=\"lg:col-span-2 space-y-6\">\n <Card>\n <CardHeader>\n <CardTitle>About</CardTitle>\n </CardHeader>\n <CardContent>\n <p className=\"text-muted-foreground\">{provider.description}</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader>\n <CardTitle>Specializations</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"flex flex-wrap gap-2\">\n {provider.specializations.map((s) => (\n <Badge key={s} variant=\"secondary\">\n {s}\n </Badge>\n ))}\n </div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader>\n <CardTitle>Certifications</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {provider.certifications.map((c) => (\n <div key={c} className=\"flex items-center gap-3\">\n <Award className=\"h-5 w-5 text-blue-600\" />\n <span>{c}</span>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n <div className=\"space-y-6\">\n <Card>\n <CardHeader>\n <CardTitle>Details</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3 text-sm\">\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">Location</span>\n <span>{provider.location}</span>\n </div>\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">Languages</span>\n <span>{provider.languages.join(', ')}</span>\n </div>\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">Member Since</span>\n <span>\n {new Date(provider.joinedDate).toLocaleDateString('en-US', {\n month: 'short',\n year: 'numeric',\n })}\n </span>\n </div>\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">Category</span>\n <span className=\"capitalize\">{provider.category.replace('_', ' ')}</span>\n </div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader>\n <CardTitle>Similar Providers</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {providers\n .filter((p) => p.id !== provider.id)\n .slice(0, 3)\n .map((p) => (\n <div key={p.id} className=\"flex items-center gap-3\">\n <div className=\"h-8 w-8 rounded-full bg-muted flex items-center justify-center text-xs font-medium\">\n {p.name.charAt(0)}\n </div>\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-sm font-medium truncate\">{p.businessName}</p>\n <p className=\"text-xs text-muted-foreground\">{p.specializations[0]}</p>\n </div>\n <div className=\"flex items-center text-xs\">\n <Star className=\"h-3 w-3 text-yellow-400 fill-current mr-0.5\" />\n {p.rating.toFixed(1)}\n </div>\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n </div>\n )}\n\n {activeTab === 'services' && (\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6\">\n {providerServices.length > 0 ? (\n providerServices.map((svc) => (\n <Card key={svc.id} className=\"hover:shadow-md transition-shadow\">\n <CardContent className=\"p-6\">\n <h3 className=\"font-semibold mb-2\">{svc.title}</h3>\n <p className=\"text-sm text-muted-foreground mb-3 line-clamp-2\">\n {svc.description}\n </p>\n <div className=\"flex flex-wrap gap-1 mb-3\">\n {svc.tags.slice(0, 3).map((t) => (\n <Badge key={t} variant=\"outline\" className=\"text-xs\">\n {t}\n </Badge>\n ))}\n </div>\n <div className=\"flex justify-between border-t pt-3\">\n <span className=\"font-medium\">\n From ${svc.pricing.basePrice.toLocaleString()}\n </span>\n <span className=\"text-sm text-muted-foreground\">\n {svc.duration.typical} days\n </span>\n </div>\n <Button variant=\"outline\" size=\"sm\" className=\"w-full mt-3\">\n View Details\n </Button>\n </CardContent>\n </Card>\n ))\n ) : (\n <div className=\"col-span-full text-center py-12\">\n <Globe className=\"h-12 w-12 mx-auto text-muted-foreground mb-4\" />\n <p className=\"text-muted-foreground\">No services listed yet</p>\n </div>\n )}\n </div>\n )}\n\n {activeTab === 'reviews' && (\n <div className=\"space-y-4\">\n <Card>\n <CardContent className=\"p-6\">\n <div className=\"flex items-center gap-8\">\n <div className=\"text-center\">\n <div className=\"text-4xl font-bold\">{provider.rating.toFixed(1)}</div>\n <div className=\"flex justify-center mt-1\">\n {[1, 2, 3, 4, 5].map((s) => (\n <Star\n key={s}\n className={`h-4 w-4 ${s <= Math.round(provider.rating) ? 'text-yellow-400 fill-current' : 'text-muted-foreground'}`}\n />\n ))}\n </div>\n <p className=\"text-sm text-muted-foreground mt-1\">\n {provider.totalReviews} reviews\n </p>\n </div>\n <div className=\"flex-1 space-y-1\">\n {[5, 4, 3, 2, 1].map((r) => {\n const c = providerReviews.filter((rv) => Math.round(rv.rating) === r).length;\n const p = providerReviews.length > 0 ? (c / providerReviews.length) * 100 : 0;\n return (\n <div key={r} className=\"flex items-center gap-2\">\n <span className=\"text-sm w-3\">{r}</span>\n <Star className=\"h-3 w-3 text-yellow-400 fill-current\" />\n <div className=\"flex-1 bg-muted rounded-full h-2\">\n <div\n className=\"bg-yellow-400 h-2 rounded-full\"\n style={{ width: `${p}%` }}\n />\n </div>\n <span className=\"text-sm text-muted-foreground w-6 text-right\">{c}</span>\n </div>\n );\n })}\n </div>\n </div>\n </CardContent>\n </Card>\n {providerReviews.map((rev) => (\n <Card key={rev.id}>\n <CardContent className=\"p-6\">\n <div className=\"flex items-center gap-3 mb-3\">\n <div className=\"h-10 w-10 rounded-full bg-primary/10 flex items-center justify-center\">\n <span className=\"text-primary font-medium\">{rev.clientName.charAt(0)}</span>\n </div>\n <div>\n <div className=\"flex items-center gap-2\">\n <span className=\"font-medium\">{rev.clientName}</span>\n <div className=\"flex\">\n {[1, 2, 3, 4, 5].map((s) => (\n <Star\n key={s}\n className={`h-3 w-3 ${s <= rev.rating ? 'text-yellow-400 fill-current' : 'text-muted-foreground'}`}\n />\n ))}\n </div>\n </div>\n <p className=\"text-xs text-muted-foreground\">\n {rev.serviceName} -{' '}\n {new Date(rev.createdAt).toLocaleDateString('en-US', {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n })}\n </p>\n </div>\n </div>\n <p className=\"text-sm text-muted-foreground mb-3\">{rev.comment}</p>\n <div className=\"flex gap-4 text-xs text-muted-foreground\">\n <span>Value: ${rev.projectValue.toLocaleString()}</span>\n <span>Duration: {rev.projectDuration} days</span>\n <span className=\"flex items-center\">\n <Users className=\"h-3 w-3 mr-1\" />\n {rev.helpful} helpful\n </span>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProvidersPage.d.ts","sourceRoot":"","sources":["../../../src/proserviceworld/pages/ProvidersPage.tsx"],"names":[],"mappings":"AA6DA,wBAAgB,aAAa,4CAoR5B"}
|