fix: wrap useSearchParams in Suspense boundaries for Next.js 14 static build
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
"use client";
|
||||
export const dynamic = "force-dynamic";
|
||||
import { useEffect, useState } from "react";
|
||||
import { Suspense, useEffect, useState } from "react";
|
||||
import { useRouter, useSearchParams } from "next/navigation";
|
||||
|
||||
export default function AuthPage() {
|
||||
function AuthContent() {
|
||||
const router = useRouter();
|
||||
const params = useSearchParams();
|
||||
const [status, setStatus] = useState<"loading" | "error">("loading");
|
||||
@@ -48,3 +47,18 @@ export default function AuthPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default function AuthPage() {
|
||||
return (
|
||||
<Suspense fallback={
|
||||
<div className="flex flex-col items-center justify-center min-h-[60vh] gap-4">
|
||||
<svg className="animate-spin h-10 w-10 text-blue-600" fill="none" viewBox="0 0 24 24">
|
||||
<circle className="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" strokeWidth="4" />
|
||||
<path className="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8v8H4z" />
|
||||
</svg>
|
||||
</div>
|
||||
}>
|
||||
<AuthContent />
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"use client";
|
||||
export const dynamic = "force-dynamic";
|
||||
import { useEffect, useState } from "react";
|
||||
import { Suspense, useEffect, useState } from "react";
|
||||
import { useRouter, useSearchParams } from "next/navigation";
|
||||
import Link from "next/link";
|
||||
import Card from "@/components/ui/Card";
|
||||
@@ -15,7 +14,7 @@ interface Registro {
|
||||
tipoServicio: { nombre: string } | null;
|
||||
}
|
||||
|
||||
export default function HistorialPage() {
|
||||
function HistorialContent() {
|
||||
const router = useRouter();
|
||||
const params = useSearchParams();
|
||||
const autoId = params.get("autoId");
|
||||
@@ -83,3 +82,11 @@ export default function HistorialPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default function HistorialPage() {
|
||||
return (
|
||||
<Suspense fallback={<div className="text-center py-10 text-gray-400">Cargando...</div>}>
|
||||
<HistorialContent />
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"use client";
|
||||
export const dynamic = "force-dynamic";
|
||||
import { useEffect, useState } from "react";
|
||||
import { Suspense, useEffect, useState } from "react";
|
||||
import { useRouter, useSearchParams } from "next/navigation";
|
||||
import Link from "next/link";
|
||||
import Card from "@/components/ui/Card";
|
||||
@@ -20,7 +19,7 @@ interface Turno {
|
||||
|
||||
type Step = "servicio" | "slot" | "confirmado";
|
||||
|
||||
export default function TurnosPage() {
|
||||
function TurnosContent() {
|
||||
const router = useRouter();
|
||||
const params = useSearchParams();
|
||||
const autoId = params.get("autoId");
|
||||
@@ -205,3 +204,11 @@ export default function TurnosPage() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default function TurnosPage() {
|
||||
return (
|
||||
<Suspense fallback={<div className="text-center py-10 text-gray-400">Cargando...</div>}>
|
||||
<TurnosContent />
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user