hyaenidae/templates/admin/report.rs.html

67 lines
2.4 KiB
HTML

@use crate::ActixLoader;
@use crate::admin::ReportView;
@use crate::extensions::ProfileExt;
@use crate::nav::NavState;
@use crate::templates::admin::{comment_box, submission_box};
@use crate::templates::layouts::home;
@use hyaenidae_toolkit::{templates::button_group, Button};
@use hyaenidae_toolkit::{templates::{card, card_body, card_section, card_title}, Card};
@use hyaenidae_toolkit::{templates::link, Link};
@use hyaenidae_toolkit::templates::profile;
@use hyaenidae_toolkit::templates::select;
@use hyaenidae_toolkit::templates::text_input;
@use i18n_embed_fl::fl;
@(loader: &ActixLoader, view: &ReportView, nav_state: &NavState)
@:home(loader, &fl!(loader, "admin-report-title"), &fl!(loader, "admin-report-description", reportId = view.id().to_string()), nav_state, {}, {
@:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({
@fl!(loader, "admin-report-heading")
})
@if let Some(p) = view.profile() {
@:card_section({ @:profile(&p.heading(loader).dark(nav_state.dark())) })
}
@if let Some(cv) = view.comment() {
@:card_body({
@:comment_box(loader, cv.comment, &cv.author(), nav_state.dark())
})
}
@if let Some(sv) = view.submission() {
@:submission_box(loader, &sv.submission(), &sv.author(), nav_state.dark())
}
@if let Some(author) = view.author() {
@:card_body({
Reported by
@:link(&Link::new_tab(&author.view_path()).plain(true), {
@Html(author.name())
})
})
}
@if let Some(note) = view.note() {
@:card_body({
<h4>@fl!(loader, "admin-report-content")</h4>
<p>@Html(note)</p>
})
}
})
@:card(&Card::full_width().dark(nav_state.dark()), {
<form method="POST" action="@view.update_path()">
@:card_title({
@fl!(loader, "admin-report-actions")
})
@:card_body({
<div class="text-section">
@:select(&view.select(loader).dark(nav_state.dark()))
</div>
@:text_input(&view.input(loader).dark(nav_state.dark()))
})
@:card_body({
@:button_group(&[
Button::primary(&fl!(loader, "admin-report-resolve-button")),
])
})
</form>
})
})