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:
1 file changed
+12
-7
@@ -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! {
|
||||||
|
|||||||
Reference in new issue
Block a user