WIP on PHP (Leaf) version
This commit is contained in:
49
src/app/index.php
Normal file
49
src/app/index.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
require __DIR__ . '/vendor/autoload.php';
|
||||
|
||||
use MyPrayerJournal\Data;
|
||||
|
||||
Data::startUp();
|
||||
|
||||
app()->template->config('path', './pages');
|
||||
app()->template->config('params', [
|
||||
// 'app' => function () { return app(); },
|
||||
'page_link' => function (string $url, bool $checkActive = false) {
|
||||
echo 'href="'. $url . '" hx-get="' . $url . '"';
|
||||
if ($checkActive && str_starts_with($_SERVER['REQUEST_URI'], $url)) {
|
||||
echo ' class="is-active-route"';
|
||||
}
|
||||
echo 'hx-target="#top" hx-swap="innerHTML" hx-push-url="true"';
|
||||
},
|
||||
'version' => 'v4',
|
||||
]);
|
||||
|
||||
function renderPage(string $template, array $params, string $pageTitle)
|
||||
{
|
||||
if (is_null($params)) {
|
||||
$params = [];
|
||||
}
|
||||
$params['pageTitle'] = $pageTitle;
|
||||
$params['isHtmx'] =
|
||||
array_key_exists('HTTP_HX_REQUEST', $_SERVER)
|
||||
&& (!array_key_exists('HTTP_HX_HISTORY_RESTORE_REQUEST', $_SERVER));
|
||||
$params['userId'] = false;
|
||||
$params['pageContent'] = app()->template->render($template, $params);
|
||||
// TODO: make the htmx distinction here
|
||||
response()->markup(app()->template->render('layout/full', $params));
|
||||
}
|
||||
|
||||
app()->get('/', function () {
|
||||
renderPage('home', [], 'Welcome');
|
||||
});
|
||||
|
||||
app()->get('/legal/privacy-policy', function () {
|
||||
renderPage('legal/privacy-policy', [], 'Privacy Policy');
|
||||
});
|
||||
|
||||
app()->get('/legal/terms-of-service', function () {
|
||||
renderPage('legal/terms-of-service', [], 'Terms of Service');
|
||||
});
|
||||
|
||||
app()->run();
|
||||
Reference in New Issue
Block a user