home.rs 601 B

123456789101112131415161718192021222324
  1. // The homepage is statically rendered, so we don't need to a persistent websocket connection.
  2. use crate::{
  3. api::{fetch_products, Sort},
  4. components::nav,
  5. components::product_item::product_item,
  6. };
  7. use dioxus::prelude::*;
  8. pub(crate) fn Home() -> Element {
  9. let products = use_server_future(|| fetch_products(10, Sort::Ascending))?;
  10. let products = products().unwrap()?;
  11. rsx! {
  12. nav::nav {}
  13. section { class: "p-10",
  14. for product in products {
  15. product_item {
  16. product
  17. }
  18. }
  19. }
  20. }
  21. }