Merge branch 'feature/implement-more-social-links' into 'main'
implement more social links See merge request ezgg/ezgg-website!19
@ -16,6 +16,54 @@ rio.Icon.register_single_icon(
|
|||||||
icon_source=from_root("ezgg_website/assets/icons/steam.svg")
|
icon_source=from_root("ezgg_website/assets/icons/steam.svg")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
rio.Icon.register_single_icon(
|
||||||
|
set_name="custom",
|
||||||
|
icon_name="discord",
|
||||||
|
icon_source=from_root("ezgg_website/assets/icons/discord.svg")
|
||||||
|
)
|
||||||
|
|
||||||
|
rio.Icon.register_single_icon(
|
||||||
|
set_name="custom",
|
||||||
|
icon_name="x",
|
||||||
|
icon_source=from_root("ezgg_website/assets/icons/x.svg")
|
||||||
|
)
|
||||||
|
|
||||||
|
rio.Icon.register_single_icon(
|
||||||
|
set_name="custom",
|
||||||
|
icon_name="facebook",
|
||||||
|
icon_source=from_root("ezgg_website/assets/icons/facebook.svg")
|
||||||
|
)
|
||||||
|
|
||||||
|
rio.Icon.register_single_icon(
|
||||||
|
set_name="custom",
|
||||||
|
icon_name="youtube",
|
||||||
|
icon_source=from_root("ezgg_website/assets/icons/youtube.svg")
|
||||||
|
)
|
||||||
|
|
||||||
|
rio.Icon.register_single_icon(
|
||||||
|
set_name="custom",
|
||||||
|
icon_name="twitch",
|
||||||
|
icon_source=from_root("ezgg_website/assets/icons/twitch.svg")
|
||||||
|
)
|
||||||
|
|
||||||
|
rio.Icon.register_single_icon(
|
||||||
|
set_name="custom",
|
||||||
|
icon_name="instagram",
|
||||||
|
icon_source=from_root("ezgg_website/assets/icons/instagram.svg")
|
||||||
|
)
|
||||||
|
|
||||||
|
rio.Icon.register_single_icon(
|
||||||
|
set_name="custom",
|
||||||
|
icon_name="linkedin",
|
||||||
|
icon_source=from_root("ezgg_website/assets/icons/linkedin.svg")
|
||||||
|
)
|
||||||
|
|
||||||
|
rio.Icon.register_single_icon(
|
||||||
|
set_name="custom",
|
||||||
|
icon_name="git",
|
||||||
|
icon_source=from_root("ezgg_website/assets/icons/git.svg")
|
||||||
|
)
|
||||||
|
|
||||||
themes = [
|
themes = [
|
||||||
# Grey/Purple
|
# Grey/Purple
|
||||||
rio.Theme.from_colors(
|
rio.Theme.from_colors(
|
||||||
@ -169,9 +217,9 @@ app = rio.App(
|
|||||||
# "Pragma": "cache", # Temporarily disabled until "http-equiv" is supported by Rio
|
# "Pragma": "cache", # Temporarily disabled until "http-equiv" is supported by Rio
|
||||||
"robots": "INDEX,FOLLOW",
|
"robots": "INDEX,FOLLOW",
|
||||||
# "content-Language": "de", # Temporarily disabled until "http-equiv" is supported by Rio
|
# "content-Language": "de", # Temporarily disabled until "http-equiv" is supported by Rio
|
||||||
"description": "Homepage der Einfach Zocken Genussgesellschaft. Ein eingetragener Verein der sich mit "
|
"description": "Homepage der Einfach Zocken Gaming Gesellschaft. Ein eingetragener Verein der sich mit "
|
||||||
"Videospielen und themenverwandten Aktivitäten befasst.",
|
"Videospielen und themenverwandten Aktivitäten befasst.",
|
||||||
"og:description": "Homepage der Einfach Zocken Genussgesellschaft. Ein eingetragener Verein der sich mit "
|
"og:description": "Homepage der Einfach Zocken Gaming Gesellschaft. Ein eingetragener Verein der sich mit "
|
||||||
"Videospielen und themenverwandten Aktivitäten befasst.",
|
"Videospielen und themenverwandten Aktivitäten befasst.",
|
||||||
"keywords": "Gaming, Clan, Guild, Verein, Club, Einfach, Zocken, Genuss, Gesellschaft, Videospiele, "
|
"keywords": "Gaming, Clan, Guild, Verein, Club, Einfach, Zocken, Genuss, Gesellschaft, Videospiele, "
|
||||||
"Videogames, LAN, Party",
|
"Videogames, LAN, Party",
|
||||||
|
|||||||
3
ezgg_website/assets/icons/discord.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-discord" viewBox="0 0 16 16">
|
||||||
|
<path d="M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612Zm5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
1
ezgg_website/assets/icons/facebook.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0"?><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="50px" height="50px"> <path d="M41,4H9C6.24,4,4,6.24,4,9v32c0,2.76,2.24,5,5,5h32c2.76,0,5-2.24,5-5V9C46,6.24,43.76,4,41,4z M37,19h-2c-2.14,0-3,0.5-3,2 v3h5l-1,5h-4v15h-5V29h-4v-5h4v-3c0-4,2-7,6-7c2.9,0,4,1,4,1V19z"/></svg>
|
||||||
|
After Width: | Height: | Size: 313 B |
1
ezgg_website/assets/icons/git.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.88 122.87" style="enable-background:new 0 0 122.88 122.87" xml:space="preserve"><style type="text/css">.st0{fill:#03dac5;}</style><g><path class="st0" d="M120.56,55.96L66.91,2.32c-3.09-3.09-8.1-3.09-11.19,0L44.58,13.46l14.13,14.13c3.29-1.11,7.05-0.37,9.67,2.25 c2.63,2.63,3.37,6.43,2.23,9.73l13.62,13.62c3.3-1.14,7.1-0.4,9.73,2.23c3.68,3.68,3.68,9.64,0,13.31c-3.68,3.68-9.64,3.68-13.32,0 c-2.77-2.77-3.45-6.83-2.05-10.24l-12.7-12.7l0,33.43c0.9,0.44,1.74,1.04,2.49,1.78c3.68,3.68,3.68,9.64,0,13.32 c-3.68,3.68-9.64,3.68-13.31,0c-3.68-3.68-3.68-9.64,0-13.32c0.91-0.91,1.96-1.59,3.08-2.05V45.21c-1.12-0.46-2.17-1.14-3.08-2.05 c-2.79-2.78-3.46-6.87-2.03-10.29L39.1,18.93L2.32,55.72c-3.09,3.09-3.09,8.1,0,11.19l53.65,53.65c3.09,3.09,8.1,3.09,11.19,0 l53.4-53.39C123.65,64.07,123.65,59.06,120.56,55.96L120.56,55.96L120.56,55.96z M120.56,55.96L120.56,55.96L120.56,55.96 L120.56,55.96z"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
1
ezgg_website/assets/icons/instagram.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 512 512"><path fill-rule="nonzero" d="M170.663 256.157c-.083-47.121 38.055-85.4 85.167-85.482 47.121-.092 85.407 38.029 85.499 85.159.091 47.13-38.047 85.4-85.176 85.492-47.112.09-85.399-38.039-85.49-85.169zm-46.108.092c.141 72.602 59.106 131.327 131.69 131.185 72.592-.14 131.35-59.089 131.209-131.691-.141-72.577-59.114-131.336-131.715-131.194-72.585.141-131.325 59.114-131.184 131.7zm237.104-137.092c.033 16.954 13.817 30.682 30.772 30.649 16.961-.034 30.689-13.811 30.664-30.765-.033-16.954-13.818-30.69-30.78-30.656-16.962.033-30.689 13.818-30.656 30.772zm-208.696 345.4c-24.958-1.086-38.511-5.234-47.543-8.709-11.961-4.628-20.496-10.177-29.479-19.093-8.966-8.951-14.532-17.461-19.202-29.397-3.508-9.033-7.73-22.569-8.9-47.527-1.269-26.983-1.559-35.078-1.683-103.433-.133-68.338.116-76.434 1.294-103.441 1.069-24.941 5.242-38.512 8.709-47.536 4.628-11.977 10.161-20.496 19.094-29.478 8.949-8.983 17.459-14.532 29.403-19.202 9.025-3.526 22.561-7.715 47.511-8.9 26.998-1.278 35.085-1.551 103.423-1.684 68.353-.133 76.448.108 103.456 1.294 24.94 1.086 38.51 5.217 47.527 8.709 11.968 4.628 20.503 10.145 29.478 19.094 8.974 8.95 14.54 17.443 19.21 29.413 3.524 8.999 7.714 22.552 8.892 47.494 1.285 26.998 1.576 35.094 1.7 103.432.132 68.355-.117 76.451-1.302 103.442-1.087 24.957-5.226 38.52-8.709 47.56-4.629 11.953-10.161 20.488-19.103 29.471-8.941 8.949-17.451 14.531-29.403 19.201-9.009 3.517-22.561 7.714-47.494 8.9-26.998 1.269-35.086 1.56-103.448 1.684-68.338.133-76.424-.124-103.431-1.294zM149.977 1.773c-27.239 1.286-45.843 5.648-62.101 12.019-16.829 6.561-31.095 15.353-45.286 29.603C28.381 57.653 19.655 71.944 13.144 88.79c-6.303 16.299-10.575 34.912-11.778 62.168C.172 178.264-.102 186.973.031 256.489c.133 69.508.439 78.234 1.741 105.548 1.302 27.231 5.649 45.827 12.019 62.092 6.569 16.83 15.353 31.089 29.611 45.289 14.25 14.2 28.55 22.918 45.404 29.438 16.282 6.294 34.902 10.583 62.15 11.777 27.305 1.203 36.022 1.468 105.521 1.336 69.532-.133 78.25-.44 105.555-1.734 27.239-1.302 45.826-5.664 62.1-12.019 16.829-6.585 31.095-15.353 45.288-29.611 14.191-14.251 22.917-28.55 29.428-45.404 6.304-16.282 10.592-34.904 11.777-62.134 1.195-27.323 1.478-36.049 1.344-105.557-.133-69.516-.447-78.225-1.741-105.522-1.294-27.256-5.657-45.844-12.019-62.118-6.577-16.829-15.352-31.08-29.602-45.288-14.25-14.192-28.55-22.935-45.404-29.429-16.29-6.304-34.903-10.6-62.15-11.778C333.747.164 325.03-.101 255.506.031c-69.507.133-78.224.431-105.529 1.742z"/></svg>
|
||||||
|
After Width: | Height: | Size: 2.6 KiB |
1
ezgg_website/assets/icons/linkedin.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 512 509.64"><rect width="512" height="509.64" rx="115.61" ry="115.61"/><path fill="#1e1e1e" d="M204.97 197.54h64.69v33.16h.94c9.01-16.16 31.04-33.16 63.89-33.16 68.31 0 80.94 42.51 80.94 97.81v116.92h-67.46l-.01-104.13c0-23.81-.49-54.45-35.08-54.45-35.12 0-40.51 25.91-40.51 52.72v105.86h-67.4V197.54zm-38.23-65.09c0 19.36-15.72 35.08-35.08 35.08-19.37 0-35.09-15.72-35.09-35.08 0-19.37 15.72-35.08 35.09-35.08 19.36 0 35.08 15.71 35.08 35.08zm-70.17 65.09h70.17v214.73H96.57V197.54z"/></svg>
|
||||||
|
After Width: | Height: | Size: 692 B |
3
ezgg_website/assets/icons/twitch.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.54689 1L1 4.77575V20.2087H6.49952V23H9.5933L12.5153 20.2087H16.9842L23 14.4622V1H2.54689V1ZM20.9368 13.4777L17.4995 16.7612H12L9.07799 19.5524V16.7612H4.43732V2.96992H20.9368V13.4777ZM17.4995 6.74658V12.4868H15.4373V6.74658H17.4995ZM12 6.74658V12.4868H9.9378V6.74658H12Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 429 B |
1
ezgg_website/assets/icons/x.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 512 500.64"><rect width="480" height="470" rx="115.61" ry="115.61"/><path fill="#1e1e1e" fill-rule="nonzero" d="M323.74 148.35h36.12l-78.91 90.2 92.83 122.73h-72.69l-56.93-74.43-65.15 74.43h-36.14l84.4-96.47-89.05-116.46h74.53l51.46 68.04 59.53-68.04zm-12.68 191.31h20.02l-129.2-170.82H180.4l130.66 170.82z"/></svg>
|
||||||
|
After Width: | Height: | Size: 515 B |
1
ezgg_website/assets/icons/youtube.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 660 640"><path d="M633.468 192.038s-6.248-44.115-25.477-63.485c-24.366-25.477-51.65-25.642-64.123-27.118-89.493-6.52-223.904-6.52-223.904-6.52h-.236s-134.352 0-223.893 6.52c-12.52 1.523-39.768 1.63-64.123 27.118-19.24 19.37-25.358 63.485-25.358 63.485S-.012 243.806-.012 295.681v48.509c0 51.768 6.366 103.643 6.366 103.643s6.248 44.114 25.358 63.52c24.355 25.477 56.363 24.65 70.655 27.367 51.237 4.89 217.644 6.366 217.644 6.366s134.529-.237 224.022-6.638c12.52-1.477 39.756-1.63 64.123-27.119 19.24-19.37 25.476-63.532 25.476-63.532S640 396.03 640 344.154v-48.508c-.13-51.769-6.497-103.643-6.497-103.643l-.035.035zm-379.8 211.007V223.173L426.56 313.41l-172.892 89.635z"/></svg>
|
||||||
|
After Width: | Height: | Size: 902 B |
@ -47,7 +47,7 @@ class Header(rio.Component):
|
|||||||
texts=[
|
texts=[
|
||||||
"Die EZ GG wurde in einer schlecht beleuchteten Kellerbar gegründet",
|
"Die EZ GG wurde in einer schlecht beleuchteten Kellerbar gegründet",
|
||||||
"Aktuelle hat der EZ GG e.V. sieben Mitglieder",
|
"Aktuelle hat der EZ GG e.V. sieben Mitglieder",
|
||||||
"Bist du auch ein Genießer? Dann tritt uns doch bei!",
|
"Bist du auch ein Gamer? Dann tritt uns doch bei!",
|
||||||
"Auch Wasser wird zum edlen Tropfen, mischt man es mit Malz und Hopfen."
|
"Auch Wasser wird zum edlen Tropfen, mischt man es mit Malz und Hopfen."
|
||||||
],
|
],
|
||||||
refresh_interval=30,
|
refresh_interval=30,
|
||||||
|
|||||||
@ -1,41 +1,29 @@
|
|||||||
from pathlib import Path
|
|
||||||
from dataclasses import dataclass
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
import rio
|
import rio
|
||||||
|
|
||||||
|
from ..models import MemberInfo, SOCIAL_PLATFORM_ICON_MAP
|
||||||
@dataclass
|
|
||||||
class MemberInfo:
|
|
||||||
picture_path: Path
|
|
||||||
name: str
|
|
||||||
position: str
|
|
||||||
entry_date: str
|
|
||||||
contact_mail: Optional[str]
|
|
||||||
contact_steam: Optional[str]
|
|
||||||
|
|
||||||
|
|
||||||
class MemberCard(rio.Component):
|
class MemberCard(rio.Component):
|
||||||
info: MemberInfo
|
info: MemberInfo
|
||||||
|
|
||||||
def build(self) -> rio.Component:
|
def build(self) -> rio.Component:
|
||||||
contact_row = rio.Row()
|
social_links_grid = rio.Grid(align_x=0.5, row_spacing=0.5, column_spacing=0.5, margin_bottom=0.3, height=3)
|
||||||
|
|
||||||
content = rio.Column(
|
content = rio.Column(
|
||||||
rio.Image(self.info.picture_path, height=9, margin_bottom=1.3, margin_top=0.8),
|
rio.Image(self.info.picture_path, height=9, margin_bottom=1.3, margin_top=0.8),
|
||||||
rio.Text(self.info.name, margin_bottom=0.4, style=rio.TextStyle(font_weight="bold")),
|
rio.Text(self.info.name, margin_bottom=0.4, style=rio.TextStyle(font_weight="bold")),
|
||||||
rio.Text(self.info.position, margin_bottom=0.4, style=rio.TextStyle(italic=True)),
|
rio.Text(self.info.position, margin_bottom=0.4, style=rio.TextStyle(italic=True)),
|
||||||
rio.Text(f"Mitglied seit {self.info.entry_date}", style=rio.TextStyle(italic=True), margin_bottom=0.4),
|
rio.Text(f"Mitglied seit {self.info.entry_date}", style=rio.TextStyle(italic=True), margin_bottom=0.4),
|
||||||
contact_row
|
social_links_grid
|
||||||
)
|
)
|
||||||
|
|
||||||
# @Todo: Icon alignment broken if only one icon should be shown.
|
for i, social_link in enumerate(self.info.socials):
|
||||||
if self.info.contact_mail:
|
social_links_grid.add(
|
||||||
contact_row.add(rio.Link(rio.Icon("material/mail"), f"mailto://{self.info.contact_mail}", open_in_new_tab=True, margin_top=1, margin_bottom=1, align_x=0.9))
|
rio.Link(
|
||||||
if self.info.contact_steam:
|
rio.Icon(SOCIAL_PLATFORM_ICON_MAP[social_link.platform], height=1.3, width=1.3, fill="primary"),
|
||||||
contact_row.add(rio.Link(rio.Icon("custom/steam"), self.info.contact_steam, open_in_new_tab=True, margin_top=1, margin_bottom=1, align_x=0.1))
|
social_link.url,
|
||||||
|
open_in_new_tab=True
|
||||||
if not self.info.contact_steam and not self.info.contact_mail:
|
), i//5, i if i < 5 else i - 5)
|
||||||
contact_row.add(rio.Text("", margin_top=2))
|
|
||||||
|
|
||||||
return rio.Rectangle(
|
return rio.Rectangle(
|
||||||
content=content,
|
content=content,
|
||||||
|
|||||||
2
ezgg_website/models/__init__.py
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
from .socials import SocialPlatform, SocialLink, SOCIAL_PLATFORM_ICON_MAP
|
||||||
|
from .member_info import MemberInfo
|
||||||
14
ezgg_website/models/member_info.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
from dataclasses import dataclass, field
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
from ..models import SocialLink
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class MemberInfo:
|
||||||
|
picture_path: Path
|
||||||
|
name: str
|
||||||
|
position: str
|
||||||
|
entry_date: str
|
||||||
|
socials: list[SocialLink] = field(default_factory=list)
|
||||||
35
ezgg_website/models/socials.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
from dataclasses import dataclass
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
|
||||||
|
class SocialPlatform(Enum):
|
||||||
|
MAIL = 0
|
||||||
|
STEAM = 1
|
||||||
|
DISCORD = 2
|
||||||
|
X = 3
|
||||||
|
FACEBOOK = 4
|
||||||
|
YOUTUBE = 5
|
||||||
|
TWITCH = 6
|
||||||
|
INSTAGRAM = 7
|
||||||
|
LINKEDIN = 8
|
||||||
|
GIT = 9
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class SocialLink:
|
||||||
|
platform: SocialPlatform
|
||||||
|
url: str
|
||||||
|
|
||||||
|
|
||||||
|
SOCIAL_PLATFORM_ICON_MAP = {
|
||||||
|
SocialPlatform.MAIL: "material/mail",
|
||||||
|
SocialPlatform.STEAM: "custom/steam",
|
||||||
|
SocialPlatform.DISCORD: "custom/discord",
|
||||||
|
SocialPlatform.X: "custom/x",
|
||||||
|
SocialPlatform.FACEBOOK: "custom/facebook",
|
||||||
|
SocialPlatform.YOUTUBE: "custom/youtube",
|
||||||
|
SocialPlatform.TWITCH: "custom/twitch",
|
||||||
|
SocialPlatform.INSTAGRAM: "custom/instagram",
|
||||||
|
SocialPlatform.LINKEDIN: "custom/linkedin",
|
||||||
|
SocialPlatform.GIT: "custom/git"
|
||||||
|
}
|
||||||
@ -20,9 +20,9 @@ class About(rio.Component):
|
|||||||
def build(self) -> rio.Component:
|
def build(self) -> rio.Component:
|
||||||
return build_page(rio.Column(
|
return build_page(rio.Column(
|
||||||
comps.build_news_post(
|
comps.build_news_post(
|
||||||
header="Die \"Einfach Zocken Genuss Gesellschaft\"",
|
header="Die \"Einfach Zocken Gaming Gesellschaft\"",
|
||||||
article_text_path_or_text="""
|
article_text_path_or_text="""
|
||||||
Die Einfach Zocken Genussgesellschaft wurde am 29. Oktober 2023 in Bad Endbach-Bottenhorn gegründet. Der Verein entstand aus der gemeinsamen Begeisterung für Videospiele, die einige Freunde in einer gemütlichen Kellerbar zusammenbrachte. Unsere Mission ist es, die Freizeitbeschäftigung "Videospiele" zu fördern und Menschen zusammenzubringen, die diese Leidenschaft teilen.
|
Die Einfach Zocken Gaming Gesellschaft wurde am 29. Oktober 2023 in Bad Endbach-Bottenhorn gegründet. Der Verein entstand aus der gemeinsamen Begeisterung für Videospiele, die einige Freunde in einer gemütlichen Kellerbar zusammenbrachte. Unsere Mission ist es, die Freizeitbeschäftigung "Videospiele" zu fördern und Menschen zusammenzubringen, die diese Leidenschaft teilen.
|
||||||
|
|
||||||
### Unsere Ziele und Mission
|
### Unsere Ziele und Mission
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@ class Imprint(rio.Component):
|
|||||||
comps.build_news_post(
|
comps.build_news_post(
|
||||||
header="Impressum",
|
header="Impressum",
|
||||||
article_text_path_or_text="""
|
article_text_path_or_text="""
|
||||||
#### Einfach Zocken Genuss Gesellschaft e.V.
|
#### Einfach Zocken Gaming Gesellschaft e.V.
|
||||||
```txt
|
```txt
|
||||||
Im Elchgrund 18
|
Im Elchgrund 18
|
||||||
|
|
||||||
@ -46,8 +46,9 @@ Eingetragen im Vereinsregister.
|
|||||||
|
|
||||||
Registergericht: Amtsgericht Marburg
|
Registergericht: Amtsgericht Marburg
|
||||||
|
|
||||||
Registernummer: - folgt -
|
Aktenzeichen: VR 5837
|
||||||
```
|
```
|
||||||
|
|
||||||
""",
|
""",
|
||||||
date=""
|
date=""
|
||||||
)
|
)
|
||||||
|
|||||||
@ -23,7 +23,7 @@ class Join(rio.Component):
|
|||||||
comps.build_news_post(
|
comps.build_news_post(
|
||||||
header="Eintritt in die EZ GG e.V.",
|
header="Eintritt in die EZ GG e.V.",
|
||||||
article_text_path_or_text="""
|
article_text_path_or_text="""
|
||||||
Wir freuen uns sehr, dass du Interesse daran hast, Mitglied bei der Einfach Zocken Genussgesellschaft zu werden! Unsere Gemeinschaft lebt von der Begeisterung und dem Engagement unserer Mitglieder.
|
Wir freuen uns sehr, dass du Interesse daran hast, Mitglied bei der Einfach Zocken Gaming Gesellschaft zu werden! Unsere Gemeinschaft lebt von der Begeisterung und dem Engagement unserer Mitglieder.
|
||||||
|
|
||||||
Als Mitglied hast du die Möglichkeit, aktiv an unseren Veranstaltungen teilzunehmen und die Entwicklung des Vereins mitzugestalten. Egal, ob du ein erfahrener Gamer oder ein Neuling bist – bei uns bist du herzlich willkommen!
|
Als Mitglied hast du die Möglichkeit, aktiv an unseren Veranstaltungen teilzunehmen und die Entwicklung des Vereins mitzugestalten. Egal, ob du ein erfahrener Gamer oder ein Neuling bist – bei uns bist du herzlich willkommen!
|
||||||
|
|
||||||
|
|||||||
@ -33,7 +33,7 @@ Stand: _27. Mai 2024_
|
|||||||
#### Verantwortlicher:
|
#### Verantwortlicher:
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
Einfach Zocken Genuss Gesellschaft e.V.
|
Einfach Zocken Gaming Gesellschaft e.V.
|
||||||
Im Elchgrund 18
|
Im Elchgrund 18
|
||||||
35080 Bad Endbach - Bottenhorn
|
35080 Bad Endbach - Bottenhorn
|
||||||
Deutschland
|
Deutschland
|
||||||
|
|||||||
@ -1,9 +1,7 @@
|
|||||||
import rio
|
import rio
|
||||||
from from_root import from_root
|
from from_root import from_root
|
||||||
|
|
||||||
from ezgg_website.components import MemberInfo
|
from ..models import SocialPlatform, SocialLink, MemberInfo
|
||||||
|
|
||||||
from ezgg_website.components.member_card import MemberInfo
|
|
||||||
|
|
||||||
|
|
||||||
# @ToDo: Make real database service at some point
|
# @ToDo: Make real database service at some point
|
||||||
@ -18,50 +16,51 @@ class DatabaseService:
|
|||||||
name="David \"Typhus\" R.",
|
name="David \"Typhus\" R.",
|
||||||
position="1. Vorsitzender",
|
position="1. Vorsitzender",
|
||||||
entry_date="29.10.2023",
|
entry_date="29.10.2023",
|
||||||
contact_mail="vorstand@ezgg-ev.de",
|
socials=[
|
||||||
contact_steam="https://steamcommunity.com/id/originaltyphus"
|
SocialLink(SocialPlatform.MAIL, "mailto://vorstand@ezgg-ev.de"),
|
||||||
|
SocialLink(SocialPlatform.STEAM, "https://steamcommunity.com/id/originaltyphus"),
|
||||||
|
SocialLink(SocialPlatform.DISCORD, "https://discordapp.com/users/384329938292965382"),
|
||||||
|
SocialLink(SocialPlatform.FACEBOOK, "https://www.facebook.com/david.kaiser.5661"),
|
||||||
|
SocialLink(SocialPlatform.GIT, "https://git.jdrodenkirchen.de/drodenkirchen")
|
||||||
|
]
|
||||||
), MemberInfo(
|
), MemberInfo(
|
||||||
picture_path=from_root("ezgg_website/assets/member_pictures/jule.png"),
|
picture_path=from_root("ezgg_website/assets/member_pictures/jule.png"),
|
||||||
name="Julia \"Ravenchild\" A.",
|
name="Julia \"Ravenchild\" A.",
|
||||||
position="2. Vorsitzende",
|
position="2. Vorsitzende",
|
||||||
entry_date="29.10.2023",
|
entry_date="29.10.2023",
|
||||||
contact_mail="vorstand@ezgg-ev.de",
|
socials=[
|
||||||
contact_steam="https://steamcommunity.com/profiles/76561198089911312"
|
SocialLink(SocialPlatform.MAIL, "mailto://vorstand@ezgg-ev.de"),
|
||||||
|
SocialLink(SocialPlatform.STEAM, "https://steamcommunity.com/profiles/76561198089911312"),
|
||||||
|
SocialLink(SocialPlatform.INSTAGRAM, "https://www.instagram.com/j.u.l.e.1995")
|
||||||
|
]
|
||||||
), MemberInfo(
|
), MemberInfo(
|
||||||
picture_path=from_root("ezgg_website/assets/member_pictures/jessy.png"),
|
picture_path=from_root("ezgg_website/assets/member_pictures/jessy.png"),
|
||||||
name="Jessy \"JessySixx\" R.",
|
name="Jessy \"JessySixx\" R.",
|
||||||
position="Schatzmeisterin",
|
position="Schatzmeisterin",
|
||||||
entry_date="29.10.2023",
|
entry_date="29.10.2023",
|
||||||
contact_mail=None,
|
socials=[
|
||||||
contact_steam=None
|
SocialLink(SocialPlatform.TWITCH, "https://twitch.tv/jessysixx88/home")
|
||||||
|
]
|
||||||
), MemberInfo(
|
), MemberInfo(
|
||||||
picture_path=from_root("ezgg_website/assets/member_pictures/tim.png"),
|
picture_path=from_root("ezgg_website/assets/member_pictures/tim.png"),
|
||||||
name="Tim \"Matschwicht\" B.",
|
name="Tim \"Matschwicht\" B.",
|
||||||
position="Mitglied",
|
position="Mitglied",
|
||||||
entry_date="29.10.2023",
|
entry_date="29.10.2023"
|
||||||
contact_mail=None,
|
|
||||||
contact_steam=None
|
|
||||||
), MemberInfo(
|
), MemberInfo(
|
||||||
picture_path=from_root("ezgg_website/assets/member_pictures/dennis.png"),
|
picture_path=from_root("ezgg_website/assets/member_pictures/dennis.png"),
|
||||||
name="Dennis \"Goodman\" P.",
|
name="Dennis \"Goodman\" P.",
|
||||||
position="Mitglied",
|
position="Mitglied",
|
||||||
entry_date="29.10.2023",
|
entry_date="29.10.2023"
|
||||||
contact_mail=None,
|
|
||||||
contact_steam=None
|
|
||||||
), MemberInfo(
|
), MemberInfo(
|
||||||
picture_path=from_root("ezgg_website/assets/member_pictures/tom.png"),
|
picture_path=from_root("ezgg_website/assets/member_pictures/tom.png"),
|
||||||
name="Tom \"Tcprod\" C.",
|
name="Tom \"Tcprod\" C.",
|
||||||
position="Mitglied",
|
position="Mitglied",
|
||||||
entry_date="29.10.2023",
|
entry_date="29.10.2023"
|
||||||
contact_mail=None,
|
|
||||||
contact_steam=None
|
|
||||||
), MemberInfo(
|
), MemberInfo(
|
||||||
picture_path=from_root("ezgg_website/assets/member_pictures/chris.png"),
|
picture_path=from_root("ezgg_website/assets/member_pictures/chris.png"),
|
||||||
name="Chris \"Meliodas\" K.",
|
name="Chris \"Meliodas\" K.",
|
||||||
position="Mitglied",
|
position="Mitglied",
|
||||||
entry_date="29.10.2023",
|
entry_date="29.10.2023"
|
||||||
contact_mail=None,
|
|
||||||
contact_steam=None
|
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||