@use templates::base; @use template_utils::*; @use validator::{ValidationErrors, ValidationErrorsKind}; @use std::borrow::Cow; @use plume_models::medias::*; @use routes::posts::NewPostForm; @(ctx: BaseContext, editing: bool, form: &NewPostForm, errors: ValidationErrors, default_license: String, medias: Vec, is_draft: bool) @:base(ctx, &i18n!(ctx.1, if editing { "Edit {0}" } else { "New post" }; &form.title), {}, {}, {

@if editing { @i18n!(ctx.1, "Edit {0}"; &form.title) } else { @i18n!(ctx.1, "Create a new post") }

@input!(ctx.1, title (text), "Title", form, errors.clone(), "required") @input!(ctx.1, subtitle (optional text), "Subtitle", form, errors.clone(), "") @if let Some(ValidationErrorsKind::Field(errs)) = errors.clone().errors().get("content") { @format!(r#"

{}

"#, i18n!(ctx.1, &*errs[0].message.clone().unwrap_or(Cow::from("Unknown error")))) } @input!(ctx.1, tags (optional text), "Tags, separated by commas", form, errors.clone(), "") @input!(ctx.1, license (optional text), "License", &i18n!(ctx.1, "Default license will be {0}"; &default_license), form, errors, "") @if is_draft { } @if editing { } else { @if is_draft { } else { } }
})