diff --git a/app/components/tag_list_component/tag_list_component.html.scss b/app/components/tag_list_component/tag_list_component.html.scss
index b3cefc708..07bb530f8 100644
--- a/app/components/tag_list_component/tag_list_component.html.scss
+++ b/app/components/tag_list_component/tag_list_component.html.scss
@@ -1,4 +1,8 @@
.tag-list {
+ a.wiki-link {
+ margin-right: 0.25rem;
+ }
+
a.search-tag {
overflow-wrap: normal;
}
@@ -11,9 +15,7 @@
}
}
- &.categorized-tag-list {
- ul {
- margin-bottom: 1em;
- }
+ ul {
+ margin-bottom: 1em;
}
}
diff --git a/app/javascript/src/styles/common/main_layout.scss b/app/javascript/src/styles/common/main_layout.scss
index d3eaf4edf..60177ba70 100644
--- a/app/javascript/src/styles/common/main_layout.scss
+++ b/app/javascript/src/styles/common/main_layout.scss
@@ -1,5 +1,3 @@
-@import "../base/000_vars.scss";
-
div#page {
overflow: visible;
margin: 0 20px;
diff --git a/app/javascript/src/styles/common/tables.scss b/app/javascript/src/styles/common/tables.scss
index 8e68c7271..91378da69 100644
--- a/app/javascript/src/styles/common/tables.scss
+++ b/app/javascript/src/styles/common/tables.scss
@@ -13,17 +13,12 @@ table.striped {
}
}
- .number, .links {
- text-align: right;
- }
-
thead {
tr {
border-bottom: var(--table-header-border);
}
th {
- font-weight: bold;
text-align: left;
}
}
@@ -72,3 +67,11 @@ table.search, table.aligned-vertical {
table.aligned-vertical {
height: 1.75em;
}
+
+table.table-sm {
+ th, td { padding: 0.25rem; }
+}
+
+table.table-md {
+ th, td { padding: 0.5rem; }
+}
diff --git a/app/javascript/src/styles/common/utilities.scss b/app/javascript/src/styles/common/utilities.scss
new file mode 100644
index 000000000..1612571e5
--- /dev/null
+++ b/app/javascript/src/styles/common/utilities.scss
@@ -0,0 +1,48 @@
+// A small set of utility classes, modeled after TailwindCSS and Bootstrap.
+//
+// https://tailwindcss.com/docs
+// https://getbootstrap.com/docs/5.0/utilities/spacing/
+
+$spacer: 0.25rem; /* 4px */
+
+.font-monospace { font-family: var(--monospace-font); }
+.font-bold { font-weight: bold; }
+
+.inline-block { display: inline-block; }
+.flex { display: flex; }
+
+.text-center { text-align: center; }
+
+.mx-auto { margin-left: auto; margin-right: auto; }
+.mx-2 { margin-left: 2 * $spacer; margin-right: 2 * $spacer; }
+
+.mt-2 { margin-top: 2 * $spacer; }
+.mt-4 { margin-top: 4 * $spacer; }
+
+.mb-2 { margin-bottom: 2 * $spacer; }
+.mb-4 { margin-bottom: 4 * $spacer; }
+
+.ml-4 { margin-left: 4 * $spacer; }
+
+.p-4 { padding: 4 * $spacer; }
+
+.w-1\/4 { width: 25%; }
+.w-full { width: 100%; }
+
+.h-10 { height: 10 * $spacer; }
+
+.space-x-4 > * + * { margin-left: 4 * $spacer; }
+.space-y-4 > * + * { margin-top: 4 * $spacer; }
+
+.align-top { vertical-align: top; }
+
+.flex-auto { flex: 1 1 auto; }
+.items-center { align-items: center; }
+
+@media screen and (min-width: 660px) {
+ .md\:inline-block { display: inline-block; }
+ .md\:flex { display: flex; }
+
+ .md\:space-x-8 > * + * { margin-left: 8 * $spacer; }
+ .md\:space-y-0 > * + * { margin-top: 0; }
+}
diff --git a/app/javascript/src/styles/specific/artist_commentary_versions.scss b/app/javascript/src/styles/specific/artist_commentary_versions.scss
deleted file mode 100644
index c60410940..000000000
--- a/app/javascript/src/styles/specific/artist_commentary_versions.scss
+++ /dev/null
@@ -1,15 +0,0 @@
-div#c-artist-commentary-versions {
- #a-index {
- div.commentary-body-section {
- padding: 0.5em;
- margin-bottom: 0.5em;
- border: var(--footer-border);
- }
-
- td.original-column,
- td.translated-column {
- padding-top: 0.5em;
- vertical-align: top;
- }
- }
-}
diff --git a/app/javascript/src/styles/specific/artists.scss b/app/javascript/src/styles/specific/artists.scss
deleted file mode 100644
index 6d8545599..000000000
--- a/app/javascript/src/styles/specific/artists.scss
+++ /dev/null
@@ -1,11 +0,0 @@
-div#c-artists, div#excerpt {
- .recent-posts h2 {
- margin: 1em 0 0.5em;
- }
-
- div#a-index {
- td {
- height: 2.25em; /* should match .artist-other-name line-height */
- }
- }
-}
diff --git a/app/javascript/src/styles/specific/error.scss b/app/javascript/src/styles/specific/error.scss
index 468a2c41e..0e41289e5 100644
--- a/app/javascript/src/styles/specific/error.scss
+++ b/app/javascript/src/styles/specific/error.scss
@@ -1,6 +1,3 @@
ul.backtrace {
- font: var(--monospace-font);
background: var(--dtext-code-background);
- padding: 1em;
- margin-bottom: 1em;
}
diff --git a/app/javascript/src/styles/specific/favorite_groups.scss b/app/javascript/src/styles/specific/favorite_groups.scss
deleted file mode 100644
index dc184a6c6..000000000
--- a/app/javascript/src/styles/specific/favorite_groups.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-#c-favorite-groups #a-edit {
- textarea {
- height: 10em;
- }
-}
diff --git a/app/javascript/src/styles/specific/ip_addresses.scss b/app/javascript/src/styles/specific/ip_addresses.scss
deleted file mode 100644
index 5bb7c0ca0..000000000
--- a/app/javascript/src/styles/specific/ip_addresses.scss
+++ /dev/null
@@ -1,7 +0,0 @@
-#c-ip-addresses {
- .ip-address-details, .ip-address-map {
- display: inline-block;
- margin-right: 2em;
- vertical-align: top;
- }
-}
diff --git a/app/javascript/src/styles/specific/mod_queue.scss.erb b/app/javascript/src/styles/specific/mod_queue.scss.erb
index 16c5ab575..43925c57f 100644
--- a/app/javascript/src/styles/specific/mod_queue.scss.erb
+++ b/app/javascript/src/styles/specific/mod_queue.scss.erb
@@ -1,5 +1,3 @@
-@import "../base/000_vars.scss";
-
div#c-modqueue {
div.post {
padding: 1em;
diff --git a/app/javascript/src/styles/specific/pools.scss b/app/javascript/src/styles/specific/pools.scss
index 93d90cc3f..e1bd35556 100644
--- a/app/javascript/src/styles/specific/pools.scss
+++ b/app/javascript/src/styles/specific/pools.scss
@@ -1,5 +1,3 @@
-@import "../base/000_vars.scss";
-
a.pool-category-series, .pool-category-series a {
color: var(--series-pool-color);
@@ -16,51 +14,18 @@ a.pool-category-collection, .pool-category-collection a {
}
}
-div#add-to-pool-dialog {
- font-size: 0.8em;
-
- form {
- margin-bottom: 1em;
- }
-
- li {
- margin-left: 1em;
- cursor: pointer;
- }
-}
-
-div#c-pools {
- textarea {
- height: 10em;
- }
-
- div#a-show {
- div#description {
- margin-bottom: 1em;
- }
- }
-}
-
div#c-pool-orders, div#c-favorite-group-orders {
div#a-edit {
- ul.ui-sortable {
- list-style-type: none;
+ ul.ui-sortable li {
+ display: inline-block;
+ min-width: 150px;
- li {
- cursor: pointer;
- margin-right: 20px;
- margin-bottom: 20px;
- min-width: 150px;
- min-height: 150px;
- padding: 10px;
- display: inline-block;
+ &, .post-preview a {
+ cursor: move;
}
- li.ui-state-default {
- background: none;
- }
-
- li.ui-state-placeholder {
+ &.ui-state-placeholder {
+ border: none;
background: none;
}
}
diff --git a/app/javascript/src/styles/specific/post_versions.scss b/app/javascript/src/styles/specific/post_versions.scss
index bff0195b7..92a5cbb37 100644
--- a/app/javascript/src/styles/specific/post_versions.scss
+++ b/app/javascript/src/styles/specific/post_versions.scss
@@ -7,10 +7,6 @@ body.c-post-versions.a-index {
min-width: 2em;
}
- .advanced-search-link {
- margin: 0 1em;
- }
-
ins.diff-obsolete a {
color: var(--diff-list-obsolete-added-color);
font-weight: bold;
diff --git a/app/javascript/src/styles/specific/posts.scss b/app/javascript/src/styles/specific/posts.scss
index 99cae7de3..56e651cef 100644
--- a/app/javascript/src/styles/specific/posts.scss
+++ b/app/javascript/src/styles/specific/posts.scss
@@ -22,14 +22,6 @@
}
}
-#saved-searches-nav {
- margin-top: 1em;
-}
-
-#excerpt p.links {
- margin-top: 1em;
-}
-
#edit-dialog {
/* Hide everything but the rating and tags fields. */
.post_has_embedded_notes_fieldset, .post_lock_fieldset, .post_parent_id,
@@ -68,11 +60,6 @@
div#c-posts {
.fav-buttons {
font-size: 14pt;
- margin: 0.5em 0;
-
- i {
- margin-right: 0.1em;
- }
button.ui-button {
padding: 0.25em 0.75em;
@@ -97,8 +84,6 @@ div#c-posts {
#ugoira-controls {
div#seek-slider {
- margin-top: 0.5em;
- float: right;
overflow: visible;
background: var(--ugoira-seek-slider-background);
@@ -107,24 +92,12 @@ div#c-posts {
}
}
- #save-video-link {
- margin: 0.5em 0;
- }
-
- button {
- margin-top: 0.3em;
- }
-
#ugoira-load-progress {
display: inline;
margin-left: 17px;
}
}
- .outer-recent-searches {
- overflow: hidden;
- }
-
.post-notice {
margin: 0.5em 0;
padding: 0.5em;
@@ -144,40 +117,19 @@ div#c-posts {
&.post-notice-search { background: var(--post-search-notice-background); }
}
- aside#sidebar > section > ul {
- margin-bottom: 1em;
-
- a.wiki-link {
- margin-right: 0.3em;
- }
- }
-
- aside#sidebar > section > ul ul li {
- margin-left: 1em;
- }
-
- #search-box-form {
- display: flex;
-
- input {
- min-width: 0;
- flex: 1;
- }
-
- #search-box-submit {
- padding: 2px 6px;
- border-left: none;
- border-radius: 0;
- }
+ /* override default tag styling */
+ #search-box-submit {
+ padding: 2px 6px;
+ border-left: none;
+ border-radius: 0;
}
div#a-index {
menu#post-sections {
- margin-bottom: 0.5em;
font-size: var(--text-lg);
li {
- padding: 0 1em 0.5em 0;
+ padding: 0 1em 0 0;
&.active {
font-weight: bold;
@@ -191,12 +143,7 @@ div#c-posts {
word-break: break-all;
}
- .recommended-posts {
- margin-top: 1em;
- }
-
menu#post-sections {
- margin: 0;
font-size: var(--text-lg);
li {
@@ -208,16 +155,11 @@ div#c-posts {
margin: 1em 0 0.5em;
}
- textarea {
- margin-bottom: 0.25em;
- }
-
#edit textarea {
width: 100%;
}
#favlist {
- margin-left: 1em;
word-wrap: break-word;
}
@@ -289,8 +231,6 @@ div#c-posts, div#c-uploads {
/* Fetch source data box */
div#source-info {
border-radius: 4px;
- margin: 1em 0;
- padding: 1em;
border: var(--fetch-source-data-border);
&:not(.loading) #source-info-loading { display: none; }
@@ -338,31 +278,6 @@ div#c-posts, div#c-uploads {
}
}
-div#c-explore-posts {
- a.desc {
- font-weight: bold;
- margin: 0 0.5em;
- }
-
- .date-nav-links {
- text-align: center;
- }
-
- .period {
- margin: 0 5em;
-
- &:first-child {
- margin-left: 0;
- }
- }
-}
-
-div#unapprove-dialog {
- p {
- margin-bottom: 1em;
- }
-}
-
#add-commentary-dialog {
input {
width: 70%;
diff --git a/app/javascript/src/styles/specific/privacy_policy.scss b/app/javascript/src/styles/specific/privacy_policy.scss
deleted file mode 100644
index e67ef1ce3..000000000
--- a/app/javascript/src/styles/specific/privacy_policy.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-#c-static #a-privacy-policy {
- .summary {
- font-style: italic;
- }
-}
diff --git a/app/javascript/src/styles/specific/related_tags.scss b/app/javascript/src/styles/specific/related_tags.scss
index b1dcc95c8..bd201bebb 100644
--- a/app/javascript/src/styles/specific/related_tags.scss
+++ b/app/javascript/src/styles/specific/related_tags.scss
@@ -7,26 +7,12 @@ div#related-tags-container {
}
div.related-tags {
- width: 100%;
- margin-bottom: 1em;
- padding: 1em;
background: var(--related-tags-container-background);
overflow: auto;
- border-radius: 4px;
- display: flex;
flex-wrap: wrap;
- div.user-related-tags-columns, div.current-related-tags-columns, div.source-related-tags-columns {
- display: flex;
- }
-
div.tag-column {
max-width: 15em;
- margin-right: 2em;
-
- &.is-empty-true {
- display: none;
- }
&.wide-column {
max-width: 45em;
diff --git a/app/javascript/src/styles/specific/site_map.scss b/app/javascript/src/styles/specific/site_map.scss
deleted file mode 100644
index 11c2b7e9b..000000000
--- a/app/javascript/src/styles/specific/site_map.scss
+++ /dev/null
@@ -1,15 +0,0 @@
-@import "../base/000_vars.scss";
-
-div#c-static {
- div#a-site-map {
- display: flex;
-
- section {
- flex: 1;
-
- ul {
- margin-bottom: 1.5em;
- }
- }
- }
-}
diff --git a/app/javascript/src/styles/specific/user_upgrades.scss b/app/javascript/src/styles/specific/user_upgrades.scss
index 283347b91..a4a9993ba 100644
--- a/app/javascript/src/styles/specific/user_upgrades.scss
+++ b/app/javascript/src/styles/specific/user_upgrades.scss
@@ -1,26 +1,6 @@
div#c-user-upgrades {
div#a-new {
- margin: 0 auto;
-
- * {
- margin-bottom: 1em;
- }
-
- h1 {
- text-align: center;
- }
-
table#feature-comparison {
- width: 100%;
-
- th {
- font-weight: bold;
- }
-
- colgroup {
- width: 10em;
- }
-
colgroup#basic {
background-color: var(--user-upgrade-basic-background-color);
}
@@ -32,12 +12,6 @@ div#c-user-upgrades {
colgroup#platinum {
background-color: var(--user-upgrade-platinum-background-color);
}
-
- td, th {
- text-align: center;
- vertical-align: top;
- padding: 0.5em 0;
- }
}
}
}
diff --git a/app/javascript/src/styles/specific/users.scss b/app/javascript/src/styles/specific/users.scss
index 93269df0c..954d665f5 100644
--- a/app/javascript/src/styles/specific/users.scss
+++ b/app/javascript/src/styles/specific/users.scss
@@ -5,24 +5,10 @@ div#c-users {
}
table.user-statistics {
- tr {
- height: 1.75em;
- }
-
th {
width: 15%;
text-align: right;
padding-right: 1em;
- vertical-align: top;
- }
-
- td {
- width: 85%;
- vertical-align: top;
- }
-
- p {
- margin-bottom: 0.5em;
}
.user-verified-email-icon {
@@ -36,14 +22,6 @@ div#c-users {
}
div#a-edit {
- h1 {
- margin: 0.5em 0;
- }
-
- h2 {
- margin: 0.5em 0;
- }
-
div.input {
margin-bottom: 2em;
}
diff --git a/app/javascript/src/styles/specific/wiki_page_versions.scss b/app/javascript/src/styles/specific/wiki_page_versions.scss
index 15f895024..99886f959 100644
--- a/app/javascript/src/styles/specific/wiki_page_versions.scss
+++ b/app/javascript/src/styles/specific/wiki_page_versions.scss
@@ -10,10 +10,4 @@ div#c-wiki-page-versions {
text-decoration: none;
}
}
-
- #a-index {
- table {
- margin-bottom: 1em;
- }
- }
}
diff --git a/app/javascript/src/styles/specific/z_responsive.scss b/app/javascript/src/styles/specific/z_responsive.scss
index f83d1f3ee..3236a3ca8 100644
--- a/app/javascript/src/styles/specific/z_responsive.scss
+++ b/app/javascript/src/styles/specific/z_responsive.scss
@@ -1,5 +1,3 @@
-@import "../base/000_vars.scss";
-
@media screen and (max-width: 660px) {
div#page {
margin: 0 0.5rem;
diff --git a/app/logical/table_builder.rb b/app/logical/table_builder.rb
index df628cb0f..192c96171 100644
--- a/app/logical/table_builder.rb
+++ b/app/logical/table_builder.rb
@@ -35,12 +35,13 @@ class TableBuilder
end
end
- attr_reader :columns, :table_attributes, :items
+ attr_reader :columns, :table_attributes, :row_attributes, :items
- def initialize(items, **table_attributes)
+ def initialize(items, tr: {}, **table_attributes)
@items = items
@columns = []
@table_attributes = { class: "striped", **table_attributes }
+ @row_attributes = tr
if items.respond_to?(:model_name)
@table_attributes[:id] ||= "#{items.model_name.plural.dasherize}-table"
@@ -58,6 +59,7 @@ class TableBuilder
{
id: "#{item.model_name.singular.dasherize}-#{item.id}",
+ **row_attributes,
**ApplicationController.helpers.data_attributes_for(item, "data", item.html_data_attributes)
}
end
diff --git a/app/views/artist_commentary_versions/_listing.html.erb b/app/views/artist_commentary_versions/_listing.html.erb
index 60aa9c7d4..ed852ad4c 100644
--- a/app/views/artist_commentary_versions/_listing.html.erb
+++ b/app/views/artist_commentary_versions/_listing.html.erb
@@ -12,35 +12,31 @@
<% end %>
<% if listing_type(:post_id) == :standard %>
<% t.column "Version", width: "3%" do |commentary_version| %>
- <%= link_to "#{commentary_version.post_id}.#{commentary_version.id}»", artist_commentary_versions_path(search: {post_id: commentary_version.post_id}, anchor: "artist-commentary-version-#{commentary_version.id}") %>
+ <%= link_to "#{commentary_version.post_id}.#{commentary_version.id} »".html_safe, artist_commentary_versions_path(search: {post_id: commentary_version.post_id}, anchor: "artist-commentary-version-#{commentary_version.id}") %>
<% end %>
<% end %>
- <% t.column "Original", width: "40%", td: {class: "diff-body"} do |commentary_version| %>
+ <% t.column "Original", width: "40%", td: { class: "diff-body align-top mt-2" } do |commentary_version| %>
<% if !commentary_version.unchanged_empty?(:original_title) %>
- Title:
-
+
<%= commentary_version_field_diff(commentary_version, params[:type], :original_title) %>
-
+
<% end %>
<% if !commentary_version.unchanged_empty?(:original_description) %>
- Description:
-
+
<%= commentary_version_field_diff(commentary_version, params[:type], :original_description) %>
-
+
<% end %>
<% end %>
- <% t.column "Translated", width: "40%", td: {class: "diff-body"} do |commentary_version| %>
+ <% t.column "Translated", width: "40%", td: { class: "diff-body align-top mt-4" } do |commentary_version| %>
<% if !commentary_version.unchanged_empty?(:translated_title) %>
- Title:
-
+
<%= commentary_version_field_diff(commentary_version, params[:type], :translated_title) %>
-
+
<% end %>
<% if !commentary_version.unchanged_empty?(:translated_description) %>
- Description:
-
+
<%= commentary_version_field_diff(commentary_version, params[:type], :translated_description) %>
-
+
<% end %>
<% end %>
<% t.column "Changes", width: "3%" do |commentary_version| %>
diff --git a/app/views/artists/index.html.erb b/app/views/artists/index.html.erb
index 4b16fcaf7..9f8f2816d 100644
--- a/app/views/artists/index.html.erb
+++ b/app/views/artists/index.html.erb
@@ -4,7 +4,7 @@
<%= render "search" %>
- <%= table_for @artists, class: "striped autofit" do |t| %>
+ <%= table_for @artists, class: "striped autofit", tr: { class: "h-10" } do |t| %>
<% t.column "Name" do |artist| %>
<%= link_to artist.name, artist, class: "tag-type-#{Tag.categories.artist}" %>
<%= artist.tag.try(:post_count) || 0 %>
diff --git a/app/views/explore/posts/_nav_links.html.erb b/app/views/explore/posts/_nav_links.html.erb
index 18f47e56b..83a93c28b 100644
--- a/app/views/explore/posts/_nav_links.html.erb
+++ b/app/views/explore/posts/_nav_links.html.erb
@@ -1,7 +1,7 @@
<%# path, date, scale, %>
-
+
<%= render "explore/posts/nav_links_for_scale", path: path, date: date, selected_scale: scale, scale: "day" %>
<%= render "explore/posts/nav_links_for_scale", path: path, date: date, selected_scale: scale, scale: "week" %>
<%= render "explore/posts/nav_links_for_scale", path: path, date: date, selected_scale: scale, scale: "month" %>
-
+
diff --git a/app/views/explore/posts/_nav_links_for_scale.html.erb b/app/views/explore/posts/_nav_links_for_scale.html.erb
index e50267610..0258a2cbc 100644
--- a/app/views/explore/posts/_nav_links_for_scale.html.erb
+++ b/app/views/explore/posts/_nav_links_for_scale.html.erb
@@ -1,17 +1,17 @@
<%# path, date, selected_scale, scale %>
-
+
<% if selected_scale == scale %>
<%= link_to "« prev", send(path, date: prev_date_for_scale(date, scale), scale: scale), id: "paginator-prev", rel: "prev", "data-shortcut": "a left" %>
<% else %>
<%= link_to "« prev", send(path, date: prev_date_for_scale(date, scale), scale: scale) %>
<% end %>
- <%= link_to scale.capitalize, send(path, date: date, scale: scale), class: "desc" %>
+ <%= link_to scale.capitalize, send(path, date: date, scale: scale), class: "font-bold mx-2" %>
<% if selected_scale == scale %>
<%= link_to "next »", send(path, date: next_date_for_scale(date, scale), scale: scale), id: "paginator-next", rel: "next", "data-shortcut": "d right" %>
<% else %>
<%= link_to "next »", send(path, date: next_date_for_scale(date, scale), scale: scale) %>
<% end %>
-
+
diff --git a/app/views/favorite_group_orders/edit.html.erb b/app/views/favorite_group_orders/edit.html.erb
index 5a6ded13c..be69506ce 100644
--- a/app/views/favorite_group_orders/edit.html.erb
+++ b/app/views/favorite_group_orders/edit.html.erb
@@ -7,9 +7,9 @@
<% @favorite_group.posts.limit(1_000).each do |post| %>
-
- <%= post_preview(post, show_deleted: true).presence || "Hidden: Post ##{post.id}" %>
-
+ <%= tag.li id: "favorite_group[post_ids]_#{post.id}" do -%>
+ <%= post_preview(post, show_deleted: true).presence || "Hidden: Post ##{post.id}" -%>
+ <% end -%>
<% end %>
diff --git a/app/views/ip_addresses/_info.html.erb b/app/views/ip_addresses/_info.html.erb
index 7cc2f5657..a8f13f1c9 100644
--- a/app/views/ip_addresses/_info.html.erb
+++ b/app/views/ip_addresses/_info.html.erb
@@ -1,75 +1,77 @@
-
-
-
- Location
-
- <% if ip_info.dig(:location, :city) %>
- <%= ip_info.dig(:location, :city) %>,
- <% end %>
- <% if ip_info.dig(:location, :region, :name).present? %>
- <%= ip_info.dig(:location, :region, :name) %>,
- <% end %>
- <%= ip_info.dig(:location, :country, :name) %>
-
-
-
- Network
-
- <%= link_to ip_info.dig(:connection, :route), ip_addresses_path(search: { ip_addr: ip_info.dig(:connection, :route) }) %>
- (<%= link_to "info", "https://ipinfo.io/AS#{ip_info.dig(:connection, :asn)}/#{ip_info.dig(:connection, :route)}" %>)
-
-
-
- Proxy
- <%= ip_address.lookup.is_proxy? ? "yes" : "no" %>
-
-
- IP Banned
-
- <% if IpBan.ip_matches(ip_address.ip_addr.to_s).exists? %>
- yes (<%= link_to "info", ip_bans_path(search: { ip_addr: ip_address.to_s }) %>)
- <% else %>
- no
- <% end %>
-
-
-
- Type
- <%= ip_info.dig(:connection, :type) %>
-
-
- ASN
-
- <%= link_to "AS#{ip_info.dig(:connection, :asn)}", "https://ipinfo.io/AS#{ip_info.dig(:connection, :asn)}" %>
-
-
-
- Organization
-
- <%= ip_info.dig(:connection, :organization) %>
-
-
- <% if ip_info.dig(:carrier, :name).present? %>
+
+
+
- Mobile Carrier
- <%= ip_info.dig(:carrier, :name) %>
+ Location
+
+ <% if ip_info.dig(:location, :city) %>
+ <%= ip_info.dig(:location, :city) %>,
+ <% end %>
+ <% if ip_info.dig(:location, :region, :name).present? %>
+ <%= ip_info.dig(:location, :region, :name) %>,
+ <% end %>
+ <%= ip_info.dig(:location, :country, :name) %>
+
- <% end %>
-
- Website
- <%= external_link_to("http://#{ip_info.dig(:connection, :domain)}") %>
-
-
- Details
-
-
- <%= JSON.pretty_generate(ip_info) %>
-
-
-
-
-
+
+ Network
+
+ <%= link_to ip_info.dig(:connection, :route), ip_addresses_path(search: { ip_addr: ip_info.dig(:connection, :route) }) %>
+ (<%= link_to "info", "https://ipinfo.io/AS#{ip_info.dig(:connection, :asn)}/#{ip_info.dig(:connection, :route)}" %>)
+
+
+
+ Proxy
+ <%= ip_address.lookup.is_proxy? ? "yes" : "no" %>
+
+
+ IP Banned
+
+ <% if IpBan.ip_matches(ip_address.ip_addr.to_s).exists? %>
+ yes (<%= link_to "info", ip_bans_path(search: { ip_addr: ip_address.to_s }) %>)
+ <% else %>
+ no
+ <% end %>
+
+
+
+ Type
+ <%= ip_info.dig(:connection, :type) %>
+
+
+ ASN
+
+ <%= link_to "AS#{ip_info.dig(:connection, :asn)}", "https://ipinfo.io/AS#{ip_info.dig(:connection, :asn)}" %>
+
+
+
+ Organization
+
+ <%= ip_info.dig(:connection, :organization) %>
+
+
+ <% if ip_info.dig(:carrier, :name).present? %>
+
+ Mobile Carrier
+ <%= ip_info.dig(:carrier, :name) %>
+
+ <% end %>
+
+ Website
+ <%= external_link_to("http://#{ip_info.dig(:connection, :domain)}") %>
+
+
+ Details
+
+
+ <%= JSON.pretty_generate(ip_info) %>
+
+
+
+
+
-
- <%= embedded_map(ip_info.dig(:location, :latitude), ip_info.dig(:location, :longitude), 300, 200) %>
+
+ <%= embedded_map(ip_info.dig(:location, :latitude), ip_info.dig(:location, :longitude), 300, 200) %>
+
diff --git a/app/views/pool_orders/edit.html.erb b/app/views/pool_orders/edit.html.erb
index 9f150742c..36fe39d6e 100644
--- a/app/views/pool_orders/edit.html.erb
+++ b/app/views/pool_orders/edit.html.erb
@@ -13,9 +13,9 @@
<% @pool.posts.each do |post| %>
-
- <%= post_preview(post, show_deleted: true).presence || "Hidden: Post ##{post.id}" %>
-
+ <%= tag.li id: "pool[post_ids]_#{post.id}" do -%>
+ <%= post_preview(post, show_deleted: true).presence || "Hidden: Post ##{post.id}" -%>
+ <% end -%>
<% end %>
<% else %>
diff --git a/app/views/pools/show.html.erb b/app/views/pools/show.html.erb
index d498e9b0b..c88e0eb31 100644
--- a/app/views/pools/show.html.erb
+++ b/app/views/pools/show.html.erb
@@ -14,7 +14,7 @@
<% end %>
-
+
<%= format_text(@pool.description) %>
diff --git a/app/views/post_versions/index.html.erb b/app/views/post_versions/index.html.erb
index 0349fb7ec..23aaac573 100644
--- a/app/views/post_versions/index.html.erb
+++ b/app/views/post_versions/index.html.erb
@@ -14,8 +14,11 @@
<%= f.input :added_tags_include_all, label: "Added Tags", input_html: { "data-autocomplete": "tag-query", value: params.dig(:search, :added_tags_include_all) } %>
<%= f.input :removed_tags_include_all, label: "Removed Tags", input_html: { "data-autocomplete": "tag-query", value: params.dig(:search, :removed_tags_include_all) } %>
<%= f.input :changed_tags, label: "Changed Tags", input_html: { "data-autocomplete": "tag-query", value: params.dig(:search, :changed_tags) }, hint: "Added or removed tags" %>
- <%= f.submit "Search" %>
- <%= link_to "Advanced", search_post_versions_path(params.except(:controller, :action, :index, :commit, :type).permit!), class: "advanced-search-link" %>
+
+
+ <%= f.submit "Search" %>
+ <%= link_to "Advanced", search_post_versions_path(params.except(:controller, :action, :index, :commit, :type).permit!) %>
+
<% end %>
<%= render "posts/partials/common/inline_blacklist" %>
diff --git a/app/views/posts/index.html.erb b/app/views/posts/index.html.erb
index 2e2e8f9f6..ce0673544 100644
--- a/app/views/posts/index.html.erb
+++ b/app/views/posts/index.html.erb
@@ -16,7 +16,7 @@
<% end %>
<% content_for(:content) do %>
-
+
Posts
<% if @post_set.artist.present? %>
diff --git a/app/views/posts/partials/common/_search.html.erb b/app/views/posts/partials/common/_search.html.erb
index 27e0dc098..e1077018d 100644
--- a/app/views/posts/partials/common/_search.html.erb
+++ b/app/views/posts/partials/common/_search.html.erb
@@ -2,11 +2,11 @@
Search
- <%= form_tag(path, method: "get", id: "search-box-form") do %>
+ <%= form_tag(path, method: "get", id: "search-box-form", class: "flex") do %>
<% if params[:random] %>
<%= hidden_field_tag :random, params[:random] %>
<% end %>
- <%= text_field_tag("tags", tags, :id => tags_dom_id, :"data-shortcut" => "q", :"data-autocomplete" => "tag-query") %>
+ <%= text_field_tag("tags", tags, :id => tags_dom_id, :class => "flex-auto", :"data-shortcut" => "q", :"data-autocomplete" => "tag-query") %>
<%= search_icon %>
<% end %>
diff --git a/app/views/posts/partials/index/_excerpt.html.erb b/app/views/posts/partials/index/_excerpt.html.erb
index 5bb118c2d..8933993f6 100644
--- a/app/views/posts/partials/index/_excerpt.html.erb
+++ b/app/views/posts/partials/index/_excerpt.html.erb
@@ -15,7 +15,7 @@
<%= render "artists/summary", artist: artist %>
<%= render "tag_relationships/alias_and_implication_list", tag: artist.tag %>
-
+
<% if artist.wiki_page.present? %>
<%= link_to "View wiki", artist.wiki_page, id: "view-wiki-link" %> |
<% end %>
@@ -33,7 +33,7 @@
<%= format_text(wiki_page.body) %>
<%= render "tag_relationships/alias_and_implication_list", tag: wiki_page.tag %>
-
+
<%= link_to_wiki "View wiki", wiki_page.title, id: "view-wiki-link" %>
@@ -52,7 +52,7 @@
<%= format_text(post_set.pool.description) %>
-
+
<%= link_to "View pool", pool_path(post_set.pool.id) %>
<% end %>
diff --git a/app/views/posts/partials/show/_information.html.erb b/app/views/posts/partials/show/_information.html.erb
index 219f9797e..ff295bfc2 100644
--- a/app/views/posts/partials/show/_information.html.erb
+++ b/app/views/posts/partials/show/_information.html.erb
@@ -28,7 +28,7 @@
<% if policy(post).can_view_favlist? %>
<%= link_to "Show »", "#", id: "show-favlist-link", style: ("display: none;" if post.fav_count == 0) %>
<%= link_to "« Hide", "#", id: "hide-favlist-link", style: "display: none;" %>
-
+
<%= render "posts/partials/show/favorite_list", post: post %>
<% end %>
diff --git a/app/views/posts/partials/show/_ugoira_original.html.erb b/app/views/posts/partials/show/_ugoira_original.html.erb
index aa0695629..8d32f0778 100644
--- a/app/views/posts/partials/show/_ugoira_original.html.erb
+++ b/app/views/posts/partials/show/_ugoira_original.html.erb
@@ -10,16 +10,14 @@
) %>
-
+
<%= button_tag "Play", :id => "ugoira-play", :style => "display: none;" %>
<%= button_tag "Pause", :id => "ugoira-pause" %>
-
+
-
- <% if post.has_ugoira_webm? %>
- <%= link_to "Save as video (right click and save)", post.tagged_large_file_url %>
- <% else %>
- WebM conversion pending
- <% end %>
-
+ <% if post.has_ugoira_webm? %>
+ <%= link_to "Save as video (right click and save)", post.tagged_large_file_url %>
+ <% else %>
+ WebM conversion pending
+ <% end %>
diff --git a/app/views/posts/show.html.erb b/app/views/posts/show.html.erb
index 679d0c189..23d4dbd93 100644
--- a/app/views/posts/show.html.erb
+++ b/app/views/posts/show.html.erb
@@ -50,7 +50,7 @@
<% end -%>
<% if policy(Favorite).create? %>
- <%= content_tag(:div, class: "fav-buttons fav-buttons-#{@post.favorited_by?(CurrentUser.user)}") do %>
+ <%= content_tag(:div, class: "mb-2 fav-buttons fav-buttons-#{@post.favorited_by?(CurrentUser.user)}") do %>
<%= form_tag(favorites_path(post_id: @post.id), method: "post", id: "add-fav-button", "data-remote": true) do %>
<%= button_tag empty_heart_icon, class: "ui-button ui-widget ui-corner-all", "data-disable-with": spinner_icon %>
<% end %>
@@ -86,7 +86,7 @@
<%= render_post_navbar(@post, current_user: CurrentUser.user, search: params[:q]) %>
<% end %>
-
+
Comments
<% if RecommenderService.available_for_post?(@post) %>
diff --git a/app/views/related_tags/_container.html.erb b/app/views/related_tags/_container.html.erb
index 0add7c117..390a22c98 100644
--- a/app/views/related_tags/_container.html.erb
+++ b/app/views/related_tags/_container.html.erb
@@ -5,7 +5,7 @@
«
-
<%= commentary_version_field_diff(commentary_version, params[:type], :original_description) %> -