Skip to content

Commit 0df2a32

Browse files
authored
added task template times to total assessment time (#287)
1 parent 918f938 commit 0df2a32

4 files changed

Lines changed: 25 additions & 7 deletions

File tree

src/lib/components/templates/AssessmentTaskTemplatePreview.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export interface AssessmentTaskTemplatePreviewProps {
1212
export function AssessmentTaskTemplatePreview({
1313
taskTemplatePreview,
1414
}: AssessmentTaskTemplatePreviewProps) {
15-
const { title } = taskTemplatePreview;
15+
const { title, estimatedTime } = taskTemplatePreview;
1616
return (
1717
<div className="flex h-full w-full flex-col gap-2 px-6 py-4">
1818
<div className="inline-flex flex-col items-start gap-1 self-stretch pl-3">
@@ -21,8 +21,9 @@ export function AssessmentTaskTemplatePreview({
2121
</h2>
2222
<div className="inline-flex items-center justify-start gap-2 self-stretch">
2323
<AlarmClock className="h-5 w-5 text-neutral-700" />
24-
{/* TODO: add task template time limit field here */}
25-
<p className="text-body-s font-medium text-neutral-800"> Coming Soon... </p>
24+
<p className="text-body-s font-medium text-neutral-800">
25+
{estimatedTime} minutes
26+
</p>
2627
</div>
2728
</div>
2829
<div>

src/lib/components/templates/AssessmentTemplateItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export default function AssessmentTemplateItem({
5151
</div>
5252

5353
{estimatedTime > 0 && (
54-
<span className="text-label-xs ml-2 shrink-0">{estimatedTime}min</span>
54+
<span className="text-label-xs ml-2 shrink-0">{estimatedTime} minutes</span>
5555
)}
5656
</div>
5757
</div>

src/lib/hooks/useAssessment.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ export default function useAssessment(assessmentId: string) {
122122

123123
// the timer is in seconds however our model is in minutes
124124
const totalEstimatedMinutes = sections.reduce(
125-
(sum, s) => sum + (s.taskTemplate.estimatedTime ?? 0),
125+
(sum, s) => sum + s.taskTemplate.estimatedTime,
126126
0
127127
);
128128
const totalTimeSeconds = totalEstimatedMinutes * 60;

src/lib/services/email.service.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,21 @@ export async function sendAssessmentInvitationEmail(
1919
include: {
2020
applications: {
2121
include: {
22-
assessment: true,
22+
assessment: {
23+
include: {
24+
assessmentTemplate: {
25+
include: {
26+
tasks: {
27+
include: {
28+
taskTemplate: {
29+
select: { estimatedTime: true },
30+
},
31+
},
32+
},
33+
},
34+
},
35+
},
36+
},
2337
position: true,
2438
},
2539
},
@@ -51,7 +65,10 @@ export async function sendAssessmentInvitationEmail(
5165
const logoUrl = `${baseUrl}/Sarge_logo.svg`;
5266

5367
//placeholder duration and expiration
54-
const durationMinutes = 120;
68+
const durationMinutes = assessment.assessmentTemplate.tasks.reduce(
69+
(sum, task) => sum + task.taskTemplate.estimatedTime,
70+
0
71+
);
5572
const expirationDate = 'April 12, 2026 11:59PM EST';
5673
const htmlContent = generateAssessmentInvitationHTML({
5774
candidateName: candidate.name,

0 commit comments

Comments
 (0)