from rio import Text, Column, TextStyle, Component, event, Link, Color

from src.ezgg_lan_manager import ConfigurationService
from src.ezgg_lan_manager.components.MainViewContentBox import MainViewContentBox


class ImprintPage(Component):
    @event.on_populate
    async def on_populate(self) -> None:
        await self.session.set_title(f"{self.session[ConfigurationService].get_lan_info().name} - Impressum & DSGVO")

    def build(self) -> Component:
        return Column(
            MainViewContentBox(
                Column(
                    Text(
                        text="Impressum",
                        style=TextStyle(
                            fill=self.session.theme.background_color,
                            font_size=1.2
                        ),
                        margin_top=2,
                        align_x=0.5
                    ),
                    Text(
                        text="Angaben gemäß § 5 TMG:\n\n"
                             "Einfach Zockem Gaming Gesellschaft e.V.\n"
                             "Im Elchgrund 18\n"
                             "35080 Bad Endbach - Bottenhorn\n\n"

                             "Vertreten durch:\n\n"

                             "1. Vorsitzender: David Rodenkirchen\n"
                             "2. Vorsitzender: Julia Albring\n"
                             "Schatzmeisterin: Jessica Rodenkirchen\n\n"

                             "Kontakt:\n\n"

                             "E-Mail: vorstand (at) ezgg-ev.de\n\n"

                             "Registereintrag:\n\n"

                             "Eingetragen im Vereinsregister.\n"
                             "Registergericht: Amtsgericht Marburg\n"
                             "Registernummer: VR 5837\n\n"

                             "Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV:\n\n"

                             "David Rodenkirchen\n"
                             "Im Elchgrund 18\n"
                             "35080 Bad Endbach - Bottenhorn\n",
                        style=TextStyle(
                            fill=self.session.theme.background_color,
                            font_size=0.9
                        ),
                        margin=2,
                        overflow="wrap"
                    )
                )
            ),
            MainViewContentBox(
                Column(
                    Text(
                        text="Datenschutzerklärung",
                        style=TextStyle(
                            fill=self.session.theme.background_color,
                            font_size=1.2
                        ),
                        margin_top=2,
                        align_x=0.5
                    ),
                    Text(
                        text="Die Datenschutzerklärung kann über den untenstehenden Link eingesehen werden",
                        style=TextStyle(
                            fill=self.session.theme.background_color,
                            font_size=0.9
                        ),
                        margin_top=2,
                        margin_bottom=0,
                        overflow="wrap",
                        align_x=0.5,
                        grow_x=True,
                        min_width=30
                    ),
                    Link(
                        content=Text(
                            text="Datenschutzerklärung",
                            style=TextStyle(
                                fill=Color.from_hex("000080"),
                                font_size=0.9,
                                underlined=True
                            ),
                            margin_bottom=1,
                            margin_top=1,
                            overflow="wrap",
                            align_x=0.5
                        ),
                        target_url="https://ezgg-ev.de/privacy",
                        open_in_new_tab=True
                    )
                )
            ),
            align_y=0
        )
