diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json index 5732707f..5b4da4c8 100644 --- a/apps/dashboard/package.json +++ b/apps/dashboard/package.json @@ -79,7 +79,7 @@ "next-auth": "^4.24.5", "next-themes": "^0.2.1", "nextjs-toploader": "^1.6.11", - "nuqs": "^1.16.1", + "nuqs": "^2.0.2", "prisma-error-enum": "^0.1.3", "pushmodal": "^1.0.3", "ramda": "^0.29.1", diff --git a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/events/page.tsx b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/events/page.tsx index 946d08f4..a5bcab61 100644 --- a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/events/page.tsx +++ b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/events/page.tsx @@ -1,6 +1,6 @@ import { PageTabs, PageTabsLink } from '@/components/page-tabs'; import { Padding } from '@/components/ui/padding'; -import { parseAsStringEnum } from 'nuqs'; +import { parseAsStringEnum } from 'nuqs/server'; import Charts from './charts'; import Conversions from './conversions'; diff --git a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/pages/page.tsx b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/pages/page.tsx index 39d8227c..933771d0 100644 --- a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/pages/page.tsx +++ b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/pages/page.tsx @@ -1,6 +1,6 @@ import { PageTabs, PageTabsLink } from '@/components/page-tabs'; import { Padding } from '@/components/ui/padding'; -import { parseAsStringEnum } from 'nuqs'; +import { parseAsStringEnum } from 'nuqs/server'; import { Pages } from './pages'; diff --git a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/profiles/page.tsx b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/profiles/page.tsx index c92fed47..bfaa63ec 100644 --- a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/profiles/page.tsx +++ b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/profiles/page.tsx @@ -1,6 +1,6 @@ import { PageTabs, PageTabsLink } from '@/components/page-tabs'; import { Padding } from '@/components/ui/padding'; -import { parseAsStringEnum } from 'nuqs'; +import { parseAsStringEnum } from 'nuqs/server'; import PowerUsers from './power-users'; import Profiles from './profiles'; diff --git a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/settings/integrations/page.tsx b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/settings/integrations/page.tsx index 9548e39a..349ae84c 100644 --- a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/settings/integrations/page.tsx +++ b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/settings/integrations/page.tsx @@ -2,7 +2,7 @@ import { ActiveIntegrations } from '@/components/integrations/active-integration import { AllIntegrations } from '@/components/integrations/all-integrations'; import { PageTabs, PageTabsLink } from '@/components/page-tabs'; import { Padding } from '@/components/ui/padding'; -import { parseAsStringEnum } from 'nuqs'; +import { parseAsStringEnum } from 'nuqs/server'; interface PageProps { params: { diff --git a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/settings/notifications/page.tsx b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/settings/notifications/page.tsx index 1c2b306c..93d20930 100644 --- a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/settings/notifications/page.tsx +++ b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/settings/notifications/page.tsx @@ -2,7 +2,7 @@ import { NotificationRules } from '@/components/notifications/notification-rules import { Notifications } from '@/components/notifications/notifications'; import { PageTabs, PageTabsLink } from '@/components/page-tabs'; import { Padding } from '@/components/ui/padding'; -import { parseAsStringEnum } from 'nuqs'; +import { parseAsStringEnum } from 'nuqs/server'; interface PageProps { params: { diff --git a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/settings/organization/page.tsx b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/settings/organization/page.tsx index 187d99f7..77d5e59b 100644 --- a/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/settings/organization/page.tsx +++ b/apps/dashboard/src/app/(app)/[organizationSlug]/[projectId]/settings/organization/page.tsx @@ -1,11 +1,10 @@ -import PageLayout from '@/app/(app)/[organizationSlug]/[projectId]/page-layout'; import { FullPageEmptyState } from '@/components/full-page-empty-state'; import { PageTabs, PageTabsLink } from '@/components/page-tabs'; import { Padding } from '@/components/ui/padding'; import { auth } from '@clerk/nextjs/server'; import { ShieldAlertIcon } from 'lucide-react'; import { notFound } from 'next/navigation'; -import { parseAsStringEnum } from 'nuqs'; +import { parseAsStringEnum } from 'nuqs/server'; import { db } from '@openpanel/db'; diff --git a/apps/dashboard/src/app/providers.tsx b/apps/dashboard/src/app/providers.tsx index 22b52187..f4467c04 100644 --- a/apps/dashboard/src/app/providers.tsx +++ b/apps/dashboard/src/app/providers.tsx @@ -9,6 +9,7 @@ import { ClerkProvider, useAuth } from '@clerk/nextjs'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { httpLink } from '@trpc/client'; import { ThemeProvider } from 'next-themes'; +import { NuqsAdapter } from 'nuqs/adapters/next/app'; import type React from 'react'; import { useRef, useState } from 'react'; import { Provider as ReduxProvider } from 'react-redux'; @@ -75,12 +76,14 @@ function AllProviders({ children }: { children: React.ReactNode }) { - - {children} - - - - + + + {children} + + + + + diff --git a/apps/dashboard/src/components/fullscreen-toggle.tsx b/apps/dashboard/src/components/fullscreen-toggle.tsx index cf8c58c7..929b7506 100644 --- a/apps/dashboard/src/components/fullscreen-toggle.tsx +++ b/apps/dashboard/src/components/fullscreen-toggle.tsx @@ -20,7 +20,6 @@ export const useFullscreen = () => 'fullscreen', parseAsBoolean.withDefault(false).withOptions({ history: 'push', - clearOnDefault: true, }), ); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cafe87a8..eb26108e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -362,8 +362,8 @@ importers: specifier: ^1.6.11 version: 1.6.11(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) nuqs: - specifier: ^1.16.1 - version: 1.17.0(next@14.2.1) + specifier: ^2.0.2 + version: 2.0.2(next@14.2.1)(react@18.2.0) prisma-error-enum: specifier: ^0.1.3 version: 0.1.3 @@ -16122,13 +16122,24 @@ packages: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} dev: false - /nuqs@1.17.0(next@14.2.1): - resolution: {integrity: sha512-Lp2qLETMb7AAYhDtRtx20oAZNkYYTPApZcaX7Q5nQz7bfy893TCIe92IYVIfl9ZUqQLTsl9855KGEsA57dylPQ==} + /nuqs@2.0.2(next@14.2.1)(react@18.2.0): + resolution: {integrity: sha512-m9o8avj1CI6ryO0jhjFi8dhFA8jLXb+6esZbkki8tJixBnexPFoVZ5wFgmANVumbyeLemZ/ujhYn23iERRYwlA==} peerDependencies: - next: '>=13.4 <14.0.2 || ^14.0.3' + '@remix-run/react': '>= 2' + next: '>= 14.2.0' + react: '>= 18.2.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.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 dev: false /oauth@0.9.15: