@use crate::ActixLoader; @use crate::templates::{button_js, file_js}; @use crate::{templates::layouts::home, nav::NavState, submissions::SubmissionState}; @use hyaenidae_toolkit::{templates::{button_group}, Button}; @use hyaenidae_toolkit::{templates::{card, card_body, card_title}, Card}; @use hyaenidae_toolkit::templates::checkbox; @use hyaenidae_toolkit::templates::file_input; @use hyaenidae_toolkit::templates::select; @use hyaenidae_toolkit::templates::text_input; @use hyaenidae_toolkit::templates::image; @use i18n_embed_fl::fl; @(loader: &ActixLoader, state: &SubmissionState, nav_state: &NavState) @:home(loader, &fl!(loader, "update-submission-title"), &fl!(loader, "update-submission-subtitle"), nav_state, { @:button_js() @:file_js() }, { @if !state.is_published() { @:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({ @fl!(loader, "update-submission-publish-title") }) @:card_body({ @fl!(loader, "update-submission-publish-description") }) @if let Some(error) = &state.publish_error { @:card_body({ @error }) } @:card_body({ @:button_group(&[ Button::primary(&fl!(loader, "update-submission-publish-button")), ]) })
}) } @:card(&Card::full_width().dark(nav_state.dark()), { @:card_title({ @fl!(loader, "update-submission-view-heading") }) @:card_body({ @:button_group(&[ Button::primary(&fl!(loader, "update-submission-view-button")).href(&state.view_path()), ]) }) }) @if !state.is_published() { @:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({ @fl!(loader, "submission-visibility-heading") }) @if let Some(error) = &state.visibility_error { @:card_body({ @error }) } @:card_body({ @:checkbox("local_only", &fl!(loader, "submission-local-only"), state.submission.is_local_only()) @:checkbox("logged_in_only", &fl!(loader, "submission-login-required"), state.submission.is_logged_in_only()) @:select(&state.visibility(loader).dark(nav_state.dark())) }) @:card_body({ @:button_group(&[ Button::primary(&fl!(loader, "update-submission-info-button")), ]) })
}) } @:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({ @fl!(loader, "submission-sensitive-heading") }) @:card_body({ @:checkbox("sensitive", &fl!(loader, "submission-sensitive-checkbox"), state.submission.is_sensitive()) }) @:card_body({ @:button_group(&[ Button::primary(&fl!(loader, "submission-sensitive-button")), ]) })
}) @:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({ @fl!(loader, "update-submission-info-heading") }) @:card_body({ @:text_input(&state.title_input(loader).dark(nav_state.dark())) @:text_input(&state.description_input(loader).dark(nav_state.dark())) }) @:card_body({ @:button_group(&[ Button::primary(&fl!(loader, "update-submission-info-button")), ]) })
}) @:card(&Card::full_width().dark(nav_state.dark()), { @:card_title({ @fl!(loader, "update-submission-remove-file-heading") }) @for (id, img) in state.images() {
@:card_body({
@:image(&img)

Remove Image From Submission

@if let Some(error) = state.remove_file_error.get(&id) {

@error

}
@:button_group(&[ Button::primary(&fl!(loader, "update-submission-remove-file-button")), ])
})
} }) @:card(&Card::full_width().dark(nav_state.dark()), {
@:card_title({ @fl!(loader, "update-submission-add-file-heading") }) @:card_body({ @:file_input(&state.file_input(loader).dark(nav_state.dark())) }) @:card_body({ @:button_group(&[ Button::primary(&fl!(loader, "update-submission-add-file-button")), ]) })
}) @:card(&Card::full_width().dark(nav_state.dark()), { @:card_title({ @fl!(loader, "danger-heading") }) @if let Some(error) = &state.delete_error { @:card_body({ @error }) } @:card_body({
@:button_group(&[ Button::primary_outline(&fl!(loader, "delete-submission-button")), ])
}) }) })