Issue: 5138 Fix HotDog img URL (#5139)

* Issue: 5138 Fix HotDog img URL

* Use serde instead of json::Value

---------

Co-authored-by: Nils Loewen <nils@blockrewards.ca>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
This commit is contained in:
authored and GitHub committed 2025-12-26 08:37:57 -06:00
1 parent 3eb58f7d42
commit 99240ef000
1 file changed
+11 -6
+11 -6
View File
@@ -1,4 +1,5 @@
use dioxus::prelude::*; use dioxus::prelude::*;
use serde::{Deserialize, Serialize};
use crate::{ use crate::{
backend::{list_dogs, remove_dog, save_dog}, backend::{list_dogs, remove_dog, save_dog},
@@ -42,13 +43,17 @@ pub fn NavBar() -> Element {
#[component] #[component]
pub fn DogView() -> Element { pub fn DogView() -> Element {
let mut img_src = use_loader(|| async move { let mut img_src = use_loader(|| async move {
dioxus::Ok( #[derive(Deserialize, Serialize, Debug, PartialEq)]
reqwest::get("https://dog.ceo/api/breeds/image/random") struct DogApi {
message: String,
}
let json = reqwest::get("https://dog.ceo/api/breeds/image/random")
.await? .await?
.json::<serde_json::Value>() .json::<DogApi>()
.await?["message"] .await?;
.to_string(), let url = json.message;
)
dioxus::Ok(url)
})?; })?;
rsx! { rsx! {