✨ admin area newsletter overview (#45)
This commit is contained in:
parent
936402ade6
commit
5277a58ec3
1
meta.php
1
meta.php
|
@ -44,5 +44,6 @@
|
|||
|
||||
["path" => "admin", "target" => "page/admin/start"],
|
||||
["path" => "admin/login", "target" => "page/admin/login"],
|
||||
["path" => "admin/newsletter", "target" => "page/admin/newsletter/overview.php"],
|
||||
];
|
||||
?>
|
||||
|
|
|
@ -0,0 +1,94 @@
|
|||
<?php
|
||||
declare(strict_types = 1);
|
||||
namespace Kimendisch\Sbgg_Jetzt;
|
||||
use Flake\Lang;
|
||||
use Flake\Lang_Dict;
|
||||
use Flake\Page;
|
||||
|
||||
// HANDLE AUTHENTICATION //
|
||||
require("./page/admin/auth_handler.php");
|
||||
|
||||
|
||||
// LANGUAGE MANAGER //
|
||||
// hack: fake get param from constant
|
||||
$_GET["lang"] = "en";
|
||||
|
||||
// initialize
|
||||
$lang = new Lang(list: ["de", "en"], default: "en");
|
||||
|
||||
// load dict
|
||||
$dict = new Lang_Dict($lang);
|
||||
require("./page/strings.php");
|
||||
|
||||
|
||||
// PAGE INIT //
|
||||
Page::start();
|
||||
|
||||
Page::title("SBGG.jetzt - Admin Area");
|
||||
Page::icon("./asset/logo-256.png");
|
||||
|
||||
Page::lang($lang->get());
|
||||
Page::viewport(scale: 1, zoom: true);
|
||||
|
||||
Page::robots(index: false, follow: false);
|
||||
Page::author("Kim Endisch");
|
||||
|
||||
Page::$head["analytics"] = '<script defer data-domain="sbgg.jetzt" src="https://analytics.tjdev.de/js/script.js"></script>';
|
||||
Page::css("./page/start/style.css");
|
||||
|
||||
Page::font("ubuntu");
|
||||
Page::font("tabler");
|
||||
?>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="page-container">
|
||||
<div class="page">
|
||||
<div class="section">
|
||||
<div class="content">
|
||||
<div class="button-list align-left">
|
||||
<a href="/admin" class="button on-bg">
|
||||
<span class="icon ti ti-arrow-left"></span>
|
||||
<span class="text">Go Back</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<div class="header">
|
||||
<span class="icon ti ti-news"></span>
|
||||
<span class="text">Content</span>
|
||||
</div>
|
||||
<div class="content">
|
||||
<?php
|
||||
$content_list = Newsletter::content_list();
|
||||
rsort($content_list);
|
||||
foreach($content_list as $one_content_name){
|
||||
$date_raw = substr($one_content_name, 0, 10);
|
||||
if($date_raw === "0000-00-00"){
|
||||
$date_formatted = "System Message";
|
||||
|
||||
} else {
|
||||
$date = new \DateTimeImmutable($date_raw);
|
||||
$date_formatted = $date->format('d M Y');
|
||||
}
|
||||
|
||||
$name_raw = substr($one_content_name, 11);
|
||||
$name_formatted = ucwords(str_replace("-", " ", basename($name_raw)));
|
||||
?>
|
||||
<a href="/admin/newsletter/<?= urlencode($one_content_name) ?>" class="box align-left">
|
||||
<span class="extra"><i class="ti ti-calendar"></i><?= $date_formatted ?></span>
|
||||
<span class="title"><?= $name_formatted ?></span>
|
||||
</a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<?php require(dirname(__DIR__) . "/footer.php"); ?>
|
|
@ -264,12 +264,18 @@ span.inline {
|
|||
border-radius: 2rem;
|
||||
background-color: var(--color-bg-light);
|
||||
}
|
||||
.box.align-left {
|
||||
align-items: flex-start;
|
||||
}
|
||||
.box.shrink {
|
||||
display: inline-flex;
|
||||
}
|
||||
.box.important {
|
||||
border: 0.5rem solid var(--theme);
|
||||
}
|
||||
a.box:hover {
|
||||
background-color: var(--color-gray-dark-dark);
|
||||
}
|
||||
|
||||
.box .title, .box .extra {
|
||||
display: inline-flex;
|
||||
|
@ -441,6 +447,9 @@ span.inline {
|
|||
justify-content: center;
|
||||
gap: 1rem;
|
||||
}
|
||||
.button-list.align-left {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.button, .button.disabled:hover {
|
||||
align-items: center;
|
||||
|
@ -458,10 +467,18 @@ span.inline {
|
|||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.button.on-bg {
|
||||
background-color: var(--color-bg-light);
|
||||
}
|
||||
.button:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
.button:hover {
|
||||
background-color: var(--color-gray-dark);
|
||||
}
|
||||
.button.on-bg:hover {
|
||||
background-color: var(--color-gray-dark-dark);
|
||||
}
|
||||
.button.disabled {
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue