import { headers } from "next/headers"; import { auth } from "@/lib/auth"; import { getMonthlyLimit, getMonthlyUsage, hasPaidAccess } from "@/lib/clean-pdf/access"; import { getOrCreatePdfKey } from "@/lib/clean-pdf/keys"; import { CleanPdfForm } from "./CleanPdfForm"; import { ZoteroSection } from "./ZoteroSection"; export const metadata = { title: "Чистый PDF — Obsidian Toolbox" }; export default async function CleanPdfToolPage() { const session = await auth.api.getSession({ headers: await headers() }); const userId = session?.user.id; const paid = userId ? await hasPaidAccess(userId) : false; if (!userId || !paid) { return (

Чистый PDF

Инструмент доступен студентам платных курсов школы. Если у вас есть купленный курс — проверьте, что вы вошли в нужный аккаунт.

); } const [key, used] = await Promise.all([getOrCreatePdfKey(userId), getMonthlyUsage(userId)]); const limit = getMonthlyLimit(); const baseUrl = process.env.NEXT_PUBLIC_APP_URL ?? "https://school.second-brain.ru"; return (

Чистый PDF

Превращает любую веб-страницу в аккуратный PDF: без рекламы, меню и мусора — только текст, картинки и оглавление.

); }