sourcehypertextadminplanterposts.pug

doctype html

mixin language(code)
	| #[img.flag(src=`/flags/${grimm.dict[code].meta.flag}.png`)] #{grimm.dict[code].meta.name}

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")
		title= tr('planter.posts.pageTitle')
		link(rel="icon", href="/cosmetics/favicon.png")
		link(rel="stylesheet", href="/x/planter/planter.css")
		link(rel="stylesheet", href="/x/planter/dashboard.css")
		script(src="/cosmetics/script.js")
		script(src="/cosmetics/htmx.js")
	body
		nav#tabs
			span.tab.button.green.filled
				span.icon.tab-icon 
				span.tab-label= tr('planter.nav.posts')
			a(href="/x/planter/tags").tab.button.yellow.hollow
				span.icon.tab-icon 
				span.tab-label= tr('planter.nav.tags')
			a(href="/x/planter/comments").tab.button.orange.hollow
				span.icon.tab-icon 
				span.tab-label= tr('planter.nav.comments')
			a(href="/x/planter/avatars").tab.button.red.hollow
				span.icon.tab-icon 
				span.tab-label= tr('planter.nav.avatars')
			a(href="/x/planter/prefs").tab.button.blue.hollow
				span.icon.tab-icon 
				span.tab-label= tr('planter.nav.prefs')
		main
			h1!= tr('planter.posts.pageHeader')
			h2= tr('planter.posts.drafts')(drafts.length)
			.table-container
				table
					thead: tr
						th= tr('planter.posts.th.title')
						th= tr('planter.posts.th.tags')
						th= tr('planter.posts.th.language')
						th= tr('planter.posts.th.dateEdited')
					tbody
						tr
							td(colspan=4)
								a.button.filled.new-post(href="/x/planter/new")
									span.icon 
									| #{tr('planter.posts.compose')}
						each post in drafts
							tr
								td.posts-title
									a(href=`/x/planter/edit/${post.slug}`)= post.title || tr('garden.post.untitled')
									small
										a(href=`/x/planter/edit/${post.slug}`)
											span.icon 
											|  #{tr('planter.posts.edit')}
										|  · 
										a(href=`/x/planter/translate/${post.slug}`)
											span.icon 
											|  #{tr('planter.posts.translate')}
										|  · 
										span.mono= post.slug
								td.posts-tags= post.tags.map(x => x.defaultName).join(", ")
								td.posts-language: +language(post.lang)
								td.posts-date.posts-dateEdited= grimm.date.ce(lang, post.pageUpdated, 5, {month: "short"})
			h2= tr('planter.posts.publishedPosts')(posts.length)
			.table-container
				table
					thead: tr
						th= tr('planter.posts.th.title')
						th= tr('planter.posts.th.tags')
						th= tr('planter.posts.th.language')
						th= tr('planter.posts.th.datePublished')
					tbody
						each post in posts
							tr
								td.posts-title
									a(href=`/x/planter/edit/${post.slug}`)= post.title || tr('garden.post.untitled')
									small
										a(href=`/x/planter/edit/${post.slug}`)
											span.icon 
											|  #{tr('planter.posts.edit')}
										|  · 
										a(href=`/x/planter/translate/${post.slug}`)
											span.icon 
											|  #{tr('planter.posts.translate')}
										|  · 
										a(href=`/garden/${post.qualifiedSlug}`)
											span.icon 
											|  #{tr('planter.posts.read')}
										|  · 
										span.mono= post.qualifiedSlug
								td.posts-tags= post.tags.map(x => x.defaultName).join(", ")
								td.posts-language: +language(post.lang)
								td.posts-date.posts-datePublished= grimm.date.ce(lang, post.pageCreated, 5, {month: "short"})