doctype html
html(lang=grimm.dict[lang].meta.code)
head
meta(charset="utf-8")
meta(name="viewport", content="width=device-width, initial-scale=1.0")
meta(name="robots" content="noindex")
if mode == "creating"
title= tr('planter.editor.creating')
if mode == "editing"
title= tr('planter.editor.editing')(post.title)
if mode == "translating"
title= tr('planter.editor.translating')(post.title)
link(rel="icon", href="/cosmetics/favicon.png")
link(rel="stylesheet", href="/x/planter/planter.css")
link(rel="stylesheet", href="/x/planter/editor.css")
script(src="/cosmetics/script.js")
script(src="/cosmetics/htmx.js")
script(src="/x/planter/editor.js")
body
nav#tabs
button.tab.enabled#tab-write
span.icon.tab-icon 
span.tab-label= tr('planter.editor.tabWrite')
button.tab#tab-tag
span.icon.tab-icon 
span.tab-label= tr('planter.editor.tabTag')
button.tab#tab-media
span.icon.tab-icon 
span.tab-label= tr('planter.editor.tabMedia')
form#editor
div.writer(lang=(post.lang ? grimm.dict[post.lang].meta.code : false))
input#editor-title(type="text" name="title" placeholder=tr('planter.editor.titlePlaceholder') value=post.title)
textarea#editor-contents(name="contents" placeholder=tr('planter.editor.contentsPlaceholder') required)= post.contents
div.sidebar
div.save-publish
button.hollow#editor-save(hx-post=`/x/planter/post-save${dongle}&verb=save` hx-target=".message")= tr('planter.editor.savePost')
a.button.hollow#editor-preview(href=`/garden/preview/${post.slug || slugPlaceholder}` hidden=(!!post.public))= tr('planter.editor.previewPost')
a.button.hollow#editor-view(href=`/garden/${post.slug || slugPlaceholder}` hidden=(!post.public))= tr('planter.editor.viewPost')
button.filled#editor-publish(hx-post=`/x/planter/post-save${dongle}&verb=publish` hx-target=".message" hidden=(!!post.public))= tr('planter.editor.publishPost')
button.filled#editor-retract(hx-post=`/x/planter/post-save${dongle}&verb=retract` hx-target=".message" hidden=(!post.public))= tr('planter.editor.retractPost')
strong.message
div.value-grid
label(for="editor-slug")!= tr('planter.editor.slug')
input.mono#editor-slug(name="slug" type="text" placeholder=slugPlaceholder value=post.slug)
label(for="editor-page-created")!= tr('planter.editor.pageCreated')
input#editor-page-created(name="pageCreated" type="datetime-local" value=(post.pageCreated ? post.pageCreated.replace("T", " ").replace("Z", "") : undefined))
label(for="editor-lang")= tr('planter.editor.lang')
select#editor-lang(name="lang" required)
each language, key in grimm.dict
if (language !== undefined && key !== "default")
option(value=key lang=language.meta.code selected=(key == post.lang))= language.meta.name
label(for="editor-translates")= tr('planter.editor.translates')
input.mono#editor-translates(name="translates" type="text" placeholder=slugPlaceholder value=post.translates)
label(for="editor-post-format")= tr('planter.editor.format')
select#editor-post-format(name="postFormat" required)
option(value="article" selected=(post.postFormat == 'article'))= tr('planter.editor.formatArticle')
option(value="note" selected=(post.postFormat == 'note'))= tr('planter.editor.formatNote')
label(for="editor-tags")= tr('planter.editor.tags')
input.mono#editor-tags(name="tags" type="text" value=post.tags)
div.checkbox
label(for="editor-comment-status")= tr('planter.editor.commentStatus')
input#editor-comment-status(name="commentStatus" type="checkbox" checked=((post.commentStatus === 0) ? false : true))
label(for="editor-markup")= tr('planter.editor.markup')
select#editor-markup(name="markup" required)
option(value="rubric" selected=(post.markup == 'rubric'))= tr('planter.editor.markupRubric')
option(value="html" selected=(post.markup == 'html'))= tr('planter.editor.markupHtml')
label(for="editor-thumbnail")!= tr('planter.editor.thumbnail')
input.mono#editor-thumbnail(name="thumbnail" type="text" value=post.thumbnail)
label(for="editor-thumbnail-alt")= tr('planter.editor.thumbnailAlt')
input.draft#editor-thumbnail-alt(name="thumbnailAlt" type="text" lang=(post.lang ? grimm.dict[post.lang].meta.code : false) value=post.thumbnailAlt)
input#editor-original-qualified-slug(name="originalQualifiedSlug" value=post.qualifiedSlug hidden)
input#editor-new-post(name="newPost" type="checkbox" checked=(!!newPost) hidden)
div.media-file-selector
figure.new-file
button(type="button"): span.icon 
figcaption= tr('planter.editor.mediaNewFile')
each file in media
if file.type == "image"
figure
button(type="button" style=`background-image: url('/garden/media/${file.url}')` data-url=file.url)
figcaption= file.url
else
figure.misc-media
button(type="button" data-url=file.url): span.icon!= file.icon
figcaption= file.url
form#input-file(hidden hx-encoding="multipart/form-data" enctype="multipart/form-data" )
input(type="file" name="file" hx-post="/x/planter/post-media" hx-target="figure.new-file" hx-swap="afterend")