@use crate::templates::layouts::home; @use crate::templates::comments::nodes; @use crate::templates::submissions::{image, profile_box}; @use crate::{nav::NavState, submissions::SubmissionView}; @use hyaenidae_toolkit::{templates::button_group, Button}; @use hyaenidae_toolkit::{templates::{card, card_body, card_section, card_title}, Card}; @use hyaenidae_toolkit::templates::nested; @use hyaenidae_toolkit::templates::text_input; @(view: &SubmissionView, nav_state: &NavState) @:home(&view.submission.title(), view.submission.description().unwrap_or(&format!("{} hosted on Hyaenidae", view.submission.title())), nav_state, {}, { @:card(&Card::full_width().dark(nav_state.dark()), { @:card_title({ @view.submission.title() }) @:card_section({ @if let Some(file) = view.current_file.pictrs() {
@:image(file.key(), &view.submission.title(), view.file_num)
} else {
Failed to display image
} }) @:card_body({
@:button_group(&view.nav())
}) @:card_body({ @:profile_box(&view.poster, view.submission.published(), nav_state.dark(), { @if let Some(description) = view.submission.description() { @description } }) }) }) @if view.is_self { @:card(&Card::full_width().dark(nav_state.dark()), { @:card_title({ Update Submission }) @:card_body({ @:button_group(&[ &Button::primary("Update").href(&view.update_path()), ]) }) }) } @if view.profile.is_some() && view.submission.published().is_some() { @:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({ Comment }) @:card_body({ @:text_input(&view.comment_input) }) @:card_body({ @:button_group(&[ &Button::primary("Submit"), ]) })
}) } @if view.comments.has_children() { @:card(&Card::full_width().dark(nav_state.dark()), { @:card_title({ Comments }) @:card_body({ @:nested(nav_state.dark(), { @:nodes(&view.comments, &view.replying_to(), view.profile.is_some(), nav_state.dark()) }) }) }) } })