main • app/views/layout/header.php
<?php
$db = db();
$user = current_user($db);
$flashOk = flash_get('ok');
$flashErr = flash_get('err');
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title><?= e($title ?? 'GitRobot') ?></title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- highlight.js (GitHub dark) -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github-dark.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
<script>
window.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('pre code').forEach(el => hljs.highlightElement(el));
});
</script>
<style>
body { background:#f6f8fa; }
.navbar-brand { font-weight:700; }
.card { border-radius: 12px; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
</style>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="/explore">GitRobot</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/explore">Explore</a></li>
<?php if ($user): ?>
<li class="nav-item"><a class="nav-link" href="/repos">Your Repos</a></li>
<li class="nav-item"><span class="nav-link">Hi, <?= e($user['username']) ?></span></li>
<li class="nav-item"><a class="nav-link" href="/logout">Logout</a></li>
<?php else: ?>
<li class="nav-item"><a class="nav-link" href="/login">Login</a></li>
<li class="nav-item"><a class="nav-link" href="/register">Register</a></li>
<?php endif; ?>
</ul>
</div>
</div>
</nav>
<div class="container my-4">
<?php if ($flashOk): ?>
<div class="alert alert-success"><?= e($flashOk) ?></div>
<?php endif; ?>
<?php if ($flashErr): ?>
<div class="alert alert-danger"><?= e($flashErr) ?></div>
<?php endif; ?>