added bootstar, font awsome, and the project is in a useable state, bit needs some manual setup.
This commit is contained in:
@@ -1 +1,101 @@
|
||||
Hello World.
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
$pageStyles = [];
|
||||
$pageScripts = [];
|
||||
|
||||
require_once __DIR__ . '/db.php';
|
||||
require_once __DIR__ . '/auth.php';
|
||||
|
||||
const THEME_STYLES = [
|
||||
'white' => 'app/css/white_mode.css',
|
||||
'dark' => 'app/css/dark_mode.css',
|
||||
'purple' => 'app/css/purple_mode.css',
|
||||
'green' => 'app/css/green_mode.css',
|
||||
'beige' => 'app/css/beige_mode.css',
|
||||
];
|
||||
|
||||
function currentTheme(): string
|
||||
{
|
||||
$theme = 'dark';
|
||||
$user = currentUser();
|
||||
|
||||
if (!$user) {
|
||||
return $theme;
|
||||
}
|
||||
|
||||
$stmt = db()->prepare(
|
||||
'SELECT setting_value
|
||||
FROM user_settings
|
||||
WHERE user_id = ?
|
||||
AND setting_name = ?
|
||||
LIMIT 1'
|
||||
);
|
||||
|
||||
$stmt->execute([
|
||||
(int)$user['id'],
|
||||
'theme'
|
||||
]);
|
||||
|
||||
$storedTheme = (string)($stmt->fetchColumn() ?: '');
|
||||
|
||||
return array_key_exists($storedTheme, THEME_STYLES) ? $storedTheme : $theme;
|
||||
}
|
||||
|
||||
$page = $_GET['page'] ?? 'home';
|
||||
$theme = currentTheme();
|
||||
|
||||
$routes = [
|
||||
'home' => 'home.php',
|
||||
'login' => 'login.php',
|
||||
'logout' => 'logout.php',
|
||||
];
|
||||
|
||||
if (!isset($routes[$page])) {
|
||||
$pageFile = __DIR__ . '/app/404.php';
|
||||
} else {
|
||||
$pageFile = __DIR__ . '/app/' . $routes[$page];
|
||||
}
|
||||
|
||||
ob_start();
|
||||
require $pageFile;
|
||||
$pageContent = ob_get_clean();
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>ProjectKiln</title>
|
||||
|
||||
<link rel="stylesheet" href="app/bootstrap/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="app/fontawesome/css/all.min.css">
|
||||
|
||||
<link rel="stylesheet" href="app/css/main.css">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="<?= htmlspecialchars(THEME_STYLES[$theme]) ?>"
|
||||
id="themeStylesheet"
|
||||
data-theme="<?= htmlspecialchars($theme) ?>"
|
||||
>
|
||||
|
||||
<?php foreach ($pageStyles as $style): ?>
|
||||
<link rel="stylesheet" href="<?= htmlspecialchars($style) ?>">
|
||||
<?php endforeach; ?>
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<?= $pageContent ?>
|
||||
</main>
|
||||
|
||||
<script src="app/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||
|
||||
<script src="app/js/main.js"></script>
|
||||
|
||||
<?php foreach ($pageScripts as $script): ?>
|
||||
<script src="<?= htmlspecialchars($script) ?>"></script>
|
||||
<?php endforeach; ?>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user