import { Head } from '@inertiajs/react'; import { useEffect, useState } from 'react'; import { type BreadcrumbItem } from '@/types'; import AppLayout from '@/layouts/app-layout'; import { Button } from '@/components/ui/button'; import { Download } from 'lucide-react'; const getBreadcrumbs = (categoryTitle: string | null): BreadcrumbItem[] => { const breadcrumbs: BreadcrumbItem[] = [ { title: 'Strona Główna', href: '/', } ]; if (categoryTitle) { breadcrumbs.push({ title: categoryTitle, href: '#', disabled: true }); } breadcrumbs.push({ title: 'Cennik badań diagnostycznych', href: '/cennik-badan', }); return breadcrumbs; }; interface PriceData { id: number; attachment_id: number; created_at: string; updated_at: string; } interface AttachmentData { id: number; file_name: string; file_path: string; created_at: string; updated_at: string; } interface PriceApiResponse { price: PriceData; attachment: AttachmentData; category: string; } export default function Price() { const [priceData, setPriceData] = useState(null); const [loading, setLoading] = useState(true); const [categoryTitle, setCategoryTitle] = useState(null); useEffect(() => { setLoading(true); fetch('/api/price') .then(response => response.json()) .then(data => { setPriceData(data); if (data.category) { setCategoryTitle(data.category); } setLoading(false); }) .catch(error => { console.error('Error fetching price data:', error); setLoading(false); }); }, []); const handleDownload = () => { if (priceData?.attachment?.file_path) { const link = document.createElement('a'); link.href = priceData.attachment.file_path; link.download = priceData.attachment.file_name || 'cennik.pdf'; document.body.appendChild(link); link.click(); document.body.removeChild(link); } }; return (

Cennik badań diagnostycznych

{priceData?.attachment && ( )}
{loading ? (
Wczytywanie...
) : !priceData?.attachment ? (
Cennik nie jest obecnie dostępny.
) : (

Twoja przeglądarka nie obsługuje bezpośredniego wyświetlania plików PDF.

)}
); }