HTML;
}
function renderTopBar(string $title, bool $addBtn = false, string $addId = ''): void {
$user = currentUser();
$name = htmlspecialchars($user['display_name'] ?? '');
$btn = $addBtn ? "" : '';
$initial = $name ? strtoupper(substr(strip_tags($name), 0, 1)) : '';
$avatar = $initial
? "{$initial}"
: '';
echo <<
{$avatar}
{$title}
{$btn}
HTML;
}
function renderNav(string $active): void {
$pages = [
'trends' => ['index.php', 'Trends', trendIcon()],
'transactions' => ['transactions.php', 'Recurring', txIcon()],
'oneoff' => ['oneoff.php', 'One-off', oneoffIcon()],
'debts' => ['debts.php', 'Debts', debtIcon()],
'balances' => ['balances.php', 'Balances', balIcon()],
'accounts' => ['accounts.php', 'Accounts', acctIcon()],
'settings' => ['settings.php', 'Settings', settingsIcon()],
];
if (isAdmin()) {
$pages['admin'] = ['admin.php', 'Admin', adminIcon()];
}
echo '';
}
// ── Icons ─────────────────────────────────────
function trendIcon(): string {
return '';
}
function txIcon(): string {
return '';
}
function balIcon(): string {
return '';
}
function acctIcon(): string {
return '';
}
function debtIcon(): string {
return '';
}
function oneoffIcon(): string {
return '';
}
function settingsIcon(): string {
return '';
}
function adminIcon(): string {
return '';
}