21 lines
751 B
TypeScript
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} />;
|
|
}
|
|
|