Homepage/ezgg_website/components/header.py
David Rodenkirchen 9d9f96f455 add Driddy
2025-08-02 21:35:43 +02:00

74 lines
3.0 KiB
Python

import rio
from from_root import from_root
from rio import TextStyle
from ezgg_website.components.ticker import Ticker
class Header(rio.Component):
def build(self) -> rio.Component:
# FixMe: Temporary fix for low screen widths. Fixable once Rio offers better mobile-targeted layouting
if self.session.window_width < 67.125:
return rio.Column(
rio.Rectangle(
content=rio.Column(
rio.Row(
rio.Link(
rio.Image(from_root("ezgg_website/assets/logo.svg"), align_x=0,
width=8),
"/"
)
),
margin=1
),
fill=self.session.theme.neutral_color,
corner_radius=self.session.theme.corner_radius_medium,
shadow_radius=0.5,
shadow_color=self.session.theme.hud_color,
shadow_offset_y=0
),
align_y=0,
margin_top=1,
margin_left=1,
margin_right=1,
height=4
)
return rio.Column(
rio.Rectangle(
content=rio.Column(
rio.Row(
rio.Link(
rio.Image(from_root("ezgg_website/assets/logo.svg"), align_x=0, width=8),
"/"
),
rio.Text("Sinnlose Infos aus dem Vereinskern:", justify="left", width="grow", margin_left=0.8),
Ticker(
texts=[
"Die EZ GG wurde in einer schlecht beleuchteten Kellerbar gegründet",
"Aktuelle hat die EZ GG e.V. sechzehn Mitglieder",
"Bist du auch ein Gamer? Dann tritt uns doch bei!",
"Auch Wasser wird zum edlen Tropfen, mischt man es mit Malz und Hopfen."
],
refresh_interval=30,
tick_in_order=False,
style=TextStyle(italic=True),
width="grow",
justify="right"
)
),
margin=1
),
fill=self.session.theme.neutral_color,
corner_radius=self.session.theme.corner_radius_medium,
shadow_radius=0.5,
shadow_color=self.session.theme.hud_color,
shadow_offset_y=0
),
align_y=0,
margin_top=1,
margin_left=1,
margin_right=1,
height=4
)