import reflex as rx
import yaml
from win.state.language import LanguageState
def index() -> rx.Component:
languages = get_language()
current_language = LanguageState.language_cookie
print(current_language)
return rx.container(
rx.heading("Выберите язык", font_size="1.5em"),
rx.select(
list(languages.values()),
default_value=current_language,
),
)
def get_language():
with open("scr/site_text.yaml", 'r', encoding='utf-8') as file:
texts = yaml.safe_load(file)
return texts["languages"]
language.py
import reflex as rx
class LanguageState(rx.State):
language_cookie: str = rx.Cookie(
path = "/",
name = "language",
)
def check_language(self):
if not self.language_cookie:
self.set_language_cookie("en")
def get_language(self):
return rx.get_cookie("language")
app.py
from win.pages import index
from .state.language import LanguageState
import reflex as rx
class State(rx.State):
"""Define empty state to allow access to rx.State.router."""
# Create the app.
app = rx.App()
app.add_page(index, route="/", on_load=LanguageState.check_language())
Why I receive print(current_language) == {state__language_state.language_cookie}, but I need str
Index.py
language.py
app.py
Why I receive print(current_language) == {state__language_state.language_cookie}, but I need str