1
0
mirror of synced 2024-12-14 23:32:53 +01:00
bemaniutils/bemani/frontend/home/home.py

37 lines
883 B
Python

from flask import Blueprint, Response
from typing import Dict, Any
from bemani.data import News
from bemani.frontend.app import loginrequired, render_react
from bemani.frontend.templates import templates_location
from bemani.frontend.static import static_location
from bemani.frontend.types import g
home_pages = Blueprint(
'home_pages',
__name__,
template_folder=templates_location,
static_folder=static_location,
)
def format_news(news: News) -> Dict[str, Any]:
return {
'timestamp': news.timestamp,
'title': news.title,
'body': news.body,
}
@home_pages.route('/')
@loginrequired
def viewhome() -> Response:
return render_react(
g.config.get('name', 'e-AMUSEMENT Network'),
'home.react.js',
{
'news': [format_news(news) for news in g.data.local.network.get_all_news()],
}
)