1
0
mirror of synced 2024-11-24 06:20:12 +01:00
bemaniutils/bemani/frontend/home/home.py

37 lines
884 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()],
},
)