1
0
mirror of git://f0xx.org/ac/ac-be-builder synced 2026-07-29 03:38:57 +03:00
Files
ac-be-builder/views/layout.php
2026-07-12 13:53:37 +02:00

62 lines
2.5 KiB
PHP

<?php declare(strict_types=1);
$ab = assets_base();
$links = cfg('links', []);
$projectBase = Auth::projectBasePath();
$issuesBase = rtrim((string) cfg('links.crashes', $projectBase . '/issues'), '/');
$navActive = 'builder';
$user = Auth::user();
$navUser = is_array($user) ? trim((string) ($user['username'] ?? '')) : '';
?>
<!DOCTYPE html>
<html lang="en" data-theme="dark">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?= h($pageTitle ?? 'Builder') ?> — <?= h(cfg('app_name')) ?></title>
<script>
(function () {
var t = localStorage.getItem('crash_console_theme');
if (t === 'light' || t === 'dark') document.documentElement.setAttribute('data-theme', t);
var l = localStorage.getItem('crash_console_lang');
if (l === 'en' || l === 'ru') document.documentElement.setAttribute('lang', l);
})();
</script>
<link rel="stylesheet" href="<?= h($ab) ?>/assets/css/app.css">
<script src="<?= h($ab) ?>/assets/js/nav_shell.js" defer></script>
<script src="<?= h($ab) ?>/assets/js/i18n.js" defer></script>
<script src="<?= h(Auth::basePath()) ?>/assets/js/builder.js" defer></script>
</head>
<body data-base-path="<?= h(Auth::basePath()) ?>"
data-view="<?= h($view ?? 'home') ?>"
<?= (($view ?? '') === 'build' && !empty($build['id'])) ? ' data-build-id="' . (int) $build['id'] . '"' : '' ?>
<?= (($view ?? '') === 'build' && !empty($build['status'])) ? ' data-build-status="' . h((string) $build['status']) . '"' : '' ?>>
<div class="shell">
<?php platform_render_nav_shell([
'project_base' => $projectBase,
'issues_base' => $issuesBase,
'active' => $navActive,
'username' => $navUser,
]); ?>
<main class="main-pane">
<div class="toolbar reports-toolbar" style="margin-bottom:12px">
<div class="toolbar-actions" style="margin-left:auto">
<label class="toolbar-select">
<span data-i18n="theme.label">Theme</span>
<select id="theme-select" aria-label="UI theme">
<option value="dark">Dark</option>
<option value="light">Light</option>
</select>
</label>
</div>
</div>
<?php if (($view ?? '') === 'build' && !empty($build)): ?>
<?php require __DIR__ . '/build_detail.php'; ?>
<?php else: ?>
<?php require __DIR__ . '/home.php'; ?>
<?php endif; ?>
</main>
</div>
<?php platform_render_footer(); ?>
</body>
</html>