Fix pnpm build

This commit is contained in:
UltraLionFr
2025-08-20 16:41:27 +02:00
parent 3de3e6f35a
commit 9730e21999
16 changed files with 134 additions and 83 deletions
+12 -14
View File
@@ -1,24 +1,23 @@
'use client';
import { useRouter } from 'next/navigation';
import Prism from 'prismjs';
import { use, useEffect, useState } from 'react';
import { use, useCallback, useEffect, useState } from 'react';
import 'prismjs/plugins/line-numbers/prism-line-numbers.css';
import 'prismjs/plugins/line-numbers/prism-line-numbers.js';
import 'prismjs/themes/prism-tomorrow.css';
import AuthSection from "@/components/paste-form/AuthSection";
import AuthSection from '@/components/paste-form/AuthSection';
import CodeViewer from '@/components/paste/CodeViewer';
import LoadingPaste from '@/components/paste/LoadingPaste';
import PasswordForm from '@/components/paste/PasswordForm';
import PasteSidebar from '@/components/paste/PasteSidebar';
import { Paste } from '@/types/paste';
async function loadLanguage(lang: string) {
try {
await import(`prismjs/components/prism-${lang}.js`);
} catch (err) {
} catch {
console.warn(`[Prism] Language '${lang}' introuvable. Fallback -> plaintext`);
}
}
@@ -29,14 +28,13 @@ export default function PastePage({
params: Promise<{ id: string }>;
}) {
const { id } = use(params);
const router = useRouter();
const [paste, setPaste] = useState<any | null>(null);
const [paste, setPaste] = useState<Paste | null>(null);
const [error, setError] = useState('');
const [loading, setLoading] = useState(true);
const [language, setLanguage] = useState<string>('language-javascript');
const fetchPaste = async (pwd?: string) => {
const fetchPaste = useCallback(async (pwd?: string) => {
setLoading(true);
const res = await fetch(`/api/paste/${id}`, {
method: 'POST',
@@ -55,7 +53,7 @@ export default function PastePage({
return;
}
const data = await res.json();
const data: Paste = await res.json();
setPaste(data);
const content = data.content.toLowerCase();
@@ -81,11 +79,11 @@ export default function PastePage({
setLanguage(`language-${detected}`);
setLoading(false);
};
}, [id]);
useEffect(() => {
fetchPaste();
}, [id]);
}, [fetchPaste]);
useEffect(() => {
if (paste?.content) Prism.highlightAll();
@@ -99,9 +97,9 @@ export default function PastePage({
return (
<div className="relative w-screen h-screen bg-[#0e0f13] text-white flex overflow-hidden">
<CodeViewer paste={paste} language={language} />
<PasteSidebar paste={paste} id={id} />
<CodeViewer paste={paste!} language={language} />
<PasteSidebar paste={paste!} id={id} />
<AuthSection />
</div>
);
}
}