2023-06-17 16:44:51 +00:00
|
|
|
from pathlib import Path
|
|
|
|
from typing import List
|
|
|
|
from shiny import App, ui, Inputs, Outputs, Session
|
|
|
|
from shiny.types import NavSetArg
|
2023-06-17 14:42:37 +00:00
|
|
|
from src import mod_welcome
|
2023-06-21 16:56:22 +00:00
|
|
|
from src.util import load_html_str_from_file
|
|
|
|
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
|
|
footer_html: str = load_html_str_from_file(os.path.join("www", "footer.html"))
|
2023-06-17 14:00:36 +00:00
|
|
|
|
2023-06-17 16:44:51 +00:00
|
|
|
|
|
|
|
def nav_controls() -> List[NavSetArg]:
|
|
|
|
return [
|
|
|
|
ui.nav(ui.h5("Intro"), mod_welcome.welcome_ui("Intro"), value="intro"),
|
|
|
|
ui.nav(ui.h5("Datensatz Analyse"), "Datensatz Analyse"),
|
|
|
|
ui.nav_control(
|
|
|
|
ui.a(
|
|
|
|
ui.h5("AG-Link"),
|
|
|
|
href="https://ag-link.xyz",
|
|
|
|
target="_blank",
|
|
|
|
),
|
|
|
|
),
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
app_ui = ui.page_navbar(
|
|
|
|
*nav_controls(),
|
2023-06-21 17:00:59 +00:00
|
|
|
# create gap ----
|
|
|
|
ui.nav_spacer(),
|
|
|
|
|
|
|
|
# right hand side ----
|
|
|
|
ui.nav_menu(
|
|
|
|
"Mehr Infos",
|
|
|
|
ui.nav_control(
|
|
|
|
ui.a(
|
|
|
|
"No G20 Studie",
|
|
|
|
href="https://g20.protestinstitut.eu/",
|
|
|
|
target="_blank",
|
|
|
|
),
|
|
|
|
),
|
|
|
|
align="right",
|
|
|
|
),
|
2023-06-17 16:44:51 +00:00
|
|
|
selected="intro",
|
|
|
|
fluid=False,
|
|
|
|
title=ui.div(ui.img(src="favicon.ico", width="75dpi", height="75dpi"),
|
|
|
|
ui.h3("Copbird")),
|
|
|
|
lang="de",
|
|
|
|
window_title="Copbird",
|
|
|
|
collapsible=True,
|
|
|
|
bg="#ba289f",
|
|
|
|
inverse=True,
|
|
|
|
id="Intro",
|
2023-06-21 16:56:22 +00:00
|
|
|
footer=ui.div(ui.HTML(footer_html), inline=False),
|
2023-06-17 14:00:36 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
2023-06-17 16:44:51 +00:00
|
|
|
def server(input: Inputs, output: Outputs, session: Session):
|
2023-06-17 18:01:23 +00:00
|
|
|
mod_welcome.welcome_server("Intro")
|
2023-06-17 16:44:51 +00:00
|
|
|
|
2023-06-17 14:00:36 +00:00
|
|
|
|
2023-06-17 16:44:51 +00:00
|
|
|
static_dir = Path(__file__).parent / "www"
|
2023-06-17 14:00:36 +00:00
|
|
|
|
2023-06-17 16:44:51 +00:00
|
|
|
app = App(app_ui, server, static_assets=static_dir)
|