MotorSignal-App/website/components/site-header.tsx

21 lines
751 B
TypeScript

import { cookies } from 'next/headers';
import { SiteHeaderClient } from './site-header-client';
export async function SiteHeader() {
const token = (await cookies()).get('motorsignal_access_token')?.value;
let signedIn = false;
let role = 'user';
if (token) {
try {
const response = await fetch(`${process.env.MOTORSIGNAL_API_BASE_URL ?? 'https://api.motorsignal.app'}/api/v1/me`, {
headers: { authorization: `Bearer ${token}` }, cache: 'no-store',
});
signedIn = response.ok;
if (response.ok) role = (await response.json() as { role?: string }).role ?? 'user';
} catch { /* Navigation remains available during an API outage. */ }
}
return <SiteHeaderClient signedIn={signedIn} role={role} />;
}