Added news

This commit is contained in:
Timon Ostertun
2020-09-27 23:17:56 +02:00
parent 876776eb5b
commit 00c1c93b80
5 changed files with 112 additions and 14 deletions

View File

@@ -1,19 +1,22 @@
<?php
// TODO: Create site
$sp['title'] = 'Seite noch nicht unterstuuml;tzt - Regatten.net ' . $_CLASS['name'];
$sp['title'] = 'News - Regatten.net ' . $_CLASS['name'];
$sp['backbutton'] = true;
$sp['activenav'] = 5;
$content = $tpl->load('error', ['404', 'Seite existiert noch nicht']);
$content .= '<p>';
$content .= 'Die gesuchte Seite ist leider noch nicht verf&uuml;gbar.<br>';
$content .= 'Wir arbeiten daran, sie schnellstm&ouml;glich zur Verf&uuml;gung zu stellen.<br>';
$content .= 'Wie w&auml;re es mit der Homepage?';
$content .= '</p>';
$content .= $tpl->load('button', ['Zur Startseite', LINK_PRE . 'index', 'css-class' => 'mb-3']);
$content .= $tpl->load('button', ['Kontakt', LINK_PRE . 'contact']);
// Title
$content = "<h1>Neuigkeiten</h1>";
$content .= '<p>Aktuelles der letzten zw&ouml;lf Monate</p>';
$sp['output'] = $tpl->load('card', [$content, 'css-class' => 'text-center pt-3']);
$sp['output'] .= $tpl->load('card', [$content]);
// Menu
$sp['menus'] .= $tpl->load('menu/modal', ['html-id' => 'menu-news', 'title' => 'Details']);
$cardTemplate = $tpl->load('card', ['%CONTENT%', 'html-id' => '%ID%', 'css-class' => 'card-news']);
$cardTemplate = str_replace("\n", '', $cardTemplate);
$cardTemplate = str_replace("\r", '', $cardTemplate);
$sp['scripts'] .= "<script>const cardTemplate = '" . $cardTemplate . "';</script>";
$sp['scripts'] .= $scripts->load('news');
?>

44
server/scripts/news.js Normal file
View File

@@ -0,0 +1,44 @@
async function onNewsClicked(id) {
var newsEntry = await dbGetData('news', id);
if (newsEntry == null) return;
$('#menu-news').css('height', '80%');
$('#menu-news').css('width', '90%');
$('#menu-news').find('.menu-title').find('p').text(newsEntry.title);
$('#menu-news').find('.content').addClass('pb-3');
$('#menu-news').find('.content').html(newsEntry.html);
$('#menu-news').showMenu();
}
function addCard(newsEntry) {
console.log(newsEntry);
var content = '<h2>' + newsEntry.title + '</h2>';
content += '<p class="mb-2"><i>' + formatDate('d.m.Y', newsEntry.date) + '</i></p>';
content += '<p class="mb-0">' + newsEntry.description.replace('\n', '<br>') + '</p>';
if (newsEntry.html != '') {
content += '<a class="btn btn-full rounded-s text-uppercase font-900 shadow-m bg-highlight mt-3" href="#" onclick="onNewsClicked(' + newsEntry.id + '); return false;">Mehr lesen</a>';
}
$('.page-content').append(cardTemplate.replace('%ID%', 'card-news-' + newsEntry.id).replace('%CONTENT%', content));
}
var siteScript = async function() {
$('.card-news').remove();
var news = await dbGetData('news');
news.sort(function (a,b) {
return b.date.localeCompare(a.date);
});
var today = getToday();
var lastYear = new Date(today);
lastYear.setFullYear(lastYear.getFullYear() - 1);
console.log(today, lastYear);
for (var n in news) {
var newsEntry = news[n];
newsEntry.date = parseDate(newsEntry.date.substring(0, 10));
if (newsEntry.date > today) continue;
if (newsEntry.date < lastYear) break;
addCard(newsEntry);
}
hideLoader();
}