settings.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. """The settings page."""
  2. from boppersbizza.templates import ThemeState, template
  3. import reflex as rx
  4. @template(route="/settings", title="Settings")
  5. def settings() -> rx.Component:
  6. """The settings page.
  7. Returns:
  8. The UI for the settings page.
  9. """
  10. return rx.vstack(
  11. rx.heading("Settings", size="8"),
  12. rx.hstack(
  13. rx.text("Dark mode: "),
  14. rx.color_mode.switch(),
  15. ),
  16. rx.hstack(
  17. rx.text("Theme color: "),
  18. rx.select(
  19. [
  20. "tomato",
  21. "red",
  22. "ruby",
  23. "crimson",
  24. "pink",
  25. "plum",
  26. "purple",
  27. "violet",
  28. "iris",
  29. "indigo",
  30. "blue",
  31. "cyan",
  32. "teal",
  33. "jade",
  34. "green",
  35. "grass",
  36. "brown",
  37. "orange",
  38. "sky",
  39. "mint",
  40. "lime",
  41. "yellow",
  42. "amber",
  43. "gold",
  44. "bronze",
  45. "gray",
  46. ],
  47. value=ThemeState.accent_color,
  48. on_change=ThemeState.set_accent_color,
  49. ),
  50. ),
  51. rx.text(
  52. "You can edit this page in ",
  53. rx.code("{your_app}/pages/settings.py"),
  54. size="1",
  55. ),
  56. )