56 lines
1.5 KiB
Rust
56 lines
1.5 KiB
Rust
use crate::common::error::{CustomErrorInto, CustomResult};
|
|
use dioxus::prelude::*;
|
|
use dioxus_free_icons::Icon;
|
|
use dioxus_free_icons::icons::bs_icons::BsXLg;
|
|
|
|
#[derive(PartialEq, Clone)]
|
|
pub enum MessageType {
|
|
Info,
|
|
Warn,
|
|
Error,
|
|
Success,
|
|
}
|
|
|
|
#[derive(PartialEq, Props, Clone)]
|
|
pub struct MessageProps {
|
|
#[props(default="wight".to_string())]
|
|
color: String,
|
|
#[props(default="".to_string())]
|
|
title: String,
|
|
#[props(default="".to_string())]
|
|
message: String,
|
|
#[props(default=3)]
|
|
time:u64,
|
|
}
|
|
|
|
#[component]
|
|
pub fn Message(props: MessageProps) -> Element {
|
|
return rsx! {
|
|
div {
|
|
class: "w-[20rem] px-2 py-3 absolute right-8 top-10 backdrop-blur-xl max-sm:w-[12rem] hover:border-2 border-accent rounded ",
|
|
style: "background-color:{props.color}",
|
|
|
|
div {
|
|
|
|
class:"text-lg",
|
|
div {
|
|
class:"float-end relative top-1 right-1",
|
|
Icon{
|
|
icon:BsXLg,
|
|
}
|
|
}
|
|
div {
|
|
class:"truncate",
|
|
"我是标题水水水水水水水水水水水水水水水水水水水水水sssssssssssss水水水ssssssssssssssss"
|
|
|
|
}
|
|
}
|
|
div {
|
|
class:"text-base",
|
|
"我是水水水水水水水水水ssssssssssssssssssssss水水水水内容"
|
|
}
|
|
|
|
}
|
|
};
|
|
}
|