From 3c302bfacb088d86a1a640df4d832170d36bb038 Mon Sep 17 00:00:00 2001 From: nainglinnkhant Date: Tue, 10 Dec 2024 01:28:17 +0700 Subject: [PATCH] feat: handle date range url state with nuqs --- package.json | 1 + pnpm-lock.yaml | 27 +++++ src/app/_components/create-task-dialog.tsx | 2 +- src/app/_components/update-task-sheet.tsx | 2 +- src/app/layout.tsx | 27 ++--- src/components/date-range-picker.tsx | 111 ++++++++------------- 6 files changed, 84 insertions(+), 86 deletions(-) diff --git a/package.json b/package.json index 95d5821..db5fa3c 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "nanoid": "^5.0.7", "next": "14.2.4", "next-themes": "^0.3.0", + "nuqs": "^2.2.3", "postgres": "^3.4.4", "react": "18.3.1", "react-day-picker": "^8.10.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7bf9692..a4df954 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -83,6 +83,9 @@ dependencies: next-themes: specifier: ^0.3.0 version: 0.3.0(react-dom@18.3.1)(react@18.3.1) + nuqs: + specifier: ^2.2.3 + version: 2.2.3(next@14.2.4)(react@18.3.1) postgres: specifier: ^3.4.4 version: 3.4.4 @@ -4528,6 +4531,10 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + dev: false + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -4621,6 +4628,26 @@ packages: engines: {node: '>=0.10.0'} dev: true + /nuqs@2.2.3(next@14.2.4)(react@18.3.1): + resolution: {integrity: sha512-nMCcUW06KSqEXA0xp+LiRqDpIE59BVYbjZLe0HUisJAlswfihHYSsAjYTzV0lcE1thfh8uh+LqUHGdQ8qq8rfA==} + peerDependencies: + '@remix-run/react': '>=2' + next: '>=14.2.0' + react: '>=18.2.0 || ^19.0.0-0' + react-router-dom: '>=6' + peerDependenciesMeta: + '@remix-run/react': + optional: true + next: + optional: true + react-router-dom: + optional: true + dependencies: + mitt: 3.0.1 + next: 14.2.4(@babel/core@7.24.7)(react-dom@18.3.1)(react@18.3.1) + react: 18.3.1 + dev: false + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} diff --git a/src/app/_components/create-task-dialog.tsx b/src/app/_components/create-task-dialog.tsx index 8046828..88beb82 100644 --- a/src/app/_components/create-task-dialog.tsx +++ b/src/app/_components/create-task-dialog.tsx @@ -116,7 +116,7 @@ export function CreateTaskDialog() { Title