File CreateScheduleTemplateSheet.tsx
has 674 lines of code (exceeds 250 allowed). Consider refactoring.
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";
Function CreateScheduleTemplateSheet
has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
export default function CreateScheduleTemplateSheet({
facilityId,
userId,
trigger,
}: Props) {
Function timeAllocationCallout
has 27 lines of code (exceeds 25 allowed). Consider refactoring.
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`,
Similar blocks of code found in 2 locations. Consider refactoring.
<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.
<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.
<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.
<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.
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.
<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.
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.
z
.discriminatedUnion("slot_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.
<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.
weekdays: z
.array(z.number() as unknown as z.ZodType<DayOfWeek>)
.min(1, t("schedule_weekdays_min_error")),
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 583..585 Similar blocks of code found in 3 locations. Consider refactoring.
<Button variant="primary" type="submit" disabled={isPending}>
{isPending ? t("saving") : t("save")}
</Button>
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 976..978 Similar blocks of code found in 8 locations. Consider refactoring.
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.
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.
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.
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.
availability: values.weekdays.map((day) => ({
day_of_week: day,
start_time: availability.start_time,
end_time: availability.end_time,
})),
src/pages/Scheduling/components/EditScheduleTemplateSheet.tsx on lines 673..677 There are no issues that match your filters.