Homepage/ezgg_website/pages/page_builder.py
2024-05-28 07:09:18 +02:00

64 lines
1.5 KiB
Python

from __future__ import annotations
from dataclasses import KW_ONLY, field
from typing import * # type: ignore
import rio
from .. import components as comps
def build_page(main_component: rio.Component, window_width: float) -> rio.Component:
# FixMe: Temporary fix for low screen widths. Fixable once Rio offers better mobile-targeted layouting
if window_width < 55.625:
return rio.Column(
rio.Row(
comps.Header()
),
rio.Column(
rio.Column(
comps.Navigation(),
width="natural",
align_y=0
),
rio.Column(
main_component,
width="grow",
align_y=0,
margin_left=1
),
width="grow",
height="grow"
),
spacing=2,
margin=0,
width="grow",
height="grow"
)
return rio.Column(
rio.Row(
comps.Header()
),
rio.Row(
rio.Column(
comps.Navigation(),
width="natural",
align_y=0,
margin_right=1
),
rio.Column(
main_component,
width="grow",
align_y=0
),
width="grow",
height="grow"
),
spacing=2,
margin=0,
width="grow",
height="grow"
)