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
+12 -7
+12 -7
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 {
.await? message: String,
.json::<serde_json::Value>() }
.await?["message"] let json = reqwest::get("https://dog.ceo/api/breeds/image/random")
.to_string(), .await?
) .json::<DogApi>()
.await?;
let url = json.message;
dioxus::Ok(url)
})?; })?;
rsx! { rsx! {