add WIP frontend
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import * # type: ignore
|
||||
|
||||
from rio import Component, event, Spacer, Card, Container, Column, Row, Rectangle, TextStyle, Color, Text
|
||||
|
||||
from src.ez_lan_manager.components.DesktopNavigation import DesktopNavigation
|
||||
|
||||
class BasePage(Component):
|
||||
content: Component
|
||||
|
||||
@event.on_window_size_change
|
||||
async def on_window_size_change(self):
|
||||
await self.force_refresh()
|
||||
|
||||
def build(self) -> Component:
|
||||
if self.content is None:
|
||||
content = Spacer()
|
||||
else:
|
||||
content = Card(
|
||||
self.content,
|
||||
color="secondary",
|
||||
min_width=38,
|
||||
corner_radius=(0, 0.5, 0, 0)
|
||||
)
|
||||
if self.session.window_width > 28:
|
||||
return Container(
|
||||
content=Column(
|
||||
Row(),
|
||||
Column(
|
||||
Row(
|
||||
Spacer(grow_x=True, grow_y=True),
|
||||
DesktopNavigation(),
|
||||
content,
|
||||
Spacer(grow_x=True, grow_y=True),
|
||||
grow_y=True
|
||||
),
|
||||
Row(
|
||||
Spacer(grow_x=True, grow_y=False),
|
||||
Card(
|
||||
content=Text("EZ LAN Manager Version 0.0.1 © EZ GG e.V.", align_x=0.5, align_y=0.5, style=TextStyle(fill=self.session.theme.primary_color, font_size=0.5)),
|
||||
color=self.session.theme.neutral_color,
|
||||
corner_radius=(0, 0, 0.5, 0.5),
|
||||
grow_x=False,
|
||||
grow_y=False,
|
||||
min_height=1.2,
|
||||
min_width=53.1
|
||||
),
|
||||
Spacer(grow_x=True, grow_y=False),
|
||||
grow_y=False
|
||||
)
|
||||
),
|
||||
Row(),
|
||||
proportions=[4, 92, 4]
|
||||
),
|
||||
grow_x=True,
|
||||
grow_y=True
|
||||
)
|
||||
else:
|
||||
return Text(
|
||||
"Der EZ LAN Manager wird\nauf mobilen Endgeräten nur\nim Querformat unterstützt.\nBitte drehe dein Gerät.",
|
||||
align_x=0.5,
|
||||
align_y=0.5,
|
||||
style=TextStyle(fill=Color.from_hex("FFFFFF"), font_size=0.8)
|
||||
)
|
||||
@@ -0,0 +1,29 @@
|
||||
from rio import Text, Column, Rectangle, TextStyle, Component
|
||||
|
||||
from src.ez_lan_manager.components.NewsPost import NewsPost
|
||||
from src.ez_lan_manager.pages import BasePage
|
||||
|
||||
class NewsPage(Component):
|
||||
def build(self) -> Component:
|
||||
return BasePage(
|
||||
content=Column(
|
||||
NewsPost(
|
||||
title="EZ LAN Manager",
|
||||
text="Der EZ LAN Manager ist die offizielle Software der EZ GG e.V. um LAn-Parties zu verwalten."
|
||||
"Ist schon echt cool wie der funktioniert! So kann LAN Party richtig geschmeidig ablaufen.",
|
||||
date="23.08.2024"
|
||||
),
|
||||
NewsPost(
|
||||
title="Alkohöl",
|
||||
text="Der Verein 'EZ GG e.V.' ist bekannt für seinen unstillbaren Durst. "
|
||||
"Bei jedem Treffen fließt der Alkohol in Strömen – egal ob Bier, Wein oder Hochprozentiges. "
|
||||
"Kein Glas bleibt lange leer, und bevor der Pegel auch nur ansatzweise sinkt, "
|
||||
"wird schon nachgefüllt. Die Mitglieder feiern ausgiebig und trinken dabei so viel, "
|
||||
"dass die Vorräte nie lange halten. Bei jeder Gelegenheit wird angestoßen, "
|
||||
"die Stimmung steigt und der Alkohol fließt ohne Ende. "
|
||||
"Ihr Motto: 'Kein Abend ohne reichlich Alkohol!'",
|
||||
date="23.08.2024"
|
||||
),
|
||||
align_y=0,
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,2 @@
|
||||
from .BasePage import BasePage
|
||||
from .NewsPage import NewsPage
|
||||
Reference in New Issue
Block a user