base rio setup

This commit is contained in:
David Rodenkirchen 2024-05-24 06:13:41 +02:00
parent be5b9183bb
commit e57d47e38f
5 changed files with 72 additions and 0 deletions

38
ezgg_website/__init__.py Normal file
View File

@ -0,0 +1,38 @@
from __future__ import annotations
from pathlib import Path
from typing import * # type: ignore
import rio
from . import pages
from . import components as comps
# Define a theme for Rio to use.
#
# You can modify the colors here to adapt the appearance of your app or website.
# The most important parameters are listed, but more are available! You can find
# them all in the docs
#
# https://rio.dev/docs/api/theme
theme = rio.Theme.from_colors(
primary_color=rio.Color.from_hex("01dffdff"),
secondary_color=rio.Color.from_hex("0083ffff"),
light=True,
)
# Create the Rio app
app = rio.App(
name='ezgg-website',
pages=[
rio.Page(
name="Home",
page_url='',
build=pages.SamplePage,
),
],
theme=theme,
assets_dir=Path(__file__).parent / "assets",
)

View File

View File

@ -0,0 +1 @@
from .sample_page import SamplePage

View File

@ -0,0 +1,27 @@
from __future__ import annotations
from dataclasses import KW_ONLY, field
from typing import * # type: ignore
import rio
from .. import components as comps
class SamplePage(rio.Component):
"""
This is an example Page. Pages are identical to other Components and only
differ in how they're used.
"""
def build(self) -> rio.Component:
return rio.Column(
rio.Text("My App", style="heading2"),
rio.Text(
"This is a sample page. Replace it with your own content."
),
spacing=2,
margin=2,
align_x=0.5,
align_y=0,
)

6
rio.toml Normal file
View File

@ -0,0 +1,6 @@
# This is the configuration file for Rio,
# an easy to use app & web framework for Python.
[app]
app_type = "website" # This is either "website" or "app"
main_module = "ezgg_website" # The name of your Python module