echoer/frontend/src/components/notification.rs

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水水水水内容"
}
}
};
}