css: refactor CSS to use Tailwind-style utility classes.
Refactor CSS to use standard Tailwind-style utility classes instead of ad-hoc rules. This eliminates a lot of single-purpose rules for specific UI elements and standardizes margins to be more consistent throughout the site. Utility classes are defined manually on an as-needed basis instead of importing Tailwind as a whole. Naming conventions mostly follow Tailwind's conventions, otherwise they follow Bootstrap. * https://tailwindcss.com/docs/ * https://getbootstrap.com/docs/5.0/utilities/spacing/
This commit is contained in:
@@ -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) %>
|
||||
<b>Title:</b>
|
||||
<div class="commentary-body-section">
|
||||
<p class="commentary-body-section font-bold">
|
||||
<%= commentary_version_field_diff(commentary_version, params[:type], :original_title) %>
|
||||
</div>
|
||||
</p>
|
||||
<% end %>
|
||||
<% if !commentary_version.unchanged_empty?(:original_description) %>
|
||||
<b>Description:</b>
|
||||
<div class="commentary-body-section">
|
||||
<p class="commentary-body-section">
|
||||
<%= commentary_version_field_diff(commentary_version, params[:type], :original_description) %>
|
||||
</div>
|
||||
</p>
|
||||
<% 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) %>
|
||||
<b>Title:</b>
|
||||
<div class="commentary-body-section">
|
||||
<p class="commentary-body-section font-bold">
|
||||
<%= commentary_version_field_diff(commentary_version, params[:type], :translated_title) %>
|
||||
</div>
|
||||
</p>
|
||||
<% end %>
|
||||
<% if !commentary_version.unchanged_empty?(:translated_description) %>
|
||||
<b>Description:</b>
|
||||
<div class="commentary-body-section">
|
||||
<p class="commentary-body-section">
|
||||
<%= commentary_version_field_diff(commentary_version, params[:type], :translated_description) %>
|
||||
</div>
|
||||
</p>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% t.column "Changes", width: "3%" do |commentary_version| %>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div id="a-index">
|
||||
<%= 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}" %>
|
||||
<span class="post-count"><%= artist.tag.try(:post_count) || 0 %></span>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<%# path, date, scale, %>
|
||||
|
||||
<p class="date-nav-links">
|
||||
<div class="date-nav-links text-center md:space-x-8">
|
||||
<%= 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" %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<%# path, date, selected_scale, scale %>
|
||||
|
||||
<span class="period">
|
||||
<div class="text-center md:inline-block mb-2">
|
||||
<% 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 %>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
|
||||
<ul id="sortable">
|
||||
<% @favorite_group.posts.limit(1_000).each do |post| %>
|
||||
<li class="ui-state-default" id="favorite_group[post_ids]_<%= post.id %>">
|
||||
<%= post_preview(post, show_deleted: true).presence || "Hidden: Post ##{post.id}" %>
|
||||
</li>
|
||||
<%= tag.li id: "favorite_group[post_ids]_#{post.id}" do -%>
|
||||
<%= post_preview(post, show_deleted: true).presence || "Hidden: Post ##{post.id}" -%>
|
||||
<% end -%>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -1,75 +1,77 @@
|
||||
<div class="ip-address-details">
|
||||
<table class="aligned-vertical">
|
||||
<tr>
|
||||
<th>Location</th>
|
||||
<td>
|
||||
<% 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) %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Network</th>
|
||||
<td>
|
||||
<%= 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)}" %>)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Proxy</th>
|
||||
<td><%= ip_address.lookup.is_proxy? ? "yes" : "no" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>IP Banned</th>
|
||||
<td>
|
||||
<% 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 %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<td><%= ip_info.dig(:connection, :type) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>ASN</th>
|
||||
<td>
|
||||
<%= link_to "AS#{ip_info.dig(:connection, :asn)}", "https://ipinfo.io/AS#{ip_info.dig(:connection, :asn)}" %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Organization</th>
|
||||
<td>
|
||||
<%= ip_info.dig(:connection, :organization) %>
|
||||
</td>
|
||||
</tr>
|
||||
<% if ip_info.dig(:carrier, :name).present? %>
|
||||
<div class="space-x-4">
|
||||
<div class="inline-block">
|
||||
<table class="aligned-vertical">
|
||||
<tr>
|
||||
<th>Mobile Carrier</th>
|
||||
<td><%= ip_info.dig(:carrier, :name) %></td>
|
||||
<th>Location</th>
|
||||
<td>
|
||||
<% 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) %>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<tr>
|
||||
<th>Website</th>
|
||||
<td><%= external_link_to("http://#{ip_info.dig(:connection, :domain)}") %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Details</th>
|
||||
<td>
|
||||
<details>
|
||||
<pre><%= JSON.pretty_generate(ip_info) %></pre>
|
||||
</details>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<tr>
|
||||
<th>Network</th>
|
||||
<td>
|
||||
<%= 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)}" %>)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Proxy</th>
|
||||
<td><%= ip_address.lookup.is_proxy? ? "yes" : "no" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>IP Banned</th>
|
||||
<td>
|
||||
<% 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 %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<td><%= ip_info.dig(:connection, :type) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>ASN</th>
|
||||
<td>
|
||||
<%= link_to "AS#{ip_info.dig(:connection, :asn)}", "https://ipinfo.io/AS#{ip_info.dig(:connection, :asn)}" %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Organization</th>
|
||||
<td>
|
||||
<%= ip_info.dig(:connection, :organization) %>
|
||||
</td>
|
||||
</tr>
|
||||
<% if ip_info.dig(:carrier, :name).present? %>
|
||||
<tr>
|
||||
<th>Mobile Carrier</th>
|
||||
<td><%= ip_info.dig(:carrier, :name) %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<tr>
|
||||
<th>Website</th>
|
||||
<td><%= external_link_to("http://#{ip_info.dig(:connection, :domain)}") %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Details</th>
|
||||
<td>
|
||||
<details>
|
||||
<pre><%= JSON.pretty_generate(ip_info) %></pre>
|
||||
</details>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="ip-address-map">
|
||||
<%= embedded_map(ip_info.dig(:location, :latitude), ip_info.dig(:location, :longitude), 300, 200) %>
|
||||
<div class="inline-block align-top">
|
||||
<%= embedded_map(ip_info.dig(:location, :latitude), ip_info.dig(:location, :longitude), 300, 200) %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
|
||||
<ul id="sortable">
|
||||
<% @pool.posts.each do |post| %>
|
||||
<li class="ui-state-default" id="pool[post_ids]_<%= post.id %>">
|
||||
<%= post_preview(post, show_deleted: true).presence || "Hidden: Post ##{post.id}" %>
|
||||
</li>
|
||||
<%= tag.li id: "pool[post_ids]_#{post.id}" do -%>
|
||||
<%= post_preview(post, show_deleted: true).presence || "Hidden: Post ##{post.id}" -%>
|
||||
<% end -%>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% else %>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<% end %>
|
||||
</h1>
|
||||
|
||||
<div id="description" class="prose">
|
||||
<div id="description" class="prose mb-4">
|
||||
<%= format_text(@pool.description) %>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -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" %>
|
||||
|
||||
<div class="flex items-center space-x-4">
|
||||
<%= f.submit "Search" %>
|
||||
<%= link_to "Advanced", search_post_versions_path(params.except(:controller, :action, :index, :commit, :type).permit!) %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<%= render "posts/partials/common/inline_blacklist" %>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<% end %>
|
||||
|
||||
<% content_for(:content) do %>
|
||||
<menu id="post-sections">
|
||||
<menu id="post-sections" class="mb-4">
|
||||
<li class="active"><a href="#" id="show-posts-link">Posts</a></li>
|
||||
|
||||
<% if @post_set.artist.present? %>
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
<section id="search-box">
|
||||
<h2>Search</h2>
|
||||
<%= 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") %>
|
||||
<button id="search-box-submit" type="submit"><%= search_icon %></button>
|
||||
<% end %>
|
||||
</section>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<%= render "artists/summary", artist: artist %>
|
||||
<%= render "tag_relationships/alias_and_implication_list", tag: artist.tag %>
|
||||
|
||||
<p class="links">
|
||||
<p class="mt-4">
|
||||
<% 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 %>
|
||||
|
||||
<p class="links">
|
||||
<p class="mt-4">
|
||||
<%= link_to_wiki "View wiki", wiki_page.title, id: "view-wiki-link" %>
|
||||
</p>
|
||||
</div>
|
||||
@@ -52,7 +52,7 @@
|
||||
<%= format_text(post_set.pool.description) %>
|
||||
</div>
|
||||
|
||||
<p class="links">
|
||||
<p class="mt-4">
|
||||
<%= link_to "View pool", pool_path(post_set.pool.id) %>
|
||||
</p>
|
||||
<% end %>
|
||||
|
||||
@@ -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;" %>
|
||||
<div id="favlist" style="display: none;">
|
||||
<div id="favlist" style="display: none;" class="ml-4">
|
||||
<%= render "posts/partials/show/favorite_list", post: post %>
|
||||
</div>
|
||||
<% end %></li>
|
||||
|
||||
@@ -10,16 +10,14 @@
|
||||
) %>
|
||||
|
||||
<div id="ugoira-controls">
|
||||
<div id="ugoira-control-panel" style="width: <%= [@post.image_width, 350].max %>px;">
|
||||
<div id="ugoira-control-panel" class="mb-2 flex items-center" style="width: <%= [@post.image_width, 350].max %>px;">
|
||||
<%= button_tag "Play", :id => "ugoira-play", :style => "display: none;" %>
|
||||
<%= button_tag "Pause", :id => "ugoira-pause" %>
|
||||
<div id="seek-slider" style="width: <%= [@post.image_width, 350].max - 81 %>px;"></div>
|
||||
<div id="seek-slider" class="ml-4" style="width: <%= [@post.image_width, 350].max - 81 %>px;"></div>
|
||||
</div>
|
||||
<p id="save-video-link">
|
||||
<% if post.has_ugoira_webm? %>
|
||||
<%= link_to "Save as video (right click and save)", post.tagged_large_file_url %>
|
||||
<% else %>
|
||||
WebM conversion pending
|
||||
<% end %>
|
||||
</p>
|
||||
<% if post.has_ugoira_webm? %>
|
||||
<%= link_to "Save as video (right click and save)", post.tagged_large_file_url %>
|
||||
<% else %>
|
||||
WebM conversion pending
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
@@ -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 %>
|
||||
|
||||
<menu id="post-sections">
|
||||
<menu id="post-sections" class="mb-4">
|
||||
<li class="active"><a href="#comments">Comments</a></li>
|
||||
|
||||
<% if RecommenderService.available_for_post?(@post) %>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<a href="#" id="hide-related-tags-link">«</a>
|
||||
</h3>
|
||||
|
||||
<div class="related-tags">
|
||||
<div class="related-tags w-full mb-4 p-4 flex space-x-4">
|
||||
<%= render "related_tags/user_tags", related_tags: nil %>
|
||||
<%= render "related_tags/current_tags", related_tags: nil %>
|
||||
<%= render "related_tags/source_tags", source: nil %>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="current-related-tags-columns">
|
||||
<div class="current-related-tags-columns flex space-x-4">
|
||||
<% if related_tags.present? %>
|
||||
<%= render "related_tags/tag_column", tags: related_tags.tags.map(&:name), class: "general-related-tags-column", title: related_tags.pretty_name %>
|
||||
<%= render "related_tags/tag_column", tags: related_tags.wiki_page_tags, class: "wiki-related-tags-column", title: link_to_wiki("wiki:#{related_tags.pretty_name}", related_tags.query) %>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="source-related-tags-columns">
|
||||
<div class="source-related-tags-columns flex space-x-4">
|
||||
<% if source.present? %>
|
||||
<%= render "related_tags/tag_column", tags: source.translated_tags.map(&:name), title: "Translated Tags" %>
|
||||
<%= render "related_tags/tag_column", tags: source.translated_tags.map(&:name), class: "translated-tags-related-tags-column", title: "Translated Tags" %>
|
||||
|
||||
<div class="tag-column wide-column artist-related-tags-column">
|
||||
<h3>Artist</h3>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<%# tags, title, class (optional) %>
|
||||
<%# tags, title, class %>
|
||||
|
||||
<%= content_tag(:div, class: ["tag-column", local_assigns[:class] || "#{title.parameterize}-related-tags-column", "is-empty-#{tags.empty?}"].join(" ")) do %>
|
||||
<% if tags.present? %>
|
||||
<% if tags.present? %>
|
||||
<%= tag.div class: ["tag-column", local_assigns[:class]] do %>
|
||||
<h3><%= title %></h3>
|
||||
<%= render_simple_tag_list(tags) %>
|
||||
<% end %>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div class="user-related-tags-columns">
|
||||
<div class="user-related-tags-columns flex space-x-4">
|
||||
<% if related_tags.present? %>
|
||||
<%= render "related_tags/tag_column", tags: related_tags.recent_tags, title: "Recent" %>
|
||||
<%= render "related_tags/tag_column", tags: related_tags.favorite_tags, title: "Frequent" %>
|
||||
<%= render "related_tags/tag_column", tags: related_tags.recent_tags, class: "recent-related-tags-column", title: "Recent" %>
|
||||
<%= render "related_tags/tag_column", tags: related_tags.favorite_tags, class: "frequent-related-tags-column", title: "Frequent" %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<% t.column "Created" do |ss| %>
|
||||
<%= time_ago_in_words_tagged ss.created_at %>
|
||||
<% end %>
|
||||
<% t.column th: {class: "links"}, td: {class: "links"} do |ss| %>
|
||||
<% t.column column: "control" do |ss| %>
|
||||
<%= link_to "edit", edit_saved_search_path(ss) %>
|
||||
| <%= link_to "delete", saved_search_path(ss), :method => :delete, :remote => true %>
|
||||
<% end %>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<%# source %>
|
||||
|
||||
<div id="source-info">
|
||||
<div id="source-info" class="p-4 mb-4">
|
||||
<%= link_to "Fetch source data", source_path, id: "fetch-data-manual" %>
|
||||
<%= spinner_icon(id: "source-info-loading") %>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<%# backtrace %>
|
||||
|
||||
<ul class="backtrace">
|
||||
<ul class="backtrace font-monospace p-4 mb-4">
|
||||
<% if defined?(exception) %>
|
||||
<li><%= exception.class.to_s %> exception raised</li>
|
||||
<% end %>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<div id="a-privacy-policy" class="prose fixed-width-container">
|
||||
<h1>Privacy Policy</h1>
|
||||
|
||||
<p class="summary">Last updated: July 5, 2020</p>
|
||||
<p><em>Last updated: July 5, 2020</em></p>
|
||||
|
||||
<p>This privacy policy describes what information <%= @app_name %>
|
||||
(collectively "we", "us", "our") collects about you when you use our website
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
<h6>Information You Provide To Us</h6>
|
||||
|
||||
<p class="summary">Summary: We collect information you directly give us.</p>
|
||||
<p><em>Summary: We collect information you directly give us.</em></p>
|
||||
|
||||
<p>We collect information you directly provide to us when you use our
|
||||
Services. What information we collect depends on how you use our Services.
|
||||
@@ -76,9 +76,9 @@
|
||||
|
||||
<h6>Information We Collect Automatically</h6>
|
||||
|
||||
<p class="summary">Summary: We collect some information about you
|
||||
<p><em>Summary: We collect some information about you
|
||||
automatically, including your IP address, information about your computer,
|
||||
and information about your site usage.</p>
|
||||
and information about your site usage.</em></p>
|
||||
|
||||
<ul class="list-bulleted">
|
||||
<li><strong>Log and usage data</strong>. We may log information about you
|
||||
@@ -100,9 +100,9 @@
|
||||
|
||||
<h6>Information We Collect From Other Sources</h6>
|
||||
|
||||
<p class="summary">Summary: If you choose to link other sites to your
|
||||
<p><em>Summary: If you choose to link other sites to your
|
||||
<%= @app_name %> account, we will receive profile information about you
|
||||
from those sites.</p>
|
||||
from those sites.</em></p>
|
||||
|
||||
<p>We may receive information about you from other sources and combine that
|
||||
information with other information we have about you. For example, we may
|
||||
@@ -114,8 +114,8 @@
|
||||
|
||||
<h4>How We Use Your Information</h4>
|
||||
|
||||
<p class="summary">Summary: We use your information to provide services to
|
||||
you, to operate the Site, and to enforce our Terms of Service.</p>
|
||||
<p><em>Summary: We use your information to provide services to
|
||||
you, to operate the Site, and to enforce our Terms of Service.</em></p>
|
||||
|
||||
<p>We use your information to:</p>
|
||||
|
||||
@@ -173,10 +173,10 @@
|
||||
|
||||
<h4>How Information About You Is Shared</h4>
|
||||
|
||||
<p class="summary">Summary: Most activity on <%= @app_name %> is public. We
|
||||
<p><em>Summary: Most activity on <%= @app_name %> is public. We
|
||||
won't share your information with advertisers without your consent. We
|
||||
won't share information about you with third parties, except as required
|
||||
under certain conditions.</p>
|
||||
under certain conditions.</em></p>
|
||||
|
||||
<p>When you use the Site, certain information about you may be shared with
|
||||
other users, with Site moderators or other authorized users, or with the
|
||||
@@ -312,9 +312,9 @@
|
||||
|
||||
<h6>How We Handle Linked Accounts</h6>
|
||||
|
||||
<p class="summary">Summary: If you link other sites to your <%= @app_name %>
|
||||
<p><em>Summary: If you link other sites to your <%= @app_name %>
|
||||
account, we will receive profile information about you from those sites. We
|
||||
won't disclose any information about you to those sites.</p>
|
||||
won't disclose any information about you to those sites.</em></p>
|
||||
|
||||
<p>We may offer you the ability to sign up or login using third-party
|
||||
social media accounts (such as your Google or Twitter accounts), or to link
|
||||
@@ -352,8 +352,8 @@
|
||||
|
||||
<h6>Deleting Your Account</h6>
|
||||
|
||||
<p class="summary">Summary: You may deactivate your account, but we may
|
||||
retain your IP address and your public contributions to the Site.</p>
|
||||
<p><em>Summary: You may deactivate your account, but we may
|
||||
retain your IP address and your public contributions to the Site.</em></p>
|
||||
|
||||
<p>If you would like to delete your account, you may request your
|
||||
account to be deactivated <%= link_to "here", maintenance_user_deletion_path %>.</p>
|
||||
@@ -409,9 +409,9 @@
|
||||
|
||||
<h6>Data Retention</h6>
|
||||
|
||||
<p class="summary">Summary: We keep your information for as long as
|
||||
<p><em>Summary: We keep your information for as long as
|
||||
necessary to fulfill the purposes outlined in this privacy policy, unless
|
||||
otherwise required by law.</p>
|
||||
otherwise required by law.</em></p>
|
||||
|
||||
<p>We store the information we collect for as long as it is necessary for
|
||||
the purpose(s) for which we originally collected it. We may retain certain
|
||||
@@ -426,7 +426,7 @@
|
||||
|
||||
<h6>International Data Transfers</h6>
|
||||
|
||||
<p class="summary">Summary: We store data in the United States and operate under US law.</p>
|
||||
<p><em>Summary: We store data in the United States and operate under US law.</em></p>
|
||||
|
||||
<p>We are based in the United States and we process and store information
|
||||
on servers located in the United States. We may store information on
|
||||
@@ -439,9 +439,9 @@
|
||||
|
||||
<h6>Information Security</h6>
|
||||
|
||||
<p class="summary">Summary: We take reasonable measures to secure your
|
||||
<p><em>Summary: We take reasonable measures to secure your
|
||||
data. We will promptly notify you of breaches of your personal
|
||||
information.</p>
|
||||
information.</em></p>
|
||||
|
||||
<p>We take reasonable measures to protect your personal information from
|
||||
loss, theft, misuse, unauthorized access, disclosure, alteration, or
|
||||
@@ -461,7 +461,7 @@
|
||||
|
||||
<h6>Changes to this Policy</h6>
|
||||
|
||||
<p class="summary">Summary: We may update this policy from time to time.</p>
|
||||
<p><em>Summary: We may update this policy from time to time.</em></p>
|
||||
|
||||
<p>We may update this Privacy Policy from time to time. The updated policy
|
||||
will be indicated by a new "Last updated" date at the top of this page. If
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<% page_title "Site Map" %>
|
||||
|
||||
<div id="c-static">
|
||||
<div id="a-site-map" class="fixed-width-container">
|
||||
<section>
|
||||
<div id="a-site-map" class="fixed-width-container space-y-4 md:flex md:space-y-0">
|
||||
<section class="flex-auto space-y-4">
|
||||
<ul>
|
||||
<li><h2>Posts</h2></li>
|
||||
<li><%= link_to_wiki "Help", "help:posts" %></li>
|
||||
@@ -44,7 +44,7 @@
|
||||
<li><%= link_to("Changes", artist_versions_path) %></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<section class="flex-auto space-y-4">
|
||||
<ul>
|
||||
<li><h2>Tags</h2></li>
|
||||
<li><%= link_to_wiki "Help", "help:tags" %></li>
|
||||
@@ -75,7 +75,7 @@
|
||||
<li><%= link_to("Missed Searches", missed_searches_explore_posts_path) %></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<section class="flex-auto space-y-4">
|
||||
<ul>
|
||||
<li><h2>Comments</h2></li>
|
||||
<li><%= link_to_wiki "Help", "help:comments" %></li>
|
||||
@@ -107,7 +107,7 @@
|
||||
<li><%= link_to("Changes", artist_commentary_versions_path) %></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<section class="flex-auto space-y-4">
|
||||
<ul>
|
||||
<li><h2>Profile</h2></li>
|
||||
<% if CurrentUser.is_anonymous? %>
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
<%= render "users/secondary_links" %>
|
||||
|
||||
<div id="c-user-upgrades">
|
||||
<div id="a-new" class="fixed-width-container">
|
||||
<div id="a-new" class="fixed-width-container mx-auto">
|
||||
|
||||
<% if @user_upgrade.is_gift? %>
|
||||
<h1>Gift Account Upgrade</h1>
|
||||
<h1 class="text-center mb-4">Gift Account Upgrade</h1>
|
||||
|
||||
<% if @user_upgrade.recipient.is_platinum? %>
|
||||
<p><%= link_to_user @recipient %> is already above Platinum level and can't be upgraded!</p>
|
||||
@@ -16,7 +16,7 @@
|
||||
<h6>You are gifting this upgrade to <%= link_to_user @user_upgrade.recipient %>.</h6>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<h1>Upgrade Account</h1>
|
||||
<h1 class="text-center mb-4">Upgrade Account</h1>
|
||||
|
||||
<p>Upgrading your account gives you exclusive benefits and helps support
|
||||
<%= Danbooru.config.canonical_app_name %>. Your support helps keep the
|
||||
@@ -26,7 +26,7 @@
|
||||
their profile page and look for a "Gift Upgrade" link.</p>
|
||||
<% end %>
|
||||
|
||||
<table id="feature-comparison">
|
||||
<table id="feature-comparison" class="w-full text-center table-md">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
@@ -36,10 +36,10 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<colgroup id="labels"></colgroup>
|
||||
<colgroup id="basic"></colgroup>
|
||||
<colgroup id="gold"></colgroup>
|
||||
<colgroup id="platinum"></colgroup>
|
||||
<colgroup id="labels" class="w-1/4"></colgroup>
|
||||
<colgroup id="basic" class="w-1/4"></colgroup>
|
||||
<colgroup id="gold" class="w-1/4"></colgroup>
|
||||
<colgroup id="platinum" class="w-1/4"></colgroup>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Free</td>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div>
|
||||
<h2>Statistics</h2>
|
||||
<table width="100%" class="user-statistics">
|
||||
<table width="100%" class="user-statistics table-sm">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>User ID</th>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<% end %>
|
||||
|
||||
<% if listing_type(:wiki_page_id, member_check: false, types: [:page, :global]) == :page %>
|
||||
<%= submit_tag "Diff" %>
|
||||
<%= submit_tag "Diff", class: "mt-4" %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user