coronasafe/care_fe

View on GitHub
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx

Summary

Maintainability
F
1 wk
Test Coverage

Showing 19 of 19 total issues

File CreateScheduleTemplateSheet.tsx has 674 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import { zodResolver } from "@hookform/resolvers/zod";
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { isAfter, isBefore, parse } from "date-fns";
import { useQueryParams } from "raviger";
import { useForm } from "react-hook-form";
Severity: Major
Found in src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx - About 1 day to fix

Function CreateScheduleTemplateSheet has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
Open

export default function CreateScheduleTemplateSheet({
facilityId,
userId,
trigger,
}: Props) {
Severity: Minor
Found in src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx - About 1 hr to fix

Function timeAllocationCallout has 27 lines of code (exceeds 25 allowed). Consider refactoring.
Open

const timeAllocationCallout = (index: number) => {
const startTime = form.watch(`availabilities.${index}.start_time`);
const endTime = form.watch(`availabilities.${index}.end_time`);
const slotSizeInMinutes = form.watch(
`availabilities.${index}.slot_size_in_minutes`,
Severity: Minor
Found in src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx - About 1 hr to fix

Similar blocks of code found in 2 locations. Consider refactoring.
Open

<div className="grid grid-cols-2 gap-4">
<FormField
control={form.control}
name="valid_from"
render={({ field }) => (
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 247..277

Similar blocks of code found in 2 locations. Consider refactoring.
Open

<FormField
control={form.control}
name={`availabilities.${index}.end_time`}
render={({ field }) => (
<FormItem className="flex flex-col w-full mt-2">
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 465..486

Similar blocks of code found in 2 locations. Consider refactoring.
Open

<FormField
control={form.control}
name={`availabilities.${index}.start_time`}
render={({ field }) => (
<FormItem className="flex flex-col w-full">
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 488..509

Similar blocks of code found in 2 locations. Consider refactoring.
Open

<FormField
control={form.control}
name="name"
render={({ field }) => (
<FormItem>
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 228..245

Similar blocks of code found in 2 locations. Consider refactoring.
Open

render={({ field }) => (
<FormItem>
<FormLabel>{t("remarks")}</FormLabel>
<FormControl>
<Textarea
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 952..964

Similar blocks of code found in 2 locations. Consider refactoring.
Open

<FormControl>
<Input
type="number"
min={0}
placeholder="e.g. 1"
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 911..922

Similar blocks of code found in 2 locations. Consider refactoring.
Open

return (
<Callout variant="alert" badge="Info">
<Trans
i18nKey="schedule_slots_allocation_callout"
values={{
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 655..665

Similar blocks of code found in 2 locations. Consider refactoring.
Open

z
.discriminatedUnion("slot_type", [
// Schema for appointment type
z.object({
slot_type: z.literal("appointment"),
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 570..601

Similar blocks of code found in 2 locations. Consider refactoring.
Open

<SheetHeader>
<SheetTitle>{t("create_schedule_template")}</SheetTitle>
<SheetDescription className="sr-only">
{t("create_schedule_template")}
</SheetDescription>
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 96..101

Identical blocks of code found in 2 locations. Consider refactoring.
Open

weekdays: z
.array(z.number() as unknown as z.ZodType<DayOfWeek>)
.min(1, t("schedule_weekdays_min_error")),
Severity: Minor
Found in src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx and 1 other location - About 55 mins to fix
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 583..585

Similar blocks of code found in 3 locations. Consider refactoring.
Open

<Button variant="primary" type="submit" disabled={isPending}>
{isPending ? t("saving") : t("save")}
</Button>
src/components/Consent/LinkConsentDialog.tsx on lines 454..456
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 976..978

Similar blocks of code found in 8 locations. Consider refactoring.
Open

end_time: z
.string()
.min(1, t("field_required")) as unknown as z.ZodType<Time>,
src/pages/Scheduling/components/CreateScheduleExceptionSheet.tsx on lines 69..71
src/pages/Scheduling/components/CreateScheduleExceptionSheet.tsx on lines 72..74
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 103..105
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 125..127
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 128..130
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 574..576
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 577..579

Similar blocks of code found in 8 locations. Consider refactoring.
Open

start_time: z
.string()
.min(1, t("field_required")) as unknown as z.ZodType<Time>,
src/pages/Scheduling/components/CreateScheduleExceptionSheet.tsx on lines 69..71
src/pages/Scheduling/components/CreateScheduleExceptionSheet.tsx on lines 72..74
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 106..108
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 125..127
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 128..130
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 574..576
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 577..579

Similar blocks of code found in 8 locations. Consider refactoring.
Open

end_time: z
.string()
.min(1, t("field_required")) as unknown as z.ZodType<Time>,
src/pages/Scheduling/components/CreateScheduleExceptionSheet.tsx on lines 69..71
src/pages/Scheduling/components/CreateScheduleExceptionSheet.tsx on lines 72..74
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 103..105
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 106..108
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 125..127
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 574..576
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 577..579

Similar blocks of code found in 8 locations. Consider refactoring.
Open

start_time: z
.string()
.min(1, t("field_required")) as unknown as z.ZodType<Time>,
src/pages/Scheduling/components/CreateScheduleExceptionSheet.tsx on lines 69..71
src/pages/Scheduling/components/CreateScheduleExceptionSheet.tsx on lines 72..74
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 103..105
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 106..108
src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx on lines 128..130
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 574..576
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 577..579

Similar blocks of code found in 2 locations. Consider refactoring.
Open

availability: values.weekdays.map((day) => ({
day_of_week: day,
start_time: availability.start_time,
end_time: availability.end_time,
})),
Severity: Minor
Found in src/pages/Scheduling/components/CreateScheduleTemplateSheet.tsx and 1 other location - About 30 mins to fix
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 673..677

There are no issues that match your filters.

Category
Status