119 lines
4.5 KiB
HTML
119 lines
4.5 KiB
HTML
@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, card, card_body, card_title, file_input, text_input}, Button, Card};
|
|
@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()), {
|
|
<form method="POST" action="@state.publish_path()">
|
|
@: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")),
|
|
])
|
|
})
|
|
</form>
|
|
})
|
|
}
|
|
@:card(&Card::full_width().dark(nav_state.dark()), {
|
|
<form method="POST" action="@state.update_path()">
|
|
@: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")),
|
|
])
|
|
})
|
|
</form>
|
|
})
|
|
@:card(&Card::full_width().dark(nav_state.dark()), {
|
|
@:card_title({
|
|
@fl!(loader, "update-submission-remove-file-heading")
|
|
})
|
|
@for (id, img) in state.images() {
|
|
<form method="POST" action="@state.remove_file_path()">
|
|
@:card_body({
|
|
<div class="columns">
|
|
<div class="columns--column">
|
|
@:image(&img)
|
|
</div>
|
|
<div class="columns--column">
|
|
<h3>Remove Image From Submission</h3>
|
|
@if let Some(error) = state.remove_file_error.get(&id) {
|
|
<p class="error">@error</p>
|
|
}
|
|
<input type="hidden" name="file_id" value="@id" />
|
|
<div class="button-section">
|
|
@:button_group(&[
|
|
Button::primary(&fl!(loader, "update-submission-remove-file-button")),
|
|
])
|
|
</div>
|
|
</div>
|
|
</div>
|
|
})
|
|
</form>
|
|
}
|
|
})
|
|
@:card(&Card::full_width().dark(nav_state.dark()), {
|
|
<form method="POST" action="@state.add_file_path()" enctype="multipart/form-data">
|
|
@: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")),
|
|
])
|
|
})
|
|
</form>
|
|
})
|
|
@: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()),
|
|
])
|
|
})
|
|
})
|
|
@: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({
|
|
<form method="POST" action="@state.delete_path()">
|
|
@:button_group(&[
|
|
Button::primary_outline(&fl!(loader, "delete-submission-button")),
|
|
])
|
|
</form>
|
|
})
|
|
})
|
|
})
|
|
|