Flubbycoder commited on
Commit
488b51f
·
verified ·
1 Parent(s): c708fe9

Using this as a template, please provide a page where the user can view a candidate and their application history and other metrics needed for an ats

Browse files
Files changed (2) hide show
  1. candidate_profile.html +389 -0
  2. candidates.html +3 -3
candidate_profile.html ADDED
@@ -0,0 +1,389 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Candidate Profile | HospitalityPro</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
10
+ <style>
11
+ .status-badge {
12
+ @apply px-3 py-1 rounded-full text-xs font-medium;
13
+ }
14
+ .status-screening { @apply bg-blue-100 text-blue-800; }
15
+ .status-interview { @apply bg-yellow-100 text-yellow-800; }
16
+ .status-offer { @apply bg-green-100 text-green-800; }
17
+ .status-hired { @apply bg-green-200 text-green-900; }
18
+ .status-rejected { @apply bg-red-100 text-red-800; }
19
+ .timeline-item:not(:last-child):after {
20
+ content: '';
21
+ @apply absolute left-5 top-8 h-full w-0.5 bg-gray-200;
22
+ }
23
+ .skill-meter {
24
+ height: 8px;
25
+ @apply bg-gray-200 rounded-full overflow-hidden;
26
+ }
27
+ .skill-progress {
28
+ height: 100%;
29
+ @apply bg-hospitality-primary rounded-full;
30
+ }
31
+ </style>
32
+ </head>
33
+ <body class="bg-hospitality-light font-sans">
34
+ <div class="flex h-screen overflow-hidden">
35
+ <!-- Sidebar -->
36
+ <div class="hidden md:flex md:flex-shrink-0">
37
+ <div class="flex flex-col w-64 bg-hospitality-dark border-r border-gray-700">
38
+ <div class="flex items-center justify-center h-16 px-4 bg-hospitality-primary">
39
+ <div class="flex items-center">
40
+ <i class="fas fa-concierge-bell text-white text-2xl mr-2"></i>
41
+ <span class="text-white font-bold text-xl">HospitalityPro</span>
42
+ </div>
43
+ </div>
44
+ <div class="flex flex-col flex-grow px-4 py-6 overflow-y-auto">
45
+ <nav class="space-y-2">
46
+ <a href="index.html" class="flex items-center px-3 py-2 text-sm font-medium text-gray-300 hover:text-white hover:bg-gray-700 rounded-lg">
47
+ <i class="fas fa-chart-pie mr-3"></i>
48
+ Dashboard
49
+ </a>
50
+ <a href="candidates.html" class="flex items-center px-3 py-2 text-sm font-medium text-white bg-hospitality-primary rounded-lg">
51
+ <i class="fas fa-users mr-3"></i>
52
+ Candidates
53
+ </a>
54
+ </nav>
55
+ </div>
56
+ </div>
57
+ </div>
58
+
59
+ <!-- Main Content -->
60
+ <div class="flex-1 overflow-auto">
61
+ <header class="bg-white shadow-sm">
62
+ <div class="px-4 py-3 flex items-center justify-between">
63
+ <div class="flex items-center md:hidden">
64
+ <button class="text-gray-500 focus:outline-none">
65
+ <i class="fas fa-bars text-xl"></i>
66
+ </button>
67
+ <span class="ml-3 font-semibold text-gray-700">Candidate Profile</span>
68
+ </div>
69
+
70
+ <div class="flex items-center space-x-4">
71
+ <button class="text-gray-500 hover:text-gray-700 focus:outline-none">
72
+ <i class="far fa-bell text-xl"></i>
73
+ </button>
74
+ <button class="hidden md:block bg-hospitality-primary text-white px-4 py-2 rounded-lg text-sm font-medium hover:bg-blue-700">
75
+ <i class="fas fa-download mr-2"></i> Export Profile
76
+ </button>
77
+ </div>
78
+ </div>
79
+ </header>
80
+
81
+ <main class="p-6">
82
+ <!-- Candidate Header -->
83
+ <div class="bg-white p-6 rounded-lg shadow-sm mb-6">
84
+ <div class="flex flex-col md:flex-row md:items-start md:space-x-6">
85
+ <div class="flex-shrink-0 mb-4 md:mb-0">
86
+ <img class="h-32 w-32 rounded-full" src="https://randomuser.me/api/portraits/women/44.jpg" alt="Candidate">
87
+ </div>
88
+ <div class="flex-1">
89
+ <div class="flex flex-col md:flex-row md:items-center md:justify-between">
90
+ <div>
91
+ <h1 class="text-2xl font-bold text-gray-800">Sarah Johnson</h1>
92
+ <div class="flex items-center mt-2">
93
+ <span class="status-badge status-screening">In Screening</span>
94
+ <span class="ml-3 text-gray-600 text-sm">
95
+ <i class="fas fa-briefcase mr-1"></i> Front Desk Manager
96
+ </span>
97
+ <span class="ml-3 text-gray-600 text-sm">
98
+ <i class="fas fa-map-marker-alt mr-1"></i> New York, NY
99
+ </span>
100
+ </div>
101
+ </div>
102
+ <div class="mt-4 md:mt-0">
103
+ <button class="bg-hospitality-primary text-white px-4 py-2 rounded-lg text-sm font-medium hover:bg-blue-700 mr-2">
104
+ <i class="fas fa-phone-alt mr-2"></i> Schedule Call
105
+ </button>
106
+ <button class="border border-gray-300 px-4 py-2 rounded-lg text-sm font-medium hover:bg-gray-50">
107
+ <i class="fas fa-ellipsis-v"></i>
108
+ </button>
109
+ </div>
110
+ </div>
111
+
112
+ <!-- Stats -->
113
+ <div class="grid grid-cols-2 md:grid-cols-4 gap-4 mt-6">
114
+ <div class="bg-gray-50 p-3 rounded-lg">
115
+ <p class="text-xs text-gray-500">Applied</p>
116
+ <p class="font-medium">Jun 12, 2023</p>
117
+ </div>
118
+ <div class="bg-gray-50 p-3 rounded-lg">
119
+ <p class="text-xs text-gray-500">Last Activity</p>
120
+ <p class="font-medium">Today, 10:30 AM</p>
121
+ </div>
122
+ <div class="bg-gray-50 p-3 rounded-lg">
123
+ <p class="text-xs text-gray-500">Match Score</p>
124
+ <p class="font-medium text-hospitality-primary">87%</p>
125
+ </div>
126
+ <div class="bg-gray-50 p-3 rounded-lg">
127
+ <p class="text-xs text-gray-500">Source</p>
128
+ <p class="font-medium">LinkedIn</p>
129
+ </div>
130
+ </div>
131
+ </div>
132
+ </div>
133
+ </div>
134
+
135
+ <!-- Main Content Grid -->
136
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6">
137
+ <!-- Left Column -->
138
+ <div class="lg:col-span-2 space-y-6">
139
+ <!-- Application Timeline -->
140
+ <div class="bg-white p-6 rounded-lg shadow-sm">
141
+ <h2 class="text-lg font-semibold text-gray-800 mb-4">Application Timeline</h2>
142
+ <div class="relative">
143
+ <div class="space-y-4">
144
+ <div class="timeline-item relative pl-10">
145
+ <div class="absolute left-0 top-0 h-5 w-5 rounded-full bg-hospitality-primary flex items-center justify-center text-white">
146
+ <i class="fas fa-check text-xs"></i>
147
+ </div>
148
+ <div class="bg-gray-50 p-4 rounded-lg">
149
+ <div class="flex justify-between">
150
+ <p class="font-medium">Application Submitted</p>
151
+ <span class="text-xs text-gray-500">Jun 12, 2023</span>
152
+ </div>
153
+ <p class="text-sm text-gray-600 mt-1">Candidate applied through LinkedIn</p>
154
+ </div>
155
+ </div>
156
+
157
+ <div class="timeline-item relative pl-10">
158
+ <div class="absolute left-0 top-0 h-5 w-5 rounded-full bg-hospitality-primary flex items-center justify-center text-white">
159
+ <i class="fas fa-check text-xs"></i>
160
+ </div>
161
+ <div class="bg-gray-50 p-4 rounded-lg">
162
+ <div class="flex justify-between">
163
+ <p class="font-medium">Resume Review</p>
164
+ <span class="text-xs text-gray-500">Jun 14, 2023</span>
165
+ </div>
166
+ <p class="text-sm text-gray-600 mt-1">Reviewed by John Smith (Hiring Manager)</p>
167
+ </div>
168
+ </div>
169
+
170
+ <div class="timeline-item relative pl-10">
171
+ <div class="absolute left-0 top-0 h-5 w-5 rounded-full bg-hospitality-secondary flex items-center justify-center text-white">
172
+ <i class="fas fa-clock text-xs"></i>
173
+ </div>
174
+ <div class="bg-hospitality-light p-4 rounded-lg border border-hospitality-secondary">
175
+ <div class="flex justify-between">
176
+ <p class="font-medium">Phone Screening Scheduled</p>
177
+ <span class="text-xs text-gray-500">Jun 15, 2023</span>
178
+ </div>
179
+ <p class="text-sm text-gray-600 mt-1">Scheduled for 2:00 PM with John Smith</p>
180
+ </div>
181
+ </div>
182
+ </div>
183
+ </div>
184
+ </div>
185
+
186
+ <!-- Skills Assessment -->
187
+ <div class="bg-white p-6 rounded-lg shadow-sm">
188
+ <h2 class="text-lg font-semibold text-gray-800 mb-4">Skills Assessment</h2>
189
+ <div class="space-y-4">
190
+ <div>
191
+ <div class="flex justify-between text-sm mb-1">
192
+ <span>Customer Service</span>
193
+ <span>92%</span>
194
+ </div>
195
+ <div class="skill-meter">
196
+ <div class="skill-progress" style="width: 92%"></div>
197
+ </div>
198
+ </div>
199
+ <div>
200
+ <div class="flex justify-between text-sm mb-1">
201
+ <span>Hospitality Management</span>
202
+ <span>85%</span>
203
+ </div>
204
+ <div class="skill-meter">
205
+ <div class="skill-progress" style="width: 85%"></div>
206
+ </div>
207
+ </div>
208
+ <div>
209
+ <div class="flex justify-between text-sm mb-1">
210
+ <span>Communication</span>
211
+ <span>88%</span>
212
+ </div>
213
+ <div class="skill-meter">
214
+ <div class="skill-progress" style="width: 88%"></div>
215
+ </div>
216
+ </div>
217
+ <div>
218
+ <div class="flex justify-between text-sm mb-1">
219
+ <span>Problem Solving</span>
220
+ <span>79%</span>
221
+ </div>
222
+ <div class="skill-meter">
223
+ <div class="skill-progress" style="width: 79%"></div>
224
+ </div>
225
+ </div>
226
+ </div>
227
+ </div>
228
+
229
+ <!-- Notes & Comments -->
230
+ <div class="bg-white p-6 rounded-lg shadow-sm">
231
+ <div class="flex justify-between items-center mb-4">
232
+ <h2 class="text-lg font-semibold text-gray-800">Notes & Comments</h2>
233
+ <button class="text-hospitality-primary hover:text-blue-700 text-sm">
234
+ <i class="fas fa-plus mr-1"></i> Add Note
235
+ </button>
236
+ </div>
237
+ <div class="space-y-4">
238
+ <div class="border-b pb-4">
239
+ <div class="flex justify-between mb-2">
240
+ <div class="flex items-center">
241
+ <img class="h-6 w-6 rounded-full mr-2" src="https://randomuser.me/api/portraits/men/32.jpg" alt="User">
242
+ <span class="text-sm font-medium">John Smith</span>
243
+ </div>
244
+ <span class="text-xs text-gray-500">Jun 14, 2023</span>
245
+ </div>
246
+ <p class="text-sm text-gray-700">Strong experience in luxury hotel settings. Excellent references from previous employer. Recommended for phone screening.</p>
247
+ </div>
248
+ <div class="border-b pb-4">
249
+ <div class="flex justify-between mb-2">
250
+ <div class="flex items-center">
251
+ <img class="h-6 w-6 rounded-full mr-2" src="https://randomuser.me/api/portraits/women/42.jpg" alt="User">
252
+ <span class="text-sm font-medium">Lisa Rodriguez</span>
253
+ </div>
254
+ <span class="text-xs text-gray-500">Jun 13, 2023</span>
255
+ </div>
256
+ <p class="text-sm text-gray-700">Resume shows 5 years of relevant experience at The Ritz-Carlton. Completed hospitality management training program.</p>
257
+ </div>
258
+ <div>
259
+ <textarea class="w-full border rounded-lg p-3 text-sm focus:ring-hospitality-primary focus:border-hospitality-primary" rows="3" placeholder="Add a new note..."></textarea>
260
+ <div class="flex justify-end mt-2">
261
+ <button class="bg-hospitality-primary text-white px-4 py-2 rounded-lg text-sm hover:bg-blue-700">
262
+ Save Note
263
+ </button>
264
+ </div>
265
+ </div>
266
+ </div>
267
+ </div>
268
+ </div>
269
+
270
+ <!-- Right Column -->
271
+ <div class="space-y-6">
272
+ <!-- Contact Information -->
273
+ <div class="bg-white p-6 rounded-lg shadow-sm">
274
+ <h2 class="text-lg font-semibold text-gray-800 mb-4">Contact Information</h2>
275
+ <div class="space-y-3">
276
+ <div>
277
+ <p class="text-xs text-gray-500">Email</p>
278
+ <p class="text-sm">sarah.johnson@example.com</p>
279
+ </div>
280
+ <div>
281
+ <p class="text-xs text-gray-500">Phone</p>
282
+ <p class="text-sm">(555) 123-4567</p>
283
+ </div>
284
+ <div>
285
+ <p class="text-xs text-gray-500">Address</p>
286
+ <p class="text-sm">123 Main St, Apt 4B<br>New York, NY 10001</p>
287
+ </div>
288
+ <div>
289
+ <p class="text-xs text-gray-500">LinkedIn</p>
290
+ <a href="#" class="text-sm text-hospitality-primary hover:underline">linkedin.com/in/sarahjohnson</a>
291
+ </div>
292
+ </div>
293
+ </div>
294
+
295
+ <!-- Documents -->
296
+ <div class="bg-white p-6 rounded-lg shadow-sm">
297
+ <div class="flex justify-between items-center mb-4">
298
+ <h2 class="text-lg font-semibold text-gray-800">Documents</h2>
299
+ <button class="text-hospitality-primary hover:text-blue-700 text-sm">
300
+ <i class="fas fa-plus mr-1"></i> Add
301
+ </button>
302
+ </div>
303
+ <div class="space-y-2">
304
+ <div class="flex items-center p-2 hover:bg-gray-50 rounded-lg">
305
+ <i class="fas fa-file-pdf text-red-500 text-xl mr-3"></i>
306
+ <div class="flex-1">
307
+ <p class="text-sm font-medium">Sarah_Johnson_Resume.pdf</p>
308
+ <p class="text-xs text-gray-500">Uploaded Jun 12, 2023</p>
309
+ </div>
310
+ <button class="text-gray-400 hover:text-gray-600">
311
+ <i class="fas fa-download"></i>
312
+ </button>
313
+ </div>
314
+ <div class="flex items-center p-2 hover:bg-gray-50 rounded-lg">
315
+ <i class="fas fa-file-image text-blue-500 text-xl mr-3"></i>
316
+ <div class="flex-1">
317
+ <p class="text-sm font-medium">Cover_Letter.jpg</p>
318
+ <p class="text-xs text-gray-500">Uploaded Jun 12, 2023</p>
319
+ </div>
320
+ <button class="text-gray-400 hover:text-gray-600">
321
+ <i class="fas fa-download"></i>
322
+ </button>
323
+ </div>
324
+ </div>
325
+ </div>
326
+
327
+ <!-- Match Analysis -->
328
+ <div class="bg-white p-6 rounded-lg shadow-sm">
329
+ <h2 class="text-lg font-semibold text-gray-800 mb-4">Match Analysis</h2>
330
+ <div class="h-64">
331
+ <canvas id="matchChart"></canvas>
332
+ </div>
333
+ </div>
334
+ </div>
335
+ </div>
336
+ </main>
337
+ </div>
338
+ </div>
339
+
340
+ <script>
341
+ // Match Analysis Radar Chart
342
+ document.addEventListener('DOMContentLoaded', function() {
343
+ const ctx = document.getElementById('matchChart').getContext('2d');
344
+ const matchChart = new Chart(ctx, {
345
+ type: 'radar',
346
+ data: {
347
+ labels: ['Experience', 'Skills', 'Education', 'Culture Fit', 'Requirements'],
348
+ datasets: [{
349
+ label: 'Candidate Score',
350
+ data: [90, 85, 80, 75, 95],
351
+ backgroundColor: 'rgba(58, 183, 149, 0.2)',
352
+ borderColor: 'rgba(58, 183, 149, 1)',
353
+ borderWidth: 2,
354
+ pointBackgroundColor: 'rgba(58, 183, 149, 1)',
355
+ pointRadius: 4
356
+ }, {
357
+ label: 'Job Requirements',
358
+ data: [80, 80, 80, 80, 80],
359
+ backgroundColor: 'rgba(42, 92, 141, 0.2)',
360
+ borderColor: 'rgba(42, 92, 141, 1)',
361
+ borderWidth: 2,
362
+ pointBackgroundColor: 'rgba(42, 92, 141, 1)',
363
+ pointRadius: 4
364
+ }]
365
+ },
366
+ options: {
367
+ scales: {
368
+ r: {
369
+ angleLines: {
370
+ display: true
371
+ },
372
+ suggestedMin: 0,
373
+ suggestedMax: 100,
374
+ ticks: {
375
+ stepSize: 20
376
+ }
377
+ }
378
+ },
379
+ plugins: {
380
+ legend: {
381
+ position: 'top',
382
+ }
383
+ }
384
+ }
385
+ });
386
+ });
387
+ </script>
388
+ </body>
389
+ </html>
candidates.html CHANGED
@@ -131,10 +131,10 @@
131
  Today, 10:30 AM
132
  </td>
133
  <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
134
- <button class="text-hospitality-primary hover:text-blue-800 mr-3">
135
  <i class="fas fa-eye"></i>
136
- </button>
137
- <button class="text-gray-500 hover:text-gray-700">
138
  <i class="fas fa-ellipsis-v"></i>
139
  </button>
140
  </td>
 
131
  Today, 10:30 AM
132
  </td>
133
  <td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
134
+ <a href="candidate_profile.html" class="text-hospitality-primary hover:text-blue-800 mr-3">
135
  <i class="fas fa-eye"></i>
136
+ </a>
137
+ <button class="text-gray-500 hover:text-gray-700">
138
  <i class="fas fa-ellipsis-v"></i>
139
  </button>
140
  </td>