Compare commits

...
Author SHA1 Message Date
Hannah dagemark
d5c4606d29 Merge remote-tracking branch 'origin/main' into Devbranch 2026-08-31 02:47:10 +02:00
Hannah dagemark
bad16f57bf Make header render client side 2026-08-31 02:46:44 +02:00
Hannah dagemark
4e38397bfd Use request body 2026-08-31 02:46:35 +02:00
Hannah dagemark
56d14d5d61 Remove dev console log 2026-08-31 02:46:23 +02:00
Hannah dagemark
77c18d9441 Use temp instead of blank 2026-08-31 02:46:04 +02:00
ef549589d9 Merge pull request 'Add experimental backend API support, add optional fetch of services in header from backend.' (#1) from Devbranch into main
Reviewed-on: #1
2026-08-30 23:15:59 +00:00
5 changed files with 25 additions and 9 deletions

View file

@ -1,6 +1,9 @@
const BACKEND_URL = process.env.BACKEND_URL; const BACKEND_URL = process.env.BACKEND_URL;
export async function GET({ params }: { params: Promise<{ id: string }> }) { export async function GET(
_request: Request,
{ params }: { params: Promise<{ id: string }> },
) {
const { id } = await params; const { id } = await params;
const response = await fetch(`${BACKEND_URL}/services/${id}`); const response = await fetch(`${BACKEND_URL}/services/${id}`);
@ -15,7 +18,10 @@ export async function GET({ params }: { params: Promise<{ id: string }> }) {
return Response.json(data); return Response.json(data);
} }
export async function DELETE({ params }: { params: Promise<{ id: string }> }) { export async function DELETE(
_request: Request,
{ params }: { params: Promise<{ id: string }> },
) {
const { id } = await params; const { id } = await params;
const response = await fetch(`${BACKEND_URL}/services/${id}`, { const response = await fetch(`${BACKEND_URL}/services/${id}`, {
method: "DELETE", method: "DELETE",

View file

@ -1,8 +1,6 @@
const BACKEND_URL = process.env.BACKEND_URL; const BACKEND_URL = process.env.BACKEND_URL;
export async function GET() { export async function GET() {
console.log("Made it to the GET SERVICES ROUTE!");
const response = await fetch(`${BACKEND_URL}/services/all`); const response = await fetch(`${BACKEND_URL}/services/all`);
if (!response.ok) { if (!response.ok) {

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">