feat: Basic Calendar without any functions

This commit is contained in:
Semir 2025-05-15 08:40:12 +02:00 committed by Dominik Stahl
parent 882464e6cb
commit 53da201fa6
3 changed files with 385 additions and 216 deletions

View file

@ -40,7 +40,8 @@
"next": "15.3.3",
"next-auth": "^5.0.0-beta.25",
"next-themes": "^0.4.6",
"react": "^19.0.0",
"react": "^19.1.0",
"react-calendar": "^5.1.0",
"react-dom": "^19.0.0",
"react-hook-form": "^7.56.4",
"tailwind-merge": "^3.2.0",

View file

@ -1,15 +1,114 @@
import { RedirectButton } from '@/components/user/redirect-button';
import { ThemePicker } from '@/components/user/theme-picker';
import React from 'react';
const Calendar: React.FC = () => {
const today = new Date();
const currentYear = today.getFullYear();
const currentMonth = today.getMonth();
const currentDate = today.getDate();
const firstDayMonth = new Date(currentYear, currentMonth, 1);
const lastDayMonth = new Date(currentYear, currentMonth + 1, 0);
const startDay = (firstDayMonth.getDay() + 6) % 7;
const daysMonth = lastDayMonth.getDate();
const weeks: (number | null)[][] = [];
let currentDay = 1;
const firstWeek: (number | null)[] = [];
for (let i = 0; i < 7; i++) {
if (i < startDay) {
firstWeek.push(null);
} else {
firstWeek.push(currentDay);
currentDay++;
}
}
weeks.push(firstWeek);
while (currentDay <= daysMonth) {
const week: (number | null)[] = [];
for (let i = 0; i < 7; i++) {
if (currentDay <= daysMonth) {
week.push(currentDay);
currentDay++;
} else {
week.push(null);
}
}
weeks.push(week);
}
const weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
export default function Home() {
return (
<div className='flex flex-col items-center justify-center h-screen'>
<div className='absolute top-4 right-4'>{<ThemePicker />}</div>
<div>
<h1>Home</h1>
<RedirectButton redirectUrl='/logout' buttonText='Logout' />
<RedirectButton redirectUrl='/settings' buttonText='Settings' />
</div>
<div style={{
maxWidth: '1000px',
margin: '0 auto',
fontFamily: 'Arial, sans-serif'
}}>
<h1 style={{
textAlign: 'center'
}}>
{new Date(currentYear, currentMonth).toLocaleString('en-EN', {
month: 'long',
year: 'numeric'
})}
</h1>
<table style={{
width: '100%',
borderCollapse: 'collapse'
}} border={1}>
<thead>
<tr>
{weekdays.map((day, index) => (
<th
key={index}
style={{
padding: '10px',
backgroundColor: '#f0f0f0',
border: '1px solid #ddd'
}}>
{day}
</th>
))}
</tr>
</thead>
<tbody>
{weeks.map((week, weekIndex) => (
<tr key={weekIndex}>
{week.map((day, dayIndex) => (
<td
key={dayIndex}
style={{
border: '1px solid #ddd',
position: 'relative',
minWidth: '120px',
minHeight: '100px',
padding: '50px',
verticalAlign: 'top',
backgroundColor: day === currentDate ? '#add8e6' : 'transparent'
}}
>
{day && (
<div
style={{
position: 'absolute',
top: '5px',
left: '5px',
fontWeight: 'bold'
}}
>
{day}
</div>
)}
</td>
))}
</tr>
))}
</tbody>
</table>
</div>
);
}
};
export default Calendar;

477
yarn.lock
View file

@ -115,9 +115,9 @@ __metadata:
linkType: hard
"@eslint/config-helpers@npm:^0.2.1":
version: 0.2.2
resolution: "@eslint/config-helpers@npm:0.2.2"
checksum: 10c0/98f7cefe484bb754674585d9e73cf1414a3ab4fd0783c385465288d13eb1a8d8e7d7b0611259fc52b76b396c11a13517be5036d1f48eeb877f6f0a6b9c4f03ad
version: 0.2.3
resolution: "@eslint/config-helpers@npm:0.2.3"
checksum: 10c0/8fd36d7f33013628787947c81894807c7498b31eacf6648efa6d7c7a99aac6bf0d59a8a4d14f968ec2aeebefb76a1a7e4fd4cd556a296323d4711b3d7a7cda22
languageName: node
linkType: hard
@ -130,6 +130,15 @@ __metadata:
languageName: node
linkType: hard
"@eslint/core@npm:^0.15.0":
version: 0.15.0
resolution: "@eslint/core@npm:0.15.0"
dependencies:
"@types/json-schema": "npm:^7.0.15"
checksum: 10c0/9882c69acfe29743ce473a619d5248589c6687561afaabe8ec8d7ffed07592db16edcca3af022f33ea92fe5f6cfbe3545ee53e89292579d22a944ebaeddcf72d
languageName: node
linkType: hard
"@eslint/eslintrc@npm:3.3.1, @eslint/eslintrc@npm:^3.3.1":
version: 3.3.1
resolution: "@eslint/eslintrc@npm:3.3.1"
@ -162,12 +171,12 @@ __metadata:
linkType: hard
"@eslint/plugin-kit@npm:^0.3.1":
version: 0.3.1
resolution: "@eslint/plugin-kit@npm:0.3.1"
version: 0.3.2
resolution: "@eslint/plugin-kit@npm:0.3.2"
dependencies:
"@eslint/core": "npm:^0.14.0"
"@eslint/core": "npm:^0.15.0"
levn: "npm:^0.4.1"
checksum: 10c0/a75f0b5d38430318a551b83e27bee570747eb50beeb76b03f64b0e78c2c27ef3d284cfda3443134df028db3251719bc0850c105f778122f6ad762d5270ec8063
checksum: 10c0/e069b0a46eb9fa595a1ac7dea4540a9daa493afba88875ee054e9117609c1c41555e779303cb4cff36cf88f603ba6eba2556a927e8ced77002828206ee17fc7e
languageName: node
linkType: hard
@ -553,14 +562,14 @@ __metadata:
languageName: node
linkType: hard
"@napi-rs/wasm-runtime@npm:^0.2.10":
version: 0.2.10
resolution: "@napi-rs/wasm-runtime@npm:0.2.10"
"@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:
"@emnapi/core": "npm:^1.4.3"
"@emnapi/runtime": "npm:^1.4.3"
"@tybys/wasm-util": "npm:^0.9.0"
checksum: 10c0/4dce9bbb94a8969805574e1b55fdbeb7623348190265d77f6507ba32e535610deeb53a33ba0bb8b05a6520f379d418b92e8a01c5cd7b9486b136d2c0c26be0bd
checksum: 10c0/049bd14c58b99fbe0967b95e9921c5503df196b59be22948d2155f17652eb305cff6728efd8685338b855da7e476dd2551fbe3a313fc2d810938f0717478441e
languageName: node
linkType: hard
@ -1687,104 +1696,104 @@ __metadata:
linkType: hard
"@typescript-eslint/eslint-plugin@npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0":
version: 8.33.1
resolution: "@typescript-eslint/eslint-plugin@npm:8.33.1"
version: 8.34.1
resolution: "@typescript-eslint/eslint-plugin@npm:8.34.1"
dependencies:
"@eslint-community/regexpp": "npm:^4.10.0"
"@typescript-eslint/scope-manager": "npm:8.33.1"
"@typescript-eslint/type-utils": "npm:8.33.1"
"@typescript-eslint/utils": "npm:8.33.1"
"@typescript-eslint/visitor-keys": "npm:8.33.1"
"@typescript-eslint/scope-manager": "npm:8.34.1"
"@typescript-eslint/type-utils": "npm:8.34.1"
"@typescript-eslint/utils": "npm:8.34.1"
"@typescript-eslint/visitor-keys": "npm:8.34.1"
graphemer: "npm:^1.4.0"
ignore: "npm:^7.0.0"
natural-compare: "npm:^1.4.0"
ts-api-utils: "npm:^2.1.0"
peerDependencies:
"@typescript-eslint/parser": ^8.33.1
"@typescript-eslint/parser": ^8.34.1
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/35544068f175ca25296b42d0905065b40653a92c62e55414be68f62ddab580d7d768ee3c1276195fd8b8dd49de738ab7b41b8685e6fe2cd341cfca7320569166
checksum: 10c0/f1c9f25e4fe4b59622312dfa0ca1e80fa7945296ba5c04362a5fda084a17e23a6b98dac331f5a13bcb1ba34a2b598a3f5c41aa288f0c51fe60196e912954e56a
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0":
version: 8.33.1
resolution: "@typescript-eslint/parser@npm:8.33.1"
version: 8.34.1
resolution: "@typescript-eslint/parser@npm:8.34.1"
dependencies:
"@typescript-eslint/scope-manager": "npm:8.33.1"
"@typescript-eslint/types": "npm:8.33.1"
"@typescript-eslint/typescript-estree": "npm:8.33.1"
"@typescript-eslint/visitor-keys": "npm:8.33.1"
"@typescript-eslint/scope-manager": "npm:8.34.1"
"@typescript-eslint/types": "npm:8.34.1"
"@typescript-eslint/typescript-estree": "npm:8.34.1"
"@typescript-eslint/visitor-keys": "npm:8.34.1"
debug: "npm:^4.3.4"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/be1c1313c342d956f5adfbd56f79865894cc9cabf93992515a690559c3758538868270671b222f90e4cabc2dcab82256aeb3ccea7502de9cc69e47b9b17ed45f
checksum: 10c0/bf8070245d53ef6926ff6630bb72f245923f545304e2a61508fb944802a83fed8eab961d9010956d07999d51afdfbbec82aea9d6185295551a7c17c00d759183
languageName: node
linkType: hard
"@typescript-eslint/project-service@npm:8.33.1":
version: 8.33.1
resolution: "@typescript-eslint/project-service@npm:8.33.1"
"@typescript-eslint/project-service@npm:8.34.1":
version: 8.34.1
resolution: "@typescript-eslint/project-service@npm:8.34.1"
dependencies:
"@typescript-eslint/tsconfig-utils": "npm:^8.33.1"
"@typescript-eslint/types": "npm:^8.33.1"
"@typescript-eslint/tsconfig-utils": "npm:^8.34.1"
"@typescript-eslint/types": "npm:^8.34.1"
debug: "npm:^4.3.4"
peerDependencies:
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/b2ff7653aef4648bdff8aafc69b9de434184827216709f8a36427536ac7082a8adf1c5ac12a0a2bb023b46dfad8f6fee238028acc94af622956af7f22362de6f
checksum: 10c0/9333a890625f6777054db17a6b299281ae7502bb7615261d15b885a75b8cf65fc91591389c93b37ecd14b651d8e94851dac8718e5dcc8ed0600533535dae855c
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:8.33.1":
version: 8.33.1
resolution: "@typescript-eslint/scope-manager@npm:8.33.1"
"@typescript-eslint/scope-manager@npm:8.34.1":
version: 8.34.1
resolution: "@typescript-eslint/scope-manager@npm:8.34.1"
dependencies:
"@typescript-eslint/types": "npm:8.33.1"
"@typescript-eslint/visitor-keys": "npm:8.33.1"
checksum: 10c0/03a6fd2b0a8ebeb62083a8f51658f0c42391cbfb632411542569a3a227d53bdb0332026ef4d5adc4780e5350d1d8b89e5b19667ed899afd26506e60c70192692
"@typescript-eslint/types": "npm:8.34.1"
"@typescript-eslint/visitor-keys": "npm:8.34.1"
checksum: 10c0/2af608fa3900f4726322e33bf4f3a376fdace3ac0f310cf7d9256bbc2905c3896138176a47dd195d2c2229f27fe43f5deb4bc7729db2eb18389926dedea78077
languageName: node
linkType: hard
"@typescript-eslint/tsconfig-utils@npm:8.33.1, @typescript-eslint/tsconfig-utils@npm:^8.33.1":
version: 8.33.1
resolution: "@typescript-eslint/tsconfig-utils@npm:8.33.1"
"@typescript-eslint/tsconfig-utils@npm:8.34.1, @typescript-eslint/tsconfig-utils@npm:^8.34.1":
version: 8.34.1
resolution: "@typescript-eslint/tsconfig-utils@npm:8.34.1"
peerDependencies:
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/242e8f271d2e6e51446d337e1e59e8c91b66c0241da0fb861f536eb86cc3b53d1727c41e12e1ba070fa2451c8bc517c1ec50decaffa92a7c612b2aba29872777
checksum: 10c0/8d1ead8b7c279b48e2ed96f083ec119a9aeea1ca9cdd40576ec271b996b9fd8cfa0ddb0aafbb4e14bc27fc62c69c5be66d39b1de68eab9ddd7f1861da267423d
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:8.33.1":
version: 8.33.1
resolution: "@typescript-eslint/type-utils@npm:8.33.1"
"@typescript-eslint/type-utils@npm:8.34.1":
version: 8.34.1
resolution: "@typescript-eslint/type-utils@npm:8.34.1"
dependencies:
"@typescript-eslint/typescript-estree": "npm:8.33.1"
"@typescript-eslint/utils": "npm:8.33.1"
"@typescript-eslint/typescript-estree": "npm:8.34.1"
"@typescript-eslint/utils": "npm:8.34.1"
debug: "npm:^4.3.4"
ts-api-utils: "npm:^2.1.0"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/59843eeb7c652306d130104d7cb0f7dea1cc95a6cf6345609efbae130f24e3c4a9472780332af4247337e152b7955540b15fd9b907c04a5d265b888139818266
checksum: 10c0/502a2cdfe47f1f34206c747b5a70e0242dd99f570511db3dda9c5f999d9abadfbbb1dfa82a1fa437a1689d232715412e61c97d95f19c9314ba5ad23196b4096d
languageName: node
linkType: hard
"@typescript-eslint/types@npm:8.33.1, @typescript-eslint/types@npm:^8.33.1":
version: 8.33.1
resolution: "@typescript-eslint/types@npm:8.33.1"
checksum: 10c0/3083c184c882475eed1f9d1a8961dad30ef834c662bc826ff9a959ff1eed49aad21a73b2b93c4062799feafff5f5f24aebb1df17e198808aa19d4c8de1e64095
"@typescript-eslint/types@npm:8.34.1, @typescript-eslint/types@npm:^8.34.1":
version: 8.34.1
resolution: "@typescript-eslint/types@npm:8.34.1"
checksum: 10c0/db1b3dce6a70b28ddb13c76fbb5983240d9395656df5f7cbd99bfd9905e39c0dab2132870f01dbc406b48739c437f7d344a879a824cedaba81b91a53110dc23a
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:8.33.1":
version: 8.33.1
resolution: "@typescript-eslint/typescript-estree@npm:8.33.1"
"@typescript-eslint/typescript-estree@npm:8.34.1":
version: 8.34.1
resolution: "@typescript-eslint/typescript-estree@npm:8.34.1"
dependencies:
"@typescript-eslint/project-service": "npm:8.33.1"
"@typescript-eslint/tsconfig-utils": "npm:8.33.1"
"@typescript-eslint/types": "npm:8.33.1"
"@typescript-eslint/visitor-keys": "npm:8.33.1"
"@typescript-eslint/project-service": "npm:8.34.1"
"@typescript-eslint/tsconfig-utils": "npm:8.34.1"
"@typescript-eslint/types": "npm:8.34.1"
"@typescript-eslint/visitor-keys": "npm:8.34.1"
debug: "npm:^4.3.4"
fast-glob: "npm:^3.3.2"
is-glob: "npm:^4.0.3"
@ -1793,156 +1802,177 @@ __metadata:
ts-api-utils: "npm:^2.1.0"
peerDependencies:
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/293a93d25046e05fdc3887232191c3f3ee771c0f5b1426d63deaf0541db1cb80b4307a80805c78b092206c9b267884a7e6b5905dc1b3c26f28bb4de47fd9ee8f
checksum: 10c0/4ee7249db91b9840361f34f80b7b6d646a3af159c7298d79a33d8a11c98792fd3a395343e5e17e0fa29529e8f0113bac8baadcef90d1e140bd736a48f0485042
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:8.33.1":
version: 8.33.1
resolution: "@typescript-eslint/utils@npm:8.33.1"
"@typescript-eslint/utils@npm:8.34.1":
version: 8.34.1
resolution: "@typescript-eslint/utils@npm:8.34.1"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.7.0"
"@typescript-eslint/scope-manager": "npm:8.33.1"
"@typescript-eslint/types": "npm:8.33.1"
"@typescript-eslint/typescript-estree": "npm:8.33.1"
"@typescript-eslint/scope-manager": "npm:8.34.1"
"@typescript-eslint/types": "npm:8.34.1"
"@typescript-eslint/typescript-estree": "npm:8.34.1"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <5.9.0"
checksum: 10c0/12263df6eb32e8175236ad899687c062b50cfe4a0e66307d25ad2bf85a3e911faacbfbea4df180a59ebb5913fe1cc1f53fe3914695c7d802dd318bbc846fea26
checksum: 10c0/e3085877f7940c02a37653e6bc52ac6cde115e755b1f788fe4331202f371b3421cc4d0878c7d3eb054e14e9b3a064496a707a73eac471cb2b73593b9e9d4b998
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:8.33.1":
version: 8.33.1
resolution: "@typescript-eslint/visitor-keys@npm:8.33.1"
"@typescript-eslint/visitor-keys@npm:8.34.1":
version: 8.34.1
resolution: "@typescript-eslint/visitor-keys@npm:8.34.1"
dependencies:
"@typescript-eslint/types": "npm:8.33.1"
eslint-visitor-keys: "npm:^4.2.0"
checksum: 10c0/3eb99072e7c2741d5dfc38945d1e7617b15ed10d06b24658a6e919e4153983b3d3c5f5f775ce140f83a84dbde219948d187de97defb09c1a91f3cf0a96704a94
"@typescript-eslint/types": "npm:8.34.1"
eslint-visitor-keys: "npm:^4.2.1"
checksum: 10c0/0e5a9b3d93905d16d3cf8cb5fb346dcc6f760482eb7d0ac209aefc09a32f78ef28a687634df6ad08e81fb3e1083e8805f34472de6bbc501c0105ad654d518f40
languageName: node
linkType: hard
"@unrs/resolver-binding-darwin-arm64@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.7.11"
"@unrs/resolver-binding-android-arm-eabi@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.9.0"
conditions: os=android & cpu=arm
languageName: node
linkType: hard
"@unrs/resolver-binding-android-arm64@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-android-arm64@npm:1.9.0"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
"@unrs/resolver-binding-darwin-arm64@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.9.0"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@unrs/resolver-binding-darwin-x64@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-darwin-x64@npm:1.7.11"
"@unrs/resolver-binding-darwin-x64@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-darwin-x64@npm:1.9.0"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@unrs/resolver-binding-freebsd-x64@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.7.11"
"@unrs/resolver-binding-freebsd-x64@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.9.0"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.7.11"
"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.9.0"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.7.11"
"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.9.0"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
"@unrs/resolver-binding-linux-arm64-gnu@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.7.11"
"@unrs/resolver-binding-linux-arm64-gnu@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.9.0"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
"@unrs/resolver-binding-linux-arm64-musl@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.7.11"
"@unrs/resolver-binding-linux-arm64-musl@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.9.0"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.7.11"
"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.9.0"
conditions: os=linux & cpu=ppc64 & libc=glibc
languageName: node
linkType: hard
"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.7.11"
"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.9.0"
conditions: os=linux & cpu=riscv64 & libc=glibc
languageName: node
linkType: hard
"@unrs/resolver-binding-linux-riscv64-musl@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.7.11"
"@unrs/resolver-binding-linux-riscv64-musl@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.9.0"
conditions: os=linux & cpu=riscv64 & libc=musl
languageName: node
linkType: hard
"@unrs/resolver-binding-linux-s390x-gnu@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.7.11"
"@unrs/resolver-binding-linux-s390x-gnu@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.9.0"
conditions: os=linux & cpu=s390x & libc=glibc
languageName: node
linkType: hard
"@unrs/resolver-binding-linux-x64-gnu@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.7.11"
"@unrs/resolver-binding-linux-x64-gnu@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.9.0"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"@unrs/resolver-binding-linux-x64-musl@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.7.11"
"@unrs/resolver-binding-linux-x64-musl@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.9.0"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
"@unrs/resolver-binding-wasm32-wasi@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.7.11"
"@unrs/resolver-binding-wasm32-wasi@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.9.0"
dependencies:
"@napi-rs/wasm-runtime": "npm:^0.2.10"
"@napi-rs/wasm-runtime": "npm:^0.2.11"
conditions: cpu=wasm32
languageName: node
linkType: hard
"@unrs/resolver-binding-win32-arm64-msvc@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.7.11"
"@unrs/resolver-binding-win32-arm64-msvc@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.9.0"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"@unrs/resolver-binding-win32-ia32-msvc@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.7.11"
"@unrs/resolver-binding-win32-ia32-msvc@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.9.0"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"@unrs/resolver-binding-win32-x64-msvc@npm:1.7.11":
version: 1.7.11
resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.7.11"
"@unrs/resolver-binding-win32-x64-msvc@npm:1.9.0":
version: 1.9.0
resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.9.0"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"@wojtekmaj/date-utils@npm:^1.1.3":
version: 1.5.1
resolution: "@wojtekmaj/date-utils@npm:1.5.1"
checksum: 10c0/7c213cca5ab6b84ef61b9aea2b9fb8a04bf4c9764b28a97ffc4ee46a3e81560532a74d106a6f8aeef4792e1aaa6ea3dfd3c4a639dddbea560eb3f33cd62b8d7d
languageName: node
linkType: hard
"acorn-jsx@npm:^5.3.2":
version: 5.3.2
resolution: "acorn-jsx@npm:5.3.2"
@ -1952,15 +1982,6 @@ __metadata:
languageName: node
linkType: hard
"acorn@npm:^8.14.0":
version: 8.14.1
resolution: "acorn@npm:8.14.1"
bin:
acorn: bin/acorn
checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123
languageName: node
linkType: hard
"acorn@npm:^8.15.0":
version: 8.15.0
resolution: "acorn@npm:8.15.0"
@ -2175,21 +2196,21 @@ __metadata:
linkType: hard
"brace-expansion@npm:^1.1.7":
version: 1.1.11
resolution: "brace-expansion@npm:1.1.11"
version: 1.1.12
resolution: "brace-expansion@npm:1.1.12"
dependencies:
balanced-match: "npm:^1.0.0"
concat-map: "npm:0.0.1"
checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668
checksum: 10c0/975fecac2bb7758c062c20d0b3b6288c7cc895219ee25f0a64a9de662dbac981ff0b6e89909c3897c1f84fa353113a721923afdec5f8b2350255b097f12b1f73
languageName: node
linkType: hard
"brace-expansion@npm:^2.0.1":
version: 2.0.1
resolution: "brace-expansion@npm:2.0.1"
version: 2.0.2
resolution: "brace-expansion@npm:2.0.2"
dependencies:
balanced-match: "npm:^1.0.0"
checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f
checksum: 10c0/6d117a4c793488af86b83172deb6af143e94c17bc53b0b3cec259733923b4ca84679d506ac261f4ba3c7ed37c46018e2ff442f9ce453af8643ecd64f4a54e6cf
languageName: node
linkType: hard
@ -2251,9 +2272,9 @@ __metadata:
linkType: hard
"caniuse-lite@npm:^1.0.30001579":
version: 1.0.30001721
resolution: "caniuse-lite@npm:1.0.30001721"
checksum: 10c0/fa3a8926899824b385279f1f886fe34c5efb1321c9ece1b9df25c8d567a2706db8450cc5b4d969e769e641593e08ea644909324aba93636a43e4949a75f81c4c
version: 1.0.30001723
resolution: "caniuse-lite@npm:1.0.30001723"
checksum: 10c0/e019503061759b96017c4d27ddd7ca1b48533eabcd0431b51d2e3156f99f6b031075e46c279c0db63424cdfc874bba992caec2db51b922a0f945e686246886f6
languageName: node
linkType: hard
@ -2290,7 +2311,7 @@ __metadata:
languageName: node
linkType: hard
"clsx@npm:^2.1.1":
"clsx@npm:^2.0.0, clsx@npm:^2.1.1":
version: 2.1.1
resolution: "clsx@npm:2.1.1"
checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839
@ -2865,13 +2886,6 @@ __metadata:
languageName: node
linkType: hard
"eslint-visitor-keys@npm:^4.2.0":
version: 4.2.0
resolution: "eslint-visitor-keys@npm:4.2.0"
checksum: 10c0/2ed81c663b147ca6f578312919483eb040295bbab759e5a371953456c636c5b49a559883e2677112453728d66293c0a4c90ab11cab3428cf02a0236d2e738269
languageName: node
linkType: hard
"eslint-visitor-keys@npm:^4.2.1":
version: 4.2.1
resolution: "eslint-visitor-keys@npm:4.2.1"
@ -2929,18 +2943,7 @@ __metadata:
languageName: node
linkType: hard
"espree@npm:^10.0.1":
version: 10.3.0
resolution: "espree@npm:10.3.0"
dependencies:
acorn: "npm:^8.14.0"
acorn-jsx: "npm:^5.3.2"
eslint-visitor-keys: "npm:^4.2.0"
checksum: 10c0/272beeaca70d0a1a047d61baff64db04664a33d7cfb5d144f84bc8a5c6194c6c8ebe9cc594093ca53add88baa23e59b01e69e8a0160ab32eac570482e165c462
languageName: node
linkType: hard
"espree@npm:^10.4.0":
"espree@npm:^10.0.1, espree@npm:^10.4.0":
version: 10.4.0
resolution: "espree@npm:10.4.0"
dependencies:
@ -3040,14 +3043,14 @@ __metadata:
linkType: hard
"fdir@npm:^6.4.4":
version: 6.4.5
resolution: "fdir@npm:6.4.5"
version: 6.4.6
resolution: "fdir@npm:6.4.6"
peerDependencies:
picomatch: ^3 || ^4
peerDependenciesMeta:
picomatch:
optional: true
checksum: 10c0/5d63330a1b97165e9b0fb20369fafc7cf826bc4b3e374efcb650bc77d7145ac01193b5da1a7591eab89ae6fd6b15cdd414085910b2a2b42296b1480c9f2677af
checksum: 10c0/45b559cff889934ebb8bc498351e5acba40750ada7e7d6bde197768d2fa67c149be8ae7f8ff34d03f4e1eb20f2764116e56440aaa2f6689e9a4aa7ef06acafe9
languageName: node
linkType: hard
@ -3188,6 +3191,15 @@ __metadata:
languageName: node
linkType: hard
"get-user-locale@npm:^2.2.1":
version: 2.3.2
resolution: "get-user-locale@npm:2.3.2"
dependencies:
mem: "npm:^8.0.0"
checksum: 10c0/2796b3fc3782b1f4826f31e899642cf72eeb23e296e1cf55280aab5caf7a25f4b906491ee1508a001519d6a410902ccf8fa8edaa895b7aee5dfd422ffe5523b9
languageName: node
linkType: hard
"glob-parent@npm:^5.1.2":
version: 5.1.2
resolution: "glob-parent@npm:5.1.2"
@ -3858,7 +3870,7 @@ __metadata:
languageName: node
linkType: hard
"loose-envify@npm:^1.4.0":
"loose-envify@npm:^1.0.0, loose-envify@npm:^1.4.0":
version: 1.4.0
resolution: "loose-envify@npm:1.4.0"
dependencies:
@ -3887,6 +3899,15 @@ __metadata:
languageName: node
linkType: hard
"map-age-cleaner@npm:^0.1.3":
version: 0.1.3
resolution: "map-age-cleaner@npm:0.1.3"
dependencies:
p-defer: "npm:^1.0.0"
checksum: 10c0/7495236c7b0950956c144fd8b4bc6399d4e78072a8840a4232fe1c4faccbb5eb5d842e5c0a56a60afc36d723f315c1c672325ca03c1b328650f7fcc478f385fd
languageName: node
linkType: hard
"math-intrinsics@npm:^1.1.0":
version: 1.1.0
resolution: "math-intrinsics@npm:1.1.0"
@ -3934,7 +3955,8 @@ __metadata:
postcss: "npm:8.5.6"
prettier: "npm:3.5.3"
prisma: "npm:6.9.0"
react: "npm:^19.0.0"
react: "npm:^19.1.0"
react-calendar: "npm:^5.1.0"
react-dom: "npm:^19.0.0"
react-hook-form: "npm:^7.56.4"
tailwind-merge: "npm:^3.2.0"
@ -3945,6 +3967,16 @@ __metadata:
languageName: unknown
linkType: soft
"mem@npm:^8.0.0":
version: 8.1.1
resolution: "mem@npm:8.1.1"
dependencies:
map-age-cleaner: "npm:^0.1.3"
mimic-fn: "npm:^3.1.0"
checksum: 10c0/5829c404d024c1accaf76ebacbc7eae9b59e5ce5722d184aa24e8387a8097a499f6aa7e181021003c51eb87b2dcdc9a2270050c58753cce761de206643cba91c
languageName: node
linkType: hard
"merge2@npm:^1.3.0":
version: 1.4.1
resolution: "merge2@npm:1.4.1"
@ -3962,6 +3994,13 @@ __metadata:
languageName: node
linkType: hard
"mimic-fn@npm:^3.1.0":
version: 3.1.0
resolution: "mimic-fn@npm:3.1.0"
checksum: 10c0/a07cdd8ed6490c2dff5b11f889b245d9556b80f5a653a552a651d17cff5a2d156e632d235106c2369f00cccef4071704589574cf3601bc1b1400a1f620dff067
languageName: node
linkType: hard
"minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
@ -4138,9 +4177,9 @@ __metadata:
linkType: hard
"oauth4webapi@npm:^3.3.0":
version: 3.5.1
resolution: "oauth4webapi@npm:3.5.1"
checksum: 10c0/5d57ba4299d61173b28ff0612fdfcc550b02c2ce4afcd1641103960c02af18268b55a70f26d47bbfc956680967c307546284b4a0b1f13845589e247f798ff395
version: 3.5.2
resolution: "oauth4webapi@npm:3.5.2"
checksum: 10c0/fd056001ce67c9e4aba9b170b6aabe26315bd9ce67787534575ea66a475115fdae7c68b8b193e8607156a8e97a56a3eef552abb34ec3447b28cfe7c18749468a
languageName: node
linkType: hard
@ -4251,6 +4290,13 @@ __metadata:
languageName: node
linkType: hard
"p-defer@npm:^1.0.0":
version: 1.0.0
resolution: "p-defer@npm:1.0.0"
checksum: 10c0/ed603c3790e74b061ac2cb07eb6e65802cf58dce0fbee646c113a7b71edb711101329ad38f99e462bd2e343a74f6e9366b496a35f1d766c187084d3109900487
languageName: node
linkType: hard
"p-limit@npm:^3.0.2":
version: 3.1.0
resolution: "p-limit@npm:3.1.0"
@ -4338,7 +4384,7 @@ __metadata:
languageName: node
linkType: hard
"postcss@npm:8.5.6":
"postcss@npm:8.5.6, postcss@npm:^8.4.41":
version: 8.5.6
resolution: "postcss@npm:8.5.6"
dependencies:
@ -4349,17 +4395,6 @@ __metadata:
languageName: node
linkType: hard
"postcss@npm:^8.4.41":
version: 8.5.4
resolution: "postcss@npm:8.5.4"
dependencies:
nanoid: "npm:^3.3.11"
picocolors: "npm:^1.1.1"
source-map-js: "npm:^1.2.1"
checksum: 10c0/0feff648614a834f7cd5396ea6b05b658ca0507e10a4eaad03b56c348f6aec93f42a885fc1b30522630c6a7e49ae53b38a061e3cba526f2d9857afbe095a22bb
languageName: node
linkType: hard
"preact-render-to-string@npm:6.5.11":
version: 6.5.11
resolution: "preact-render-to-string@npm:6.5.11"
@ -4434,6 +4469,25 @@ __metadata:
languageName: node
linkType: hard
"react-calendar@npm:^5.1.0":
version: 5.1.0
resolution: "react-calendar@npm:5.1.0"
dependencies:
"@wojtekmaj/date-utils": "npm:^1.1.3"
clsx: "npm:^2.0.0"
get-user-locale: "npm:^2.2.1"
warning: "npm:^4.0.0"
peerDependencies:
"@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
"@types/react":
optional: true
checksum: 10c0/27673f639c5d6296342a2a888436b31a5d602faeaae01be83b2beb98ff568b0a3d1514f5cc50fcacf3ac50b9c0b9d2fb423b0c001a8f5f1a22816671409e2616
languageName: node
linkType: hard
"react-dom@npm:^19.0.0":
version: 19.1.0
resolution: "react-dom@npm:19.1.0"
@ -4512,7 +4566,7 @@ __metadata:
languageName: node
linkType: hard
"react@npm:^19.0.0":
"react@npm:^19.1.0":
version: 19.1.0
resolution: "react@npm:19.1.0"
checksum: 10c0/530fb9a62237d54137a13d2cfb67a7db6a2156faed43eecc423f4713d9b20c6f2728b026b45e28fcd72e8eadb9e9ed4b089e99f5e295d2f0ad3134251bdd3698
@ -5223,28 +5277,34 @@ __metadata:
linkType: hard
"unrs-resolver@npm:^1.6.2":
version: 1.7.11
resolution: "unrs-resolver@npm:1.7.11"
version: 1.9.0
resolution: "unrs-resolver@npm:1.9.0"
dependencies:
"@unrs/resolver-binding-darwin-arm64": "npm:1.7.11"
"@unrs/resolver-binding-darwin-x64": "npm:1.7.11"
"@unrs/resolver-binding-freebsd-x64": "npm:1.7.11"
"@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.7.11"
"@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.7.11"
"@unrs/resolver-binding-linux-arm64-gnu": "npm:1.7.11"
"@unrs/resolver-binding-linux-arm64-musl": "npm:1.7.11"
"@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.7.11"
"@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.7.11"
"@unrs/resolver-binding-linux-riscv64-musl": "npm:1.7.11"
"@unrs/resolver-binding-linux-s390x-gnu": "npm:1.7.11"
"@unrs/resolver-binding-linux-x64-gnu": "npm:1.7.11"
"@unrs/resolver-binding-linux-x64-musl": "npm:1.7.11"
"@unrs/resolver-binding-wasm32-wasi": "npm:1.7.11"
"@unrs/resolver-binding-win32-arm64-msvc": "npm:1.7.11"
"@unrs/resolver-binding-win32-ia32-msvc": "npm:1.7.11"
"@unrs/resolver-binding-win32-x64-msvc": "npm:1.7.11"
"@unrs/resolver-binding-android-arm-eabi": "npm:1.9.0"
"@unrs/resolver-binding-android-arm64": "npm:1.9.0"
"@unrs/resolver-binding-darwin-arm64": "npm:1.9.0"
"@unrs/resolver-binding-darwin-x64": "npm:1.9.0"
"@unrs/resolver-binding-freebsd-x64": "npm:1.9.0"
"@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.9.0"
"@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.9.0"
"@unrs/resolver-binding-linux-arm64-gnu": "npm:1.9.0"
"@unrs/resolver-binding-linux-arm64-musl": "npm:1.9.0"
"@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.9.0"
"@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.9.0"
"@unrs/resolver-binding-linux-riscv64-musl": "npm:1.9.0"
"@unrs/resolver-binding-linux-s390x-gnu": "npm:1.9.0"
"@unrs/resolver-binding-linux-x64-gnu": "npm:1.9.0"
"@unrs/resolver-binding-linux-x64-musl": "npm:1.9.0"
"@unrs/resolver-binding-wasm32-wasi": "npm:1.9.0"
"@unrs/resolver-binding-win32-arm64-msvc": "npm:1.9.0"
"@unrs/resolver-binding-win32-ia32-msvc": "npm:1.9.0"
"@unrs/resolver-binding-win32-x64-msvc": "npm:1.9.0"
napi-postinstall: "npm:^0.2.2"
dependenciesMeta:
"@unrs/resolver-binding-android-arm-eabi":
optional: true
"@unrs/resolver-binding-android-arm64":
optional: true
"@unrs/resolver-binding-darwin-arm64":
optional: true
"@unrs/resolver-binding-darwin-x64":
@ -5279,7 +5339,7 @@ __metadata:
optional: true
"@unrs/resolver-binding-win32-x64-msvc":
optional: true
checksum: 10c0/37e6caf2884b7ce65f77fc5b945997b94523656d477ae0e67fb8df970939930b674091f3fac6beee93b0370fa64a925ad707edc76897aa8cb14866efbe4a6693
checksum: 10c0/73c184514a82197145539c0506dd6633a28fc380192b1677d31348537c2783405e7392cf2bf18b96d84b8068f502868de3ae741edd580683ddb39f10d46d49e8
languageName: node
linkType: hard
@ -5323,6 +5383,15 @@ __metadata:
languageName: node
linkType: hard
"warning@npm:^4.0.0":
version: 4.0.3
resolution: "warning@npm:4.0.3"
dependencies:
loose-envify: "npm:^1.0.0"
checksum: 10c0/aebab445129f3e104c271f1637fa38e55eb25f968593e3825bd2f7a12bd58dc3738bb70dc8ec85826621d80b4acfed5a29ebc9da17397c6125864d72301b937e
languageName: node
linkType: hard
"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1":
version: 1.1.1
resolution: "which-boxed-primitive@npm:1.1.1"