Tag merging UI

This commit is contained in:
2023-05-07 22:15:37 +10:00
parent 9ef9eda41c
commit 8038da9107
14 changed files with 154 additions and 4 deletions

View File

@@ -6,6 +6,6 @@ div class="prose dark:prose-invert max-w-prose mx-auto mb-12"
div id="auto-tag-#{auto_tagging.id}" class="mb-2"
== "Tag post with <strong>#{auto_tagging.tag.label}</strong> when <strong>#{auto_tagging.title_only? ? "title" : "content"}</strong> contains <strong>#{auto_tagging.term}</strong>"
= " — "
button hx-delete="/admin/tags/auto_taggings/#{auto_tagging.id}" hx-target="#auto-tag-#{auto_tagging.id}" delete
button class="text-red-600 hover:text-red-400" hx-delete="/admin/tags/auto_taggings/#{auto_tagging.id}" hx-target="#auto-tag-#{auto_tagging.id}" delete
a class="bg-blue-100 text-blue-600 p-1 rounded no-underline" href="/admin/tags/auto_tagging/new" New
div class="max-w-screen-md mx-auto border-t-4 border-solid border-gray-400 dark:border-gray-600"

View File

@@ -10,19 +10,22 @@ div class="max-w-prose mx-auto"
form method="POST" action="/admin/tags/auto_tagging"
div class="mb-4"
label class="text-gray-800 dark:text-gray-200" for="title_contains" Title contains:&nbsp;
label class="text-gray-800 dark:text-gray-200 mr-2" for="title_contains" Title contains:
input class="text-gray-800 p-1 border border-gray-400" type="text" id="title_contains" name="title_contains"
div class="mb-4"
label class="text-gray-800 dark:text-gray-200" for="body_contains" ... or body contains:&nbsp;
label class="text-gray-800 dark:text-gray-200 mr-2" for="body_contains" ... or body contains:
input class="text-gray-800 p-1 border border-gray-400" type="text" id="body_contains" name="body_contains"
div class="mb-4"
label class="text-gray-800 dark:text-gray-200" for="tags" Tag with:&nbsp;
label class="text-gray-800 dark:text-gray-200 mr-2" for="tags" Tag with:
select class="text-gray-800" id="tags" name="tag_id"
- tags.each do |tag|
option value=tag.id
= tag.label
div class="mb-4"
label class="text-gray-800 dark:text-gray-200 mr-2" for="tag_now" Tag all now?
input type="checkbox" name="tag_now" id="tag_now"
div class="mb-4"
button class="rounded bg-blue-100 hover:bg-blue-200 text-blue-600 px-2 hover:cursor-pointer" type="submit"
= "Create"

View File

@@ -11,6 +11,8 @@ div class="max-w-prose mx-auto prose dark:prose-invert"
a href="/admin/tags" Tags
li
a href="/admin/tags/auto_tagging" Auto tagging
li
a href="/admin/tags/merge" Merge tags
li
a href="/admin/bookmarks" Bookmarks

View File

@@ -0,0 +1,11 @@
div class="mb-12 prose dark:prose-invert max-w-prose mx-auto text-gray-800 dark:text-gray-200"
h1 Admin // Merge Tags
div class="max-w-prose mx-auto"
ul
- tags.each do |tag|
li id="tag-#{tag.id}" class="text-gray-800 dark:text-gray-200"
a href="/admin/tags/merge/#{tag.id}"
= "#{tag.label} (#{tag.posts.count})"
div class="max-w-screen-md mx-auto border-t-4 border-solid border-gray-400 dark:border-gray-600"

View File

@@ -0,0 +1,19 @@
div class="mb-12 prose dark:prose-invert max-w-prose mx-auto text-gray-800 dark:text-gray-200"
h1 Admin // Merge Tags
div class="max-w-prose mx-auto prose dark:prose-invert"
h3 Pick a tag to merge in to #{tag.label}
form action="/admin/tags/merge" method="POST"
input type="hidden" name="target_id" value=tag.id
div class="mb-4"
select class="text-gray-800" name="source_id"
- tags.each do |source_tag|
option value=source_tag.id
= source_tag.label
div class="mb-4"
button class="rounded bg-blue-100 hover:bg-blue-200 text-blue-600 px-2 hover:cursor-pointer"
= "Merge"
div class="max-w-screen-md mx-auto border-t-4 border-solid border-gray-400 dark:border-gray-600"