import { useState, useEffect } from 'react' import type { NextPage } from 'next' import Head from 'next/head' import Link from 'next/link' interface Category { id: number name: string slug: string description: string color: string priority: number is_active: boolean } const CategoriesManagement: NextPage = () => { const [categories, setCategories] = useState([]) const [loading, setLoading] = useState(true) useEffect(() => { fetchCategories() }, []) const fetchCategories = async () => { try { const response = await fetch('/api/admin/categories') if (response.ok) { const data = await response.json() setCategories(data) } } catch (error) { console.error('Failed to fetch categories:', error) } finally { setLoading(false) } } const toggleCategory = async (id: number, isActive: boolean) => { try { const response = await fetch(`/api/admin/categories/${id}`, { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ is_active: !isActive }) }) if (response.ok) { fetchCategories() } } catch (error) { console.error('Failed to update category:', error) } } return (
Správa kategórií - Infohliadka

Správa kategórií

{loading ? (
Loading...
) : ( {categories.map((category) => ( ))}
Názov Priorita Farba Aktívna Akcie
{category.name}
{category.description}
{category.priority}
{category.color}
{category.is_active ? '✅' : '❌'}
)}
← Späť na dashboard
) } export default CategoriesManagement