diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index b0d8710..3220256 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -10,7 +10,7 @@ jobs:
name: Tests
runs-on: docker
container:
- image: cypress/browsers:latest@sha256:9daea41366dfd1b72496bf3e8295eda215a6990c2dbe4f9ff4b8ba47342864fb
+ image: cypress/browsers:latest
options: --user 1001
steps:
- name: Checkout
diff --git a/README.md b/README.md
index d9ca71b..56fa41d 100644
--- a/README.md
+++ b/README.md
@@ -66,7 +66,6 @@ This project is built with a modern tech stack:
yarn install
```
3. **Set up environment variables:**
-
- You will need to create an `AUTH_SECRET`. You can generate one using the following command:
```bash
npx auth secret
@@ -97,7 +96,6 @@ This project is built with a modern tech stack:
```
4. **Apply database migrations (Prisma):**
-
- Ensure your Prisma schema (`prisma/schema.prisma`) is defined.
- Setup/update the database with these commands:
```bash
diff --git a/package.json b/package.json
index 3eec75f..3c45d5a 100644
--- a/package.json
+++ b/package.json
@@ -51,32 +51,27 @@
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"date-fns": "^4.1.0",
- "lucide-react": "^0.523.0",
+ "lucide-react": "^0.515.0",
"next": "15.3.4",
"next-auth": "^5.0.0-beta.25",
"next-swagger-doc": "^0.4.1",
"next-themes": "^0.4.6",
- "react": "^19.1.0",
- "react-big-calendar": "^1.18.0",
- "react-datepicker": "^8.4.0",
+ "react": "^19.0.0",
"react-day-picker": "^9.7.0",
"react-dom": "^19.0.0",
- "react-error-boundary": "^6.0.0",
"react-hook-form": "^7.56.4",
"sonner": "^2.0.5",
"swagger-ui-react": "^5.24.1",
"tailwind-merge": "^3.2.0",
- "zod": "^3.25.60",
- "zod-validation-error": "^3.5.2"
+ "zod": "^3.25.60"
},
"devDependencies": {
"@eslint/eslintrc": "3.3.1",
- "@tailwindcss/postcss": "4.1.11",
+ "@tailwindcss/postcss": "4.1.10",
"@types/node": "22.15.33",
"@types/react": "19.1.8",
- "@types/react-big-calendar": "^1",
"@types/react-dom": "19.1.6",
- "@types/swagger-ui-react": "5.18.0",
+ "@types/swagger-ui-react": "5",
"@types/webpack-env": "1.18.8",
"cypress": "14.5.0",
"dotenv-cli": "8.0.0",
@@ -87,11 +82,11 @@
"postcss": "8.5.6",
"prettier": "3.6.1",
"prisma": "6.10.1",
- "tailwindcss": "4.1.11",
+ "tailwindcss": "4.1.10",
"ts-node": "10.9.2",
"tsconfig-paths": "4.2.0",
"tw-animate-css": "1.3.4",
- "typescript": "5.8.3"
+ "typescript": "^5.8.3"
},
"packageManager": "yarn@4.9.2"
}
diff --git a/src/app/(main)/home/page.tsx b/src/app/(main)/home/page.tsx
index 1cf8a90..66a97d8 100644
--- a/src/app/(main)/home/page.tsx
+++ b/src/app/(main)/home/page.tsx
@@ -1,17 +1,22 @@
'use client';
-import Calendar from '@/components/calendar';
+import { RedirectButton } from '@/components/buttons/redirect-button';
import { useGetApiUserMe } from '@/generated/api/user/user';
export default function Home() {
- const { data } = useGetApiUserMe();
+ const { data, isLoading } = useGetApiUserMe();
return (
-
-
+
+
+
+ Hello{' '}
+ {isLoading ? 'Loading...' : data?.data.user?.name || 'Unknown User'}
+
+
+
+
+
);
}
diff --git a/src/app/api/user/[user]/calendar/route.ts b/src/app/api/user/[user]/calendar/route.ts
index 62142e9..f6b6098 100644
--- a/src/app/api/user/[user]/calendar/route.ts
+++ b/src/app/api/user/[user]/calendar/route.ts
@@ -136,15 +136,15 @@ export const GET = auth(async function GET(req, { params }) {
start_time: 'asc',
},
select: {
- id: true,
- reason: true,
+ id: requestUserId === requestedUserId ? true : false,
+ reason: requestUserId === requestedUserId ? true : false,
start_time: true,
end_time: true,
- is_recurring: true,
- recurrence_end_date: true,
- rrule: true,
- created_at: true,
- updated_at: true,
+ is_recurring: requestUserId === requestedUserId ? true : false,
+ recurrence_end_date: requestUserId === requestedUserId ? true : false,
+ rrule: requestUserId === requestedUserId ? true : false,
+ created_at: requestUserId === requestedUserId ? true : false,
+ updated_at: requestUserId === requestedUserId ? true : false,
},
},
},
@@ -167,7 +167,6 @@ export const GET = auth(async function GET(req, { params }) {
calendar.push({ ...event.meeting, type: 'event' });
} else {
calendar.push({
- id: event.meeting.id,
start_time: event.meeting.start_time,
end_time: event.meeting.end_time,
type: 'blocked_private',
@@ -183,7 +182,6 @@ export const GET = auth(async function GET(req, { params }) {
calendar.push({ ...event, type: 'event' });
} else {
calendar.push({
- id: event.id,
start_time: event.start_time,
end_time: event.end_time,
type: 'blocked_private',
@@ -192,35 +190,23 @@ export const GET = auth(async function GET(req, { params }) {
}
for (const slot of requestedUser.blockedSlots) {
- if (requestUserId === requestedUserId) {
- calendar.push({
- start_time: slot.start_time,
- end_time: slot.end_time,
- id: slot.id,
- reason: slot.reason,
- is_recurring: slot.is_recurring,
- recurrence_end_date: slot.recurrence_end_date,
- rrule: slot.rrule,
- created_at: slot.created_at,
- updated_at: slot.updated_at,
- type: 'blocked_owned',
- });
- } else {
- calendar.push({
- start_time: slot.start_time,
- end_time: slot.end_time,
- id: slot.id,
- type: 'blocked_private',
- });
- }
+ calendar.push({
+ start_time: slot.start_time,
+ end_time: slot.end_time,
+ id: slot.id,
+ reason: slot.reason,
+ is_recurring: slot.is_recurring,
+ recurrence_end_date: slot.recurrence_end_date,
+ rrule: slot.rrule,
+ created_at: slot.created_at,
+ updated_at: slot.updated_at,
+ type:
+ requestUserId === requestedUserId ? 'blocked_owned' : 'blocked_private',
+ });
}
return returnZodTypeCheckedResponse(UserCalendarResponseSchema, {
success: true,
- calendar: calendar.filter(
- (event, index, self) =>
- self.findIndex((e) => e.id === event.id && e.type === event.type) ===
- index,
- ),
+ calendar,
});
});
diff --git a/src/app/api/user/[user]/calendar/validation.ts b/src/app/api/user/[user]/calendar/validation.ts
index 1572793..a0d179f 100644
--- a/src/app/api/user/[user]/calendar/validation.ts
+++ b/src/app/api/user/[user]/calendar/validation.ts
@@ -13,28 +13,23 @@ export const BlockedSlotSchema = zod
start_time: eventStartTimeSchema,
end_time: eventEndTimeSchema,
type: zod.literal('blocked_private'),
- id: zod.string(),
})
.openapi('BlockedSlotSchema', {
description: 'Blocked time slot in the user calendar',
});
-export const OwnedBlockedSlotSchema = zod
- .object({
- start_time: eventStartTimeSchema,
- end_time: eventEndTimeSchema,
- id: zod.string(),
- reason: zod.string().nullish(),
- is_recurring: zod.boolean().default(false),
- recurrence_end_date: zod.date().nullish(),
- rrule: zod.string().nullish(),
- created_at: zod.date().nullish(),
- updated_at: zod.date().nullish(),
- type: zod.literal('blocked_owned'),
- })
- .openapi('OwnedBlockedSlotSchema', {
- description: 'Blocked slot owned by the user',
- });
+export const OwnedBlockedSlotSchema = BlockedSlotSchema.extend({
+ id: zod.string(),
+ reason: zod.string().nullish(),
+ is_recurring: zod.boolean().default(false),
+ recurrence_end_date: zod.date().nullish(),
+ rrule: zod.string().nullish(),
+ created_at: zod.date().nullish(),
+ updated_at: zod.date().nullish(),
+ type: zod.literal('blocked_owned'),
+}).openapi('OwnedBlockedSlotSchema', {
+ description: 'Blocked slot owned by the user',
+});
export const VisibleSlotSchema = EventSchema.omit({
organizer: true,
diff --git a/src/components/calendar.tsx b/src/components/calendar.tsx
deleted file mode 100644
index a8d6005..0000000
--- a/src/components/calendar.tsx
+++ /dev/null
@@ -1,256 +0,0 @@
-'use client';
-
-import { Calendar as RBCalendar, momentLocalizer } from 'react-big-calendar';
-import withDragAndDrop from 'react-big-calendar/lib/addons/dragAndDrop';
-import moment from 'moment';
-import '@/components/react-big-calendar.css';
-import 'react-big-calendar/lib/addons/dragAndDrop/styles.css';
-import CustomToolbar from '@/components/custom-toolbar';
-import React from 'react';
-import { useGetApiUserUserCalendar } from '@/generated/api/user/user';
-import { useRouter } from 'next/navigation';
-import { usePatchApiEventEventID } from '@/generated/api/event/event';
-import { useSession } from 'next-auth/react';
-import { UserCalendarSchemaItem } from '@/generated/api/meetup.schemas';
-import { QueryErrorResetBoundary } from '@tanstack/react-query';
-import { ErrorBoundary } from 'react-error-boundary';
-import { Button } from '@/components/ui/button';
-import { fromZodIssue } from 'zod-validation-error/v4';
-import type { $ZodIssue } from 'zod/v4/core';
-
-moment.updateLocale('en', {
- week: {
- dow: 1,
- doy: 4,
- },
-});
-
-const DaDRBCalendar = withDragAndDrop<
- {
- id: string;
- start: Date;
- end: Date;
- type: UserCalendarSchemaItem['type'];
- },
- {
- id: string;
- title: string;
- type: UserCalendarSchemaItem['type'];
- }
->(RBCalendar);
-
-const localizer = momentLocalizer(moment);
-
-export default function Calendar({
- userId,
- height,
-}: {
- userId?: string;
- height: string;
-}) {
- return (
-
- {({ reset }) => (
- (
-
- There was an error!
-
- {typeof error === 'string'
- ? error
- : error.errors
- .map((e: $ZodIssue) => fromZodIssue(e).toString())
- .join(', ')}
-
-
-
- )}
- >
- {userId ? (
-
- ) : (
-
- )}
-
- )}
-
- );
-}
-
-function CalendarWithUserEvents({
- userId,
- height,
-}: {
- userId: string;
- height: string;
-}) {
- const sesstion = useSession();
- const [currentView, setCurrentView] = React.useState<
- 'month' | 'week' | 'day' | 'agenda' | 'work_week'
- >('week');
- const [currentDate, setCurrentDate] = React.useState
(new Date());
- const router = useRouter();
-
- const { data, refetch, error, isError } = useGetApiUserUserCalendar(
- userId,
- {
- start: moment(currentDate)
- .startOf(
- currentView === 'agenda'
- ? 'month'
- : currentView === 'work_week'
- ? 'week'
- : currentView,
- )
- .toISOString(),
- end: moment(currentDate)
- .endOf(
- currentView === 'agenda'
- ? 'month'
- : currentView === 'work_week'
- ? 'week'
- : currentView,
- )
- .toISOString(),
- },
- {
- query: {
- refetchOnWindowFocus: true,
- refetchOnReconnect: true,
- refetchOnMount: true,
- },
- },
- );
-
- if (isError) {
- throw error.response?.data || 'Failed to fetch calendar data';
- }
-
- const { mutate: patchEvent } = usePatchApiEventEventID({
- mutation: {
- throwOnError(error) {
- throw error.response?.data || 'Failed to update event';
- },
- },
- });
-
- return (
- {
- setCurrentDate(date);
- }}
- events={
- data?.data.calendar.map((event) => ({
- id: event.id,
- title: event.type === 'event' ? event.title : 'Blocker',
- start: new Date(event.start_time),
- end: new Date(event.end_time),
- type: event.type,
- })) ?? []
- }
- onSelectEvent={(event) => {
- router.push(`/events/${event.id}`);
- }}
- onSelectSlot={(slotInfo) => {
- router.push(
- `/events/new?start=${slotInfo.start.toISOString()}&end=${slotInfo.end.toISOString()}`,
- );
- }}
- resourceIdAccessor={(event) => event.id}
- resourceTitleAccessor={(event) => event.title}
- startAccessor={(event) => event.start}
- endAccessor={(event) => event.end}
- selectable={sesstion.data?.user?.id === userId}
- onEventDrop={(event) => {
- const { start, end, event: droppedEvent } = event;
- if (droppedEvent.type === 'blocked_private') return;
- const startISO = new Date(start).toISOString();
- const endISO = new Date(end).toISOString();
- patchEvent(
- {
- eventID: droppedEvent.id,
- data: {
- start_time: startISO,
- end_time: endISO,
- },
- },
- {
- onSuccess: () => {
- refetch();
- },
- onError: (error) => {
- console.error('Error updating event:', error);
- },
- },
- );
- }}
- onEventResize={(event) => {
- const { start, end, event: resizedEvent } = event;
- if (resizedEvent.type === 'blocked_private') return;
- const startISO = new Date(start).toISOString();
- const endISO = new Date(end).toISOString();
- if (startISO === endISO) {
- console.warn('Start and end times are the same, skipping resize.');
- return;
- }
- patchEvent(
- {
- eventID: resizedEvent.id,
- data: {
- start_time: startISO,
- end_time: endISO,
- },
- },
- {
- onSuccess: () => {
- refetch();
- },
- onError: (error) => {
- console.error('Error resizing event:', error);
- },
- },
- );
- }}
- />
- );
-}
-
-function CalendarWithoutUserEvents({ height }: { height: string }) {
- const [currentView, setCurrentView] = React.useState<
- 'month' | 'week' | 'day' | 'agenda' | 'work_week'
- >('week');
- const [currentDate, setCurrentDate] = React.useState(new Date());
-
- return (
- {
- setCurrentDate(date);
- }}
- />
- );
-}
diff --git a/src/components/custom-toolbar.css b/src/components/custom-toolbar.css
deleted file mode 100644
index 3fba69f..0000000
--- a/src/components/custom-toolbar.css
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Container der Toolbar */
-.custom-toolbar {
- display: flex;
- flex-direction: column;
- gap: 12px;
- padding: calc(var(--spacing) * 2);
- padding-left: calc(50px + var(--spacing));
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
- font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
-}
-
-/* Anzeige des aktuellen Datums (Monat und Jahr) */
-.custom-toolbar .current-date {
- font-weight: bold;
- font-size: 12px;
- text-align: center;
- color: #ffffff;
- background-color: #717171;
- height: 37px;
- border-radius: 11px;
-}
-
-/* Navigationsbereich (Today, Prev, Next) */
-.custom-toolbar .navigation-controls {
- display: flex;
- gap: 8px;
- justify-content: center;
-}
-
-.custom-toolbar .navigation-controls button {
- padding: 8px 12px;
- color: #ffffff;
- border: none;
- border-radius: 11px;
- font-size: 12px;
- cursor: pointer;
- transition: background-color 0.2s;
-}
-
-.custom-toolbar .navigation-controls button:hover {
- background-color: #1976d2;
-}
-
-.custom-toolbar .navigation-controls button:active {
- background-color: #1565c0;
-}
-
-/* Dropdown-Bereich für Woche und Jahr */
-.custom-toolbar .dropdowns {
- display: flex;
- gap: 8px;
- justify-content: center;
- height: 30px;
- font-size: 10px;
- margin-top: 3.5px;
- border-radius: 11px;
-}
-
-.custom-toolbar .dropdowns select {
- padding: 8px 12px;
- border-radius: 11px;
- font-size: 10px;
- background-color: #555555;
- color: #ffffff;
- cursor: pointer;
- transition: border-color 0.2s;
-}
-
-.custom-toolbar .dropdowns select:hover {
- border-color: #999;
-}
-
-.right-section,
-.view-switcher {
- background-color: #717171;
- height: 48px;
- border-radius: 11px;
- justify-items: center;
- align-items: center;
-}
-
-.custom-toolbar .navigation-controls .handleWeek button {
- background-color: #717171;
- height: 30px;
- width: 30px;
- margin-bottom: 3.5px;
-}
-
-.view-change,
-.right-section {
- background-color: #717171;
- height: 48px;
- padding: 0 8px;
- border-radius: 11px;
- justify-items: center;
-}
-
-.right-section .datepicker-box {
- color: #000000;
- background-color: #c6c6c6;
- height: 36px;
- border-radius: 11px;
- font-size: 12px;
- align-self: center;
-}
-
-.datepicker {
- text-align: center;
- height: 30px;
-}
-
-.datepicker-box {
- z-index: 5;
-}
diff --git a/src/components/custom-toolbar.tsx b/src/components/custom-toolbar.tsx
deleted file mode 100644
index 36c8fff..0000000
--- a/src/components/custom-toolbar.tsx
+++ /dev/null
@@ -1,260 +0,0 @@
-import React, { useState, useEffect } from 'react';
-import './custom-toolbar.css';
-import { Button } from '@/components/ui/button';
-import DatePicker from 'react-datepicker';
-import 'react-datepicker/dist/react-datepicker.css';
-import { NavigateAction } from 'react-big-calendar';
-
-interface CustomToolbarProps {
- //Aktuell angezeigtes Datum
- date: Date;
- //Aktuelle Ansicht
- view: 'month' | 'week' | 'day' | 'agenda' | 'work_week';
-
- onNavigate: (action: NavigateAction, newDate?: Date) => void;
- //Ansichtwechsel
- onView: (newView: 'month' | 'week' | 'day' | 'agenda' | 'work_week') => void;
-}
-
-const CustomToolbar: React.FC = ({
- date,
- view,
- onNavigate,
- onView,
-}) => {
- //ISO-Wochennummer eines Datums ermitteln
- const getISOWeek = (date: Date): number => {
- const tmp = new Date(date.getTime());
- //Datum so verschieben, dass der nächste Donnerstag erreicht wird (ISO: Woche beginnt am Montag)
- tmp.setDate(tmp.getDate() + 4 - (tmp.getDay() || 7));
- const yearStart = new Date(tmp.getFullYear(), 0, 1);
- const weekNo = Math.ceil(
- ((tmp.getTime() - yearStart.getTime()) / 86400000 + 1) / 7,
- );
- return weekNo;
- };
-
- //ISO-Wochenjahr eines Datums ermitteln
- const getISOWeekYear = (date: Date): number => {
- const tmp = new Date(date.getTime());
- tmp.setDate(tmp.getDate() + 4 - (tmp.getDay() || 7));
- return tmp.getFullYear();
- };
-
- //Ermittlung der Anzahl der Wochen im Jahr
- const getISOWeeksInYear = (year: number): number => {
- const d = new Date(year, 11, 31);
- const week = getISOWeek(d);
- return week === 1 ? getISOWeek(new Date(year, 11, 24)) : week;
- };
-
- const getDateOfISOWeek = (week: number, year: number): Date => {
- const jan1 = new Date(year, 0, 1);
- const dayOfWeek = jan1.getDay();
- const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;
- let firstMonday: Date;
- if (isoDayOfWeek <= 4) {
- //1. Januar gehört zur ersten ISO-Woche (Montag dieser Woche bestimmen)
- firstMonday = new Date(year, 0, 1 - isoDayOfWeek + 1);
- } else {
- //Ansonsten liegt der erste Montag in der darauffolgenden Woche
- firstMonday = new Date(year, 0, 1 + (8 - isoDayOfWeek));
- }
- firstMonday.setDate(firstMonday.getDate() + (week - 1) * 7);
- return firstMonday;
- };
-
- //Lokaler State für Woche und ISO-Wochenjahr (statt des reinen Kalenderjahrs)
- const [selectedWeek, setSelectedWeek] = useState(getISOWeek(date));
- const [selectedYear, setSelectedYear] = useState(
- getISOWeekYear(date),
- );
-
- //Auswahl aktualisieren, wenn sich die Prop "date" ändert
- useEffect(() => {
- setSelectedWeek(getISOWeek(date));
- setSelectedYear(getISOWeekYear(date));
- }, [date]);
-
- //Start (Montag) und Ende (Sonntag) der aktuell angezeigten Woche berechnen
- const weekStartDate = getDateOfISOWeek(selectedWeek, selectedYear);
- const weekEndDate = new Date(weekStartDate);
- weekEndDate.setDate(weekStartDate.getDate() + 6);
-
- //Ansichtwechsel
- const handleViewChange = (newView: 'month' | 'week' | 'day' | 'agenda') => {
- onView(newView);
- };
-
- //Today-Button aktualisiert das Datum im DatePicker auf das heutige
- const handleToday = () => {
- const today = new Date();
- setSelectedDate(today);
- setSelectedWeek(getISOWeek(today));
- setSelectedYear(getISOWeekYear(today));
- onNavigate('TODAY', today);
- };
-
- //Pfeiltaste nach Vorne
- const handleNext = () => {
- let newDate: Date;
- if (view === 'day' || view === 'agenda') {
- newDate = new Date(date);
- newDate.setDate(newDate.getDate() + 1);
- } else if (view === 'week') {
- let newWeek = selectedWeek + 1;
- let newYear = selectedYear;
- if (newWeek > getISOWeeksInYear(selectedYear)) {
- newYear = selectedYear + 1;
- newWeek = 1;
- }
- setSelectedWeek(newWeek);
- setSelectedYear(newYear);
- newDate = getDateOfISOWeek(newWeek, newYear);
- } else if (view === 'month') {
- newDate = new Date(date.getFullYear(), date.getMonth() + 1, 1);
- } else {
- newDate = new Date(date);
- }
- //Datum im DatePicker aktualisieren
- setSelectedDate(newDate);
- onNavigate('DATE', newDate);
- };
-
- //Pfeiltaste nach Hinten
- const handlePrev = () => {
- let newDate: Date;
- if (view === 'day' || view === 'agenda') {
- newDate = new Date(date);
- newDate.setDate(newDate.getDate() - 1);
- } else if (view === 'week') {
- let newWeek = selectedWeek - 1;
- let newYear = selectedYear;
- if (newWeek < 1) {
- newYear = selectedYear - 1;
- newWeek = getISOWeeksInYear(newYear);
- }
- setSelectedWeek(newWeek);
- setSelectedYear(newYear);
- newDate = getDateOfISOWeek(newWeek, newYear);
- } else if (view === 'month') {
- newDate = new Date(date.getFullYear(), date.getMonth() - 1, 1);
- } else {
- newDate = new Date(date);
- }
- //Datum im DatePicker aktualisieren
- setSelectedDate(newDate);
- onNavigate('DATE', newDate);
- };
-
- const [selectedDate, setSelectedDate] = useState(new Date());
-
- const handleDateChange = (date: Date | null) => {
- setSelectedDate(date);
- if (date) {
- if (view === 'week') {
- const newWeek = getISOWeek(date);
- const newYear = getISOWeekYear(date);
- setSelectedWeek(newWeek);
- setSelectedYear(newYear);
- const newDate = getDateOfISOWeek(newWeek, newYear);
- onNavigate('DATE', newDate);
- } else if (view === 'day') {
- onNavigate('DATE', date);
- } else if (view === 'month') {
- const newDate = new Date(date.getFullYear(), date.getMonth(), 1);
- onNavigate('DATE', newDate);
- } else if (view === 'agenda') {
- onNavigate('DATE', date);
- }
- }
- };
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default CustomToolbar;
diff --git a/src/components/misc/header.tsx b/src/components/misc/header.tsx
index dd9e36d..ed53953 100644
--- a/src/components/misc/header.tsx
+++ b/src/components/misc/header.tsx
@@ -45,7 +45,7 @@ export default function Header({
- {children}
+ {children}
);
}
diff --git a/src/components/react-big-calendar.css b/src/components/react-big-calendar.css
deleted file mode 100644
index 675898c..0000000
--- a/src/components/react-big-calendar.css
+++ /dev/null
@@ -1,930 +0,0 @@
-@charset "UTF-8";
-.rbc-btn {
- color: inherit;
- font: inherit;
- margin: 0;
-}
-
-button.rbc-btn {
- overflow: visible;
- text-transform: none;
- -webkit-appearance: button;
- -moz-appearance: button;
- appearance: button;
- cursor: pointer;
-}
-
-button[disabled].rbc-btn {
- cursor: not-allowed;
-}
-
-button.rbc-input::-moz-focus-inner {
- border: 0;
- padding: 0;
-}
-
-.rbc-calendar {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- height: 100%;
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-direction: column;
- flex-direction: column;
- -webkit-box-align: stretch;
- -ms-flex-align: stretch;
- align-items: stretch;
-}
-
-.rbc-m-b-negative-3 {
- margin-bottom: -3px;
-}
-
-.rbc-h-full {
- height: 100%;
-}
-
-.rbc-calendar *,
-.rbc-calendar *:before,
-.rbc-calendar *:after {
- -webkit-box-sizing: inherit;
- box-sizing: inherit;
-}
-
-.rbc-abs-full,
-.rbc-row-bg {
- overflow: hidden;
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
-}
-
-.rbc-ellipsis,
-.rbc-show-more,
-.rbc-row-segment .rbc-event-content,
-.rbc-event-label {
- display: block;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.rbc-rtl {
- direction: rtl;
-}
-
-.rbc-off-range {
- color: #999999;
-}
-
-.rbc-off-range-bg {
- background: #e6e6e6;
-}
-
-.rbc-header {
- overflow: hidden;
- -webkit-box-flex: 1;
- -ms-flex: 1 0 0%;
- flex: 1 0 0%;
- text-overflow: ellipsis;
- white-space: nowrap;
- padding: 0 3px;
- text-align: center;
- vertical-align: middle;
- font-weight: bold;
- font-size: 90%;
- min-height: 0;
- border-bottom: 1px solid #ddd;
-}
-.rbc-header + .rbc-header {
- border-left: 1px solid #c6c6c6; /*#ddd*/
-}
-.rbc-rtl .rbc-header + .rbc-header {
- border-left-width: 0;
- border-right: 1px solid #ddd;
-}
-.rbc-header > a,
-.rbc-header > a:active,
-.rbc-header > a:visited {
- color: inherit;
- text-decoration: none;
-}
-
-.rbc-button-link {
- color: inherit;
- background: none;
- margin: 0;
- padding: 0;
- border: none;
- cursor: pointer;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
-}
-
-.rbc-row-content {
- position: relative;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- -webkit-user-select: none;
- z-index: 4;
-}
-
-.rbc-row-content-scrollable {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-direction: column;
- flex-direction: column;
- height: 100%;
-}
-.rbc-row-content-scrollable .rbc-row-content-scroll-container {
- height: 100%;
- overflow-y: scroll;
- -ms-overflow-style: none; /* IE and Edge */
- scrollbar-width: none; /* Firefox */
- -ms-overflow-style: none; /* IE and Edge */
- scrollbar-width: none; /* Firefox */
- /* Hide scrollbar for Chrome, Safari and Opera */
-}
-.rbc-row-content-scrollable
- .rbc-row-content-scroll-container::-webkit-scrollbar {
- display: none;
-}
-
-.rbc-today {
- background-color: #5770ff; /*#eaf6ff*/
-}
-/*Own changes 10*/
-.rbc-allday-cell .rbc-row-bg .rbc-day-bg.rbc-today {
- background-color: transparent !important;
- /*border: none !important;*/
-}
-/*Own changes 10*/
-
-/*Own changes 11*/
-.rbc-time-header-cell .rbc-header:first-child.rbc-today {
- border-top-left-radius: 11px !important;
-}
-
-.rbc-time-header-cell .rbc-header:last-child.rbc-today {
- border-top-right-radius: 11px !important;
-}
-/*Own changes 11*/
-
-.rbc-toolbar {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -ms-flex-wrap: wrap;
- flex-wrap: wrap;
- -webkit-box-pack: center;
- -ms-flex-pack: center;
- justify-content: center;
- -webkit-box-align: center;
- -ms-flex-align: center;
- align-items: center;
- margin-bottom: 10px;
- font-size: 16px;
-}
-.rbc-toolbar .rbc-toolbar-label {
- -webkit-box-flex: 1;
- -ms-flex-positive: 1;
- flex-grow: 1;
- padding: 0 10px;
- text-align: center;
-
- /*Own changes 01*/
- background-color: #717171;
- color: #ffffff;
- /*Own changes 01*/
-}
-.rbc-toolbar button {
- color: #373a3c;
- display: inline-block;
- margin: 0;
- text-align: center;
- vertical-align: middle;
- background: none;
- background-image: none;
- border: 1px solid #ccc;
- padding: 0.375rem 1rem;
- border-radius: 4px;
- line-height: normal;
- white-space: nowrap;
-}
-.rbc-toolbar button:active,
-.rbc-toolbar button.rbc-active {
- background-image: none;
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
- background-color: #e6e6e6;
- border-color: #adadad;
-}
-.rbc-toolbar button:active:hover,
-.rbc-toolbar button:active:focus,
-.rbc-toolbar button.rbc-active:hover,
-.rbc-toolbar button.rbc-active:focus {
- color: #373a3c;
- background-color: #d4d4d4;
- border-color: #8c8c8c;
-}
-.rbc-toolbar button:focus {
- color: #373a3c;
- background-color: #e6e6e6;
- border-color: #adadad;
-}
-.rbc-toolbar button:hover {
- color: #373a3c;
- cursor: pointer;
- background-color: #e6e6e6;
- border-color: #adadad;
-}
-
-.rbc-btn-group {
- display: inline-block;
- white-space: nowrap;
-}
-.rbc-btn-group > button:first-child:not(:last-child) {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-
- /*Own changes 02*/
- background-color: #c6c6c6;
- color: #000000;
- /*Own changes 02*/
-}
-.rbc-btn-group > button:last-child:not(:first-child) {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
-
- /*Own changes 03*/
- background-color: #c6c6c6;
- color: #000000;
- /*Own changes 03*/
-}
-.rbc-rtl .rbc-btn-group > button:first-child:not(:last-child) {
- border-radius: 4px;
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
-}
-.rbc-rtl .rbc-btn-group > button:last-child:not(:first-child) {
- border-radius: 4px;
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-.rbc-btn-group > button:not(:first-child):not(:last-child) {
- border-radius: 0;
-
- /*Own changes 04*/
- background-color: #c6c6c6;
- color: #000000;
- /*Own changes 04*/
-}
-.rbc-btn-group button + button {
- margin-left: -1px;
-}
-.rbc-rtl .rbc-btn-group button + button {
- margin-left: 0;
- margin-right: -1px;
-}
-.rbc-btn-group + .rbc-btn-group,
-.rbc-btn-group + button {
- margin-left: 10px;
-}
-
-@media (max-width: 767px) {
- .rbc-toolbar {
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-direction: column;
- flex-direction: column;
- }
-}
-.rbc-event,
-.rbc-day-slot .rbc-background-event {
- border: none;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-box-shadow: none;
- box-shadow: none;
- margin: 0;
- padding: 2px 5px;
- background-color: #3174ad;
- border-radius: 5px;
- color: #fff;
- cursor: pointer;
- width: 100%;
- text-align: left;
-}
-.rbc-slot-selecting .rbc-event,
-.rbc-slot-selecting .rbc-day-slot .rbc-background-event,
-.rbc-day-slot .rbc-slot-selecting .rbc-background-event {
- cursor: inherit;
- pointer-events: none;
-}
-.rbc-event.rbc-selected,
-.rbc-day-slot .rbc-selected.rbc-background-event {
- background-color: #265985;
-}
-.rbc-event:focus,
-.rbc-day-slot .rbc-background-event:focus {
- outline: 5px auto #3b99fc;
-}
-
-.rbc-event-label {
- font-size: 80%;
-}
-
-.rbc-event-overlaps {
- -webkit-box-shadow: -1px 1px 5px 0px rgba(51, 51, 51, 0.5);
- box-shadow: -1px 1px 5px 0px rgba(51, 51, 51, 0.5);
-}
-
-.rbc-event-continues-prior {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
-}
-
-.rbc-event-continues-after {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-
-.rbc-event-continues-earlier {
- border-top-left-radius: 0;
- border-top-right-radius: 0;
-}
-
-.rbc-event-continues-later {
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
-}
-
-.rbc-row {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
- -ms-flex-direction: row;
- flex-direction: row;
-}
-
-.rbc-row-segment {
- padding: 0 1px 1px 1px;
-}
-.rbc-selected-cell {
- background-color: rgba(0, 0, 0, 0.1);
-}
-
-.rbc-show-more {
- background-color: rgba(255, 255, 255, 0.3);
- z-index: 4;
- font-weight: bold;
- font-size: 85%;
- height: auto;
- line-height: normal;
- color: #3174ad;
-}
-.rbc-show-more:hover,
-.rbc-show-more:focus {
- color: #265985;
-}
-
-.rbc-month-view {
- position: relative;
- border: 1px solid #ddd;
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-direction: column;
- flex-direction: column;
- -webkit-box-flex: 1;
- -ms-flex: 1 0 0px;
- flex: 1 0 0;
- width: 100%;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- -webkit-user-select: none;
- height: 100%;
-}
-
-.rbc-month-header {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
- -ms-flex-direction: row;
- flex-direction: row;
-}
-
-.rbc-month-row {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- position: relative;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-direction: column;
- flex-direction: column;
- -webkit-box-flex: 1;
- -ms-flex: 1 0 0px;
- flex: 1 0 0;
- -ms-flex-preferred-size: 0px;
- flex-basis: 0px;
- overflow: hidden;
- height: 100%;
-}
-.rbc-month-row + .rbc-month-row {
- border-top: 1px solid #ddd;
-}
-
-.rbc-date-cell {
- -webkit-box-flex: 1;
- -ms-flex: 1 1 0px;
- flex: 1 1 0;
- min-width: 0;
- padding-right: 5px;
- text-align: right;
-}
-.rbc-date-cell.rbc-now {
- font-weight: bold;
-}
-.rbc-date-cell > a,
-.rbc-date-cell > a:active,
-.rbc-date-cell > a:visited {
- color: inherit;
- text-decoration: none;
-}
-
-.rbc-row-bg {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
- -ms-flex-direction: row;
- flex-direction: row;
- -webkit-box-flex: 1;
- -ms-flex: 1 0 0px;
- flex: 1 0 0;
- overflow: hidden;
- right: 1px;
-}
-
-.rbc-day-bg {
- -webkit-box-flex: 1;
- -ms-flex: 1 0 0%;
- flex: 1 0 0%;
-}
-.rbc-day-bg + .rbc-day-bg {
- border-left: 1px solid #ddd;
-}
-.rbc-rtl .rbc-day-bg + .rbc-day-bg {
- border-left-width: 0;
- border-right: 1px solid #ddd;
-}
-
-.rbc-overlay {
- position: absolute;
- z-index: 5;
- border: 1px solid #e5e5e5;
- background-color: #fff;
- -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
- box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
- padding: 10px;
-}
-.rbc-overlay > * + * {
- margin-top: 1px;
-}
-
-.rbc-overlay-header {
- border-bottom: 1px solid #e5e5e5;
- margin: -10px -10px 5px -10px;
- padding: 2px 10px;
-}
-
-.rbc-agenda-view {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-direction: column;
- flex-direction: column;
- -webkit-box-flex: 1;
- -ms-flex: 1 0 0px;
- flex: 1 0 0;
- overflow: auto;
-}
-.rbc-agenda-view table.rbc-agenda-table {
- width: 100%;
- border: 1px solid #ddd;
- border-spacing: 0;
- border-collapse: collapse;
-}
-.rbc-agenda-view table.rbc-agenda-table tbody > tr > td {
- padding: 5px 10px;
- vertical-align: top;
-}
-.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell {
- padding-left: 15px;
- padding-right: 15px;
- text-transform: lowercase;
-}
-.rbc-agenda-view table.rbc-agenda-table tbody > tr > td + td,
-.rbc-agenda-view table.rbc-agenda-table tbody > tr > td.rbc-agenda-time-cell {
- border-left: 1px solid #ddd;
-}
-.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody > tr > td + td {
- border-left-width: 0;
- border-right: 1px solid #ddd;
-}
-.rbc-agenda-view table.rbc-agenda-table tbody > tr + tr {
- border-top: 1px solid #ddd;
-}
-.rbc-agenda-view table.rbc-agenda-table thead > tr > th {
- padding: 3px 5px;
- text-align: left;
- border-bottom: 1px solid #ddd;
-}
-.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead > tr > th {
- text-align: right;
-}
-
-.rbc-agenda-time-cell {
- text-transform: lowercase;
-}
-.rbc-agenda-time-cell .rbc-continues-after:after {
- content: ' »';
-}
-.rbc-agenda-time-cell .rbc-continues-prior:before {
- content: '« ';
-}
-
-.rbc-agenda-date-cell,
-.rbc-agenda-time-cell {
- white-space: nowrap;
-}
-
-.rbc-agenda-event-cell {
- width: 100%;
-}
-
-.rbc-time-column {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-direction: column;
- flex-direction: column;
- min-height: 100%;
-
- /*Own changes 06*/
- background-color: #383838;
- /*Own changes 06*/
-}
-.rbc-time-column .rbc-timeslot-group {
- -webkit-box-flex: 1;
- -ms-flex: 1;
- flex: 1;
-}
-
-.rbc-timeslot-group {
- border-bottom: 1px solid #8d8d8d; /*#ddd*/
- min-height: 40px;
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-flow: column nowrap;
- flex-flow: column nowrap;
-}
-
-.rbc-time-gutter,
-.rbc-header-gutter {
- -webkit-box-flex: 0;
- -ms-flex: none;
- flex: none;
-
- /*Own changes 07*/
- background-color: #8d8d8d;
- /*Own changes 07*/
-}
-
-.rbc-label {
- padding: 0 5px;
-}
-
-.rbc-day-slot {
- position: relative;
-}
-.rbc-day-slot .rbc-events-container {
- bottom: 0;
- left: 0;
- position: absolute;
- right: 0;
- margin-right: 10px;
- top: 0;
-}
-.rbc-day-slot .rbc-events-container.rbc-rtl {
- left: 10px;
- right: 0;
-}
-.rbc-day-slot .rbc-event,
-.rbc-day-slot .rbc-background-event {
- border: 1px solid #265985;
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- max-height: 100%;
- min-height: 20px;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-flow: column wrap;
- flex-flow: column wrap;
- -webkit-box-align: start;
- -ms-flex-align: start;
- align-items: flex-start;
- overflow: hidden;
- position: absolute;
-}
-.rbc-day-slot .rbc-background-event {
- opacity: 0.75;
-}
-.rbc-day-slot .rbc-event-label {
- -webkit-box-flex: 0;
- -ms-flex: none;
- flex: none;
- padding-right: 5px;
- width: auto;
-}
-.rbc-day-slot .rbc-event-content {
- width: 100%;
- -webkit-box-flex: 1;
- -ms-flex: 1 1 0px;
- flex: 1 1 0;
- word-wrap: break-word;
- line-height: 1;
- height: 100%;
- min-height: 1em;
-}
-.rbc-day-slot .rbc-time-slot {
- border-top: 1px solid #383838; /*#f7f7f7*/
-}
-
-.rbc-time-view-resources .rbc-time-gutter,
-.rbc-time-view-resources .rbc-time-header-gutter {
- position: sticky;
- left: 0;
- background-color: white;
- border-right: 1px solid #ddd;
- z-index: 10;
- margin-right: -1px;
-}
-.rbc-time-view-resources .rbc-time-header {
- overflow: hidden;
-}
-.rbc-time-view-resources .rbc-time-header-content {
- min-width: auto;
- -webkit-box-flex: 1;
- -ms-flex: 1 0 0px;
- flex: 1 0 0;
- -ms-flex-preferred-size: 0px;
- flex-basis: 0px;
-}
-.rbc-time-view-resources .rbc-time-header-cell-single-day {
- display: none;
-}
-.rbc-time-view-resources .rbc-day-slot {
- min-width: 140px;
-}
-.rbc-time-view-resources .rbc-header,
-.rbc-time-view-resources .rbc-day-bg {
- width: 140px;
- -webkit-box-flex: 1;
- -ms-flex: 1 1 0px;
- flex: 1 1 0;
- -ms-flex-preferred-size: 0 px;
- flex-basis: 0 px;
-}
-
-.rbc-time-header-content + .rbc-time-header-content {
- margin-left: -1px;
-}
-
-.rbc-time-slot {
- -webkit-box-flex: 1;
- -ms-flex: 1 0 0px;
- flex: 1 0 0;
-}
-.rbc-time-slot.rbc-now {
- font-weight: bold;
-}
-
-.rbc-day-header {
- text-align: center;
-}
-
-.rbc-slot-selection {
- z-index: 10;
- position: absolute;
- background-color: rgba(0, 0, 0, 0.5);
- color: white;
- font-size: 75%;
- width: 100%;
- padding: 3px;
-}
-
-.rbc-slot-selecting {
- cursor: move;
-}
-
-.rbc-time-view {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-direction: column;
- flex-direction: column;
- -webkit-box-flex: 1;
- -ms-flex: 1;
- flex: 1;
- width: 100%;
- min-height: 0;
-}
-.rbc-time-view .rbc-time-gutter {
- white-space: nowrap;
- text-align: right;
-}
-.rbc-time-view .rbc-allday-cell {
- -webkit-box-sizing: content-box;
- box-sizing: content-box;
- width: 100%;
- height: 100%;
- position: relative;
-
- /*Own changes 05*/
- background-color: #555555;
- /*Own changes 05*/
-}
-.rbc-time-view .rbc-allday-cell + .rbc-allday-cell {
- border-left: 1px solid #ddd;
-}
-.rbc-time-view .rbc-allday-events {
- position: relative;
- z-index: 4;
-}
-.rbc-time-view .rbc-row {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- min-height: 20px;
-}
-
-.rbc-time-header {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-flex: 0;
- -ms-flex: 0 0 auto;
- flex: 0 0 auto;
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
- -ms-flex-direction: row;
- flex-direction: row;
-}
-.rbc-rtl .rbc-time-header.rbc-overflowing {
- border-right-width: 0;
- border-left: 1px solid #ddd;
-}
-.rbc-time-header > .rbc-row:first-child {
- border-bottom: 1px solid #ddd;
-}
-.rbc-time-header > .rbc-row.rbc-row-resource {
- border-bottom: 1px solid #ddd;
-}
-
-.rbc-time-header-cell-single-day {
- display: none;
-}
-
-.rbc-time-header-content {
- -webkit-box-flex: 1;
- -ms-flex: 1;
- flex: 1;
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- min-width: 0;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-direction: column;
- flex-direction: column;
- border-left: 1px solid #ddd;
-
- /*Own changes 08*/
- background-color: #c6c6c6;
- color: #000000;
- border-top-left-radius: 11px;
- border-top-right-radius: 11px;
- /*Own changes 08*/
-}
-.rbc-rtl .rbc-time-header-content {
- border-left-width: 0;
- border-right: 1px solid #ddd;
-}
-.rbc-time-header-content > .rbc-row.rbc-row-resource {
- border-bottom: 1px solid #ddd;
- -ms-flex-negative: 0;
- flex-shrink: 0;
-}
-
-.rbc-time-content {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-flex: 1;
- -ms-flex: 1 0 0%;
- flex: 1 0 0%;
- -webkit-box-align: start;
- -ms-flex-align: start;
- align-items: flex-start;
- width: 100%;
- overflow-y: auto;
- position: relative;
-}
-
-.rbc-time-header-content {
- border-bottom: 2px solid #717171; /*#ddd*/
-}
-
-.rbc-time-column :last-child {
- border-bottom: 0;
-}
-
-.rbc-time-content > .rbc-time-gutter {
- -webkit-box-flex: 0;
- -ms-flex: none;
- flex: none;
-
- /*Own changes 09*/
- border-top-left-radius: 11px;
- border-bottom-left-radius: 11px;
- /*Own changes 09*/
-}
-.rbc-time-content > * + * > * {
- border-left: 1px solid #c6c6c6; /*#ddd*/
-}
-.rbc-rtl .rbc-time-content > * + * > * {
- border-left-width: 0;
- border-right: 1px solid #ddd;
-}
-.rbc-time-content > .rbc-day-slot {
- width: 100%;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- -webkit-user-select: none;
-}
-
-.rbc-current-time-indicator {
- position: absolute;
- z-index: 3;
- left: 0;
- right: 0;
- height: 1px;
- background-color: #74ad31;
- pointer-events: none;
-}
-
-.rbc-resource-grouping.rbc-time-header-content {
- display: -webkit-box;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -ms-flex-direction: column;
- flex-direction: column;
-}
-.rbc-resource-grouping .rbc-row .rbc-header {
- width: 141px;
-}
-
-/*# sourceMappingURL=react-big-calendar.css.map */
diff --git a/yarn.lock b/yarn.lock
index e6c3eee..4456732 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -156,7 +156,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.7":
+"@babel/runtime@npm:^7.3.1":
version: 7.27.6
resolution: "@babel/runtime@npm:7.27.6"
checksum: 10c0/89726be83f356f511dcdb74d3ea4d873a5f0cf0017d4530cb53aa27380c01ca102d573eff8b8b77815e624b1f8c24e7f0311834ad4fb632c90a770fda00bd4c8
@@ -539,7 +539,7 @@ __metadata:
languageName: node
linkType: hard
-"@floating-ui/react-dom@npm:^2.0.0, @floating-ui/react-dom@npm:^2.1.3":
+"@floating-ui/react-dom@npm:^2.0.0":
version: 2.1.3
resolution: "@floating-ui/react-dom@npm:2.1.3"
dependencies:
@@ -551,20 +551,6 @@ __metadata:
languageName: node
linkType: hard
-"@floating-ui/react@npm:^0.27.3":
- version: 0.27.12
- resolution: "@floating-ui/react@npm:0.27.12"
- dependencies:
- "@floating-ui/react-dom": "npm:^2.1.3"
- "@floating-ui/utils": "npm:^0.2.9"
- tabbable: "npm:^6.0.0"
- peerDependencies:
- react: ">=17.0.0"
- react-dom: ">=17.0.0"
- checksum: 10c0/da453965074bd4ded8e3de97ceb2c0833df8df2ecd9eff5ae4d336413443ea5abde5c9e37b092956901b97e7b47f9138d51d4896fa82da68e77eb0090289bf64
- languageName: node
- linkType: hard
-
"@floating-ui/utils@npm:^0.2.9":
version: 0.2.9
resolution: "@floating-ui/utils@npm:0.2.9"
@@ -1013,7 +999,7 @@ __metadata:
languageName: node
linkType: hard
-"@napi-rs/wasm-runtime@npm:^0.2.11":
+"@napi-rs/wasm-runtime@npm:^0.2.10, @napi-rs/wasm-runtime@npm:^0.2.11":
version: 0.2.11
resolution: "@napi-rs/wasm-runtime@npm:0.2.11"
dependencies:
@@ -1281,13 +1267,6 @@ __metadata:
languageName: node
linkType: hard
-"@popperjs/core@npm:^2.11.6":
- version: 2.11.8
- resolution: "@popperjs/core@npm:2.11.8"
- checksum: 10c0/4681e682abc006d25eb380d0cf3efc7557043f53b6aea7a5057d0d1e7df849a00e281cd8ea79c902a35a414d7919621fc2ba293ecec05f413598e0b23d5a1e63
- languageName: node
- linkType: hard
-
"@prisma/client@npm:^6.9.0":
version: 6.10.1
resolution: "@prisma/client@npm:6.10.1"
@@ -2196,17 +2175,6 @@ __metadata:
languageName: node
linkType: hard
-"@restart/hooks@npm:^0.4.7":
- version: 0.4.16
- resolution: "@restart/hooks@npm:0.4.16"
- dependencies:
- dequal: "npm:^2.0.3"
- peerDependencies:
- react: ">=16.8.0"
- checksum: 10c0/b6a0f1db046cdec28737092ab5defdfb25fad498d37d218646f7f123aed02a5078b1c89ae631bda14d9ee35f7bb8c9e0f15379b1a45003144dc30cd15e8ba668
- languageName: node
- linkType: hard
-
"@rtsao/scc@npm:^1.1.0":
version: 1.1.0
resolution: "@rtsao/scc@npm:1.1.0"
@@ -3077,9 +3045,9 @@ __metadata:
languageName: node
linkType: hard
-"@tailwindcss/node@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/node@npm:4.1.11"
+"@tailwindcss/node@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/node@npm:4.1.10"
dependencies:
"@ampproject/remapping": "npm:^2.3.0"
enhanced-resolve: "npm:^5.18.1"
@@ -3087,118 +3055,118 @@ __metadata:
lightningcss: "npm:1.30.1"
magic-string: "npm:^0.30.17"
source-map-js: "npm:^1.2.1"
- tailwindcss: "npm:4.1.11"
- checksum: 10c0/1a433aecd80d0c6d07d468ed69b696e4e02996e6b77cc5ed66e3c91b02f5fa9a26320fb321e4b1aa107003b401d7a4ffeb2986966dc022ec329a44e54493a2aa
+ tailwindcss: "npm:4.1.10"
+ checksum: 10c0/5cf900fe53ba08b5d9bfbd48925ea2c18eb8f89ae47738d95372152ed9b20c020bf3660ad04fa5dbb67f62ce01efd431cf4d3015d2d43e918fa89ce3c77b5170
languageName: node
linkType: hard
-"@tailwindcss/oxide-android-arm64@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide-android-arm64@npm:4.1.11"
+"@tailwindcss/oxide-android-arm64@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide-android-arm64@npm:4.1.10"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
-"@tailwindcss/oxide-darwin-arm64@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide-darwin-arm64@npm:4.1.11"
+"@tailwindcss/oxide-darwin-arm64@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide-darwin-arm64@npm:4.1.10"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"@tailwindcss/oxide-darwin-x64@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide-darwin-x64@npm:4.1.11"
+"@tailwindcss/oxide-darwin-x64@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide-darwin-x64@npm:4.1.10"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"@tailwindcss/oxide-freebsd-x64@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide-freebsd-x64@npm:4.1.11"
+"@tailwindcss/oxide-freebsd-x64@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide-freebsd-x64@npm:4.1.10"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
-"@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.1.11"
+"@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.1.10"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
-"@tailwindcss/oxide-linux-arm64-gnu@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide-linux-arm64-gnu@npm:4.1.11"
+"@tailwindcss/oxide-linux-arm64-gnu@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide-linux-arm64-gnu@npm:4.1.10"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
-"@tailwindcss/oxide-linux-arm64-musl@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide-linux-arm64-musl@npm:4.1.11"
+"@tailwindcss/oxide-linux-arm64-musl@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide-linux-arm64-musl@npm:4.1.10"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
-"@tailwindcss/oxide-linux-x64-gnu@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide-linux-x64-gnu@npm:4.1.11"
+"@tailwindcss/oxide-linux-x64-gnu@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide-linux-x64-gnu@npm:4.1.10"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
-"@tailwindcss/oxide-linux-x64-musl@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide-linux-x64-musl@npm:4.1.11"
+"@tailwindcss/oxide-linux-x64-musl@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide-linux-x64-musl@npm:4.1.10"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
-"@tailwindcss/oxide-wasm32-wasi@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide-wasm32-wasi@npm:4.1.11"
+"@tailwindcss/oxide-wasm32-wasi@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide-wasm32-wasi@npm:4.1.10"
dependencies:
"@emnapi/core": "npm:^1.4.3"
"@emnapi/runtime": "npm:^1.4.3"
"@emnapi/wasi-threads": "npm:^1.0.2"
- "@napi-rs/wasm-runtime": "npm:^0.2.11"
+ "@napi-rs/wasm-runtime": "npm:^0.2.10"
"@tybys/wasm-util": "npm:^0.9.0"
tslib: "npm:^2.8.0"
conditions: cpu=wasm32
languageName: node
linkType: hard
-"@tailwindcss/oxide-win32-arm64-msvc@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide-win32-arm64-msvc@npm:4.1.11"
+"@tailwindcss/oxide-win32-arm64-msvc@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide-win32-arm64-msvc@npm:4.1.10"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
-"@tailwindcss/oxide-win32-x64-msvc@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide-win32-x64-msvc@npm:4.1.11"
+"@tailwindcss/oxide-win32-x64-msvc@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide-win32-x64-msvc@npm:4.1.10"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
-"@tailwindcss/oxide@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/oxide@npm:4.1.11"
+"@tailwindcss/oxide@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/oxide@npm:4.1.10"
dependencies:
- "@tailwindcss/oxide-android-arm64": "npm:4.1.11"
- "@tailwindcss/oxide-darwin-arm64": "npm:4.1.11"
- "@tailwindcss/oxide-darwin-x64": "npm:4.1.11"
- "@tailwindcss/oxide-freebsd-x64": "npm:4.1.11"
- "@tailwindcss/oxide-linux-arm-gnueabihf": "npm:4.1.11"
- "@tailwindcss/oxide-linux-arm64-gnu": "npm:4.1.11"
- "@tailwindcss/oxide-linux-arm64-musl": "npm:4.1.11"
- "@tailwindcss/oxide-linux-x64-gnu": "npm:4.1.11"
- "@tailwindcss/oxide-linux-x64-musl": "npm:4.1.11"
- "@tailwindcss/oxide-wasm32-wasi": "npm:4.1.11"
- "@tailwindcss/oxide-win32-arm64-msvc": "npm:4.1.11"
- "@tailwindcss/oxide-win32-x64-msvc": "npm:4.1.11"
+ "@tailwindcss/oxide-android-arm64": "npm:4.1.10"
+ "@tailwindcss/oxide-darwin-arm64": "npm:4.1.10"
+ "@tailwindcss/oxide-darwin-x64": "npm:4.1.10"
+ "@tailwindcss/oxide-freebsd-x64": "npm:4.1.10"
+ "@tailwindcss/oxide-linux-arm-gnueabihf": "npm:4.1.10"
+ "@tailwindcss/oxide-linux-arm64-gnu": "npm:4.1.10"
+ "@tailwindcss/oxide-linux-arm64-musl": "npm:4.1.10"
+ "@tailwindcss/oxide-linux-x64-gnu": "npm:4.1.10"
+ "@tailwindcss/oxide-linux-x64-musl": "npm:4.1.10"
+ "@tailwindcss/oxide-wasm32-wasi": "npm:4.1.10"
+ "@tailwindcss/oxide-win32-arm64-msvc": "npm:4.1.10"
+ "@tailwindcss/oxide-win32-x64-msvc": "npm:4.1.10"
detect-libc: "npm:^2.0.4"
tar: "npm:^7.4.3"
dependenciesMeta:
@@ -3226,20 +3194,20 @@ __metadata:
optional: true
"@tailwindcss/oxide-win32-x64-msvc":
optional: true
- checksum: 10c0/0455483b0e52885a3f36ecbec5409c360159bb0ee969f3a64c2d93dbd94d0d769c1351b7031f4d4b9d8bed997d04d685ca9519160714f432d63f4e824ce1406d
+ checksum: 10c0/38adecfedb1854acbf82538881b9caf475e656a3cb9b86d860c0bfac5f3f042da34c85d664506ab0feaff2d6106d29d74afc93ea8c4281e4eac35da690f6ca5c
languageName: node
linkType: hard
-"@tailwindcss/postcss@npm:4.1.11":
- version: 4.1.11
- resolution: "@tailwindcss/postcss@npm:4.1.11"
+"@tailwindcss/postcss@npm:4.1.10":
+ version: 4.1.10
+ resolution: "@tailwindcss/postcss@npm:4.1.10"
dependencies:
"@alloc/quick-lru": "npm:^5.2.0"
- "@tailwindcss/node": "npm:4.1.11"
- "@tailwindcss/oxide": "npm:4.1.11"
+ "@tailwindcss/node": "npm:4.1.10"
+ "@tailwindcss/oxide": "npm:4.1.10"
postcss: "npm:^8.4.41"
- tailwindcss: "npm:4.1.11"
- checksum: 10c0/e449e1992d0723061aa9452979cd01727db4d1e81b2c16762b01899d06a6c9015792d10d3db4cb553e2e59f307593dc4ccf679ef1add5f774da73d3a091f7227
+ tailwindcss: "npm:4.1.10"
+ checksum: 10c0/f320527b4e50e586e6bbe0e653f0c63ef0738a40737d1c80f47b074d42c0762d8dc20d40cbea9f13c7592f008e850b2f6eac61439ef9dc1c366d11dea52afda1
languageName: node
linkType: hard
@@ -3314,13 +3282,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/date-arithmetic@npm:*":
- version: 4.1.4
- resolution: "@types/date-arithmetic@npm:4.1.4"
- checksum: 10c0/4ee68b5a422bd5f1cf08923d18a08db558e653bbdc597677e0465a330f1e807da0e79b06b72651b62b19b4b922a779470f84657cbd765805f84f33af518b408f
- languageName: node
- linkType: hard
-
"@types/es-aggregate-error@npm:^1.0.2":
version: 1.0.6
resolution: "@types/es-aggregate-error@npm:1.0.6"
@@ -3387,13 +3348,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/prop-types@npm:*":
- version: 15.7.15
- resolution: "@types/prop-types@npm:15.7.15"
- checksum: 10c0/b59aad1ad19bf1733cf524fd4e618196c6c7690f48ee70a327eb450a42aab8e8a063fbe59ca0a5701aebe2d92d582292c0fb845ea57474f6a15f6994b0e260b2
- languageName: node
- linkType: hard
-
"@types/ramda@npm:~0.30.0":
version: 0.30.2
resolution: "@types/ramda@npm:0.30.2"
@@ -3403,17 +3357,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/react-big-calendar@npm:^1":
- version: 1.16.2
- resolution: "@types/react-big-calendar@npm:1.16.2"
- dependencies:
- "@types/date-arithmetic": "npm:*"
- "@types/prop-types": "npm:*"
- "@types/react": "npm:*"
- checksum: 10c0/a2ea4116b999cf8dac014fdc4a9f0c10fb2fd9d9886857e93649c0a601057e93e73e3d9096a756b76e227e08f68e4c979f91bf4cfd96692aea3ab7f3df0745d0
- languageName: node
- linkType: hard
-
"@types/react-dom@npm:19.1.6":
version: 19.1.6
resolution: "@types/react-dom@npm:19.1.6"
@@ -3423,7 +3366,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/react@npm:*, @types/react@npm:19.1.8, @types/react@npm:>=16.9.11":
+"@types/react@npm:*, @types/react@npm:19.1.8":
version: 19.1.8
resolution: "@types/react@npm:19.1.8"
dependencies:
@@ -3453,7 +3396,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/swagger-ui-react@npm:5.18.0":
+"@types/swagger-ui-react@npm:5":
version: 5.18.0
resolution: "@types/swagger-ui-react@npm:5.18.0"
dependencies:
@@ -3497,13 +3440,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/warning@npm:^3.0.0":
- version: 3.0.3
- resolution: "@types/warning@npm:3.0.3"
- checksum: 10c0/82c1235bd05d7f6940f80012404844e225d589ad338aa4585b231a2c8deacc695b683f4168757c82c10047b81854cbeaaeefd60536dd67bb48f8a65e20410652
- languageName: node
- linkType: hard
-
"@types/webpack-env@npm:1.18.8":
version: 1.18.8
resolution: "@types/webpack-env@npm:1.18.8"
@@ -4585,13 +4521,6 @@ __metadata:
languageName: node
linkType: hard
-"clsx@npm:^1.2.1":
- version: 1.2.1
- resolution: "clsx@npm:1.2.1"
- checksum: 10c0/34dead8bee24f5e96f6e7937d711978380647e936a22e76380290e35486afd8634966ce300fc4b74a32f3762c7d4c0303f442c3e259f4ce02374eb0c82834f27
- languageName: node
- linkType: hard
-
"clsx@npm:^2.1.1":
version: 2.1.1
resolution: "clsx@npm:2.1.1"
@@ -4880,13 +4809,6 @@ __metadata:
languageName: node
linkType: hard
-"date-arithmetic@npm:^4.1.0":
- version: 4.1.0
- resolution: "date-arithmetic@npm:4.1.0"
- checksum: 10c0/697774a1a6a1b226004b5527326599c01a095bf715a0d43089e0493a565a91e7f4342b1b73b855c0e7b0caaf4bc947a61bc35ec60d162d52ef3c3c08eab26b6e
- languageName: node
- linkType: hard
-
"date-fns-jalali@npm:4.1.0-0":
version: 4.1.0-0
resolution: "date-fns-jalali@npm:4.1.0-0"
@@ -4901,7 +4823,7 @@ __metadata:
languageName: node
linkType: hard
-"dayjs@npm:^1.10.4, dayjs@npm:^1.11.7":
+"dayjs@npm:^1.10.4":
version: 1.11.13
resolution: "dayjs@npm:1.11.13"
checksum: 10c0/a3caf6ac8363c7dade9d1ee797848ddcf25c1ace68d9fe8678ecf8ba0675825430de5d793672ec87b24a69bf04a1544b176547b2539982275d5542a7955f35b7
@@ -4986,13 +4908,6 @@ __metadata:
languageName: node
linkType: hard
-"dequal@npm:^2.0.3":
- version: 2.0.3
- resolution: "dequal@npm:2.0.3"
- checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888
- languageName: node
- linkType: hard
-
"detect-libc@npm:^2.0.3, detect-libc@npm:^2.0.4":
version: 2.0.4
resolution: "detect-libc@npm:2.0.4"
@@ -5041,16 +4956,6 @@ __metadata:
languageName: node
linkType: hard
-"dom-helpers@npm:^5.2.0, dom-helpers@npm:^5.2.1":
- version: 5.2.1
- resolution: "dom-helpers@npm:5.2.1"
- dependencies:
- "@babel/runtime": "npm:^7.8.7"
- csstype: "npm:^3.0.2"
- checksum: 10c0/f735074d66dd759b36b158fa26e9d00c9388ee0e8c9b16af941c38f014a37fc80782de83afefd621681b19ac0501034b4f1c4a3bff5caa1b8667f0212b5e124c
- languageName: node
- linkType: hard
-
"dompurify@npm:=3.2.4":
version: 3.2.4
resolution: "dompurify@npm:3.2.4"
@@ -6306,13 +6211,6 @@ __metadata:
languageName: node
linkType: hard
-"globalize@npm:^0.1.1":
- version: 0.1.1
- resolution: "globalize@npm:0.1.1"
- checksum: 10c0/6d4687e7c52a38e7f16f77339aef9b3364c34ce8cc1c8b8495b76418013252eaf5b2453fbc2d8bb9e6e56c739262665484dc7ac51b729501ff0a3b822730116b
- languageName: node
- linkType: hard
-
"globals@npm:^14.0.0":
version: 14.0.0
resolution: "globals@npm:14.0.0"
@@ -6628,7 +6526,7 @@ __metadata:
languageName: node
linkType: hard
-"invariant@npm:^2.2.2, invariant@npm:^2.2.4":
+"invariant@npm:^2.2.2":
version: 2.2.4
resolution: "invariant@npm:2.2.4"
dependencies:
@@ -7420,13 +7318,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash-es@npm:^4.17.21":
- version: 4.17.21
- resolution: "lodash-es@npm:4.17.21"
- checksum: 10c0/fb407355f7e6cd523a9383e76e6b455321f0f153a6c9625e21a8827d10c54c2a2341bd2ae8d034358b60e07325e1330c14c224ff582d04612a46a4f0479ff2f2
- languageName: node
- linkType: hard
-
"lodash.debounce@npm:^4":
version: 4.0.8
resolution: "lodash.debounce@npm:4.0.8"
@@ -7582,12 +7473,12 @@ __metadata:
languageName: node
linkType: hard
-"lucide-react@npm:^0.523.0":
- version: 0.523.0
- resolution: "lucide-react@npm:0.523.0"
+"lucide-react@npm:^0.515.0":
+ version: 0.515.0
+ resolution: "lucide-react@npm:0.515.0"
peerDependencies:
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
- checksum: 10c0/dafd180d05326edc81d928f37d6574930f0592da08b91c536ae5675d0b764295368e8daf9bcc81a5283c18e2f19412060d1da475b4f26112168245e708bd562f
+ checksum: 10c0/00485e09ab3d0bbb34797b1f368c269e8708522b6e2f46fd84dd5bd99741546487be9a65a260f274e8049b81cc37687566e26132f5752352c8d9bc8e5d0b3dea
languageName: node
linkType: hard
@@ -7598,13 +7489,6 @@ __metadata:
languageName: node
linkType: hard
-"luxon@npm:^3.2.1":
- version: 3.6.1
- resolution: "luxon@npm:3.6.1"
- checksum: 10c0/906d57a9dc4d1de9383f2e9223e378c298607c1b4d17b6657b836a3cd120feb1c1de3b5d06d846a3417e1ca764de8476e8c23b3cd4083b5cdb870adcb06a99d5
- languageName: node
- linkType: hard
-
"magic-string@npm:^0.30.17":
version: 0.30.17
resolution: "magic-string@npm:0.30.17"
@@ -7698,13 +7582,12 @@ __metadata:
"@radix-ui/react-switch": "npm:^1.2.4"
"@radix-ui/react-tabs": "npm:^1.1.11"
"@radix-ui/react-tooltip": "npm:^1.2.7"
- "@tailwindcss/postcss": "npm:4.1.11"
+ "@tailwindcss/postcss": "npm:4.1.10"
"@tanstack/react-query": "npm:^5.80.7"
"@types/node": "npm:22.15.33"
"@types/react": "npm:19.1.8"
- "@types/react-big-calendar": "npm:^1"
"@types/react-dom": "npm:19.1.6"
- "@types/swagger-ui-react": "npm:5.18.0"
+ "@types/swagger-ui-react": "npm:5"
"@types/webpack-env": "npm:1.18.8"
bcryptjs: "npm:^3.0.2"
class-variance-authority: "npm:^0.7.1"
@@ -7716,7 +7599,7 @@ __metadata:
eslint: "npm:9.29.0"
eslint-config-next: "npm:15.3.4"
eslint-config-prettier: "npm:10.1.5"
- lucide-react: "npm:^0.523.0"
+ lucide-react: "npm:^0.515.0"
next: "npm:15.3.4"
next-auth: "npm:^5.0.0-beta.25"
next-swagger-doc: "npm:^0.4.1"
@@ -7725,33 +7608,22 @@ __metadata:
postcss: "npm:8.5.6"
prettier: "npm:3.6.1"
prisma: "npm:6.10.1"
- react: "npm:^19.1.0"
- react-big-calendar: "npm:^1.18.0"
- react-datepicker: "npm:^8.4.0"
+ react: "npm:^19.0.0"
react-day-picker: "npm:^9.7.0"
react-dom: "npm:^19.0.0"
- react-error-boundary: "npm:^6.0.0"
react-hook-form: "npm:^7.56.4"
sonner: "npm:^2.0.5"
swagger-ui-react: "npm:^5.24.1"
tailwind-merge: "npm:^3.2.0"
- tailwindcss: "npm:4.1.11"
+ tailwindcss: "npm:4.1.10"
ts-node: "npm:10.9.2"
tsconfig-paths: "npm:4.2.0"
tw-animate-css: "npm:1.3.4"
- typescript: "npm:5.8.3"
+ typescript: "npm:^5.8.3"
zod: "npm:^3.25.60"
- zod-validation-error: "npm:^3.5.2"
languageName: unknown
linkType: soft
-"memoize-one@npm:^6.0.0":
- version: 6.0.0
- resolution: "memoize-one@npm:6.0.0"
- checksum: 10c0/45c88e064fd715166619af72e8cf8a7a17224d6edf61f7a8633d740ed8c8c0558a4373876c9b8ffc5518c2b65a960266adf403cc215cb1e90f7e262b58991f54
- languageName: node
- linkType: hard
-
"merge-stream@npm:^2.0.0":
version: 2.0.0
resolution: "merge-stream@npm:2.0.0"
@@ -7936,22 +7808,6 @@ __metadata:
languageName: node
linkType: hard
-"moment-timezone@npm:^0.5.40":
- version: 0.5.48
- resolution: "moment-timezone@npm:0.5.48"
- dependencies:
- moment: "npm:^2.29.4"
- checksum: 10c0/ab14ec9d94bc33f29ac18e5417b7f8aca0b17130b952c5cc9697b8fea839e5ece9313af5fd3c9703a05db472b1560ddbfc7ad2aa24aac9afd047d6da6c3c6033
- languageName: node
- linkType: hard
-
-"moment@npm:^2.29.4":
- version: 2.30.1
- resolution: "moment@npm:2.30.1"
- checksum: 10c0/865e4279418c6de666fca7786607705fd0189d8a7b7624e2e56be99290ac846f90878a6f602e34b4e0455c549b85385b1baf9966845962b313699e7cb847543a
- languageName: node
- linkType: hard
-
"ms@npm:^2.1.1, ms@npm:^2.1.3":
version: 2.1.3
resolution: "ms@npm:2.1.3"
@@ -8801,7 +8657,7 @@ __metadata:
languageName: node
linkType: hard
-"prop-types@npm:^15.7.2, prop-types@npm:^15.8.1":
+"prop-types@npm:^15.8.1":
version: 15.8.1
resolution: "prop-types@npm:15.8.1"
dependencies:
@@ -8917,33 +8773,6 @@ __metadata:
languageName: node
linkType: hard
-"react-big-calendar@npm:^1.18.0":
- version: 1.19.4
- resolution: "react-big-calendar@npm:1.19.4"
- dependencies:
- "@babel/runtime": "npm:^7.20.7"
- clsx: "npm:^1.2.1"
- date-arithmetic: "npm:^4.1.0"
- dayjs: "npm:^1.11.7"
- dom-helpers: "npm:^5.2.1"
- globalize: "npm:^0.1.1"
- invariant: "npm:^2.2.4"
- lodash: "npm:^4.17.21"
- lodash-es: "npm:^4.17.21"
- luxon: "npm:^3.2.1"
- memoize-one: "npm:^6.0.0"
- moment: "npm:^2.29.4"
- moment-timezone: "npm:^0.5.40"
- prop-types: "npm:^15.8.1"
- react-overlays: "npm:^5.2.1"
- uncontrollable: "npm:^7.2.1"
- peerDependencies:
- react: ^16.14.0 || ^17 || ^18 || ^19
- react-dom: ^16.14.0 || ^17 || ^18 || ^19
- checksum: 10c0/78730e6396c06a27b24af860fa64d063f6407ccd12546116eb8cb2f274d827891c68a701b9c83f9903f63e5dea03fb6a3dd46d6a0a9186b3ab2f7e1d994fe86b
- languageName: node
- linkType: hard
-
"react-copy-to-clipboard@npm:5.1.0":
version: 5.1.0
resolution: "react-copy-to-clipboard@npm:5.1.0"
@@ -8956,20 +8785,6 @@ __metadata:
languageName: node
linkType: hard
-"react-datepicker@npm:^8.4.0":
- version: 8.4.0
- resolution: "react-datepicker@npm:8.4.0"
- dependencies:
- "@floating-ui/react": "npm:^0.27.3"
- clsx: "npm:^2.1.1"
- date-fns: "npm:^4.1.0"
- peerDependencies:
- react: ^16.9.0 || ^17 || ^18 || ^19 || ^19.0.0-rc
- react-dom: ^16.9.0 || ^17 || ^18 || ^19 || ^19.0.0-rc
- checksum: 10c0/e96ba4f2b54476f66bfa33aa0c21729095c83d293671b07a9ddd96ab48dad85b6530acc5ca016e83ef8907feeebfefb7133bf7a02dc550175c48c5d9f66d70ac
- languageName: node
- linkType: hard
-
"react-day-picker@npm:^9.7.0":
version: 9.7.0
resolution: "react-day-picker@npm:9.7.0"
@@ -9006,17 +8821,6 @@ __metadata:
languageName: node
linkType: hard
-"react-error-boundary@npm:^6.0.0":
- version: 6.0.0
- resolution: "react-error-boundary@npm:6.0.0"
- dependencies:
- "@babel/runtime": "npm:^7.12.5"
- peerDependencies:
- react: ">=16.13.1"
- checksum: 10c0/1914d600dee95a14f14af4afe9867b0d35c26c4f7826d23208800ba2a99728659029aad60a6ef95e13430b4d79c2c4c9b3585f50bf508450478760d2e4e732d8
- languageName: node
- linkType: hard
-
"react-hook-form@npm:^7.56.4":
version: 7.58.1
resolution: "react-hook-form@npm:7.58.1"
@@ -9064,32 +8868,6 @@ __metadata:
languageName: node
linkType: hard
-"react-lifecycles-compat@npm:^3.0.4":
- version: 3.0.4
- resolution: "react-lifecycles-compat@npm:3.0.4"
- checksum: 10c0/1d0df3c85af79df720524780f00c064d53a9dd1899d785eddb7264b378026979acbddb58a4b7e06e7d0d12aa1494fd5754562ee55d32907b15601068dae82c27
- languageName: node
- linkType: hard
-
-"react-overlays@npm:^5.2.1":
- version: 5.2.1
- resolution: "react-overlays@npm:5.2.1"
- dependencies:
- "@babel/runtime": "npm:^7.13.8"
- "@popperjs/core": "npm:^2.11.6"
- "@restart/hooks": "npm:^0.4.7"
- "@types/warning": "npm:^3.0.0"
- dom-helpers: "npm:^5.2.0"
- prop-types: "npm:^15.7.2"
- uncontrollable: "npm:^7.2.1"
- warning: "npm:^4.0.3"
- peerDependencies:
- react: ">=16.3.0"
- react-dom: ">=16.3.0"
- checksum: 10c0/61836490040cfcdebc792b6eddcfac47b7b7e159f99304165371e9eb389a6875f20ddba3433421413ccfb918e8da6042ab2829f9b1f6f5dd9f8476aa16ddcfbe
- languageName: node
- linkType: hard
-
"react-redux@npm:^9.2.0":
version: 9.2.0
resolution: "react-redux@npm:9.2.0"
@@ -9176,7 +8954,7 @@ __metadata:
languageName: node
linkType: hard
-"react@npm:^19.1.0":
+"react@npm:^19.0.0":
version: 19.1.0
resolution: "react@npm:19.1.0"
checksum: 10c0/530fb9a62237d54137a13d2cfb67a7db6a2156faed43eecc423f4713d9b20c6f2728b026b45e28fcd72e8eadb9e9ed4b089e99f5e295d2f0ad3134251bdd3698
@@ -10263,13 +10041,6 @@ __metadata:
languageName: node
linkType: hard
-"tabbable@npm:^6.0.0":
- version: 6.2.0
- resolution: "tabbable@npm:6.2.0"
- checksum: 10c0/ced8b38f05f2de62cd46836d77c2646c42b8c9713f5bd265daf0e78ff5ac73d3ba48a7ca45f348bafeef29b23da7187c72250742d37627883ef89cbd7fa76898
- languageName: node
- linkType: hard
-
"tailwind-merge@npm:^3.2.0":
version: 3.3.1
resolution: "tailwind-merge@npm:3.3.1"
@@ -10277,10 +10048,10 @@ __metadata:
languageName: node
linkType: hard
-"tailwindcss@npm:4.1.11":
- version: 4.1.11
- resolution: "tailwindcss@npm:4.1.11"
- checksum: 10c0/e23eed0a0d6557b3aff8ba320b82758988ca67c351ee9b33dfc646e83a64f6eaeca6183dfc97e931f7b2fab46e925090066edd697d2ede3f396c9fdeb4af24c1
+"tailwindcss@npm:4.1.10":
+ version: 4.1.10
+ resolution: "tailwindcss@npm:4.1.10"
+ checksum: 10c0/9da74ee1f25d6065150f132a3eb18caad82cd9902b7c552278eb627266c68b12990a22bb4b6169d04ce775c058a8d2638a5051be905be99961889c572e2aeab8
languageName: node
linkType: hard
@@ -10700,7 +10471,7 @@ __metadata:
languageName: node
linkType: hard
-"typescript@npm:5.8.3, typescript@npm:^5.6.3":
+"typescript@npm:^5.6.3, typescript@npm:^5.8.3":
version: 5.8.3
resolution: "typescript@npm:5.8.3"
bin:
@@ -10710,7 +10481,7 @@ __metadata:
languageName: node
linkType: hard
-"typescript@patch:typescript@npm%3A5.8.3#optional!builtin