Files
AobaV2/AobaClient/src/components/media_item.rs
2025-05-26 21:36:40 -04:00

44 lines
830 B
Rust

use dioxus::prelude::*;
use crate::{HOST, rpc::aoba::MediaModel};
#[derive(PartialEq, Clone, Props)]
pub struct MediaItemProps {
pub item: MediaModel,
}
#[component]
pub fn MediaItem(props: MediaItemProps) -> Element {
let mtype = props.item.media_type().as_str_name();
let filename = props.item.file_name;
let id = props.item.media_id.unwrap().value;
#[cfg(debug_assertions)]
let src = format!("{HOST}/m/thumb/{id}");
#[cfg(not(debug_assertions))]
let src = format!("https://aoba.app/m/thumb/{id}");
// let url = "https://aoba.app/i/{}";
rsx! {
div{
class: "mediaItem",
img{ src: src }
div {
class: "info",
span{
class: "name",
"{filename}"
},
div{
class: "details",
span{
"{mtype}"
},
span{
"{props.item.view_count}"
},
}
}
}
}
}