zero4rs 2.0.0

zero4rs is a powerful, pragmatic, and extremely fast web framework for Rust
Documentation
use std::fmt::Write;

use actix_web_flash_messages::FlashMessage;
use actix_web_flash_messages::{IncomingFlashMessages, Level};

pub fn send_flash_message(msg: &str) {
    FlashMessage::info(msg).send()
}

pub fn flash_message(msg: &str, level: Level) {
    match level {
        Level::Warning => FlashMessage::warning(msg).send(),
        Level::Debug => FlashMessage::debug(msg).send(),
        Level::Info => FlashMessage::info(msg).send(),
        Level::Success => FlashMessage::success(msg).send(),
        Level::Error => FlashMessage::error(msg).send(),
    }
}

pub fn get_flash_message_html(flash_messages: &IncomingFlashMessages) -> String {
    let mut _flash_html = String::new();

    for m in flash_messages.iter().filter(|m| m.level() == Level::Error) {
        write!(_flash_html, "<p><i class='error'>{}</i></p>", m.content()).unwrap();
    }

    for m in flash_messages
        .iter()
        .filter(|m| m.level() == Level::Warning)
    {
        write!(_flash_html, "<p><i class='warn'>{}</i></p>", m.content()).unwrap();
    }

    for m in flash_messages.iter().filter(|m| m.level() == Level::Info) {
        write!(_flash_html, "<p><i class='info'>{}</i></p>", m.content()).unwrap();
    }

    for m in flash_messages
        .iter()
        .filter(|m| m.level() == Level::Success)
    {
        write!(_flash_html, "<p><i class='success'>{}</i></p>", m.content()).unwrap();
    }

    for m in flash_messages.iter().filter(|m| m.level() == Level::Debug) {
        write!(_flash_html, "<p><i class='debug'>{}</i></p>", m.content()).unwrap();
    }

    if !_flash_html.is_empty() {
        log::debug!(
            "get_flash_message_html: _flash_html_message={}",
            _flash_html
        );
    }

    _flash_html
}