More details on posts and error reporting

This commit is contained in:
2023-05-31 22:12:48 +10:00
parent b034ecb3ab
commit 2c1122c9d7
20 changed files with 177 additions and 39 deletions

View File

@@ -1,17 +1,42 @@
div class="mb-12 prose dark:prose-invert max-w-prose mx-auto text-gray-800 dark:text-gray-200"
h1 Admin // Bookmarks
div class="max-w-prose mx-auto"
button class="rounded bg-blue-100 hover:bg-blue-200 text-blue-600 px-2 hover:cursor-pointer" hx-post="/admin/bookmarks/clean" Check for dead links
div class="max-w-prose mx-auto" x-data="{ activeTab: 0 }"
- if running_jobs
div class="text-center bg-blue-100 mb-4 p-2 rounded" Job already queued
- else
button class="block rounded bg-blue-100 hover:bg-blue-200 text-blue-600 mb-4 p-2 hover:cursor-pointer" hx-post="/admin/bookmarks/clean" Check for dead links
div class="flex"
a href="#" class="text-gray-200 cursor-pointer p-2 border-2 mr-2 rounded border-blue-400" :class="{ 'bg-blue-400 text-blue-900': activeTab === 0 }" @click="activeTab = 0" class="tab-control" Published
a href="#" class="text-gray-200 cursor-pointer p-2 border-2 rounded border-blue-400" :class="{ 'bg-blue-400 text-blue-900': activeTab === 1 }" @click="activeTab = 1" class="tab-control" Un published
table class="prose dark:prose-invert table-auto prose-a:text-blue-600 prose-a:no-underline"
thead
th Details
th Date
th colspan="2" Actions
tbody
- bookmarks.each do |bookmark|
tbody class="{ 'active': activeTab === 0 }" x-show.transition.in.opacity.duration.600="activeTab === 0"
- published_bookmarks.each do |bookmark|
tr id="bookmark-#{bookmark.id}"
td
div
= bookmark.name
a class="no-underline" href=bookmark.url
small class="text-gray-400 dark:text-gray-600" = bookmark.url
div
- if bookmark.cached_content
a href="/bookmark/#{bookmark.slug}" View cached version
span   —  
button hx-post="/admin/bookmarks/cache/#{bookmark.id}" Re-cache
- else
button hx-post="/admin/bookmarks/cache/#{bookmark.id}" No cached content, cache now?
td
= bookmark.published_at&.strftime("%d %b %Y")
td
button class="text-red-600" hx-delete="/admin/bookmarks/#{bookmark.id}" hx-target="#bookmark-#{bookmark.id}" delete
td
button hx-post="/admin/bookmarks/#{bookmark.id}/archive" archive
tbody class="{ 'active': activeTab === 1 }" x-show.transition.in.opacity.duration.600="activeTab === 1"
- unpublished_bookmarks.each do |bookmark|
tr id="bookmark-#{bookmark.id}"
td
div

View File

@@ -18,4 +18,4 @@ div class="mb-4 max-w-prose mx-auto prose dark:prose-invert"
div class="rounded max-w-xs" x-data=""
img class="rounded object-cover hover:opacity-80 h-48 w-48" src="/#{photo.gsub("public/", "")}"
button class="hover:text-blue-400 p-2 bg-blue-100 rounded text-blue-600 mr-4 no-underline" @click="$clipboard('#{Hanami.app.settings.micropub_site_url}/#{photo.gsub("public/", "")}')" Copy URL
button class="text-red-600 hover:text-red-400" Delete
button class="text-red-600 hover:text-red-400" hx-delete="/admin/media/#{photo}" hx-target="#post-#{photo}" Delete

View File

@@ -1,26 +1,43 @@
div class="mb-12 prose dark:prose-invert max-w-prose mx-auto text-gray-800 dark:text-gray-200"
h1 Admin // Posts
div class="max-w-prose mx-auto"
table class="prose dark:prose-invert table-auto prose-a:text-blue-600 prose-a:no-underline"
thead
th Details
th Date
th colspan="2" Actions
tbody
- posts.each do |post|
tr id="post-#{post.id}"
td
div
= post.name
a class="no-underline" href="/post/#{post.slug}"
small class="text-gray-400 dark:text-gray-600" = post.slug
td
= post.published_at&.strftime("%d %b %Y")
td
button class="text-red-600" hx-delete="/admin/bookmarks/#{post.id}" hx-target="#post-#{post.id}" delete
td
button hx-post="/admin/bookmarks/#{post.id}/archive" unpublish
div class="max-w-prose mx-auto" x-data="{ activeTab: 0 }"
div class="flex"
a href="#" class="text-gray-200 cursor-pointer p-2 border-2 mr-2 rounded border-blue-400" :class="{ 'bg-blue-400 text-blue-900': activeTab === 0 }" @click="activeTab = 0" class="tab-control" Published
a href="#" class="text-gray-200 cursor-pointer p-2 border-2 rounded border-blue-400" :class="{ 'bg-blue-400 text-blue-900': activeTab === 1 }" @click="activeTab = 1" class="tab-control" Un published
table class="prose dark:prose-invert table-auto prose-a:text-blue-600 prose-a:no-underline"
thead
th Details
th Date
th colspan="2" Actions
tbody class="{ 'active': activeTab === 0 }" x-show.transition.in.opacity.duration.600="activeTab === 0"
- published_posts.each do |post|
tr id="post-#{post.id}"
td
div
= post.name
a class="no-underline" href="/post/#{post.slug}"
small class="text-gray-400 dark:text-gray-600" = post.slug
td
= post.published_at&.strftime("%d %b %Y")
td
button class="text-red-600" hx-delete="/admin/posts/#{post.id}" hx-target="#post-#{post.id}" delete
td
button hx-post="/admin/posts/#{post.id}/archive" unpublish
tbody class="{ 'active': activeTab === 1 }" x-show.transition.in.opacity.duration.600="activeTab === 1"
- unpublished_posts.each do |post|
tr id="post-#{post.id}"
td
div
= post.name
a class="no-underline" href="/post/#{post.slug}"
small class="text-gray-400 dark:text-gray-600" = post.slug
td
= post.published_at&.strftime("%d %b %Y")
td
button class="text-red-600" hx-delete="/admin/posts/#{post.id}" hx-target="#post-#{post.id}" delete
td
button hx-post="/admin/posts/#{post.id}/publish" publish
div class="max-w-screen-md mx-auto border-t-4 border-solid border-gray-400 dark:border-gray-600"