Make header render client side

This commit is contained in:
Hannah dagemark 2026-08-31 02:46:44 +02:00
commit bad16f57bf

View file

@ -1,3 +1,7 @@
"use client";
import { useEffect, useState } from "react";
import Hyperlink from "@/components/ui/Hyperlink"; import Hyperlink from "@/components/ui/Hyperlink";
import { getServices } from "@/lib/api/helpers/services"; import { getServices } from "@/lib/api/helpers/services";
import { Service } from "@/lib/api/types"; import { Service } from "@/lib/api/types";
@ -40,11 +44,19 @@ const defaultServices: Service[] = [
}, },
]; ];
export default async function Header() { export default function Header() {
let services = await getServices(); const [services, setServices] = useState<Service[]>(defaultServices);
if (services.length < 1) { useEffect(() => {
services = defaultServices; getServices()
.then((services) => {
if (services.length > 0) {
setServices(services);
} }
})
.catch(() => {
// Keep default services if the backend is not reached :C
});
}, []);
return ( return (
<header className="w-full h-full bg-slate-500 dark:bg-slate-900 flex items-center justify-between"> <header className="w-full h-full bg-slate-500 dark:bg-slate-900 flex items-center justify-between">
<nav className="flex items-center justify-around w-full h-full px-6 py-4"> <nav className="flex items-center justify-around w-full h-full px-6 py-4">