derek-thomas
Abstracting sidebar and dark_mode
272ccb0
import reflex as rx
from .dark_mode import dark_mode_toggle
from .sidebar import sidebar
from .pages import index, overview, results
def add_components(rest_of_app):
"""
Adds sidebar and dark_mode components
:param rest_of_app:
:return:
"""
return rx.box(
rx.hstack(
sidebar(),
rest_of_app(),
),
rx.box(
dark_mode_toggle(),
position="absolute", # Enables absolute positioning
top="10px", # Position 10px from the top
right="10px", # Position 10px from the right
z_index=1000, # Ensures it appears above other elements
),
position="relative", # Sets the container as a relative position reference
width="100vw", # Full width of the viewport
height="100vh", # Full height of the viewport
)
# Initialize the Reflex app with polished layout
app = rx.App()
app.add_page(add_components(overview), title='Overview', route='/overview') # Overview page
app.add_page(add_components(results), title='Results', route='/results') # Results page
app.add_page(add_components(index), title='Index', route='/') # Index page