diff --git a/requirements.txt b/requirements.txt index 54b23df..1f4254d 100644 Binary files a/requirements.txt and b/requirements.txt differ diff --git a/src/EzLanManager.py b/src/EzLanManager.py index 50d7842..068cfbe 100644 --- a/src/EzLanManager.py +++ b/src/EzLanManager.py @@ -5,7 +5,7 @@ import sys from pathlib import Path -from rio import App, Theme, Color, Font, Page, Session +from rio import App, Theme, Color, Font, ComponentPage, Session from from_root import from_root from src.ez_lan_manager import pages, init_services @@ -46,93 +46,93 @@ if __name__ == "__main__": app = App( name="EZ LAN Manager", pages=[ - Page( + ComponentPage( name="News", - page_url="", + url_segment="", build=pages.NewsPage, ), - Page( + ComponentPage( name="News", - page_url="news", + url_segment="news", build=pages.NewsPage, ), - Page( + ComponentPage( name="Overview", - page_url="overview", + url_segment="overview", build=lambda: pages.PlaceholderPage(placeholder_name="LAN Übersicht"), ), - Page( + ComponentPage( name="BuyTicket", - page_url="buy_ticket", + url_segment="buy_ticket", build=pages.BuyTicketPage, ), - Page( + ComponentPage( name="SeatingPlan", - page_url="seating", + url_segment="seating", build=pages.SeatingPlanPage, ), - Page( + ComponentPage( name="Catering", - page_url="catering", + url_segment="catering", build=pages.CateringPage, ), - Page( + ComponentPage( name="Guests", - page_url="guests", + url_segment="guests", build=pages.GuestsPage, ), - Page( + ComponentPage( name="Tournaments", - page_url="tournaments", + url_segment="tournaments", build=pages.TournamentsPage, ), - Page( + ComponentPage( name="FAQ", - page_url="faq", + url_segment="faq", build=pages.FaqPage, ), - Page( + ComponentPage( name="RulesGTC", - page_url="rules-gtc", + url_segment="rules-gtc", build=pages.RulesPage ), - Page( + ComponentPage( name="Contact", - page_url="contact", + url_segment="contact", build=pages.ContactPage, ), - Page( + ComponentPage( name="Imprint", - page_url="imprint", + url_segment="imprint", build=pages.ImprintPage, ), - Page( + ComponentPage( name="Register", - page_url="register", + url_segment="register", build=pages.RegisterPage, guard=not_logged_in_guard ), - Page( + ComponentPage( name="ForgotPassword", - page_url="forgot-password", + url_segment="forgot-password", build=pages.ForgotPasswordPage, guard=not_logged_in_guard ), - Page( + ComponentPage( name="EditProfile", - page_url="edit-profile", + url_segment="edit-profile", build=pages.EditProfilePage, guard=logged_in_guard ), - Page( + ComponentPage( name="Account", - page_url="account", + url_segment="account", build=pages.AccountPage, guard=logged_in_guard ), - Page( + ComponentPage( name="DbErrorPage", - page_url="db-error", + url_segment="db-error", build=pages.DbErrorPage, ) ], diff --git a/src/ez_lan_manager/components/CateringCartItem.py b/src/ez_lan_manager/components/CateringCartItem.py index 6298995..377541d 100644 --- a/src/ez_lan_manager/components/CateringCartItem.py +++ b/src/ez_lan_manager/components/CateringCartItem.py @@ -23,7 +23,7 @@ class CateringCartItem(Component): def build(self) -> rio.Component: return Row( - Text(self.ellipsize_string(self.article_name), align_x=0, wrap=True, min_width=19, style=TextStyle(fill=self.session.theme.background_color, font_size=0.9)), + Text(self.ellipsize_string(self.article_name), align_x=0, overflow="wrap", min_width=19, style=TextStyle(fill=self.session.theme.background_color, font_size=0.9)), Text(AccountingService.make_euro_string_from_int(self.article_price), style=TextStyle(fill=self.session.theme.background_color, font_size=0.9)), IconButton(icon="material/close", size=2, color=self.session.theme.danger_color, style="plain", on_press=lambda: self.remove_item_cb(self.list_id)), proportions=(19, 5, 2) diff --git a/src/ez_lan_manager/components/CateringOrderItem.py b/src/ez_lan_manager/components/CateringOrderItem.py index f82a49e..5f89410 100644 --- a/src/ez_lan_manager/components/CateringOrderItem.py +++ b/src/ez_lan_manager/components/CateringOrderItem.py @@ -32,7 +32,7 @@ class CateringOrderItem(Component): def build(self) -> rio.Component: order_status, color = self.get_display_text_and_color_for_order_status(self.order_status) return Row( - Text(f"ID: {str(self.order_id):0>6}", align_x=0, wrap=True, min_width=10, style=TextStyle(fill=self.session.theme.background_color, font_size=0.9), margin_right=1), - Text(order_status, wrap=True, min_width=10, style=TextStyle(fill=color, font_size=0.9), margin_right=1), + Text(f"ID: {str(self.order_id):0>6}", align_x=0, overflow="wrap", min_width=10, style=TextStyle(fill=self.session.theme.background_color, font_size=0.9), margin_right=1), + Text(order_status, overflow="wrap", min_width=10, style=TextStyle(fill=color, font_size=0.9), margin_right=1), Text(self.order_datetime.strftime("%d.%m. %H:%M"), style=TextStyle(fill=self.session.theme.background_color, font_size=0.9), align_x=1) ) diff --git a/src/ez_lan_manager/components/CateringSelectionItem.py b/src/ez_lan_manager/components/CateringSelectionItem.py index bfbb56d..91db4e4 100644 --- a/src/ez_lan_manager/components/CateringSelectionItem.py +++ b/src/ez_lan_manager/components/CateringSelectionItem.py @@ -40,7 +40,7 @@ class CateringSelectionItem(Component): return Card( content=Column( Row( - Text(article_name_top, align_x=0, wrap=True, min_width=19, style=TextStyle(fill=self.session.theme.background_color, font_size=0.9)), + Text(article_name_top, align_x=0, overflow="wrap", min_width=19, style=TextStyle(fill=self.session.theme.background_color, font_size=0.9)), Text(AccountingService.make_euro_string_from_int(self.article_price), style=TextStyle(fill=self.session.theme.background_color, font_size=0.9)), IconButton( icon="material/add", @@ -53,12 +53,12 @@ class CateringSelectionItem(Component): proportions=(19, 5, 2), margin_bottom=0 ), - Spacer() if not article_name_bottom else Text(article_name_bottom, align_x=0, wrap=True, min_width=19, style=TextStyle(fill=self.session.theme.background_color, font_size=0.9)), + Spacer() if not article_name_bottom else Text(article_name_bottom, align_x=0, overflow="wrap", min_width=19, style=TextStyle(fill=self.session.theme.background_color, font_size=0.9)), Row( Text( self.additional_info, align_x=0, - wrap=True, + overflow="wrap", min_width=19, style=TextStyle(fill=self.session.theme.background_color, font_size=0.6) ), diff --git a/src/ez_lan_manager/components/NewsPost.py b/src/ez_lan_manager/components/NewsPost.py index 87daa35..adac0ba 100644 --- a/src/ez_lan_manager/components/NewsPost.py +++ b/src/ez_lan_manager/components/NewsPost.py @@ -21,7 +21,7 @@ class NewsPost(Component): fill=self.session.theme.background_color, font_size=1.3 ), - wrap="ellipsize" + overflow="ellipsize" ), Text( self.date, @@ -31,7 +31,7 @@ class NewsPost(Component): fill=self.session.theme.background_color, font_size=0.6 ), - wrap=True + overflow="wrap" ) ), Text( @@ -44,7 +44,7 @@ class NewsPost(Component): fill=self.session.theme.background_color, font_size=0.8 ), - wrap="ellipsize" + overflow="ellipsize" ), Text( self.text, @@ -52,7 +52,7 @@ class NewsPost(Component): style=TextStyle( fill=self.session.theme.background_color ), - wrap=True + overflow="wrap" ), Text( f"Geschrieben von {self.author}", @@ -66,7 +66,7 @@ class NewsPost(Component): font_size=0.5, italic=True ), - wrap=False + overflow="nowrap" ) ), fill=self.session.theme.primary_color, diff --git a/src/ez_lan_manager/components/SeatingPlan.py b/src/ez_lan_manager/components/SeatingPlan.py index ee78842..ee06988 100644 --- a/src/ez_lan_manager/components/SeatingPlan.py +++ b/src/ez_lan_manager/components/SeatingPlan.py @@ -21,7 +21,7 @@ class SeatingPlanLegend(Component): content=Column( Text(f"Freier Platz", style=TextStyle(fill=self.session.theme.primary_color, font_size=0.7), align_x=0.5, selectable=False), Text(f"", style=TextStyle(fill=self.session.theme.primary_color, font_size=0.9), align_x=0.5, - selectable=False, wrap=True) + selectable=False, overflow="wrap") ), min_width=1, min_height=1, @@ -36,7 +36,7 @@ class SeatingPlanLegend(Component): content=Column( Text(f"Belegter Platz", style=TextStyle(fill=self.session.theme.primary_color, font_size=0.7), align_x=0.5, selectable=False), Text(f"", style=TextStyle(fill=self.session.theme.primary_color, font_size=0.9), align_x=0.5, - selectable=False, wrap=True) + selectable=False, overflow="wrap") ), min_width=1, min_height=1, @@ -51,7 +51,7 @@ class SeatingPlanLegend(Component): content=Column( Text(f"Eigener Platz", style=TextStyle(fill=self.session.theme.primary_color, font_size=0.7), align_x=0.5, selectable=False), Text(f"", style=TextStyle(fill=self.session.theme.primary_color, font_size=0.9), align_x=0.5, - selectable=False, wrap=True) + selectable=False, overflow="wrap") ), min_width=1, min_height=1, diff --git a/src/ez_lan_manager/components/SeatingPlanInfoBox.py b/src/ez_lan_manager/components/SeatingPlanInfoBox.py index 63c663c..0096138 100644 --- a/src/ez_lan_manager/components/SeatingPlanInfoBox.py +++ b/src/ez_lan_manager/components/SeatingPlanInfoBox.py @@ -17,21 +17,21 @@ class SeatingPlanInfoBox(Component): if not self.show: return Spacer() if self.is_blocked: - return Column(Text(f"Sitzplatz gesperrt", margin=1, style=TextStyle(fill=self.session.theme.neutral_color, font_size=1.4), wrap=True, justify="center"), min_height=10) + return Column(Text(f"Sitzplatz gesperrt", margin=1, style=TextStyle(fill=self.session.theme.neutral_color, font_size=1.4), overflow="wrap", justify="center"), min_height=10) if self.seat_id is None and self.seat_occupant is None: - return Column(Text(f"Sitzplatz auswählen...", margin=1, style=TextStyle(fill=self.session.theme.neutral_color), wrap=True, justify="center"), min_height=10) + return Column(Text(f"Sitzplatz auswählen...", margin=1, style=TextStyle(fill=self.session.theme.neutral_color), overflow="wrap", justify="center"), min_height=10) return Column( - Text(f"Dieser Sitzplatz ({self.seat_id}) ist gebucht von:", margin=1, style=TextStyle(fill=self.session.theme.neutral_color), wrap=True, justify="center"), - Text(f"{self.seat_occupant}", margin_bottom=1, style=TextStyle(fill=self.session.theme.neutral_color, font_size=1.4), wrap=True, justify="center"), + Text(f"Dieser Sitzplatz ({self.seat_id}) ist gebucht von:", margin=1, style=TextStyle(fill=self.session.theme.neutral_color), overflow="wrap", justify="center"), + Text(f"{self.seat_occupant}", margin_bottom=1, style=TextStyle(fill=self.session.theme.neutral_color, font_size=1.4), overflow="wrap", justify="center"), min_height=10 ) if self.seat_id and self.seat_occupant else Column( - Text(f"Dieser Sitzplatz ({self.seat_id}) ist frei", margin=1, style=TextStyle(fill=self.session.theme.neutral_color), wrap=True, justify="center"), + Text(f"Dieser Sitzplatz ({self.seat_id}) ist frei", margin=1, style=TextStyle(fill=self.session.theme.neutral_color), overflow="wrap", justify="center"), Button( Text( f"Buchen", margin=1, style=TextStyle(fill=self.session.theme.neutral_color, font_size=1.1), - wrap=True, + overflow="wrap", justify="center" ), shape="rounded", diff --git a/src/ez_lan_manager/components/SeatingPlanPixels.py b/src/ez_lan_manager/components/SeatingPlanPixels.py index ea7189b..01ad113 100644 --- a/src/ez_lan_manager/components/SeatingPlanPixels.py +++ b/src/ez_lan_manager/components/SeatingPlanPixels.py @@ -1,6 +1,6 @@ from functools import partial -from rio import Component, Text, Icon, TextStyle, Rectangle, Spacer, Color, MouseEventListener, Column +from rio import Component, Text, Icon, TextStyle, Rectangle, Spacer, Color, PointerEventListener, Column from typing import Optional, Callable from src.ez_lan_manager.types.Seat import Seat @@ -20,11 +20,11 @@ class SeatPixel(Component): return self.session.theme.success_color def build(self) -> Component: - return MouseEventListener( + return PointerEventListener( content=Rectangle( content=Column( Text(f"{self.seat_id}", style=TextStyle(fill=self.session.theme.primary_color, font_size=0.7), align_x=0.5, selectable=False), - Text(f"{self.seat.category[0]}", style=TextStyle(fill=self.session.theme.primary_color, font_size=0.9), align_x=0.5, selectable=False, wrap=True) + Text(f"{self.seat.category[0]}", style=TextStyle(fill=self.session.theme.primary_color, font_size=0.9), align_x=0.5, selectable=False, overflow="wrap") ), min_width=1, min_height=1, diff --git a/src/ez_lan_manager/components/SeatingPurchaseBox.py b/src/ez_lan_manager/components/SeatingPurchaseBox.py index c823996..e08d89e 100644 --- a/src/ez_lan_manager/components/SeatingPurchaseBox.py +++ b/src/ez_lan_manager/components/SeatingPurchaseBox.py @@ -29,13 +29,13 @@ class SeatingPurchaseBox(Component): if self.success_msg: return Column( Text(f"{self.success_msg}", margin=1, style=TextStyle(fill=self.session.theme.success_color, font_size=1.1), - wrap=True, justify="center"), + overflow="wrap", justify="center"), Row( Button( Text("Zurück", margin=1, style=TextStyle(fill=self.session.theme.success_color, font_size=1.1), - wrap=True, + overflow="wrap", justify="center" ), shape="rounded", @@ -49,13 +49,13 @@ class SeatingPurchaseBox(Component): if self.error_msg: return Column( Text(f"{self.error_msg}", margin=1, style=TextStyle(fill=self.session.theme.danger_color, font_size=1.1), - wrap=True, justify="center"), + overflow="wrap", justify="center"), Row( Button( Text("Zurück", margin=1, style=TextStyle(fill=self.session.theme.danger_color, font_size=1.1), - wrap=True, + overflow="wrap", justify="center" ), shape="rounded", @@ -67,13 +67,13 @@ class SeatingPurchaseBox(Component): ) return Column( - Text(f"Sitzplatz {self.seat_id} verbindlich buchen?", margin=1, style=TextStyle(fill=self.session.theme.neutral_color, font_size=1.4), wrap=True, justify="center"), + Text(f"Sitzplatz {self.seat_id} verbindlich buchen?", margin=1, style=TextStyle(fill=self.session.theme.neutral_color, font_size=1.4), overflow="wrap", justify="center"), Row( Button( Text("Nein", margin=1, style=TextStyle(fill=self.session.theme.danger_color, font_size=1.1), - wrap=True, + overflow="wrap", justify="center" ), shape="rounded", @@ -84,7 +84,7 @@ class SeatingPurchaseBox(Component): Text("Ja", margin=1, style=TextStyle(fill=self.session.theme.success_color, font_size=1.1), - wrap=True, + overflow="wrap", justify="center" ), shape="rounded", diff --git a/src/ez_lan_manager/components/ShoppingCartAndOrders.py b/src/ez_lan_manager/components/ShoppingCartAndOrders.py index afd7f60..dbb7f2e 100644 --- a/src/ez_lan_manager/components/ShoppingCartAndOrders.py +++ b/src/ez_lan_manager/components/ShoppingCartAndOrders.py @@ -1,7 +1,7 @@ from asyncio import sleep, create_task import rio -from rio import Component, Column, Text, TextStyle, Button, Row, ScrollContainer, Spacer, Popup, PopupOpenOrCloseEvent +from rio import Component, Column, Text, TextStyle, Button, Row, ScrollContainer, Spacer, Popup from src.ez_lan_manager.components.CateringCartItem import CateringCartItem from src.ez_lan_manager.components.CateringOrderItem import CateringOrderItem @@ -111,7 +111,7 @@ class ShoppingCartAndOrders(Component): cart_container, Popup( anchor=cart_container, - content=Text(self.popup_message, style=TextStyle(fill=self.session.theme.danger_color if self.popup_is_error else self.session.theme.success_color), wrap=True, margin=2, justify="center", min_width=20), + content=Text(self.popup_message, style=TextStyle(fill=self.session.theme.danger_color if self.popup_is_error else self.session.theme.success_color), overflow="wrap", margin=2, justify="center", min_width=20), is_open=self.popup_is_shown, position="center", color=self.session.theme.primary_color diff --git a/src/ez_lan_manager/components/TicketBuyCard.py b/src/ez_lan_manager/components/TicketBuyCard.py index ca5d276..2ce608f 100644 --- a/src/ez_lan_manager/components/TicketBuyCard.py +++ b/src/ez_lan_manager/components/TicketBuyCard.py @@ -58,7 +58,7 @@ class TicketBuyCard(Component): Column( Text(self.description, margin_left=1, margin_top=1, style=ticket_description_style), Text("Du besitzt dieses Ticket!", margin_left=1, margin_top=1, style=ticket_owned_style) if self.user_ticket is not None and self.user_ticket.category == self.category else Spacer(), - Text(self.additional_info, margin_left=1, margin_top=1, style=ticket_additional_info_style, wrap=True), + Text(self.additional_info, margin_left=1, margin_top=1, style=ticket_additional_info_style, overflow="wrap"), Row( progress_bar, tickets_side_text, diff --git a/src/ez_lan_manager/pages/BuyTicketPage.py b/src/ez_lan_manager/pages/BuyTicketPage.py index 285f332..60e9767 100644 --- a/src/ez_lan_manager/pages/BuyTicketPage.py +++ b/src/ez_lan_manager/pages/BuyTicketPage.py @@ -95,7 +95,7 @@ class BuyTicketPage(Component): Text( self.popup_message, style=TextStyle(font_size=1.1, fill=self.session.theme.success_color if self.is_popup_success else self.session.theme.danger_color), - wrap=True, + overflow="wrap", grow_y=True, margin=1 ), diff --git a/src/ez_lan_manager/pages/DbErrorPage.py b/src/ez_lan_manager/pages/DbErrorPage.py index 2f5a125..4a4e7f2 100644 --- a/src/ez_lan_manager/pages/DbErrorPage.py +++ b/src/ez_lan_manager/pages/DbErrorPage.py @@ -34,7 +34,7 @@ class DbErrorPage(Component): fill=self.session.theme.danger_color, font_size=1.3 ), - wrap=True + overflow="wrap" ) ), color="secondary", diff --git a/src/ez_lan_manager/pages/FaqPage.py b/src/ez_lan_manager/pages/FaqPage.py index 8b652c4..1104d40 100644 --- a/src/ez_lan_manager/pages/FaqPage.py +++ b/src/ez_lan_manager/pages/FaqPage.py @@ -48,7 +48,7 @@ class FaqPage(Component): font_size=0.9 ), margin=1, - wrap=True + overflow="wrap" ), margin=1, grow_x=True, diff --git a/src/ez_lan_manager/pages/ForgotPassword.py b/src/ez_lan_manager/pages/ForgotPassword.py index eafba10..d8215d9 100644 --- a/src/ez_lan_manager/pages/ForgotPassword.py +++ b/src/ez_lan_manager/pages/ForgotPassword.py @@ -85,7 +85,7 @@ class ForgotPasswordPage(Component): margin_left=1, margin_right=1, margin_bottom=2, - wrap=True + overflow="wrap" ) return BasePage( content=Column( diff --git a/src/ez_lan_manager/pages/GuestsPage.py b/src/ez_lan_manager/pages/GuestsPage.py index bb35ce1..6eff498 100644 --- a/src/ez_lan_manager/pages/GuestsPage.py +++ b/src/ez_lan_manager/pages/GuestsPage.py @@ -51,7 +51,7 @@ class GuestsPage(Component): seat = None self.table_elements.append( Button( - content=Row(Text(text=f"{user.user_id:0>4}", align_x=0, margin_right=1), Text(text=user.user_name, grow_x=True, wrap="ellipsize"), Text(text="-" if seat is None else seat.seat_id, align_x=1)), + content=Row(Text(text=f"{user.user_id:0>4}", align_x=0, margin_right=1), Text(text=user.user_name, grow_x=True, overflow="ellipsize"), Text(text="-" if seat is None else seat.seat_id, align_x=1)), shape="rectangle", grow_x=True, color=self.session.theme.hud_color if idx % 2 == 0 else self.session.theme.primary_color diff --git a/src/ez_lan_manager/pages/ImprintPage.py b/src/ez_lan_manager/pages/ImprintPage.py index eba4be5..913b39c 100644 --- a/src/ez_lan_manager/pages/ImprintPage.py +++ b/src/ez_lan_manager/pages/ImprintPage.py @@ -55,7 +55,7 @@ class ImprintPage(Component): font_size=0.9 ), margin=2, - wrap=True + overflow="wrap" ) ) ), @@ -78,7 +78,7 @@ class ImprintPage(Component): ), margin_top=2, margin_bottom=0, - wrap=True, + overflow="wrap", align_x=0.5, grow_x=True, min_width=30 @@ -93,7 +93,7 @@ class ImprintPage(Component): ), margin_bottom=1, margin_top=1, - wrap=True, + overflow="wrap", align_x=0.5 ), target_url="https://ezgg-ev.de/privacy", diff --git a/src/ez_lan_manager/pages/RulesPage.py b/src/ez_lan_manager/pages/RulesPage.py index 5077c55..273a028 100644 --- a/src/ez_lan_manager/pages/RulesPage.py +++ b/src/ez_lan_manager/pages/RulesPage.py @@ -83,7 +83,7 @@ class RulesPage(Component): margin_bottom=0.8, margin_left=1, margin_right=1, - wrap=True + overflow="wrap" ) for idx, rule in enumerate(RULES)], ) ), @@ -117,7 +117,7 @@ class RulesPage(Component): margin_bottom=0.8, margin_left=1, margin_right=1, - wrap=True + overflow="wrap" ) for idx, rule in enumerate(AGB["§1"])] ) ), @@ -139,7 +139,7 @@ class RulesPage(Component): margin_bottom=0.8, margin_left=1, margin_right=1, - wrap=True + overflow="wrap" ) for idx, rule in enumerate(AGB["§2"])] ) ), @@ -161,7 +161,7 @@ class RulesPage(Component): margin_bottom=0.8, margin_left=1, margin_right=1, - wrap=True + overflow="wrap" ) for idx, rule in enumerate(AGB["§3"])] ) ), @@ -183,7 +183,7 @@ class RulesPage(Component): margin_bottom=0.8, margin_left=1, margin_right=1, - wrap=True + overflow="wrap" ) for idx, rule in enumerate(AGB["§4"])] ) ) diff --git a/src/ez_lan_manager/pages/TEMPLATE.py b/src/ez_lan_manager/pages/TEMPLATE.py index 1380947..4ec7bc6 100644 --- a/src/ez_lan_manager/pages/TEMPLATE.py +++ b/src/ez_lan_manager/pages/TEMPLATE.py @@ -31,7 +31,7 @@ class PAGENAME(Component): font_size=0.9 ), margin=1, - wrap=True + overflow="wrap" ) ) ), diff --git a/src/ez_lan_manager/pages/TournamentsPage.py b/src/ez_lan_manager/pages/TournamentsPage.py index ec04017..c04cdba 100644 --- a/src/ez_lan_manager/pages/TournamentsPage.py +++ b/src/ez_lan_manager/pages/TournamentsPage.py @@ -31,7 +31,7 @@ class TournamentsPage(Component): font_size=0.9 ), margin=1, - wrap=True + overflow="wrap" ) ) ),