v1.0.2: Fix PDF generation (react-pdf v4), fix Next.js 15 async params in all API routes
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
'use client'
|
||||
|
||||
import { useState, useEffect } from 'react'
|
||||
import { useState, useEffect, use } from 'react'
|
||||
import { Loader2, FileText, Download, Printer, MapPin, Send, CheckCircle, XCircle } from 'lucide-react'
|
||||
|
||||
interface RapportViewData {
|
||||
@@ -13,7 +13,8 @@ interface RapportViewData {
|
||||
createdBy: { name: string } | null
|
||||
}
|
||||
|
||||
export default function RapportViewerPage({ params }: { params: { token: string } }) {
|
||||
export default function RapportViewerPage({ params }: { params: Promise<{ token: string }> }) {
|
||||
const { token } = use(params)
|
||||
const [rapport, setRapport] = useState<RapportViewData | null>(null)
|
||||
const [isLoading, setIsLoading] = useState(true)
|
||||
const [error, setError] = useState('')
|
||||
@@ -25,7 +26,7 @@ export default function RapportViewerPage({ params }: { params: { token: string
|
||||
useEffect(() => {
|
||||
async function load() {
|
||||
try {
|
||||
const res = await fetch(`/api/rapports/${params.token}`)
|
||||
const res = await fetch(`/api/rapports/${token}`)
|
||||
if (res.ok) {
|
||||
setRapport(await res.json())
|
||||
} else {
|
||||
@@ -38,7 +39,7 @@ export default function RapportViewerPage({ params }: { params: { token: string
|
||||
}
|
||||
}
|
||||
load()
|
||||
}, [params.token])
|
||||
}, [token])
|
||||
|
||||
if (isLoading) {
|
||||
return (
|
||||
@@ -64,7 +65,7 @@ export default function RapportViewerPage({ params }: { params: { token: string
|
||||
}
|
||||
|
||||
const d = rapport.data
|
||||
const pdfUrl = `/api/rapports/${params.token}/pdf`
|
||||
const pdfUrl = `/api/rapports/${token}/pdf`
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-gray-100 py-8">
|
||||
@@ -119,7 +120,7 @@ export default function RapportViewerPage({ params }: { params: { token: string
|
||||
setEmailSending(true)
|
||||
setEmailStatus(null)
|
||||
try {
|
||||
const res = await fetch(`/api/rapports/${params.token}/send`, {
|
||||
const res = await fetch(`/api/rapports/${token}/send`, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ email: emailTo }),
|
||||
|
||||
Reference in New Issue
Block a user