mix format

This commit is contained in:
Liam 2024-06-01 23:50:49 -04:00
parent d4cf28f986
commit da2796c76b
134 changed files with 659 additions and 1148 deletions

View file

@ -16,13 +16,11 @@
</span> </span>
<br /> <br />
<%= @channel.viewers %> <%= @channel.viewers %>
<%= <%= if @channel.viewers == 1 do
if @channel.viewers == 1 do "viewer"
"viewer" else
else "viewers"
"viewers" end %>
end
%>
<% else %> <% else %>
<span class="channel-strip__state label label--narrow label--danger"> <span class="channel-strip__state label label--narrow label--danger">
OFF AIR OFF AIR

View file

@ -4,8 +4,7 @@
</div> </div>
<div class="flex__grow"> <div class="flex__grow">
<a href={"/#{@comment.image.id}#comment_#{@comment.id}"}> <a href={"/#{@comment.image.id}#comment_#{@comment.id}"}>
# # <%= @comment.image.id %>
<%= @comment.image.id %>
</a> </a>
by by
<span class="hyphenate-breaks"> <span class="hyphenate-breaks">

View file

@ -8,7 +8,5 @@
</span> </span>
<%= link("replied to", to: ~p"/forums/#{@topic.forum}/topics/#{@topic}?#{[post_id: @topic.last_post]}" <> "#post_#{@topic.last_post.id}") %> <%= link("replied to", to: ~p"/forums/#{@topic.forum}/topics/#{@topic}?#{[post_id: @topic.last_post]}" <> "#post_#{@topic.last_post.id}") %>
<% end %> <% end %>
<%= link(@topic.title, to: ~p"/forums/#{@topic.forum}/topics/#{@topic}") %> <%= link(@topic.title, to: ~p"/forums/#{@topic.forum}/topics/#{@topic}") %> in <%= link(@topic.forum.name, to: ~p"/forums/#{@topic.forum}") %>
in
<%= link(@topic.forum.name, to: ~p"/forums/#{@topic.forum}") %>
</div> </div>

View file

@ -3,8 +3,7 @@
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">
<a href={~p"/admin/adverts/new"}> <a href={~p"/admin/adverts/new"}>
<i class="fa fa-plus"></i> <i class="fa fa-plus"></i> New advert
New advert
</a> </a>
<%= pagination %> <%= pagination %>
</div> </div>
@ -77,16 +76,11 @@
<%= advert.restrictions %> <%= advert.restrictions %>
</td> </td>
<td> <td>
Impressions: Impressions: <%= advert.impressions %>
<%= advert.impressions %> <br /> Clicks: <%= advert.clicks %>
<br />
Clicks:
<%= advert.clicks %>
</td> </td>
<td> <td>
<%= link("Edit", to: ~p"/admin/adverts/#{advert}/edit") %> <%= link("Edit", to: ~p"/admin/adverts/#{advert}/edit") %> &bull; <%= link("Destroy", to: ~p"/admin/adverts/#{advert}", data: [confirm: "Are you really, really sure?", method: "delete"]) %>
&bull;
<%= link("Destroy", to: ~p"/admin/adverts/#{advert}", data: [confirm: "Are you really, really sure?", method: "delete"]) %>
</td> </td>
</tr> </tr>
<% end %> <% end %>

View file

@ -56,13 +56,8 @@
<%= link_state_name(link) %> <%= link_state_name(link) %>
</strong> </strong>
<%= if contacted?(link) do %> <%= if contacted?(link) do %>
<br /> <br /> by <%= link.contacted_by_user.name %>
by <br /> ( <%= pretty_time(link.contacted_at) %> )
<%= link.contacted_by_user.name %>
<br />
(
<%= pretty_time(link.contacted_at) %>
)
<% end %> <% end %>
</td> </td>
<td> <td>
@ -77,14 +72,10 @@
<% end %> <% end %>
</td> </td>
<td> <td>
<%= link("View", to: ~p"/profiles/#{link.user}/artist_links/#{link}") %> <%= link("View", to: ~p"/profiles/#{link.user}/artist_links/#{link}") %> &bull; <%= link("Edit", to: ~p"/profiles/#{link.user}/artist_links/#{link}/edit") %>
&bull;
<%= link("Edit", to: ~p"/profiles/#{link.user}/artist_links/#{link}/edit") %>
</td> </td>
<td> <td>
<%= link("Verify", to: ~p"/admin/artist_links/#{link}/verification", method: :post) %> <%= link("Verify", to: ~p"/admin/artist_links/#{link}/verification", method: :post) %> &bull; <%= link("Reject", to: ~p"/admin/artist_links/#{link}/reject", method: :post) %>
&bull;
<%= link("Reject", to: ~p"/admin/artist_links/#{link}/reject", method: :post) %>
<br /> <br />
<%= if not verified?(link) do %> <%= if not verified?(link) do %>
<%= if contacted?(link) do %> <%= if contacted?(link) do %>

View file

@ -6,8 +6,7 @@
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">
<a href={~p"/admin/badges/new"}> <a href={~p"/admin/badges/new"}>
<i class="fa fa-plus"></i> <i class="fa fa-plus"></i> New Badge
New Badge
</a> </a>
<%= pagination %> <%= pagination %>
</div> </div>
@ -36,9 +35,7 @@
<%= badge_image(badge, width: 32, height: 32) %> <%= badge_image(badge, width: 32, height: 32) %>
</td> </td>
<td> <td>
<%= link("Users", to: ~p"/admin/badges/#{badge}/users") %> <%= link("Users", to: ~p"/admin/badges/#{badge}/users") %> &bull; <%= link("Edit", to: ~p"/admin/badges/#{badge}/edit") %>
&bull;
<%= link("Edit", to: ~p"/admin/badges/#{badge}/edit") %>
</td> </td>
</tr> </tr>
<% end %> <% end %>

View file

@ -1,7 +1,5 @@
<h1> <h1>
Users with Users with <%= @badge.title %> badge
<%= @badge.title %>
badge
</h1> </h1>
<% route = fn p -> ~p"/admin/badges/#{@badge}/users?#{p}" end %> <% route = fn p -> ~p"/admin/badges/#{@badge}/users?#{p}" end %>
<% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @users, route: route, conn: @conn) %> <% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @users, route: route, conn: @conn) %>

View file

@ -68,8 +68,7 @@
<td class={dnp_entry_row_class(request)}> <td class={dnp_entry_row_class(request)}>
<%= pretty_state(request) %> <%= pretty_state(request) %>
<%= if request.modifying_user do %> <%= if request.modifying_user do %>
by by <%= link(request.modifying_user.name, to: ~p"/profiles/#{request.modifying_user}") %>
<%= link(request.modifying_user.name, to: ~p"/profiles/#{request.modifying_user}") %>
<% end %> <% end %>
</td> </td>
<td> <td>
@ -79,30 +78,25 @@
<%= pretty_time(request.updated_at) %> <%= pretty_time(request.updated_at) %>
</td> </td>
<td> <td>
<%= link("Show", to: ~p"/dnp/#{request}") %> <%= link("Show", to: ~p"/dnp/#{request}") %> &bull; <%= link("Send PM", to: ~p"/conversations/new?#{[recipient: request.requesting_user.name]}") %>
&bull;
<%= link("Send PM", to: ~p"/conversations/new?#{[recipient: request.requesting_user.name]}") %>
<%= case request.aasm_state do %> <%= case request.aasm_state do %>
<% s when s in ["requested", "claimed"] -> %> <% s when s in ["requested", "claimed"] -> %>
&bull; &bull; <%= link("Claim", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "claimed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> &bull; <%= link("Approve",
<%= link("Claim", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "claimed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "listed"]}",
&bull; data: [method: "post", confirm: "Are you really, really sure?"]
<%= link("Approve", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "listed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> ) %> &bull; <%= link("Close", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "closed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %>
&bull;
<%= link("Close", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "closed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %>
<% "listed" -> %> <% "listed" -> %>
&bull; &bull; <%= link("Rescind", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "rescinded"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> &bull; <%= link("Close",
<%= link("Rescind", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "rescinded"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "closed"]}",
&bull; data: [method: "post", confirm: "Are you really, really sure?"]
<%= link("Close", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "closed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> ) %>
<% s when s in ["rescinded", "acknowledged"] -> %> <% s when s in ["rescinded", "acknowledged"] -> %>
&bull; &bull; <%= link("Claim", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "acknowledged"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> &bull; <%= link("Close",
<%= link("Claim", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "acknowledged"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "closed"]}",
&bull; data: [method: "post", confirm: "Are you really, really sure?"]
<%= link("Close", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "closed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> ) %>
<% _state -> %> <% _state -> %>
&bull; &bull; <%= link("Claim", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "claimed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %>
<%= link("Claim", to: ~p"/admin/dnp_entries/#{request}/transition?#{[state: "claimed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %>
<% end %> <% end %>
</td> </td>
</tr> </tr>

View file

@ -1,7 +1,6 @@
<div class="walloftext"> <div class="walloftext">
<h1> <h1>
<%= @user.name %> <%= @user.name %> 's Donations
's Donations
</h1> </h1>
<%= render(PhilomenaWeb.Admin.DonationView, "_table.html", donations: @donations, conn: @conn) %> <%= render(PhilomenaWeb.Admin.DonationView, "_table.html", donations: @donations, conn: @conn) %>
<h1> <h1>

View file

@ -12,8 +12,7 @@
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">
<a href={~p"/admin/fingerprint_bans/new"}> <a href={~p"/admin/fingerprint_bans/new"}>
<i class="fa fa-plus"></i> <i class="fa fa-plus"></i> New fingerprint ban
New fingerprint ban
</a> </a>
<%= pagination %> <%= pagination %>
</div> </div>
@ -59,8 +58,7 @@
<%= if present?(ban.note) do %> <%= if present?(ban.note) do %>
<p class="block block--fixed"> <p class="block block--fixed">
<em> <em>
Note: Note: <%= ban.note %>
<%= ban.note %>
</em> </em>
</p> </p>
<% end %> <% end %>
@ -71,8 +69,7 @@
<td> <td>
<%= link("Edit", to: ~p"/admin/fingerprint_bans/#{ban}/edit") %> <%= link("Edit", to: ~p"/admin/fingerprint_bans/#{ban}/edit") %>
<%= if @current_user.role == "admin" do %> <%= if @current_user.role == "admin" do %>
&bull; &bull; <%= link("Destroy", to: ~p"/admin/fingerprint_bans/#{ban}", data: [confirm: "Are you really, really sure?", method: "delete"]) %>
<%= link("Destroy", to: ~p"/admin/fingerprint_bans/#{ban}", data: [confirm: "Are you really, really sure?", method: "delete"]) %>
<% end %> <% end %>
</td> </td>
</tr> </tr>

View file

@ -34,9 +34,7 @@
<%= link(note.moderator.name, to: ~p"/profiles/#{note.moderator}") %> <%= link(note.moderator.name, to: ~p"/profiles/#{note.moderator}") %>
</td> </td>
<td> <td>
<%= link("Edit", to: ~p"/admin/mod_notes/#{note}/edit") %> <%= link("Edit", to: ~p"/admin/mod_notes/#{note}/edit") %> &bull; <%= link("Delete", to: ~p"/admin/mod_notes/#{note}", data: [confirm: "Are you really, really sure?", method: "delete"]) %>
&bull;
<%= link("Delete", to: ~p"/admin/mod_notes/#{note}", data: [confirm: "Are you really, really sure?", method: "delete"]) %>
</td> </td>
</tr> </tr>
<% end %> <% end %>

View file

@ -1,6 +1,5 @@
<h2> <h2>
Editing mod note for Editing mod note for <%= @mod_note.notable_type %>
<%= @mod_note.notable_type %>
<%= @mod_note.notable_id %> <%= @mod_note.notable_id %>
</h2> </h2>
<%= render(PhilomenaWeb.Admin.ModNoteView, "_form.html", changeset: @changeset, action: ~p"/admin/mod_notes/#{@mod_note}", conn: @conn) %> <%= render(PhilomenaWeb.Admin.ModNoteView, "_form.html", changeset: @changeset, action: ~p"/admin/mod_notes/#{@mod_note}", conn: @conn) %>

View file

@ -1,6 +1,5 @@
<h2> <h2>
New mod note for New mod note for <%= @conn.params["notable_type"] %>
<%= @conn.params["notable_type"] %>
<%= @conn.params["notable_id"] %> <%= @conn.params["notable_id"] %>
</h2> </h2>
<%= render(PhilomenaWeb.Admin.ModNoteView, "_form.html", changeset: @changeset, action: ~p"/admin/mod_notes", conn: @conn) %> <%= render(PhilomenaWeb.Admin.ModNoteView, "_form.html", changeset: @changeset, action: ~p"/admin/mod_notes", conn: @conn) %>

View file

@ -57,19 +57,15 @@
<%= link("Show", to: ~p"/admin/reports/#{report}") %> <%= link("Show", to: ~p"/admin/reports/#{report}") %>
<%= if report.open do %> <%= if report.open do %>
<%= if report.user do %> <%= if report.user do %>
&bull; &bull; <%= link("Send PM", to: ~p"/conversations/new?#{[recipient: report.user.name]}") %>
<%= link("Send PM", to: ~p"/conversations/new?#{[recipient: report.user.name]}") %>
<% end %> <% end %>
<%= if is_nil(report.admin) and not current?(report.admin, @conn.assigns.current_user) do %> <%= if is_nil(report.admin) and not current?(report.admin, @conn.assigns.current_user) do %>
&bull; &bull; <%= link("Claim", to: ~p"/admin/reports/#{report}/claim", data: [method: "post"]) %>
<%= link("Claim", to: ~p"/admin/reports/#{report}/claim", data: [method: "post"]) %>
<% end %> <% end %>
<%= if current?(report.admin, @conn.assigns.current_user) do %> <%= if current?(report.admin, @conn.assigns.current_user) do %>
&bull; &bull; <%= link("Release", to: ~p"/admin/reports/#{report}/claim", data: [method: "delete"]) %>
<%= link("Release", to: ~p"/admin/reports/#{report}/claim", data: [method: "delete"]) %>
<% end %> <% end %>
&bull; &bull; <%= link("Close", to: ~p"/admin/reports/#{report}/close", data: [method: "post", confirm: "Are you really, really sure?"]) %>
<%= link("Close", to: ~p"/admin/reports/#{report}/close", data: [method: "post", confirm: "Are you really, really sure?"]) %>
<% end %> <% end %>
</td> </td>
</tr> </tr>

View file

@ -55,8 +55,6 @@
<% end %> <% end %>
<div class="field"> <div class="field">
<label for="rq"> <label for="rq">
Searchable fields: id, created_at, reason, state, open, user, user_id, admin, admin_id, ip, fingerprint, reportable_type, reportable_id, image_id Searchable fields: id, created_at, reason, state, open, user, user_id, admin, admin_id, ip, fingerprint, reportable_type, reportable_id, image_id <br /> Report reason is used if you don't specify a field.
<br />
Report reason is used if you don't specify a field.
</label> </label>
</div> </div>

View file

@ -23,8 +23,7 @@
<div class="block__content communication__options"> <div class="block__content communication__options">
<div class="flex flex--wrap flex--spaced-out"> <div class="flex flex--wrap flex--spaced-out">
<div> <div>
Reported Reported <%= pretty_time(@report.created_at) %>
<%= pretty_time(@report.created_at) %>
</div> </div>
<div class="flex__right"> <div class="flex__right">
<%= link_to_ip(@conn, @report.ip) %> <%= link_to_ip(@conn, @report.ip) %>

View file

@ -6,8 +6,7 @@
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">
<a href={~p"/admin/site_notices/new"}> <a href={~p"/admin/site_notices/new"}>
<i class="fa fa-plus"></i> <i class="fa fa-plus"></i> New site notice
New site notice
</a> </a>
<%= pagination %> <%= pagination %>
</div> </div>
@ -50,9 +49,7 @@
<%= live_text(site_notice) %> <%= live_text(site_notice) %>
</td> </td>
<td> <td>
<%= link("Edit", to: ~p"/admin/site_notices/#{site_notice}/edit") %> <%= link("Edit", to: ~p"/admin/site_notices/#{site_notice}/edit") %> &bull; <%= link("Destroy", to: ~p"/admin/site_notices/#{site_notice}", data: [confirm: "Are you really, really sure?", method: "delete"]) %>
&bull;
<%= link("Destroy", to: ~p"/admin/site_notices/#{site_notice}", data: [confirm: "Are you really, really sure?", method: "delete"]) %>
</td> </td>
</tr> </tr>
<% end %> <% end %>

View file

@ -12,8 +12,7 @@
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">
<a href={~p"/admin/subnet_bans/new"}> <a href={~p"/admin/subnet_bans/new"}>
<i class="fa fa-plus"></i> <i class="fa fa-plus"></i> New subnet ban
New subnet ban
</a> </a>
<%= pagination %> <%= pagination %>
</div> </div>
@ -59,8 +58,7 @@
<%= if present?(ban.note) do %> <%= if present?(ban.note) do %>
<p class="block block--fixed"> <p class="block block--fixed">
<em> <em>
Note: Note: <%= ban.note %>
<%= ban.note %>
</em> </em>
</p> </p>
<% end %> <% end %>
@ -71,8 +69,7 @@
<td> <td>
<%= link("Edit", to: ~p"/admin/subnet_bans/#{ban}/edit") %> <%= link("Edit", to: ~p"/admin/subnet_bans/#{ban}/edit") %>
<%= if @current_user.role == "admin" do %> <%= if @current_user.role == "admin" do %>
&bull; &bull; <%= link("Destroy", to: ~p"/admin/subnet_bans/#{ban}", data: [confirm: "Are you really, really sure?", method: "delete"]) %>
<%= link("Destroy", to: ~p"/admin/subnet_bans/#{ban}", data: [confirm: "Are you really, really sure?", method: "delete"]) %>
<% end %> <% end %>
</td> </td>
</tr> </tr>

View file

@ -1,6 +1,5 @@
<h1> <h1>
Force-assigning a filter for user Force-assigning a filter for user <%= @user.name %>
<%= @user.name %>
</h1> </h1>
<%= form_for @changeset, ~p"/admin/users/#{@user}/force_filter", [method: "post"], fn f -> %> <%= form_for @changeset, ~p"/admin/users/#{@user}/force_filter", [method: "post"], fn f -> %>
<div class="field"> <div class="field">

View file

@ -7,9 +7,7 @@
<%= submit("Search", class: "button hform__button") %> <%= submit("Search", class: "button hform__button") %>
</div> </div>
<% end %> <% end %>
<%= link("Site staff", to: ~p"/admin/users?#{[staff: 1]}") %> <%= link("Site staff", to: ~p"/admin/users?#{[staff: 1]}") %> &bull; <%= link("2FA users", to: ~p"/admin/users?#{[twofactor: 1]}") %>
&bull;
<%= link("2FA users", to: ~p"/admin/users?#{[twofactor: 1]}") %>
<% route = fn p -> ~p"/admin/users?#{p}" end %> <% route = fn p -> ~p"/admin/users?#{p}" end %>
<% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @users, route: route, conn: @conn, params: page_params(@conn.params)) %> <% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @users, route: route, conn: @conn, params: page_params(@conn.params)) %>
<div class="block"> <div class="block">
@ -48,13 +46,11 @@
<%= cond do %> <%= cond do %>
<% user.otp_required_for_login -> %> <% user.otp_required_for_login -> %>
<span class="banner__2fa success"> <span class="banner__2fa success">
<i class="fas fa-check"></i> <i class="fas fa-check"></i> 2FA
2FA
</span> </span>
<% user.role != "user" and !user.otp_required_for_login -> %> <% user.role != "user" and !user.otp_required_for_login -> %>
<span class="banner__2fa danger"> <span class="banner__2fa danger">
<i class="fas fa-times"></i> <i class="fas fa-times"></i> 2FA
2FA
</span> </span>
<% true -> %> <% true -> %>
<% end %> <% end %>
@ -92,8 +88,7 @@
<td> <td>
<%= if can?(@conn, :edit, user) do %> <%= if can?(@conn, :edit, user) do %>
<%= link to: ~p"/admin/users/#{user}/edit" do %> <%= link to: ~p"/admin/users/#{user}/edit" do %>
<i class="fa fa-fw fa-user-edit"></i> <i class="fa fa-fw fa-user-edit"></i> Edit
Edit
<% end %> <% end %>
<% end %> <% end %>
<% # = if user.deleted_at do %> <% # = if user.deleted_at do %>
@ -103,14 +98,12 @@
<% # ' &bull; %> <% # ' &bull; %>
<%= if can?(@conn, :index, Philomena.Bans.User) do %> <%= if can?(@conn, :index, Philomena.Bans.User) do %>
<%= link to: ~p"/admin/user_bans/new?#{[username: user.name]}" do %> <%= link to: ~p"/admin/user_bans/new?#{[username: user.name]}" do %>
<i class="fa fa-fw fa-ban"></i> <i class="fa fa-fw fa-ban"></i> Ban
Ban
<% end %> <% end %>
<% end %> <% end %>
<%= if can?(@conn, :edit, Philomena.ArtistLinks.ArtistLink) do %> <%= if can?(@conn, :edit, Philomena.ArtistLinks.ArtistLink) do %>
<%= link to: ~p"/profiles/#{user}/artist_links/new" do %> <%= link to: ~p"/profiles/#{user}/artist_links/new" do %>
<i class="fa fa-fw fa-link"></i> <i class="fa fa-fw fa-link"></i> Add link
Add link
<% end %> <% end %>
<% end %> <% end %>
</td> </td>

View file

@ -12,8 +12,7 @@
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">
<a href={~p"/admin/user_bans/new"}> <a href={~p"/admin/user_bans/new"}>
<i class="fa fa-plus"></i> <i class="fa fa-plus"></i> New user ban
New user ban
</a> </a>
<%= pagination %> <%= pagination %>
</div> </div>
@ -59,8 +58,7 @@
<%= if present?(ban.note) do %> <%= if present?(ban.note) do %>
<p class="block block--fixed"> <p class="block block--fixed">
<em> <em>
Note: Note: <%= ban.note %>
<%= ban.note %>
</em> </em>
</p> </p>
<% end %> <% end %>
@ -71,8 +69,7 @@
<td> <td>
<%= link("Edit", to: ~p"/admin/user_bans/#{ban}/edit") %> <%= link("Edit", to: ~p"/admin/user_bans/#{ban}/edit") %>
<%= if @current_user.role == "admin" do %> <%= if @current_user.role == "admin" do %>
&bull; &bull; <%= link("Destroy", to: ~p"/admin/user_bans/#{ban}", data: [confirm: "Are you really, really sure?", method: "delete"]) %>
<%= link("Destroy", to: ~p"/admin/user_bans/#{ban}", data: [confirm: "Are you really, really sure?", method: "delete"]) %>
<% end %> <% end %>
</td> </td>
</tr> </tr>

View file

@ -1,17 +1,13 @@
<div class="block" id="imagespns"> <div class="block" id="imagespns">
<div class="spnstxt"> <div class="spnstxt">
Interested in advertising on Derpibooru? Interested in advertising on Derpibooru? <%= link("Click here", to: "/pages/advertising") %> for information!
<%= link("Click here", to: "/pages/advertising") %>
for information!
</div> </div>
<a href={~p"/adverts/#{@advert}"} id="imagespns__link" rel="nofollow" title={@advert.title}> <a href={~p"/adverts/#{@advert}"} id="imagespns__link" rel="nofollow" title={@advert.title}>
<img alt={@advert.title} src={advert_image_url(@advert)} /> <img alt={@advert.title} src={advert_image_url(@advert)} />
</a> </a>
<p> <p>
<strong> <strong>
Derpibooru costs over $25 a day to operate - Derpibooru costs over $25 a day to operate - <%= link("help support us financially", to: "/pages/donations") %> !
<%= link("help support us financially", to: "/pages/donations") %>
!
</strong> </strong>
</p> </p>
</div> </div>

View file

@ -3,18 +3,13 @@
You've been banned! You've been banned!
</h4> </h4>
<p> <p>
You cannot create comments or posts or update metadata (or do anything but read, really) until You cannot create comments or posts or update metadata (or do anything but read, really) until <%= pretty_time(@conn.assigns.current_ban.valid_until) %> .
<%= pretty_time(@conn.assigns.current_ban.valid_until) %>
.
</p> </p>
<p> <p>
The reason given by the administrator who banned you is: The reason given by the administrator who banned you is: <br />
<br />
<strong> <strong>
<%= @conn.assigns.current_ban.reason %> <%= @conn.assigns.current_ban.reason %>
</strong> </strong>
(Ban ID: (Ban ID: <%= @conn.assigns.current_ban.generated_ban_id %> ).
<%= @conn.assigns.current_ban.generated_ban_id %>
).
</p> </p>
</div> </div>

View file

@ -44,12 +44,10 @@
<% end %> <% end %>
<%= if can?(@conn, :edit, @channel) do %> <%= if can?(@conn, :edit, @channel) do %>
<a class={link_class} href={~p"/channels/#{@channel}/edit"}> <a class={link_class} href={~p"/channels/#{@channel}/edit"}>
<i class="fas fa-fw fa-edit"></i> <i class="fas fa-fw fa-edit"></i> Edit
Edit
</a> </a>
<a class={link_class} data-confirm="Are you really, really sure?" data-method="delete" href={~p"/channels/#{@channel}"}> <a class={link_class} data-confirm="Are you really, really sure?" data-method="delete" href={~p"/channels/#{@channel}"}>
<i class="fas fa-fw fa-trash"></i> <i class="fas fa-fw fa-trash"></i> Delete
Delete
</a> </a>
<% end %> <% end %>
<%= render(PhilomenaWeb.Channel.SubscriptionView, "_subscription.html", conn: @conn, watching: @subscriptions[@channel.id], channel: @channel) %> <%= render(PhilomenaWeb.Channel.SubscriptionView, "_subscription.html", conn: @conn, watching: @subscriptions[@channel.id], channel: @channel) %>

View file

@ -32,8 +32,7 @@
<code> <code>
piczel_channel_name piczel_channel_name
</code> </code>
. . <br />
<br />
<br /> <br />
</div> </div>
<div class="field"> <div class="field">

View file

@ -16,13 +16,11 @@
</div> </div>
<%= if @conn.cookies["chan_nsfw"] == "true" do %> <%= if @conn.cookies["chan_nsfw"] == "true" do %>
<a data-method="delete" href={~p"/channels/nsfw"}> <a data-method="delete" href={~p"/channels/nsfw"}>
<i class="fa fa-eye-slash"></i> <i class="fa fa-eye-slash"></i> Hide NSFW streams
Hide NSFW streams
</a> </a>
<% else %> <% else %>
<a data-method="create" href={~p"/channels/nsfw"}> <a data-method="create" href={~p"/channels/nsfw"}>
<i class="fa fa-eye"></i> <i class="fa fa-eye"></i> Show NSFW streams
Show NSFW streams
</a> </a>
<% end %> <% end %>
</div> </div>

View file

@ -1,22 +1,20 @@
<% <% watch_path = ~p"/channels/#{@channel}/subscription"
watch_path = ~p"/channels/#{@channel}/subscription"
watch_class = watch_class =
if @watching do if @watching do
"hidden" "hidden"
else else
"" ""
end end
unwatch_path = ~p"/channels/#{@channel}/subscription" unwatch_path = ~p"/channels/#{@channel}/subscription"
unwatch_class = unwatch_class =
if @watching do if @watching do
"" ""
else else
"hidden" "hidden"
end end %>
%>
<%= if @conn.assigns.current_user do %> <%= if @conn.assigns.current_user do %>
<span class="js-subscription-target"> <span class="js-subscription-target">
<a class={"js-subscription-link media-box__header media-box__header--channel media-box__header--link #{watch_class}"} data-method="post" data-remote="true" href={watch_path}> <a class={"js-subscription-link media-box__header media-box__header--channel media-box__header--link #{watch_class}"} data-method="post" data-remote="true" href={watch_path}>

View file

@ -3,22 +3,19 @@
<div class="block__content"> <div class="block__content">
<div class="block block--fixed block--danger"> <div class="block block--fixed block--danger">
<p> <p>
<i class="fas fa-exclamation-triangle"></i> <i class="fas fa-exclamation-triangle"></i> This comment is pending approval from a staff member.
This comment is pending approval from a staff member.
</p> </p>
<%= if can?(@conn, :approve, @comment) do %> <%= if can?(@conn, :approve, @comment) do %>
<p> <p>
<ul class="horizontal-list"> <ul class="horizontal-list">
<li> <li>
<%= link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/approve", data: [confirm: "Are you sure?"], method: "post", class: "button") do %> <%= link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/approve", data: [confirm: "Are you sure?"], method: "post", class: "button") do %>
<i class="fas fa-check"></i> <i class="fas fa-check"></i> Approve
Approve
<% end %> <% end %>
</li> </li>
<li> <li>
<a class="button togglable-delete-form-link" data-click-toggle={"#inline-reject-form-comment-#{@comment.id}"} href="#"> <a class="button togglable-delete-form-link" data-click-toggle={"#inline-reject-form-comment-#{@comment.id}"} href="#">
<i class="fa fa-times"></i> <i class="fa fa-times"></i> Reject
Reject
</a> </a>
</li> </li>
</ul> </ul>
@ -44,12 +41,9 @@
<div class="communication__body__text"> <div class="communication__body__text">
<%= if @comment.hidden_from_users do %> <%= if @comment.hidden_from_users do %>
<strong class="comment_deleted"> <strong class="comment_deleted">
Deletion reason: Deletion reason: <%= @comment.deletion_reason %>
<%= @comment.deletion_reason %>
<%= if can?(@conn, :hide, @comment) and not is_nil(@comment.deleted_by) do %> <%= if can?(@conn, :hide, @comment) and not is_nil(@comment.deleted_by) do %>
( ( <%= @comment.deleted_by.name %> )
<%= @comment.deleted_by.name %>
)
<% end %> <% end %>
</strong> </strong>
<%= if can?(@conn, :hide, @comment) do %> <%= if can?(@conn, :hide, @comment) do %>
@ -78,19 +72,16 @@
<%= cond do %> <%= cond do %>
<% @comment.hidden_from_users and not @comment.destroyed_content -> %> <% @comment.hidden_from_users and not @comment.destroyed_content -> %>
<%= link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/hide", data: [confirm: "Are you sure?"], method: "delete", class: "communication__interaction") do %> <%= link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/hide", data: [confirm: "Are you sure?"], method: "delete", class: "communication__interaction") do %>
<i class="fas fa-check"></i> <i class="fas fa-check"></i> Restore
Restore
<% end %> <% end %>
<%= if can?(@conn, :delete, @comment) do %> <%= if can?(@conn, :delete, @comment) do %>
<%= link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/delete", data: [confirm: "Are you sure?"], method: "post", class: "communication__interaction") do %> <%= link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/delete", data: [confirm: "Are you sure?"], method: "post", class: "communication__interaction") do %>
<i class="fas fa-times"></i> <i class="fas fa-times"></i> Delete Contents
Delete Contents
<% end %> <% end %>
<% end %> <% end %>
<% not @comment.hidden_from_users and not @comment.destroyed_content -> %> <% not @comment.hidden_from_users and not @comment.destroyed_content -> %>
<a class="communication__interaction togglable-delete-form-link" data-click-toggle={"#inline-del-form-comment-#{@comment.id}"} href="#"> <a class="communication__interaction togglable-delete-form-link" data-click-toggle={"#inline-del-form-comment-#{@comment.id}"} href="#">
<i class="fas fa-times"></i> <i class="fas fa-times"></i> Delete
Delete
</a> </a>
<% true -> %> <% true -> %>
<% end %> <% end %>

View file

@ -1,18 +1,14 @@
<div> <div>
Posted Posted <%= pretty_time(@comment.created_at) %>
<%= pretty_time(@comment.created_at) %>
<a class="communication__interaction" href={~p"/images/#{@comment.image}/comments/#{@comment}/reports/new"}> <a class="communication__interaction" href={~p"/images/#{@comment.image}/comments/#{@comment}/reports/new"}>
<i class="fa fa-flag"></i> <i class="fa fa-flag"></i> Report
Report
</a> </a>
<%= if not is_nil(@comment.edited_at) and can?(@conn, :show, @comment) do %> <%= if not is_nil(@comment.edited_at) and can?(@conn, :show, @comment) do %>
<br /> <br />
<a href={~p"/images/#{@comment.image}/comments/#{@comment}/history"}> <a href={~p"/images/#{@comment.image}/comments/#{@comment}/history"}>
Edited Edited <%= pretty_time(@comment.edited_at) %>
<%= pretty_time(@comment.edited_at) %>
<%= if @comment.edit_reason not in [nil, ""] do %> <%= if @comment.edit_reason not in [nil, ""] do %>
because: because: <%= @comment.edit_reason %>
<%= @comment.edit_reason %>
<% end %> <% end %>
</a> </a>
<% end %> <% end %>
@ -20,32 +16,26 @@
<div> <div>
<% link_path = ~p"/images/#{@comment.image}" <> "#comment_#{@comment.id}" %> <% link_path = ~p"/images/#{@comment.image}" <> "#comment_#{@comment.id}" %>
<% safe_author = PhilomenaWeb.PostView.markdown_safe_author(@comment) %> <% safe_author = PhilomenaWeb.PostView.markdown_safe_author(@comment) %>
<% <% quote_body =
quote_body = if @comment.hidden_from_users do
if @comment.hidden_from_users do ""
"" else
else @comment.body
@comment.body end %>
end
%>
<a class="communication__interaction" href={link_path} title="Link to comment"> <a class="communication__interaction" href={link_path} title="Link to comment">
<i class="fa fa-link"></i> <i class="fa fa-link"></i> Link
Link
</a> </a>
<a class="communication__interaction post-reply post-reply-quote" data-author={safe_author} data-post={quote_body} data-reply-url={link_path} href={link_path}> <a class="communication__interaction post-reply post-reply-quote" data-author={safe_author} data-post={quote_body} data-reply-url={link_path} href={link_path}>
<i class="fa fa-quote-right"></i> <i class="fa fa-quote-right"></i> Quote
Quote
</a> </a>
<a class="communication__interaction post-reply" data-author={safe_author} data-reply-url={link_path} href={link_path}> <a class="communication__interaction post-reply" data-author={safe_author} data-reply-url={link_path} href={link_path}>
<i class="fa fa-reply"></i> <i class="fa fa-reply"></i> Reply
Reply
</a> </a>
<%= if can?(@conn, :edit, @comment) do %> <%= if can?(@conn, :edit, @comment) do %>
<span class="owner-options"> <span class="owner-options">
<strong> <strong>
<a class="communication__interaction" href={~p"/images/#{@comment.image}/comments/#{@comment}/edit"}> <a class="communication__interaction" href={~p"/images/#{@comment.image}/comments/#{@comment}/edit"}>
<i class="fas fa-edit"></i> <i class="fas fa-edit"></i> Edit
Edit
</a> </a>
</strong> </strong>
</span> </span>

View file

@ -14,12 +14,9 @@
<div class="communication__body__text"> <div class="communication__body__text">
<%= if @comment.hidden_from_users do %> <%= if @comment.hidden_from_users do %>
<strong class="comment_deleted"> <strong class="comment_deleted">
Deletion reason: Deletion reason: <%= @comment.deletion_reason %>
<%= @comment.deletion_reason %>
<%= if can?(@conn, :hide, @comment) and not is_nil(@comment.deleted_by) do %> <%= if can?(@conn, :hide, @comment) and not is_nil(@comment.deleted_by) do %>
( ( <%= @comment.deleted_by.name %> )
<%= @comment.deleted_by.name %>
)
<% end %> <% end %>
</strong> </strong>
<%= if can?(@conn, :hide, @comment) do %> <%= if can?(@conn, :hide, @comment) do %>
@ -48,19 +45,16 @@
<%= cond do %> <%= cond do %>
<% @comment.hidden_from_users and not @comment.destroyed_content -> %> <% @comment.hidden_from_users and not @comment.destroyed_content -> %>
<%= link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/hide", data: [confirm: "Are you sure?"], method: "delete", class: "communication__interaction") do %> <%= link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/hide", data: [confirm: "Are you sure?"], method: "delete", class: "communication__interaction") do %>
<i class="fas fa-check"></i> <i class="fas fa-check"></i> Restore
Restore
<% end %> <% end %>
<%= if can?(@conn, :delete, @comment) do %> <%= if can?(@conn, :delete, @comment) do %>
<%= link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/delete", data: [confirm: "Are you sure?"], method: "post", class: "communication__interaction") do %> <%= link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/delete", data: [confirm: "Are you sure?"], method: "post", class: "communication__interaction") do %>
<i class="fas fa-times"></i> <i class="fas fa-times"></i> Delete Contents
Delete Contents
<% end %> <% end %>
<% end %> <% end %>
<% not @comment.hidden_from_users and not @comment.destroyed_content -> %> <% not @comment.hidden_from_users and not @comment.destroyed_content -> %>
<a class="communication__interaction togglable-delete-form-link" data-click-toggle={"#inline-del-form-comment-#{@comment.id}"} href="#"> <a class="communication__interaction togglable-delete-form-link" data-click-toggle={"#inline-del-form-comment-#{@comment.id}"} href="#">
<i class="fas fa-times"></i> <i class="fas fa-times"></i> Delete
Delete
</a> </a>
<% true -> %> <% true -> %>
<% end %> <% end %>

View file

@ -1,7 +1,5 @@
<% <% route = fn p -> ~p"/commissions?#{p}" end
route = fn p -> ~p"/commissions?#{p}" end pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @commissions, route: route, conn: @conn, params: [commission: @conn.params["commission"]]) %>
pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @commissions, route: route, conn: @conn, params: [commission: @conn.params["commission"]])
%>
<div class="block"> <div class="block">
<div class="block__header page__header"> <div class="block__header page__header">
<span class="block__header__title page__title"> <span class="block__header__title page__title">
@ -39,11 +37,7 @@
<strong> <strong>
Price Range: Price Range:
</strong> </strong>
$ $ <%= Decimal.round(min.base_price, 2) |> Decimal.to_string() %> - $ <%= Decimal.round(max.base_price, 2) |> Decimal.to_string() %> USD
<%= Decimal.round(min.base_price, 2) |> Decimal.to_string() %>
- $
<%= Decimal.round(max.base_price, 2) |> Decimal.to_string() %>
USD
</p> </p>
<p> <p>
<strong> <strong>

View file

@ -1,7 +1,5 @@
<% <% route = fn p -> ~p"/conversations?#{p}" end
route = fn p -> ~p"/conversations?#{p}" end pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @conversations, route: route, conn: @conn) %>
pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @conversations, route: route, conn: @conn)
%>
<h1> <h1>
My Conversations My Conversations
</h1> </h1>
@ -12,8 +10,7 @@
</div> </div>
<div class="page__info"> <div class="page__info">
<a href={~p"/conversations/new"}> <a href={~p"/conversations/new"}>
<i class="fa fa-paper-plane"></i> <i class="fa fa-paper-plane"></i> Create New Conversation
Create New Conversation
</a> </a>
</div> </div>
</div> </div>
@ -39,20 +36,14 @@
<%= link(c.title, to: ~p"/conversations/#{c}") %> <%= link(c.title, to: ~p"/conversations/#{c}") %>
<div class="small-text hide-mobile"> <div class="small-text hide-mobile">
<%= count %> <%= count %>
<%= pluralize("message", "messages", count) %> <%= pluralize("message", "messages", count) %> ; started <%= pretty_time(c.created_at) %> , last message <%= pretty_time(c.last_message_at) %>
; started
<%= pretty_time(c.created_at) %>
, last message
<%= pretty_time(c.last_message_at) %>
</div> </div>
</td> </td>
<td class="table--communication-list__stats"> <td class="table--communication-list__stats">
<%= render(PhilomenaWeb.UserAttributionView, "_user.html", object: %{user: other_party(@current_user, c)}, conn: @conn) %> <%= render(PhilomenaWeb.UserAttributionView, "_user.html", object: %{user: other_party(@current_user, c)}, conn: @conn) %>
</td> </td>
<td class="table--communication-list__options"> <td class="table--communication-list__options">
<%= link("Last message", to: last_message_path(c, count)) %> <%= link("Last message", to: last_message_path(c, count)) %> &bull; <%= link("Hide", to: ~p"/conversations/#{c}/hide", data: [method: "post"], data: [confirm: "Are you really, really sure?"]) %>
&bull;
<%= link("Hide", to: ~p"/conversations/#{c}/hide", data: [method: "post"], data: [confirm: "Are you really, really sure?"]) %>
</td> </td>
</tr> </tr>
<% end %> <% end %>

View file

@ -3,8 +3,7 @@
</h1> </h1>
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">
<%= link("Conversations", to: ~p"/conversations") %> <%= link("Conversations", to: ~p"/conversations") %> &raquo;
&raquo;
<span class="block__header__title"> <span class="block__header__title">
New Conversation New Conversation
</span> </span>

View file

@ -1,18 +1,12 @@
<% <% route = fn p -> ~p"/conversations/#{@conversation}?#{p}" end
route = fn p -> ~p"/conversations/#{@conversation}?#{p}" end pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @messages, route: route, conn: @conn)
pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @messages, route: route, conn: @conn) other = other_party(@current_user, @conversation) %>
other = other_party(@current_user, @conversation)
%>
<h1> <h1>
<%= @conversation.title %> <%= @conversation.title %>
</h1> </h1>
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">
<%= link("Message Center", to: ~p"/conversations") %> <%= link("Message Center", to: ~p"/conversations") %> &raquo; <%= link(@conversation.title, to: ~p"/conversations/#{@conversation}") %> Conversation with <%= render(PhilomenaWeb.UserAttributionView, "_user.html", object: %{user: other}, conn: @conn) %>
&raquo;
<%= link(@conversation.title, to: ~p"/conversations/#{@conversation}") %>
Conversation with
<%= render(PhilomenaWeb.UserAttributionView, "_user.html", object: %{user: other}, conn: @conn) %>
</div> </div>
<div class="block__header--sub block__header--light page__header"> <div class="block__header--sub block__header--light page__header">
<span class="block__header__title page__title"> <span class="block__header__title page__title">
@ -84,8 +78,7 @@
We'd like to ask you to make a new conversation. Don't worry, this one won't go anywhere if you need to refer back to it. We'd like to ask you to make a new conversation. Don't worry, this one won't go anywhere if you need to refer back to it.
</p> </p>
<p> <p>
<%= link("Click here", to: ~p"/conversations/new?#{[receipient: other.name]}") %> <%= link("Click here", to: ~p"/conversations/new?#{[receipient: other.name]}") %> to make a new conversation with this user.
to make a new conversation with this user.
</p> </p>
</div> </div>
<% end %> <% end %>

View file

@ -34,9 +34,7 @@
<br /> <br />
<%= link("My Listings", to: ~p"/dnp?#{[mine: "1"]}") %> <%= link("My Listings", to: ~p"/dnp?#{[mine: "1"]}") %>
<% not is_nil(@current_user) -> %> <% not is_nil(@current_user) -> %>
You must have a verified artist link to create and manage DNP entries. You must have a verified artist link to create and manage DNP entries. <%= link("Request an artist link", to: ~p"/profiles/#{@current_user}/artist_links/new") %> .
<%= link("Request an artist link", to: ~p"/profiles/#{@current_user}/artist_links/new") %>
.
<% true -> %> <% true -> %>
You must be logged in and have a verified artist link to create and manage DNP entries. You must be logged in and have a verified artist link to create and manage DNP entries.
<% end %> <% end %>

View file

@ -1,6 +1,5 @@
<h2> <h2>
DNP Listing for Tag DNP Listing for Tag <%= @dnp_entry.tag.name %>
<%= @dnp_entry.tag.name %>
</h2> </h2>
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">
@ -90,21 +89,22 @@
<%= if can?(@conn, :index, Philomena.DnpEntries.DnpEntry) do %> <%= if can?(@conn, :index, Philomena.DnpEntries.DnpEntry) do %>
<%= case @dnp_entry.aasm_state do %> <%= case @dnp_entry.aasm_state do %>
<% s when s in ["requested", "claimed"] -> %> <% s when s in ["requested", "claimed"] -> %>
<%= link("Claim", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "claimed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> <%= link("Claim", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "claimed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> &bull; <%= link("Approve",
&bull; to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "listed"]}",
<%= link("Approve", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "listed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> data: [method: "post", confirm: "Are you really, really sure?"]
&bull; ) %> &bull; <%= link("Close", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "closed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %>
<%= link("Close", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "closed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %>
<% "listed" -> %> <% "listed" -> %>
<%= link("Rescind", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "rescinded"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> <%= link("Rescind", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "rescinded"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> &bull; <%= link("Close",
&bull; to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "closed"]}",
<%= link("Close", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "closed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> data: [method: "post", confirm: "Are you really, really sure?"]
) %>
<% s when s in ["rescinded", "acknowledged"] -> %> <% s when s in ["rescinded", "acknowledged"] -> %>
<%= link("Claim", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "acknowledged"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> <%= link("Claim", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "acknowledged"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> &bull; <%= link("Close",
&bull; to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "closed"]}",
<%= link("Close", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "closed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> data: [method: "post", confirm: "Are you really, really sure?"]
) %>
<% _state -> %> <% _state -> %>
<%= link("Claim", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "claimed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %> <%= link("Claim", to: ~p"/admin/dnp_entries/#{@dnp_entry}/transition?#{[state: "claimed"]}", data: [method: "post", confirm: "Are you really, really sure?"]) %>
<% end %> <% end %>
<% end %> <% end %>
<%= if assigns[:mod_notes] do %> <%= if assigns[:mod_notes] do %>

View file

@ -1,8 +1,7 @@
<%= form_for @changeset, ~p"/duplicate_reports", fn f -> %> <%= form_for @changeset, ~p"/duplicate_reports", fn f -> %>
<%= hidden_input(f, :image_id, value: @image.id) %> <%= hidden_input(f, :image_id, value: @image.id) %>
<div class="field"> <div class="field">
Delete this image and redirect to Delete this image and redirect to <%= number_input(f, :duplicate_of_image_id, class: "input", min: 0, placeholder: "image number.", required: true) %>
<%= number_input(f, :duplicate_of_image_id, class: "input", min: 0, placeholder: "image number.", required: true) %>
<%= text_input(f, :reason, class: "input input--separate-left", placeholder: "Explanation") %> <%= text_input(f, :reason, class: "input input--separate-left", placeholder: "Explanation") %>
</div> </div>
<div class="actions"> <div class="actions">

View file

@ -3,15 +3,12 @@
<%= if is_nil(@image) do %> <%= if is_nil(@image) do %>
(Image now hard-deleted) (Image now hard-deleted)
<% else %> <% else %>
# # <%= @image.id %>
<%= @image.id %>
<% end %> <% end %>
</p> </p>
<%= render(PhilomenaWeb.ImageView, "_image_container.html", image: @image, size: :thumb_small, conn: @conn) %> <%= render(PhilomenaWeb.ImageView, "_image_container.html", image: @image, size: :thumb_small, conn: @conn) %>
<p> <p>
<%= @image.image_width %> <%= @image.image_width %> x <%= @image.image_height %>
x
<%= @image.image_height %>
</p> </p>
<p> <p>
<%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: @image, conn: @conn) %> <%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: @image, conn: @conn) %>
@ -20,15 +17,13 @@
<%= if @source do %> <%= if @source do %>
<a data-method="post" href={~p"/duplicate_reports/#{@report}/accept_reverse"}> <a data-method="post" href={~p"/duplicate_reports/#{@report}/accept_reverse"}>
<button class="button"> <button class="button">
Keep Source Keep Source <i class="fa fa-arrow-left"></i>
<i class="fa fa-arrow-left"></i>
</button> </button>
</a> </a>
<% else %> <% else %>
<a data-method="post" href={~p"/duplicate_reports/#{@report}/accept"}> <a data-method="post" href={~p"/duplicate_reports/#{@report}/accept"}>
<button class="button"> <button class="button">
<i class="fa fa-arrow-right"></i> <i class="fa fa-arrow-right"></i> Keep Target
Keep Target
</button> </button>
</a> </a>
<% end %> <% end %>

View file

@ -91,18 +91,15 @@
<%= cond do %> <%= cond do %>
<% same_format?(report) -> %> <% same_format?(report) -> %>
<td class="success"> <td class="success">
Same format Same format <%= file_types(report) %>
<%= file_types(report) %>
</td> </td>
<% better_format?(report) -> %> <% better_format?(report) -> %>
<td class="warning"> <td class="warning">
Target format better Target format better <%= file_types(report) %>
<%= file_types(report) %>
</td> </td>
<% true -> %> <% true -> %>
<td class="warning"> <td class="warning">
Source format better Source format better <%= file_types(report) %>
<%= file_types(report) %>
</td> </td>
<% end %> <% end %>
</tr> </tr>
@ -191,24 +188,21 @@
<div class={"dr__status-options #{background_class}"}> <div class={"dr__status-options #{background_class}"}>
<%= String.capitalize(report.state) %> <%= String.capitalize(report.state) %>
<%= if can?(@conn, :edit, report) and not is_nil(report.modifier) do %> <%= if can?(@conn, :edit, report) and not is_nil(report.modifier) do %>
by by <%= report.modifier.name %>
<%= report.modifier.name %>
<% end %> <% end %>
<%= if can?(@conn, :edit, report) do %> <%= if can?(@conn, :edit, report) do %>
<div> <div>
<%= if report.state == "open" do %> <%= if report.state == "open" do %>
<a data-method="post" href={(~p"/duplicate_reports/#{report}/claim" <> "#report_options_#{report.id}")}> <a data-method="post" href={(~p"/duplicate_reports/#{report}/claim" <> "#report_options_#{report.id}")}>
<button class="button button--separate-right"> <button class="button button--separate-right">
<i class="fa fa-clipboard"></i> <i class="fa fa-clipboard"></i> Claim
Claim
</button> </button>
</a> </a>
<% end %> <% end %>
<%= if report.state != "rejected" do %> <%= if report.state != "rejected" do %>
<a data-method="post" href={~p"/duplicate_reports/#{report}/reject"}> <a data-method="post" href={~p"/duplicate_reports/#{report}/reject"}>
<button class="button"> <button class="button">
<i class="fa fa-times"></i> <i class="fa fa-times"></i> Reject
Reject
</button> </button>
</a> </a>
<% end %> <% end %>
@ -217,11 +211,9 @@
</div> </div>
<div class="dr__status-options"> <div class="dr__status-options">
<div> <div>
Reported Reported <%= pretty_time(report.created_at) %>
<%= pretty_time(report.created_at) %>
<%= if report.user do %> <%= if report.user do %>
by by <%= link(report.user.name, to: ~p"/profiles/#{report.user}") %>
<%= link(report.user.name, to: ~p"/profiles/#{report.user}") %>
<% end %> <% end %>
</div> </div>
<%= escape_nl2br(report.reason) %> <%= escape_nl2br(report.reason) %>

View file

@ -1,8 +1,6 @@
<% <% source_url = comparison_url(@conn, @duplicate_report.image)
source_url = comparison_url(@conn, @duplicate_report.image) target_url = comparison_url(@conn, @duplicate_report.duplicate_of_image)
target_url = comparison_url(@conn, @duplicate_report.duplicate_of_image) {width, height} = largest_dimensions([@duplicate_report.image, @duplicate_report.duplicate_of_image]) %>
{width, height} = largest_dimensions([@duplicate_report.image, @duplicate_report.duplicate_of_image])
%>
<h1> <h1>
Difference Difference
</h1> </h1>

View file

@ -5,8 +5,7 @@
<meta content="IE=edge" http-equiv="X-UA-Compatible" /> <meta content="IE=edge" http-equiv="X-UA-Compatible" />
<%= viewport_meta_tag(@conn) %> <%= viewport_meta_tag(@conn) %>
<title> <title>
<%= @status %> <%= @status %> - Philomena
- Philomena
</title> </title>
<link href={stylesheet_path(nil)} rel="stylesheet" /> <link href={stylesheet_path(nil)} rel="stylesheet" />
<link href={dark_stylesheet_path()} media="(prefers-color-scheme: dark)" rel="stylesheet" /> <link href={dark_stylesheet_path()} media="(prefers-color-scheme: dark)" rel="stylesheet" />
@ -16,8 +15,7 @@
<body class="minimal"> <body class="minimal">
<div class="minimal__message"> <div class="minimal__message">
<h1 class="minimal__message__header"> <h1 class="minimal__message__header">
<i class="fa fw favicon-home"></i> <i class="fa fw favicon-home"></i> Philomena
Philomena
</h1> </h1>
<h3> <h3>
<%= @short_msg %> <%= @short_msg %>

View file

@ -4,8 +4,7 @@
</h3> </h3>
<%= if @filter.user do %> <%= if @filter.user do %>
<p> <p>
Maintained by Maintained by <%= render(PhilomenaWeb.UserAttributionView, "_user.html", object: @filter, conn: @conn) %>
<%= render(PhilomenaWeb.UserAttributionView, "_user.html", object: @filter, conn: @conn) %>
</p> </p>
<% end %> <% end %>
<%= if @filter.system do %> <%= if @filter.system do %>
@ -16,10 +15,7 @@
<div class="filter-options"> <div class="filter-options">
<ul> <ul>
<li> <li>
Spoilers Spoilers <%= length(@filter.spoilered_tag_ids) %> , hides <%= length(@filter.hidden_tag_ids) %>
<%= length(@filter.spoilered_tag_ids) %>
, hides
<%= length(@filter.hidden_tag_ids) %>
</li> </li>
<li> <li>
<%= link("View this filter", to: ~p"/filters/#{@filter}", class: "button") %> <%= link("View this filter", to: ~p"/filters/#{@filter}", class: "button") %>

View file

@ -65,8 +65,7 @@
Recent Filters Recent Filters
</h2> </h2>
<p> <p>
Clicking this button will clear the recent filters list in the header dropdown. Clicking this button will clear the recent filters list in the header dropdown. <%= button_to("Clear recent filter list", ~p"/filters/clear_recent", method: "delete", class: "button") %>
<%= button_to("Clear recent filter list", ~p"/filters/clear_recent", method: "delete", class: "button") %>
</p> </p>
<% end %> <% end %>
<% end %> <% end %>

View file

@ -1,16 +1,12 @@
<h1> <h1>
Viewing full filter details for Viewing full filter details for <%= @filter.name %>
<%= @filter.name %>
</h1> </h1>
<div class="filter"> <div class="filter">
<div class="filter-options"> <div class="filter-options">
<ul> <ul>
<li> <li>
Spoilers Spoilers <%= number_with_delimiter(length(@filter.spoilered_tag_ids)) %>
<%= number_with_delimiter(length(@filter.spoilered_tag_ids)) %> <%= pluralize("tag", "tags", length(@filter.spoilered_tag_ids)) %> and hides <%= number_with_delimiter(length(@filter.hidden_tag_ids)) %>
<%= pluralize("tag", "tags", length(@filter.spoilered_tag_ids)) %>
and hides
<%= number_with_delimiter(length(@filter.hidden_tag_ids)) %>
<%= pluralize("tag", "tags", length(@filter.hidden_tag_ids)) %> <%= pluralize("tag", "tags", length(@filter.hidden_tag_ids)) %>
</li> </li>
<%= if @filter.id == @conn.assigns.current_filter.id do %> <%= if @filter.id == @conn.assigns.current_filter.id do %>
@ -36,8 +32,7 @@
</div> </div>
<%= if @filter.user do %> <%= if @filter.user do %>
<p class="filter-maintainer"> <p class="filter-maintainer">
This filter is maintained by This filter is maintained by <%= render(PhilomenaWeb.UserAttributionView, "_user.html", object: @filter, conn: @conn) %>
<%= render(PhilomenaWeb.UserAttributionView, "_user.html", object: @filter, conn: @conn) %>
</p> </p>
<% end %> <% end %>
<p class="filter-description"> <p class="filter-description">

View file

@ -1,6 +1,5 @@
<h1> <h1>
<%= @fingerprint %> <%= @fingerprint %> 's fingerprint profile
's fingerprint profile
</h1> </h1>
<ul> <ul>
<li> <li>
@ -42,12 +41,10 @@
<%= link("Revert all tag changes", to: ~p"/tag_changes/full_revert?#{[fingerprint: @fingerprint]}", data: [confirm: "Are you really, really sure?", method: "create"]) %> <%= link("Revert all tag changes", to: ~p"/tag_changes/full_revert?#{[fingerprint: @fingerprint]}", data: [confirm: "Are you really, really sure?", method: "create"]) %>
</li> </li>
<li> <li>
<%= <%= link("...the button above didn't work (use carefully, this is resource-intensive)",
link("...the button above didn't work (use carefully, this is resource-intensive)", to: ~p"/tag_changes/full_revert?#{[fingerprint: @fingerprint, batch_size: 1]}",
to: ~p"/tag_changes/full_revert?#{[fingerprint: @fingerprint, batch_size: 1]}", data: [confirm: "Please confirm that you're aware that this may crash the site and are ready to take on the full wrath of the admins if it does so after you press this button.", method: "create"]
data: [confirm: "Please confirm that you're aware that this may crash the site and are ready to take on the full wrath of the admins if it does so after you press this button.", method: "create"] ) %>
)
%>
</li> </li>
</ul> </ul>
<h4> <h4>
@ -77,8 +74,7 @@
<%= link(ufp.user.name, to: ~p"/profiles/#{ufp.user}") %> <%= link(ufp.user.name, to: ~p"/profiles/#{ufp.user}") %>
</td> </td>
<td> <td>
<%= ufp.uses %> <%= ufp.uses %> times
times
</td> </td>
<td> <td>
<%= pretty_time(ufp.updated_at) %> <%= pretty_time(ufp.updated_at) %>

View file

@ -1,6 +1,5 @@
<h1> <h1>
Source changes by Source changes by <%= @fingerprint %>
<%= @fingerprint %>
</h1> </h1>
<% route = fn p -> ~p"/fingerprint_profiles/#{@fingerprint}/source_changes?#{p}" end %> <% route = fn p -> ~p"/fingerprint_profiles/#{@fingerprint}/source_changes?#{p}" end %>
<% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @source_changes, route: route, conn: @conn) %> <% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @source_changes, route: route, conn: @conn) %>

View file

@ -1,14 +1,11 @@
<h1> <h1>
Tag changes by Tag changes by <%= @fingerprint %>
<%= @fingerprint %>
</h1> </h1>
<% route = fn p -> ~p"/fingerprint_profiles/#{@fingerprint}/tag_changes?#{p}" end %> <% route = fn p -> ~p"/fingerprint_profiles/#{@fingerprint}/tag_changes?#{p}" end %>
<% <% params =
params = if @conn.params["added"] do
if @conn.params["added"] do [added: @conn.params["added"]]
[added: @conn.params["added"]] end %>
end
%>
<% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @tag_changes, route: route, conn: @conn, params: params) %> <% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @tag_changes, route: route, conn: @conn, params: params) %>
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">

View file

@ -4,12 +4,10 @@
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">
<a href={~p"/posts"}> <a href={~p"/posts"}>
<i class="fa fa-fw fa-search"></i> <i class="fa fa-fw fa-search"></i> Search Posts
Search Posts
</a> </a>
<span class="block__header__item"> <span class="block__header__item">
<%= @topic_count %> <%= @topic_count %> topics
topics
</span> </span>
</div> </div>
<div class="block__content"> <div class="block__content">
@ -51,9 +49,7 @@
<%= link(forum.last_post.topic.title, to: ~p"/forums/#{forum.last_post.topic.forum}/topics/#{forum.last_post.topic}") %> <%= link(forum.last_post.topic.title, to: ~p"/forums/#{forum.last_post.topic.forum}/topics/#{forum.last_post.topic}") %>
</strong> </strong>
<br /> <br />
<%= link("Go to post", to: ~p"/forums/#{forum.last_post.topic.forum}/topics/#{forum.last_post.topic}?#{[post_id: forum.last_post.id]}" <> "#post_#{forum.last_post.id}") %> <%= link("Go to post", to: ~p"/forums/#{forum.last_post.topic.forum}/topics/#{forum.last_post.topic}?#{[post_id: forum.last_post.id]}" <> "#post_#{forum.last_post.id}") %> by <%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: forum.last_post, conn: @conn) %>
by
<%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: forum.last_post, conn: @conn) %>
<br /> <br />
<%= pretty_time(forum.last_post.created_at) %> <%= pretty_time(forum.last_post.created_at) %>
<% end %> <% end %>

View file

@ -4,20 +4,15 @@
</h1> </h1>
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">
<%= link("Forums", to: ~p"/forums") %> <%= link("Forums", to: ~p"/forums") %> &raquo; <%= link(@forum.name, to: ~p"/forums/#{@forum}") %>
&raquo;
<%= link(@forum.name, to: ~p"/forums/#{@forum}") %>
<a href={~p"/forums/#{@forum}/topics/new"}> <a href={~p"/forums/#{@forum}/topics/new"}>
<i class="fa fa-fw fa-edit"></i> <i class="fa fa-fw fa-edit"></i> New Topic
New Topic
</a> </a>
<a href={~p"/posts?#{[pq: "forum:#{@forum.short_name}"]}"}> <a href={~p"/posts?#{[pq: "forum:#{@forum.short_name}"]}"}>
<i class="fa fa-fw fa-search"></i> <i class="fa fa-fw fa-search"></i> Search Posts
Search Posts
</a> </a>
<span class="spacing-left"> <span class="spacing-left">
<%= @forum.topic_count %> <%= @forum.topic_count %> topics
topics
</span> </span>
</div> </div>
<div class="block__header--sub block__header--light page__header"> <div class="block__header--sub block__header--light page__header">
@ -61,10 +56,7 @@
<% end %> <% end %>
<%= link(topic.title, to: ~p"/forums/#{@forum}/topics/#{topic}") %> <%= link(topic.title, to: ~p"/forums/#{@forum}/topics/#{topic}") %>
<div class="small-text"> <div class="small-text">
Posted Posted <%= pretty_time(topic.created_at) %> by <%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: topic, conn: @conn) %>
<%= pretty_time(topic.created_at) %>
by
<%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: topic, conn: @conn) %>
</div> </div>
</td> </td>
<td class="table--communication-list__stats hide-mobile"> <td class="table--communication-list__stats hide-mobile">
@ -72,9 +64,7 @@
</td> </td>
<td class="table--communication-list__last-post"> <td class="table--communication-list__last-post">
<%= if topic.last_post do %> <%= if topic.last_post do %>
<%= link("Go to post", to: ~p"/forums/#{topic.forum}/topics/#{topic}?#{[post_id: topic.last_post]}" <> "#post_#{topic.last_post.id}") %> <%= link("Go to post", to: ~p"/forums/#{topic.forum}/topics/#{topic}?#{[post_id: topic.last_post]}" <> "#post_#{topic.last_post.id}") %> by <%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: topic.last_post, conn: @conn) %>
by
<%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: topic.last_post, conn: @conn) %>
<br /> <br />
<%= pretty_time(topic.last_post.created_at) %> <%= pretty_time(topic.last_post.created_at) %>
<% end %> <% end %>

View file

@ -1,22 +1,20 @@
<% <% watch_path = ~p"/forums/#{@forum}/subscription"
watch_path = ~p"/forums/#{@forum}/subscription"
watch_class = watch_class =
if @watching do if @watching do
"hidden" "hidden"
else else
"" ""
end end
unwatch_path = ~p"/forums/#{@forum}/subscription" unwatch_path = ~p"/forums/#{@forum}/subscription"
unwatch_class = unwatch_class =
if @watching do if @watching do
"" ""
else else
"hidden" "hidden"
end end %>
%>
<%= if @conn.assigns.current_user do %> <%= if @conn.assigns.current_user do %>
<span class="js-subscription-target"> <span class="js-subscription-target">
<a class={"js-subscription-link #{watch_class}"} data-method="post" data-remote="true" href={watch_path}> <a class={"js-subscription-link #{watch_class}"} data-method="post" data-remote="true" href={watch_path}>

View file

@ -1,7 +1,5 @@
<% <% route = fn p -> ~p"/galleries?#{p}" end
route = fn p -> ~p"/galleries?#{p}" end pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @galleries, route: route, params: [gallery: @conn.params["gallery"]]) %>
pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @galleries, route: route, params: [gallery: @conn.params["gallery"]])
%>
<div class="column-layout"> <div class="column-layout">
<div class="column-layout__left"> <div class="column-layout__left">
<div class="block"> <div class="block">

View file

@ -1,10 +1,8 @@
<% <% scope = scope(@conn)
scope = scope(@conn) image_url = fn image, hit -> ~p"/images/#{image}?#{Keyword.put(scope, :sort, hit["sort"])}" end
image_url = fn image, hit -> ~p"/images/#{image}?#{Keyword.put(scope, :sort, hit["sort"])}" end route = fn p -> ~p"/galleries/#{@gallery}?#{p}" end
route = fn p -> ~p"/galleries/#{@gallery}?#{p}" end pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @images, route: route, params: scope)
pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @images, route: route, params: scope) info = render(PhilomenaWeb.PaginationView, "_pagination_info.html", page: @images) %>
info = render(PhilomenaWeb.PaginationView, "_pagination_info.html", page: @images)
%>
<div class={sortable_classes(@conn)} id="sortable"> <div class={sortable_classes(@conn)} id="sortable">
<div class="block" id="imagelist-container"> <div class="block" id="imagelist-container">
<section class="block__header flex page__header"> <section class="block__header flex page__header">
@ -37,12 +35,10 @@
<% end %> <% end %>
<%= if can?(@conn, :edit, @gallery) do %> <%= if can?(@conn, :edit, @gallery) do %>
<a class="rearrange-button js-rearrange" data-click-hide=".js-rearrange" data-click-show=".js-save,#gallery-rearrange-info" href="#"> <a class="rearrange-button js-rearrange" data-click-hide=".js-rearrange" data-click-show=".js-save,#gallery-rearrange-info" href="#">
<i class="fa fa-sort"></i> <i class="fa fa-sort"></i> Rearrange
Rearrange
</a> </a>
<a class="rearrange-button js-save hidden" data-click-hide=".js-save,#gallery-rearrange-info" data-click-show=".js-rearrange" data-reorder-path={~p"/galleries/#{@gallery}/order"} href="#"> <a class="rearrange-button js-save hidden" data-click-hide=".js-save,#gallery-rearrange-info" data-click-show=".js-rearrange" data-reorder-path={~p"/galleries/#{@gallery}/order"} href="#">
<i class="fa fa-check"></i> <i class="fa fa-check"></i> Save
Save
</a> </a>
<a data-confirm="Are you really, really sure?" data-method="delete" href={~p"/galleries/#{@gallery}"}> <a data-confirm="Are you really, really sure?" data-method="delete" href={~p"/galleries/#{@gallery}"}>
<i class="fa fa-trash"></i> <i class="fa fa-trash"></i>
@ -60,13 +56,10 @@
<span class="block__header__title"> <span class="block__header__title">
A gallery by A gallery by
</span> </span>
<%= link(@gallery.creator.name, to: ~p"/profiles/#{@gallery.creator}") %> <%= link(@gallery.creator.name, to: ~p"/profiles/#{@gallery.creator}") %> with <%= @gallery.image_count %>
with
<%= @gallery.image_count %>
<%= pluralize("image", "images", @gallery.image_count) %> <%= pluralize("image", "images", @gallery.image_count) %>
<span class="hide-mobile-t"> <span class="hide-mobile-t">
, last updated , last updated <%= pretty_time(@gallery.updated_at) %>
<%= pretty_time(@gallery.updated_at) %>
</span> </span>
</div> </div>
<div class="block__content flex js-imagelist-info"> <div class="block__content flex js-imagelist-info">
@ -89,8 +82,7 @@
</div> </div>
<div class="block__content hidden" id="gallery-rearrange-info"> <div class="block__content hidden" id="gallery-rearrange-info">
<div class="block block--fixed block--primary"> <div class="block block--fixed block--primary">
Click the image and drag. Click the image and drag. <br />
<br />
<strong> <strong>
Note that you may have to wait a couple of seconds before the order is applied. Note that you may have to wait a couple of seconds before the order is applied.
</strong> </strong>

View file

@ -1,22 +1,20 @@
<% <% watch_path = ~p"/galleries/#{@gallery}/subscription"
watch_path = ~p"/galleries/#{@gallery}/subscription"
watch_class = watch_class =
if @watching do if @watching do
"hidden" "hidden"
else else
"" ""
end end
unwatch_path = ~p"/galleries/#{@gallery}/subscription" unwatch_path = ~p"/galleries/#{@gallery}/subscription"
unwatch_class = unwatch_class =
if @watching do if @watching do
"" ""
else else
"hidden" "hidden"
end end %>
%>
<%= if @conn.assigns.current_user do %> <%= if @conn.assigns.current_user do %>
<span class="js-subscription-target"> <span class="js-subscription-target">
<a class={"js-subscription-link #{watch_class}"} data-method="post" data-remote="true" href={watch_path}> <a class={"js-subscription-link #{watch_class}"} data-method="post" data-remote="true" href={watch_path}>

View file

@ -25,20 +25,48 @@
<%= if present do %> <%= if present do %>
<% # Options to remove %> <% # Options to remove %>
<li id={"gallery_#{gallery.id}"}> <li id={"gallery_#{gallery.id}"}>
<a class="block__list__link js-gallery-add hidden" data-fetchcomplete-hide={"#gallery_#{gallery.id} .js-gallery-add"} data-fetchcomplete-show={"#gallery_#{gallery.id} .js-gallery-remove"} data-method="post" data-remote="true" href={~p"/galleries/#{gallery}/images?#{[image_id: @image.id]}"}> <a
class="block__list__link js-gallery-add hidden"
data-fetchcomplete-hide={"#gallery_#{gallery.id} .js-gallery-add"}
data-fetchcomplete-show={"#gallery_#{gallery.id} .js-gallery-remove"}
data-method="post"
data-remote="true"
href={~p"/galleries/#{gallery}/images?#{[image_id: @image.id]}"}
>
<%= gallery.title %> <%= gallery.title %>
</a> </a>
<a class="block__list__link active js-gallery-remove" data-fetchcomplete-hide={"#gallery_#{gallery.id} .js-gallery-remove"} data-fetchcomplete-show={"#gallery_#{gallery.id} .js-gallery-add"} data-method="delete" data-remote="true" href={~p"/galleries/#{gallery}/images?#{[image_id: @image.id]}"}> <a
class="block__list__link active js-gallery-remove"
data-fetchcomplete-hide={"#gallery_#{gallery.id} .js-gallery-remove"}
data-fetchcomplete-show={"#gallery_#{gallery.id} .js-gallery-add"}
data-method="delete"
data-remote="true"
href={~p"/galleries/#{gallery}/images?#{[image_id: @image.id]}"}
>
<%= gallery.title %> <%= gallery.title %>
</a> </a>
</li> </li>
<% else %> <% else %>
<% # Options to add %> <% # Options to add %>
<li id={"gallery_#{gallery.id}"}> <li id={"gallery_#{gallery.id}"}>
<a class="block__list__link js-gallery-add" data-fetchcomplete-hide={"#gallery_#{gallery.id} .js-gallery-add"} data-fetchcomplete-show={"#gallery_#{gallery.id} .js-gallery-remove"} data-method="post" data-remote="true" href={~p"/galleries/#{gallery}/images?#{[image_id: @image.id]}"}> <a
class="block__list__link js-gallery-add"
data-fetchcomplete-hide={"#gallery_#{gallery.id} .js-gallery-add"}
data-fetchcomplete-show={"#gallery_#{gallery.id} .js-gallery-remove"}
data-method="post"
data-remote="true"
href={~p"/galleries/#{gallery}/images?#{[image_id: @image.id]}"}
>
<%= gallery.title %> <%= gallery.title %>
</a> </a>
<a class="block__list__link active js-gallery-remove hidden" data-fetchcomplete-hide={"#gallery_#{gallery.id} .js-gallery-remove"} data-fetchcomplete-show={"#gallery_#{gallery.id} .js-gallery-add"} data-method="delete" data-remote="true" href={~p"/galleries/#{gallery}/images?#{[image_id: @image.id]}"}> <a
class="block__list__link active js-gallery-remove hidden"
data-fetchcomplete-hide={"#gallery_#{gallery.id} .js-gallery-remove"}
data-fetchcomplete-show={"#gallery_#{gallery.id} .js-gallery-add"}
data-method="delete"
data-remote="true"
href={~p"/galleries/#{gallery}/images?#{[image_id: @image.id]}"}
>
<%= gallery.title %> <%= gallery.title %>
</a> </a>
</li> </li>

View file

@ -1,14 +1,12 @@
<div class="block"> <div class="block">
<div class="block__header flex"> <div class="block__header flex">
<span class="block__header__title"> <span class="block__header__title">
<i class="fas fa-file-lines"></i> <i class="fas fa-file-lines"></i> Description
Description
</span> </span>
<%= if can?(@conn, :edit_description, @image) do %> <%= if can?(@conn, :edit_description, @image) do %>
<div class="block__header__buttons"> <div class="block__header__buttons">
<a accessKey="d" class="button button--inline" data-click-focus="#description" data-click-hide=".image-description" data-click-show="#description-form" href="#" id="edit-description" title="Edit description"> <a accessKey="d" class="button button--inline" data-click-focus="#description" data-click-hide=".image-description" data-click-show="#description-form" href="#" id="edit-description" title="Edit description">
<i class="fas fa-edit"></i> <i class="fas fa-edit"></i> Edit
Edit
</a> </a>
</div> </div>
<% end %> <% end %>

View file

@ -1,19 +1,17 @@
<% <% link = assigns[:link] || ~p"/images/#{@image}"
link = assigns[:link] || ~p"/images/#{@image}"
size_class = size_class =
case @size do case @size do
:thumb -> "media-box__content--large" :thumb -> "media-box__content--large"
:medium -> "media-box__content--featured" :medium -> "media-box__content--featured"
_ -> "media-box__content--small" _ -> "media-box__content--small"
end end
header_class = header_class =
case @size do case @size do
:thumb_small -> "media-box__header--small" :thumb_small -> "media-box__header--small"
_ -> nil _ -> nil
end end %>
%>
<div class="media-box" data-image-id={@image.id}> <div class="media-box" data-image-id={@image.id}>
<div class={"media-box__header media-box__header--link-row #{header_class}"} data-image-id={@image.id}> <div class={"media-box__header media-box__header--link-row #{header_class}"} data-image-id={@image.id}>
<a class="interaction--fave" data-image-id={@image.id} href="#" rel="nofollow"> <a class="interaction--fave" data-image-id={@image.id} href="#" rel="nofollow">

View file

@ -70,38 +70,29 @@
</div> </div>
<div class="stretched-mobile-links"> <div class="stretched-mobile-links">
<a href={pretty_url(@image, false, false)} rel="nofollow" title="View (tags in filename)"> <a href={pretty_url(@image, false, false)} rel="nofollow" title="View (tags in filename)">
<i class="fa fa-eye"></i> <i class="fa fa-eye"></i> View
View
</a> </a>
<a href={pretty_url(@image, true, false)} rel="nofollow" title="View (no tags in filename)"> <a href={pretty_url(@image, true, false)} rel="nofollow" title="View (no tags in filename)">
<i class="fa fa-eye"></i> <i class="fa fa-eye"></i> VS
VS
</a> </a>
<a href={pretty_url(@image, false, true)} rel="nofollow" title="Download (tags in filename)"> <a href={pretty_url(@image, false, true)} rel="nofollow" title="Download (tags in filename)">
<i class="fa fa-download"></i> <i class="fa fa-download"></i> Download
Download
</a> </a>
<a href={pretty_url(@image, true, true)} title="Download (no tags in filename)"> <a href={pretty_url(@image, true, true)} title="Download (no tags in filename)">
<i class="fa fa-download"></i> <i class="fa fa-download"></i> DS
DS
</a> </a>
</div> </div>
</div> </div>
<div class="image-metabar flex flex--wrap block__header--user-credit center--layout" id="extrameta"> <div class="image-metabar flex flex--wrap block__header--user-credit center--layout" id="extrameta">
<div> <div>
Uploaded Uploaded <%= pretty_time(@image.created_at) %>
<%= pretty_time(@image.created_at) %>
<%= render(PhilomenaWeb.ImageView, "_uploader.html", assigns) %> <%= render(PhilomenaWeb.ImageView, "_uploader.html", assigns) %>
</div> </div>
<span class="image-size"> <span class="image-size">
&nbsp; &nbsp; <%= @image.image_width %> x <%= @image.image_height %>
<%= @image.image_width %>
x
<%= @image.image_height %>
<%= if not is_nil(@image.image_duration) and @image.image_is_animated and @image.image_duration > 0 do %> <%= if not is_nil(@image.image_duration) and @image.image_is_animated and @image.image_duration > 0 do %>
<span class="image-size" title={@image.image_duration}> <span class="image-size" title={@image.image_duration}>
&nbsp; &nbsp; <% dur = trunc(@image.image_duration) %>
<% dur = trunc(@image.image_duration) %>
<% ms = trunc((@image.image_duration - dur) * 100) %> <% ms = trunc((@image.image_duration - dur) * 100) %>
<% {mm, ss} = {div(dur, 60), rem(dur, 60)} %> <% {mm, ss} = {div(dur, 60), rem(dur, 60)} %>
<%= :io_lib.format("~2..0B:~2..0B.~2..0B", [mm, ss, ms]) %> <%= :io_lib.format("~2..0B:~2..0B.~2..0B", [mm, ss, ms]) %>
@ -112,11 +103,9 @@
<% size_mb = Float.round(size_kb / 1000.0, 2) %> <% size_mb = Float.round(size_kb / 1000.0, 2) %>
<span title={"#{size_kb} kB"}> <span title={"#{size_kb} kB"}>
<%= if size_kb <= 1000 do %> <%= if size_kb <= 1000 do %>
<%= size_kb %> <%= size_kb %> kB
kB
<% else %> <% else %>
<%= size_mb %> <%= size_mb %> MB
MB
<% end %> <% end %>
</span> </span>
</span> </span>

View file

@ -9,11 +9,18 @@
<%= img_tag(static_path(@conn, "/images/tagblocked.svg"), width: 250, height: 250, data: [click_unfilter: @image.id]) %> <%= img_tag(static_path(@conn, "/images/tagblocked.svg"), width: 250, height: 250, data: [click_unfilter: @image.id]) %>
</p> </p>
<span class="filter-explanation"></span> <span class="filter-explanation"></span>
<%= link("your current filter", to: ~p"/filters/#{@conn.assigns.current_filter}", class: "filter-link") %> <%= link("your current filter", to: ~p"/filters/#{@conn.assigns.current_filter}", class: "filter-link") %> .
.
</div> </div>
<%= if size == :full and not embed_display do %> <%= if size == :full and not embed_display do %>
<div class="image-target hidden image-show" data-height={@image.image_height} data-image-size={@image.image_size} data-mime-type={@image.image_mime_type} data-scaled={scaled_value(@conn.assigns.current_user)} data-uris={Jason.encode!(thumb_urls(@image, can?(@conn, :hide, @image)))} data-width={@image.image_width}> <div
class="image-target hidden image-show"
data-height={@image.image_height}
data-image-size={@image.image_size}
data-mime-type={@image.image_mime_type}
data-scaled={scaled_value(@conn.assigns.current_user)}
data-uris={Jason.encode!(thumb_urls(@image, can?(@conn, :hide, @image)))}
data-width={@image.image_width}
>
<%= if @image.image_mime_type == "video/webm" do %> <%= if @image.image_mime_type == "video/webm" do %>
<video controls></video> <video controls></video>
<% else %> <% else %>

View file

@ -2,21 +2,17 @@
<div id="image_options_area"> <div id="image_options_area">
<div class="block__header block__header--js-tabbed"> <div class="block__header block__header--js-tabbed">
<a data-click-tab="reporting" data-load-tab={~p"/images/#{@image}/reporting"} href="#"> <a data-click-tab="reporting" data-load-tab={~p"/images/#{@image}/reporting"} href="#">
<i class="fa fa-exclamation-triangle"></i> <i class="fa fa-exclamation-triangle"></i> Report
Report
</a> </a>
<a data-click-tab="sharing" href="#"> <a data-click-tab="sharing" href="#">
<i class="fa fa-share"></i> <i class="fa fa-share"></i> Share
Share
</a> </a>
<a data-click-tab="favoriters" data-load-tab={~p"/images/#{@image}/favorites"} href="#"> <a data-click-tab="favoriters" data-load-tab={~p"/images/#{@image}/favorites"} href="#">
<i class="fa fa-star"></i> <i class="fa fa-star"></i> List favoriters
List favoriters
</a> </a>
<%= if display_mod_tools? and not hide_staff_tools?(@conn) do %> <%= if display_mod_tools? and not hide_staff_tools?(@conn) do %>
<a data-click-tab="replace" href="#"> <a data-click-tab="replace" href="#">
<i class="fa fa-upload"></i> <i class="fa fa-upload"></i> Replace
Replace
</a> </a>
<a data-click-tab="administration" href="#"> <a data-click-tab="administration" href="#">
<i class="fa fa-toolbox"></i> <i class="fa fa-toolbox"></i>
@ -40,14 +36,12 @@
</div> </div>
<div class="block__tab hidden" data-tab="sharing"> <div class="block__tab hidden" data-tab="sharing">
<div id="embed_options"> <div id="embed_options">
<% <% source_link =
source_link = if image_has_sources(@image) do
if image_has_sources(@image) do " - [url=#{image_first_source(@image)}]Original source[/url]"
" - [url=#{image_first_source(@image)}]Original source[/url]" else
else " (Original source unknown at time of posting)"
" (Original source unknown at time of posting)" end %>
end
%>
<h5> <h5>
Derpibooru Derpibooru
</h5> </h5>
@ -57,8 +51,7 @@
</strong> </strong>
<input class="input" cols="10" id="embed_small_thumbnail_tag" readonly="readonly" type="text" value={">>#{@image.id}s"} /> <input class="input" cols="10" id="embed_small_thumbnail_tag" readonly="readonly" type="text" value={">>#{@image.id}s"} />
<a data-click-copy="#embed_small_thumbnail_tag" href="#"> <a data-click-copy="#embed_small_thumbnail_tag" href="#">
<i class="fa fa-clipboard"></i> <i class="fa fa-clipboard"></i> Copy
Copy
</a> </a>
</p> </p>
<p> <p>
@ -67,8 +60,7 @@
</strong> </strong>
<input class="input" cols="10" id="embed_thumbnail_tag" readonly="readonly" type="text" value={">>#{@image.id}t"} /> <input class="input" cols="10" id="embed_thumbnail_tag" readonly="readonly" type="text" value={">>#{@image.id}t"} />
<a data-click-copy="#embed_thumbnail_tag" href="#"> <a data-click-copy="#embed_thumbnail_tag" href="#">
<i class="fa fa-clipboard"></i> <i class="fa fa-clipboard"></i> Copy
Copy
</a> </a>
</p> </p>
<p> <p>
@ -77,8 +69,7 @@
</strong> </strong>
<input class="input" cols="10" id="embed_preview_tag" readonly="readonly" type="text" value={">>#{@image.id}p"} /> <input class="input" cols="10" id="embed_preview_tag" readonly="readonly" type="text" value={">>#{@image.id}p"} />
<a data-click-copy="#embed_preview_tag" href="#"> <a data-click-copy="#embed_preview_tag" href="#">
<i class="fa fa-clipboard"></i> <i class="fa fa-clipboard"></i> Copy
Copy
</a> </a>
</p> </p>
<h5> <h5>
@ -89,8 +80,7 @@
Full size BBcode Full size BBcode
</strong> </strong>
<a data-click-copy="#bbcode_embed_full_tag" href="#"> <a data-click-copy="#bbcode_embed_full_tag" href="#">
<i class="fa fa-clipboard"></i> <i class="fa fa-clipboard"></i> Copy
Copy
</a> </a>
<br /> <br />
<textarea class="input input--wide input--separate-top" cols="100" id="bbcode_embed_full_tag" readonly="readonly" rows="2"> <textarea class="input input--wide input--separate-top" cols="100" id="bbcode_embed_full_tag" readonly="readonly" rows="2">
@ -105,8 +95,7 @@
Thumbnailed BBcode Thumbnailed BBcode
</strong> </strong>
<a data-click-copy="#bbcode_embed_thumbnail_tag" href="#"> <a data-click-copy="#bbcode_embed_thumbnail_tag" href="#">
<i class="fa fa-clipboard"></i> <i class="fa fa-clipboard"></i> Copy
Copy
</a> </a>
<br /> <br />
<textarea class="input input--wide input--separate-top" cols="100" id="bbcode_embed_thumbnail_tag" readonly="readonly" rows="2"> <textarea class="input input--wide input--separate-top" cols="100" id="bbcode_embed_thumbnail_tag" readonly="readonly" rows="2">

View file

@ -25,16 +25,14 @@
<%= error_tag(fs, :source) %> <%= error_tag(fs, :source) %>
<label class="input--separate-left flex__fixed flex--centered"> <label class="input--separate-left flex__fixed flex--centered">
<a class="js-source-remove" href="#"> <a class="js-source-remove" href="#">
<i class="fa fa-trash"></i> <i class="fa fa-trash"></i> Delete
Delete
</a> </a>
</label> </label>
</div> </div>
<% end %> <% end %>
<div class="field"> <div class="field">
<button class="button js-image-add-source" type="button"> <button class="button js-image-add-source" type="button">
<i class="fa fa-plus"></i> <i class="fa fa-plus"></i> Add source
Add source
</button> </button>
<%= submit("Save sources", class: "button button--separate-left") %> <%= submit("Save sources", class: "button button--separate-left") %>
<button class="button button--separate-left" data-click-hide="#source-form" data-click-show="#image-source" type="reset"> <button class="button button--separate-left" data-click-hide="#source-form" data-click-show="#image-source" type="reset">
@ -73,16 +71,13 @@
<spanspan class="hide-mobile"> <spanspan class="hide-mobile">
History History
</spanspan> </spanspan>
( ( <%= @source_change_count %> )
<%= @source_change_count %>
)
</a> </a>
<% end %> <% end %>
<%= if can?(@conn, :hide, @image) and not hide_staff_tools?(@conn) do %> <%= if can?(@conn, :hide, @image) and not hide_staff_tools?(@conn) do %>
<%= form_for @changeset, ~p"/images/#{@image}/source_history", [method: "delete"], fn _f -> %> <%= form_for @changeset, ~p"/images/#{@image}/source_history", [method: "delete"], fn _f -> %>
<a class="button button--state-danger button--inline" data-confirm="Are you really, really sure?" title="Wipe sources" type="submit"> <a class="button button--state-danger button--inline" data-confirm="Are you really, really sure?" title="Wipe sources" type="submit">
<i class="fas fa-eraser"></i> <i class="fas fa-eraser"></i> Wipe
Wipe
</a> </a>
<% end %> <% end %>
<% end %> <% end %>

View file

@ -1,11 +1,9 @@
<% <% form_class =
form_class = if @changeset.action do
if @changeset.action do ""
"" else
else "hidden"
"hidden" end %>
end
%>
<% tags = display_order(@image.tags) %> <% tags = display_order(@image.tags) %>
<% tag_input = Enum.map_join(tags, ", ", & &1.name) %> <% tag_input = Enum.map_join(tags, ", ", & &1.name) %>
<div class="js-tagsauce" id="image_tags_and_source"> <div class="js-tagsauce" id="image_tags_and_source">
@ -51,8 +49,7 @@
Hang on a sec&hellip; Hang on a sec&hellip;
</em> </em>
</strong> </strong>
<br /> <br /> Make sure you have read and understood our
Make sure you have read and understood our
<a href="/pages/tags"> <a href="/pages/tags">
tagging guidelines tagging guidelines
</a> </a>
@ -85,20 +82,15 @@
<div class="block tagsauce"> <div class="block tagsauce">
<div class="block__header flex"> <div class="block__header flex">
<span class="block__header__title"> <span class="block__header__title">
<i class="fas fa-tag"></i> <i class="fas fa-tag"></i> Tags
Tags
</span> </span>
<div class="block__header__buttons"> <div class="block__header__buttons">
<a accessKey="t" class="button button--inline js-tag-sauce-toggle" data-click-focus=".js-taginput-plain:not(.hidden), .js-taginput-input" data-click-toggle=".tagsauce, .js-imageform" id="edit-tags" title="Edit tags"> <a accessKey="t" class="button button--inline js-tag-sauce-toggle" data-click-focus=".js-taginput-plain:not(.hidden), .js-taginput-input" data-click-toggle=".tagsauce, .js-imageform" id="edit-tags" title="Edit tags">
<i class="fas fa-edit"></i> <i class="fas fa-edit"></i> Edit
Edit
</a> </a>
<%= if @tag_change_count > 0 do %> <%= if @tag_change_count > 0 do %>
<a class="button button--link button--inline" href={~p"/images/#{@image}/tag_changes"} title="Tag history"> <a class="button button--link button--inline" href={~p"/images/#{@image}/tag_changes"} title="Tag history">
<i class="fa fa-history"></i> <i class="fa fa-history"></i> History ( <%= @tag_change_count %> )
History (
<%= @tag_change_count %>
)
</a> </a>
<% end %> <% end %>
</div> </div>

View file

@ -1,6 +1,5 @@
<span class="image_uploader"> <span class="image_uploader">
by by <%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: @image, awards: true, conn: @conn) %>
<%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: @image, awards: true, conn: @conn) %>
<%= if can?(@conn, :show, :ip_address) and not hide_staff_tools?(@conn) do %> <%= if can?(@conn, :show, :ip_address) and not hide_staff_tools?(@conn) do %>
<%= link_to_ip(@conn, @image.ip) %> <%= link_to_ip(@conn, @image.ip) %>
<%= link_to_fingerprint(@conn, @image.fingerprint) %> <%= link_to_fingerprint(@conn, @image.fingerprint) %>

View file

@ -1,11 +1,9 @@
<% <% options =
options = if assigns[:remote] do
if assigns[:remote] do [data: [remote: "true"], id: "js-comment-form"]
[data: [remote: "true"], id: "js-comment-form"] else
else []
[] end %>
end
%>
<%= form_for @changeset, ~p"/images/#{@image}/comments", options, fn f -> %> <%= form_for @changeset, ~p"/images/#{@image}/comments", options, fn f -> %>
<%= if @changeset.action do %> <%= if @changeset.action do %>
<div class="alert alert-danger"> <div class="alert alert-danger">

View file

@ -1,10 +1,7 @@
<h1> <h1>
Viewing last 25 versions of comment by Viewing last 25 versions of comment by <%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: @comment, conn: @conn) %> on image
<%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: @comment, conn: @conn) %>
on image
<a href={~p"/images/#{@comment.image}"}> <a href={~p"/images/#{@comment.image}"}>
# # <%= @comment.image_id %>
<%= @comment.image_id %>
</a> </a>
</h1> </h1>
<%= for version <- @versions do %> <%= for version <- @versions do %>
@ -41,17 +38,13 @@
<div class="flex flex--wrap flex--spaced-out"> <div class="flex flex--wrap flex--spaced-out">
<div> <div>
<%= if version.edit_reason not in [nil, ""] do %> <%= if version.edit_reason not in [nil, ""] do %>
Reason: Reason: <%= version.edit_reason %>
<%= version.edit_reason %>
<% else %> <% else %>
No reason given No reason given
<% end %> <% end %>
</div> </div>
<div class="flex__right"> <div class="flex__right">
Edited Edited <%= pretty_time(version.created_at) %> by <%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: version, conn: @conn) %>
<%= pretty_time(version.created_at) %>
by
<%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: version, conn: @conn) %>
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,7 +1,5 @@
<% <% route = fn p -> ~p"/images/#{@image}/comments?#{p}" end
route = fn p -> ~p"/images/#{@image}/comments?#{p}" end pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @comments, route: route) %>
pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @comments, route: route)
%>
<div class="block"> <div class="block">
<div class="block__header page__header"> <div class="block__header page__header">
<div class="page__pagination"> <div class="page__pagination">
@ -10,8 +8,7 @@
<div class="page__info"> <div class="page__info">
<span class="block__header__title"> <span class="block__header__title">
<%= @image.comments_count %> <%= @image.comments_count %>
<%= pluralize("comment", "comments", @image.comments_count) %> <%= pluralize("comment", "comments", @image.comments_count) %> posted
posted
</span> </span>
<button class="button" data-disable-with="..." id="js-refresh-comments" title="Refresh"> <button class="button" data-disable-with="..." id="js-refresh-comments" title="Refresh">
<i class="fa fa-sync"></i> <i class="fa fa-sync"></i>

View file

@ -5,9 +5,7 @@
This image has been merged into another image This image has been merged into another image
</h1> </h1>
<p> <p>
This image was merged into image This image was merged into image <%= link("##{@image.duplicate_id}", to: ~p"/images/#{@image.duplicate_id}") %> because it was determined to be a duplicate of that image.
<%= link("##{@image.duplicate_id}", to: ~p"/images/#{@image.duplicate_id}") %>
because it was determined to be a duplicate of that image.
</p> </p>
</div> </div>
</div> </div>
@ -36,16 +34,10 @@
<% end %> <% end %>
</div> </div>
<p> <p>
If you originally uploaded the file previously located here, please don't re-upload it - If you originally uploaded the file previously located here, please don't re-upload it - <%= link("contact us", to: "/pages/contact") %> if you feel this was in error and we'll talk! We're only human, and mistakes happen.
<%= link("contact us", to: "/pages/contact") %>
if you feel this was in error and we'll talk! We're only human, and mistakes happen.
</p> </p>
<p> <p>
Here's the Here's the <%= link("tagging guidelines", to: "/pages/tags") %> and <%= link("rules of the site", to: "/pages/rules") %> . Other useful links can be found at the bottom of the page.
<%= link("tagging guidelines", to: "/pages/tags") %>
and
<%= link("rules of the site", to: "/pages/rules") %>
. Other useful links can be found at the bottom of the page.
</p> </p>
</div> </div>
<% end %> <% end %>

View file

@ -1,6 +1,5 @@
<h5> <h5>
Faved by Faved by <%= @image.faves_count %>
<%= @image.faves_count %>
<%= pluralize("user", "users", @image.faves_count) %> <%= pluralize("user", "users", @image.faves_count) %>
</h5> </h5>
<%= for fave <- Enum.sort_by(@image.faves, & String.downcase(&1.user.name)) do %> <%= for fave <- Enum.sort_by(@image.faves, & String.downcase(&1.user.name)) do %>
@ -8,8 +7,7 @@
<% end %> <% end %>
<%= if @has_votes do %> <%= if @has_votes do %>
<h5> <h5>
Upvoted by Upvoted by <%= @image.upvotes_count %>
<%= @image.upvotes_count %>
<%= pluralize("user", "users", @image.upvotes_count) %> <%= pluralize("user", "users", @image.upvotes_count) %>
</h5> </h5>
<%= for upvote <- Enum.sort_by(@image.upvotes, & String.downcase(&1.user.name)) do %> <%= for upvote <- Enum.sort_by(@image.upvotes, & String.downcase(&1.user.name)) do %>
@ -19,8 +17,7 @@
</span> </span>
<% end %> <% end %>
<h5> <h5>
Downvoted by Downvoted by <%= @image.downvotes_count %>
<%= @image.downvotes_count %>
<%= pluralize("user", "users", @image.downvotes_count) %> <%= pluralize("user", "users", @image.downvotes_count) %>
</h5> </h5>
<%= for downvote <- Enum.sort_by(@image.downvotes, & String.downcase(&1.user.name)) do %> <%= for downvote <- Enum.sort_by(@image.downvotes, & String.downcase(&1.user.name)) do %>
@ -30,8 +27,7 @@
</span> </span>
<% end %> <% end %>
<h5> <h5>
Hidden by Hidden by <%= @image.hides_count %>
<%= @image.hides_count %>
<%= pluralize("user", "users", @image.hides_count) %> <%= pluralize("user", "users", @image.hides_count) %>
</h5> </h5>
<%= for hide <- Enum.sort_by(@image.hides, & String.downcase(&1.user.name)) do %> <%= for hide <- Enum.sort_by(@image.hides, & String.downcase(&1.user.name)) do %>

View file

@ -1,14 +1,12 @@
<% <% header = assigns[:header] || ""
header = assigns[:header] || "" params = assigns[:params] || assigns[:scope] || []
params = assigns[:params] || assigns[:scope] || [] scope = assigns[:scope] || []
scope = assigns[:scope] || [] tags = assigns[:tags] || []
tags = assigns[:tags] || [] route = assigns[:route] || fn p -> ~p"/images?#{p}" end
route = assigns[:route] || fn p -> ~p"/images?#{p}" end image_url = fn image -> ~p"/images/#{image}?#{scope}" end
image_url = fn image -> ~p"/images/#{image}?#{scope}" end sorted_url = fn image, hit -> ~p"/images/#{image}?#{Keyword.put(scope, :sort, hit["sort"])}" end
sorted_url = fn image, hit -> ~p"/images/#{image}?#{Keyword.put(scope, :sort, hit["sort"])}" end pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @images, route: route, params: params)
pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @images, route: route, params: params) info = render(PhilomenaWeb.PaginationView, "_pagination_info.html", page: @images) %>
info = render(PhilomenaWeb.PaginationView, "_pagination_info.html", page: @images)
%>
<div class="block" id="imagelist-container"> <div class="block" id="imagelist-container">
<section class="block__header page__header flex"> <section class="block__header page__header flex">
<span class="block__header__title page__title hide-mobile"> <span class="block__header__title page__title hide-mobile">

View file

@ -69,16 +69,14 @@
<%= error_tag(fs, :source) %> <%= error_tag(fs, :source) %>
<label class="input--separate-left flex__fixed flex--centered"> <label class="input--separate-left flex__fixed flex--centered">
<a class="js-source-remove" href="#"> <a class="js-source-remove" href="#">
<i class="fa fa-trash"></i> <i class="fa fa-trash"></i> Delete
Delete
</a> </a>
</label> </label>
</div> </div>
<% end %> <% end %>
<div class="field"> <div class="field">
<button class="button js-image-add-source" type="button"> <button class="button js-image-add-source" type="button">
<i class="fa fa-plus"></i> <i class="fa fa-plus"></i> Add source
Add source
</button> </button>
</div> </div>
<div class="field"> <div class="field">
@ -111,18 +109,16 @@
<div class="field"> <div class="field">
<div class="block"> <div class="block">
<div class="communication-edit__wrap"> <div class="communication-edit__wrap">
<%= <%= render(PhilomenaWeb.MarkdownView, "_input.html",
render(PhilomenaWeb.MarkdownView, "_input.html", conn: @conn,
conn: @conn, f: f,
f: f, action_icon: "pencil-alt",
action_icon: "pencil-alt", action_text: "Description",
action_text: "Description", placeholder: "Describe this image in plain words - this should generally be info about the image that doesn't belong in the tags or source.",
placeholder: "Describe this image in plain words - this should generally be info about the image that doesn't belong in the tags or source.", name: :description,
name: :description, class: "js-image-descr-input",
class: "js-image-descr-input", required: false
required: false ) %>
)
%>
</div> </div>
</div> </div>
</div> </div>

View file

@ -3,8 +3,7 @@
<div class="block__header__title hide-mobile"> <div class="block__header__title hide-mobile">
Viewing related images for Viewing related images for
<strong> <strong>
# # <%= @image.id %>
<%= @image.id %>
</strong> </strong>
</div> </div>
</div> </div>

View file

@ -1,7 +1,6 @@
<a href={~p"/images/#{@image}/reports/new"}> <a href={~p"/images/#{@image}/reports/new"}>
<button class="button button--link"> <button class="button button--link">
<i class="fa fa-exclamation-triangle"></i> <i class="fa fa-exclamation-triangle"></i> General reporting
General reporting
</button> </button>
</a> </a>
<div class="report-duplicate"> <div class="report-duplicate">

View file

@ -1,6 +1,5 @@
<h1> <h1>
Editing moderation notes for image Editing moderation notes for image <%= link("##{@image.id}", to: ~p"/images/#{@image}") %>
<%= link("##{@image.id}", to: ~p"/images/#{@image}") %>
</h1> </h1>
<%= form_for @changeset, ~p"/images/#{@image}/scratchpad", fn f -> %> <%= form_for @changeset, ~p"/images/#{@image}/scratchpad", fn f -> %>
<div class="field"> <div class="field">

View file

@ -1,8 +1,7 @@
<h1> <h1>
Source changes for Source changes for
<a href={~p"/images/#{@image}"}> <a href={~p"/images/#{@image}"}>
image # image # <%= @image.id %>
<%= @image.id %>
</a> </a>
</h1> </h1>
<% route = fn p -> ~p"/images/#{@image}/source_changes?#{p}" end %> <% route = fn p -> ~p"/images/#{@image}/source_changes?#{p}" end %>

View file

@ -1,36 +1,31 @@
<% <% watch_path = ~p"/images/#{@image}/subscription"
watch_path = ~p"/images/#{@image}/subscription"
watch_class = watch_class =
if @watching do if @watching do
"hidden" "hidden"
else else
"" ""
end end
unwatch_path = ~p"/images/#{@image}/subscription" unwatch_path = ~p"/images/#{@image}/subscription"
unwatch_class = unwatch_class =
if @watching do if @watching do
"" ""
else else
"hidden" "hidden"
end end %>
%>
<%= if @conn.assigns.current_user do %> <%= if @conn.assigns.current_user do %>
<span class="js-subscription-target"> <span class="js-subscription-target">
<a class={"js-subscription-link #{watch_class}"} data-method="post" data-remote="true" href={watch_path}> <a class={"js-subscription-link #{watch_class}"} data-method="post" data-remote="true" href={watch_path}>
<i class="fa fa-bell"></i> <i class="fa fa-bell"></i> Subscribe
Subscribe
</a> </a>
<a class={"js-subscription-link #{unwatch_class}"} data-method="delete" data-remote="true" href={unwatch_path}> <a class={"js-subscription-link #{unwatch_class}"} data-method="delete" data-remote="true" href={unwatch_path}>
<i class="fa fa-bell-slash"></i> <i class="fa fa-bell-slash"></i> Unsubscribe
Unsubscribe
</a> </a>
</span> </span>
<% else %> <% else %>
<a href={~p"/sessions/new"}> <a href={~p"/sessions/new"}>
<i class="fa fa-bell"></i> <i class="fa fa-bell"></i> Subscribe
Subscribe
</a> </a>
<% end %> <% end %>

View file

@ -1,17 +1,14 @@
<h1> <h1>
Tag changes for Tag changes for
<a href={~p"/images/#{@image}"}> <a href={~p"/images/#{@image}"}>
image # image # <%= @image.id %>
<%= @image.id %>
</a> </a>
</h1> </h1>
<% route = fn p -> ~p"/images/#{@image}/tag_changes?#{p}" end %> <% route = fn p -> ~p"/images/#{@image}/tag_changes?#{p}" end %>
<% <% params =
params = if @conn.params["added"] do
if @conn.params["added"] do [added: @conn.params["added"]]
[added: @conn.params["added"]] end %>
end
%>
<% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @tag_changes, route: route, conn: @conn, params: params) %> <% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @tag_changes, route: route, conn: @conn, params: params) %>
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">

View file

@ -1,7 +1,6 @@
<% tag_input = Enum.map_join(@image.locked_tags, ", ", & &1.name) %> <% tag_input = Enum.map_join(@image.locked_tags, ", ", & &1.name) %>
<h1> <h1>
Editing locked tags on image # Editing locked tags on image # <%= @image.id %>
<%= @image.id %>
</h1> </h1>
<%= form_for @changeset, ~p"/images/#{@image}/tag_lock", fn f -> %> <%= form_for @changeset, ~p"/images/#{@image}/tag_lock", fn f -> %>
<div class="field"> <div class="field">

View file

@ -1,6 +1,5 @@
<h1> <h1>
<%= @ip %> <%= @ip %> 's IP profile
's IP profile
</h1> </h1>
<ul> <ul>
<li> <li>
@ -42,12 +41,10 @@
<%= link("Revert all tag changes", to: ~p"/tag_changes/full_revert?#{[ip: to_string(@ip)]}", data: [confirm: "Are you really, really sure?", method: "create"]) %> <%= link("Revert all tag changes", to: ~p"/tag_changes/full_revert?#{[ip: to_string(@ip)]}", data: [confirm: "Are you really, really sure?", method: "create"]) %>
</li> </li>
<li> <li>
<%= <%= link("...the button above didn't work (use carefully, this is resource-intensive)",
link("...the button above didn't work (use carefully, this is resource-intensive)", to: ~p"/tag_changes/full_revert?#{[ip: to_string(@ip), batch_size: 1]}",
to: ~p"/tag_changes/full_revert?#{[ip: to_string(@ip), batch_size: 1]}", data: [confirm: "Please confirm that you're aware that this may crash the site and are ready to take on the full wrath of the admins if it does so after you press this button.", method: "create"]
data: [confirm: "Please confirm that you're aware that this may crash the site and are ready to take on the full wrath of the admins if it does so after you press this button.", method: "create"] ) %>
)
%>
</li> </li>
</ul> </ul>
<h4> <h4>
@ -77,8 +74,7 @@
<%= link(uip.user.name, to: ~p"/profiles/#{uip.user}") %> <%= link(uip.user.name, to: ~p"/profiles/#{uip.user}") %>
</td> </td>
<td> <td>
<%= uip.uses %> <%= uip.uses %> times
times
</td> </td>
<td> <td>
<%= pretty_time(uip.updated_at) %> <%= pretty_time(uip.updated_at) %>

View file

@ -1,6 +1,5 @@
<h1> <h1>
Source changes by Source changes by <%= @ip %>
<%= @ip %>
</h1> </h1>
<% route = fn p -> ~p"/ip_profiles/#{to_string(@ip)}/source_changes?#{p}" end %> <% route = fn p -> ~p"/ip_profiles/#{to_string(@ip)}/source_changes?#{p}" end %>
<% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @source_changes, route: route, conn: @conn) %> <% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @source_changes, route: route, conn: @conn) %>

View file

@ -1,14 +1,11 @@
<h1> <h1>
Tag changes by Tag changes by <%= @ip %>
<%= @ip %>
</h1> </h1>
<% route = fn p -> ~p"/ip_profiles/#{to_string(@ip)}/tag_changes?#{p}" end %> <% route = fn p -> ~p"/ip_profiles/#{to_string(@ip)}/tag_changes?#{p}" end %>
<% <% params =
params = if @conn.params["added"] do
if @conn.params["added"] do [added: @conn.params["added"]]
[added: @conn.params["added"]] end %>
end
%>
<% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @tag_changes, route: route, conn: @conn, params: params) %> <% pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @tag_changes, route: route, conn: @conn, params: params) %>
<div class="block"> <div class="block">
<div class="block__header"> <div class="block__header">

View file

@ -1,46 +1,35 @@
<nav id="burger"> <nav id="burger">
<a href="/"> <a href="/">
<i class="fa-fw favicon-home"></i> <i class="fa-fw favicon-home"></i> Home
Home
</a> </a>
<a href="/images/new"> <a href="/images/new">
<i class="fa fa-fw fa-upload"></i> <i class="fa fa-fw fa-upload"></i> Upload
Upload
</a> </a>
<a href="/forums"> <a href="/forums">
<i class="fas fa-fw fa-pen-square"></i> <i class="fas fa-fw fa-pen-square"></i> Forums
Forums
</a> </a>
<a href="/tags"> <a href="/tags">
<i class="fa fa-fw fa-tag"></i> <i class="fa fa-fw fa-tag"></i> Tags
Tags
</a> </a>
<a href="/search?q=first_seen_at.gt:3 days ago&amp;sf=wilson_score&amp;sd=desc"> <a href="/search?q=first_seen_at.gt:3 days ago&amp;sf=wilson_score&amp;sd=desc">
<i class="fas fa-fw fa-poll"></i> <i class="fas fa-fw fa-poll"></i> Rankings
Rankings
</a> </a>
<a href="/filters"> <a href="/filters">
<i class="fa fa-fw fa-filter"></i> <i class="fa fa-fw fa-filter"></i> Filters
Filters
</a> </a>
<a href="/galleries"> <a href="/galleries">
<i class="fa fa-fw fa-image"></i> <i class="fa fa-fw fa-image"></i> Galleries
Galleries
</a> </a>
<a href="/comments"> <a href="/comments">
<i class="fa fa-fw fa-comments"></i> <i class="fa fa-fw fa-comments"></i> Comments
Comments
</a> </a>
<a href="/commissions"> <a href="/commissions">
<i class="fa fa-fw fa-address-card"></i> <i class="fa fa-fw fa-address-card"></i> Commissions
Commissions
</a> </a>
<a href="/channels"> <a href="/channels">
<i class="fa fa-fw fa-podcast"></i> <i class="fa fa-fw fa-podcast"></i> Channels
Channels
</a> </a>
<a href="/pages/donations"> <a href="/pages/donations">
<i class="fa fa-fw fa-heart"></i> <i class="fa fa-fw fa-heart"></i> Donate
Donate
</a> </a>
</nav> </nav>

View file

@ -15,9 +15,7 @@
<strong> <strong>
You don't appear to have Javascript enabled You don't appear to have Javascript enabled
</strong> </strong>
If you're using an add-on like NoScript, please allow If you're using an add-on like NoScript, please allow <%= cdn_host() %> for the site to work properly.
<%= cdn_host() %>
for the site to work properly.
</noscript> </noscript>
<%= if get_flash(@conn, :info) do %> <%= if get_flash(@conn, :info) do %>
<div class="flash flash--success"> <div class="flash flash--success">

View file

@ -9,12 +9,12 @@
<%= for row <- footer_data[column] do %> <%= for row <- footer_data[column] do %>
<%= if row["bold"] do %> <%= if row["bold"] do %>
<strong> <strong>
<a href={row["url"]} target={row["target"]||"_self"}> <a href={row["url"]} target={row["target"] || "_self"}>
<%= row["title"] %> <%= row["title"] %>
</a> </a>
</strong> </strong>
<% else %> <% else %>
<a href={row["url"]} target={row["target"]||"_self"}> <a href={row["url"]} target={row["target"] || "_self"}>
<%= row["title"] %> <%= row["title"] %>
</a> </a>
<% end %> <% end %>
@ -28,8 +28,6 @@
<a href="https://github.com/philomena-dev/philomena"> <a href="https://github.com/philomena-dev/philomena">
philomena philomena
</a> </a>
( ( <%= render_time(@conn) %> ms)
<%= render_time(@conn) %>
ms)
</div> </div>
</footer> </footer>

View file

@ -17,7 +17,15 @@
</a> </a>
</div> </div>
<%= form_for @conn, ~p"/search", [method: "get", class: "header__search flex flex--no-wrap flex--centered", enforce_utf8: false], fn f -> %> <%= form_for @conn, ~p"/search", [method: "get", class: "header__search flex flex--no-wrap flex--centered", enforce_utf8: false], fn f -> %>
<input autocapitalize="none" class="input header__input header__input--search" id="q" name="q" placeholder="Search" title="For terms all required, separate with ',' or 'AND'; also supports 'OR' for optional terms and '-' or 'NOT' for negation. Search with a blank query for more options or click the ? for syntax help." value={@conn.params["q"]} /> <input
autocapitalize="none"
class="input header__input header__input--search"
id="q"
name="q"
placeholder="Search"
title="For terms all required, separate with ',' or 'AND'; also supports 'OR' for optional terms and '-' or 'NOT' for negation. Search with a blank query for more options or click the ? for syntax help."
value={@conn.params["q"]}
/>
<%= if present?(@conn.params["sf"]) do %> <%= if present?(@conn.params["sf"]) do %>
<input name="sf" type="hidden" value={@conn.params["sf"]} /> <input name="sf" type="hidden" value={@conn.params["sf"]} />
<% end %> <% end %>
@ -83,65 +91,50 @@
<%= @current_user.name %> <%= @current_user.name %>
</a> </a>
<a class="header__link" href="/search?q=my:watched"> <a class="header__link" href="/search?q=my:watched">
<i class="fa fa-fw fa-eye"></i> <i class="fa fa-fw fa-eye"></i> Watched
Watched
</a> </a>
<a class="header__link" href="/search?q=my:faves"> <a class="header__link" href="/search?q=my:faves">
<i class="fa fa-fw fa-star"></i> <i class="fa fa-fw fa-star"></i> Faves
Faves
</a> </a>
<a class="header__link" href="/search?q=my:upvotes"> <a class="header__link" href="/search?q=my:upvotes">
<i class="fa fa-fw fa-arrow-up"></i> <i class="fa fa-fw fa-arrow-up"></i> Upvotes
Upvotes
</a> </a>
<a class="header__link" href={~p"/galleries?#{[gallery: [creator: @current_user.name]]}"}> <a class="header__link" href={~p"/galleries?#{[gallery: [creator: @current_user.name]]}"}>
<i class="fa fa-fw fa-image"></i> <i class="fa fa-fw fa-image"></i> Galleries
Galleries
</a> </a>
<a class="header__link" href="/search?q=my:uploads"> <a class="header__link" href="/search?q=my:uploads">
<i class="fa fa-fw fa-upload"></i> <i class="fa fa-fw fa-upload"></i> Uploads
Uploads
</a> </a>
<a class="header__link" href="/comments?cq=my:comments"> <a class="header__link" href="/comments?cq=my:comments">
<i class="fa fa-fw fa-comments"></i> <i class="fa fa-fw fa-comments"></i> Comments
Comments
</a> </a>
<a class="header__link" href="/posts?pq=my:posts"> <a class="header__link" href="/posts?pq=my:posts">
<i class="fas fa-fw fa-pen-square"></i> <i class="fas fa-fw fa-pen-square"></i> Posts
Posts
</a> </a>
<a class="header__link" href={~p"/profiles/#{@current_user}/artist_links"}> <a class="header__link" href={~p"/profiles/#{@current_user}/artist_links"}>
<i class="fa fa-fw fa-link"></i> <i class="fa fa-fw fa-link"></i> Links
Links
</a> </a>
<a class="header__link" href="/settings/edit"> <a class="header__link" href="/settings/edit">
<i class="fa fa-fw fa-cogs"></i> <i class="fa fa-fw fa-cogs"></i> Settings
Settings
</a> </a>
<a class="header__link" href="/conversations"> <a class="header__link" href="/conversations">
<i class="fa fa-fw fa-envelope"></i> <i class="fa fa-fw fa-envelope"></i> Messages
Messages
</a> </a>
<a class="header__link" href={~p"/registrations/edit"}> <a class="header__link" href={~p"/registrations/edit"}>
<i class="fa fa-fw fa-user"></i> <i class="fa fa-fw fa-user"></i> Account
Account
</a> </a>
<a class="header__link" data-method="delete" href={~p"/sessions"}> <a class="header__link" data-method="delete" href={~p"/sessions"}>
<i class="fa fa-fw fa-sign-out-alt"></i> <i class="fa fa-fw fa-sign-out-alt"></i> Logout
Logout
</a> </a>
</nav> </nav>
</div> </div>
<% else %> <% else %>
<a class="header__link hide-mobile" href="/filters"> <a class="header__link hide-mobile" href="/filters">
Filters ( Filters ( <%= @current_filter.name %> )
<%= @current_filter.name %>
)
</a> </a>
<span class="js-burger-links hide-mobile"> <span class="js-burger-links hide-mobile">
<a class="header__link" href="/settings/edit"> <a class="header__link" href="/settings/edit">
<i class="fa fa-fw fa-cogs hide-desktop"></i> <i class="fa fa-fw fa-cogs hide-desktop"></i> Settings
Settings
</a> </a>
</span> </span>
<a class="header__link" href={~p"/registrations/new"}> <a class="header__link" href={~p"/registrations/new"}>

View file

@ -39,8 +39,7 @@
</a> </a>
<% end %> <% end %>
<a class="header__link" href="/posts"> <a class="header__link" href="/posts">
<i class="fa fa-fw fa-search"></i> <i class="fa fa-fw fa-search"></i> Post Search
Post Search
</a> </a>
</div> </div>
</div> </div>

View file

@ -2,56 +2,47 @@
<%= if manages_users?(@conn) do %> <%= if manages_users?(@conn) do %>
<div class="dropdown hide-mobile"> <div class="dropdown hide-mobile">
<a class="header__link" title="Admin"> <a class="header__link" title="Admin">
A A <i class="fa fa-caret-down"></i>
<i class="fa fa-caret-down"></i>
</a> </a>
<div class="dropdown__content js-burger-links"> <div class="dropdown__content js-burger-links">
<%= if manages_site_notices?(@conn) do %> <%= if manages_site_notices?(@conn) do %>
<%= link to: ~p"/admin/site_notices", class: "header__link" do %> <%= link to: ~p"/admin/site_notices", class: "header__link" do %>
<i class="fa fa-fw fa-info-circle"></i> <i class="fa fa-fw fa-info-circle"></i> Site Notices
Site Notices
<% end %> <% end %>
<% end %> <% end %>
<%= if manages_users?(@conn) do %> <%= if manages_users?(@conn) do %>
<%= link to: ~p"/admin/users", class: "header__link" do %> <%= link to: ~p"/admin/users", class: "header__link" do %>
<i class="fa fa-fw fa-users"></i> <i class="fa fa-fw fa-users"></i> Users
Users
<% end %> <% end %>
<% end %> <% end %>
<%= if manages_forums?(@conn) do %> <%= if manages_forums?(@conn) do %>
<%= link to: ~p"/admin/forums", class: "header__link" do %> <%= link to: ~p"/admin/forums", class: "header__link" do %>
<i class="fa fa-fw fa-paragraph"></i> <i class="fa fa-fw fa-paragraph"></i> Forums
Forums
<% end %> <% end %>
<% end %> <% end %>
<%= if manages_ads?(@conn) do %> <%= if manages_ads?(@conn) do %>
<%= link to: ~p"/admin/adverts", class: "header__link" do %> <%= link to: ~p"/admin/adverts", class: "header__link" do %>
<i class="fa fa-fw fa-shopping-bag"></i> <i class="fa fa-fw fa-shopping-bag"></i> Adverts
Adverts
<% end %> <% end %>
<% end %> <% end %>
<%= if manages_badges?(@conn) do %> <%= if manages_badges?(@conn) do %>
<%= link to: ~p"/admin/badges", class: "header__link" do %> <%= link to: ~p"/admin/badges", class: "header__link" do %>
<i class="fa fa-fw fa-trophy"></i> <i class="fa fa-fw fa-trophy"></i> Badges
Badges
<% end %> <% end %>
<% end %> <% end %>
<%= if manages_static_pages?(@conn) do %> <%= if manages_static_pages?(@conn) do %>
<%= link to: ~p"/pages", class: "header__link" do %> <%= link to: ~p"/pages", class: "header__link" do %>
<i class="fa fa-fw fa-sticky-note"></i> <i class="fa fa-fw fa-sticky-note"></i> Pages
Pages
<% end %> <% end %>
<% end %> <% end %>
<%= if manages_mod_notes?(@conn) do %> <%= if manages_mod_notes?(@conn) do %>
<%= link to: ~p"/admin/mod_notes", class: "header__link" do %> <%= link to: ~p"/admin/mod_notes", class: "header__link" do %>
<i class="fa fa-fw fa-clipboard"></i> <i class="fa fa-fw fa-clipboard"></i> Mod Notes
Mod Notes
<% end %> <% end %>
<% end %> <% end %>
<%= if can_see_moderation_log?(@conn) do %> <%= if can_see_moderation_log?(@conn) do %>
<%= link to: ~p"/moderation_logs", class: "header__link" do %> <%= link to: ~p"/moderation_logs", class: "header__link" do %>
<i class="fa fa-fw fa-list-alt"></i> <i class="fa fa-fw fa-list-alt"></i> Mod Logs
Mod Logs
<% end %> <% end %>
<% end %> <% end %>
</div> </div>
@ -100,21 +91,17 @@
<%= if manages_bans?(@conn) do %> <%= if manages_bans?(@conn) do %>
<div class="dropdown hide-mobile"> <div class="dropdown hide-mobile">
<a class="header__link" title="Bans"> <a class="header__link" title="Bans">
B B <i class="fa fa-caret-down"></i>
<i class="fa fa-caret-down"></i>
</a> </a>
<div class="dropdown__content dropdown__content-right js-burger-links"> <div class="dropdown__content dropdown__content-right js-burger-links">
<%= link to: ~p"/admin/user_bans", class: "header__link" do %> <%= link to: ~p"/admin/user_bans", class: "header__link" do %>
<i class="fa fa-fw fa-user"></i> <i class="fa fa-fw fa-user"></i> User Bans
User Bans
<% end %> <% end %>
<%= link to: ~p"/admin/subnet_bans", class: "header__link" do %> <%= link to: ~p"/admin/subnet_bans", class: "header__link" do %>
<i class="fab fa-fw fa-internet-explorer"></i> <i class="fab fa-fw fa-internet-explorer"></i> IP Bans
IP Bans
<% end %> <% end %>
<%= link to: ~p"/admin/fingerprint_bans", class: "header__link" do %> <%= link to: ~p"/admin/fingerprint_bans", class: "header__link" do %>
<i class="fa fa-fw fa-desktop"></i> <i class="fa fa-fw fa-desktop"></i> FP Bans
FP Bans
<% end %> <% end %>
</div> </div>
</div> </div>

View file

@ -5,8 +5,7 @@
<%= viewport_meta_tag(@conn) %> <%= viewport_meta_tag(@conn) %>
<title> <title>
<%= if assigns[:title] do %> <%= if assigns[:title] do %>
<%= assigns[:title] %> <%= assigns[:title] %> - Derpibooru
- Derpibooru
<% else %> <% else %>
Derpibooru Derpibooru
<% end %> <% end %>
@ -22,10 +21,13 @@
<meta content="telephone=no" name="format-detection" /> <meta content="telephone=no" name="format-detection" />
<%= csrf_meta_tag() %> <%= csrf_meta_tag() %>
<%= vite_hmr? do %> <%= vite_hmr? do %>
<script src="http://localhost:5173/@vite/client" type="module"></script> <script src="http://localhost:5173/@vite/client" type="module">
<script src="http://localhost:5173/js/app.js" type="module"></script> </script>
<script src="http://localhost:5173/js/app.js" type="module">
</script>
<% else %> <% else %>
<script async="async" src={~p"/js/app.js"} type="text/javascript"></script> <script async="async" src={~p"/js/app.js"} type="text/javascript">
</script>
<% end %> <% end %>
<%= render(PhilomenaWeb.LayoutView, "_opengraph.html", assigns) %> <%= render(PhilomenaWeb.LayoutView, "_opengraph.html", assigns) %>
</head> </head>

View file

@ -11,9 +11,8 @@
<%= action_text %> <%= action_text %>
</a> </a>
<a data-click-tab="preview" href="#"> <a data-click-tab="preview" href="#">
<i class="fa fa-cog fa-fw fa-spin js-preview-loading hidden" title={raw('Loading preview&hellip;')}></i> <i class="fa fa-cog fa-fw fa-spin js-preview-loading hidden" title={raw(~c"Loading preview&hellip;")}></i>
<i class="fa fa-eye fa-fw js-preview-idle"></i> <i class="fa fa-eye fa-fw js-preview-idle"></i> Preview
Preview
</a> </a>
</div> </div>
<div class="block__tab communication-edit__tab selected js-preview-input-wrapper" data-tab="write"> <div class="block__tab communication-edit__tab selected js-preview-input-wrapper" data-tab="write">

View file

@ -3,16 +3,14 @@
<div class="block__content"> <div class="block__content">
<div class="block block--fixed block--danger"> <div class="block block--fixed block--danger">
<p> <p>
<i class="fas fa-exclamation-triangle"></i> <i class="fas fa-exclamation-triangle"></i> This private message is pending approval from a staff member.
This private message is pending approval from a staff member.
</p> </p>
<%= if can?(@conn, :approve, @message) do %> <%= if can?(@conn, :approve, @message) do %>
<p> <p>
<ul class="horizontal-list"> <ul class="horizontal-list">
<li> <li>
<%= link(to: ~p"/conversations/#{@message.conversation_id}/messages/#{@message}/approve", data: [confirm: "Are you sure?"], method: "post", class: "button") do %> <%= link(to: ~p"/conversations/#{@message.conversation_id}/messages/#{@message}/approve", data: [confirm: "Are you sure?"], method: "post", class: "button") do %>
<i class="fas fa-check"></i> <i class="fas fa-check"></i> Approve
Approve
<% end %> <% end %>
</li> </li>
</ul> </ul>
@ -39,8 +37,7 @@
<div class="block__content communication__options"> <div class="block__content communication__options">
<div class="flex flex--wrap flex--spaced-out"> <div class="flex flex--wrap flex--spaced-out">
<div> <div>
Posted Posted <%= pretty_time(@message.created_at) %>
<%= pretty_time(@message.created_at) %>
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,7 +1,5 @@
<% <% route = fn p -> ~p"/moderation_logs?#{p}" end
route = fn p -> ~p"/moderation_logs?#{p}" end pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @moderation_logs, route: route, conn: @conn) %>
pagination = render(PhilomenaWeb.PaginationView, "_pagination.html", page: @moderation_logs, route: route, conn: @conn)
%>
<h1> <h1>
Listing Moderation Logs Listing Moderation Logs
</h1> </h1>
@ -49,8 +47,7 @@
</td> </td>
<td> <td>
<%= link to: log.subject_path do %> <%= link to: log.subject_path do %>
<i class="fa fa-eye"></i> <i class="fa fa-eye"></i> View subject
View subject
<% end %> <% end %>
</td> </td>
</tr> </tr>

View file

@ -3,13 +3,11 @@
<div class="flex flex--centered flex__grow"> <div class="flex flex--centered flex__grow">
<div> <div>
<%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: topic, conn: @conn) %> <%= render(PhilomenaWeb.UserAttributionView, "_anon_user.html", object: topic, conn: @conn) %>
<%= @notification.action %> <%= @notification.action %> titled
titled
<strong> <strong>
<%= link(topic.title, to: ~p"/forums/#{forum}/topics/#{topic}") %> <%= link(topic.title, to: ~p"/forums/#{forum}/topics/#{topic}") %>
</strong> </strong>
in in <%= link(forum.name, to: ~p"/forums/#{forum}") %>
<%= link(forum.name, to: ~p"/forums/#{forum}") %>
<%= pretty_time(@notification.updated_at) %> <%= pretty_time(@notification.updated_at) %>
</div> </div>
</div> </div>

View file

@ -1,6 +1,5 @@
<h1> <h1>
Revision history for Revision history for <%= link(@static_page.title, to: ~p"/pages/#{@static_page}") %>
<%= link(@static_page.title, to: ~p"/pages/#{@static_page}") %>
</h1> </h1>
<table class="table"> <table class="table">
<thead> <thead>

View file

@ -2,18 +2,15 @@
<%= @static_page.title %> <%= @static_page.title %>
</h1> </h1>
<p> <p>
Last updated Last updated <%= pretty_time(@static_page.updated_at) %>
<%= pretty_time(@static_page.updated_at) %>
</p> </p>
<p> <p>
<%= link to: ~p"/pages/#{@static_page}/history" do %> <%= link to: ~p"/pages/#{@static_page}/history" do %>
<i class="fa fa-history"></i> <i class="fa fa-history"></i> Revision history
Revision history
<% end %> <% end %>
<%= if can?(@conn, :edit, Philomena.StaticPages.StaticPage) do %> <%= if can?(@conn, :edit, Philomena.StaticPages.StaticPage) do %>
<%= link to: ~p"/pages/#{@static_page}/edit" do %> <%= link to: ~p"/pages/#{@static_page}/edit" do %>
<i class="fa fa-edit"></i> <i class="fa fa-edit"></i> Edit
Edit
<% end %> <% end %>
<% end %> <% end %>
</p> </p>

View file

@ -1,10 +1,7 @@
<%= if @page.total_entries > 0 do %> <%= if @page.total_entries > 0 do %>
Showing Showing <%= pluralize("result", "results", @page.total_entries) %>
<%= pluralize("result", "results", @page.total_entries) %>
<strong> <strong>
<%= max((@page.page_number - 1) * @page.page_size, 0) + 1 %> <%= max((@page.page_number - 1) * @page.page_size, 0) + 1 %> - <%= min(@page.page_number * @page.page_size, @page.total_entries) %>
-
<%= min(@page.page_number * @page.page_size, @page.total_entries) %>
</strong> </strong>
of of
<strong> <strong>

View file

@ -3,22 +3,19 @@
<div class="block__content"> <div class="block__content">
<div class="block block--fixed block--danger"> <div class="block block--fixed block--danger">
<p> <p>
<i class="fas fa-exclamation-triangle"></i> <i class="fas fa-exclamation-triangle"></i> This post is pending approval from a staff member.
This post is pending approval from a staff member.
</p> </p>
<%= if can?(@conn, :approve, @post) do %> <%= if can?(@conn, :approve, @post) do %>
<p> <p>
<ul class="horizontal-list"> <ul class="horizontal-list">
<li> <li>
<%= link(to: ~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/approve", data: [confirm: "Are you sure?"], method: "post", class: "button") do %> <%= link(to: ~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/approve", data: [confirm: "Are you sure?"], method: "post", class: "button") do %>
<i class="fas fa-check"></i> <i class="fas fa-check"></i> Approve
Approve
<% end %> <% end %>
</li> </li>
<li> <li>
<a class="button togglable-delete-form-link" data-click-toggle={"#inline-reject-form-post-#{@post.id}"} href="#"> <a class="button togglable-delete-form-link" data-click-toggle={"#inline-reject-form-post-#{@post.id}"} href="#">
<i class="fa fa-times"></i> <i class="fa fa-times"></i> Reject
Reject
</a> </a>
</li> </li>
</ul> </ul>
@ -44,12 +41,9 @@
<div class="communication__body__text"> <div class="communication__body__text">
<%= if @post.hidden_from_users do %> <%= if @post.hidden_from_users do %>
<strong class="comment_deleted"> <strong class="comment_deleted">
Deletion reason: Deletion reason: <%= @post.deletion_reason %>
<%= @post.deletion_reason %>
<%= if can?(@conn, :hide, @post) and not is_nil(@post.deleted_by) do %> <%= if can?(@conn, :hide, @post) and not is_nil(@post.deleted_by) do %>
( ( <%= @post.deleted_by.name %> )
<%= @post.deleted_by.name %>
)
<% end %> <% end %>
</strong> </strong>
<%= if can?(@conn, :hide, @post) do %> <%= if can?(@conn, :hide, @post) do %>
@ -81,15 +75,13 @@
Restore Restore
<%= if can?(@conn, :delete, @post) do %> <%= if can?(@conn, :delete, @post) do %>
<%= link(to: ~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/delete", data: [confirm: "Are you sure?"], method: "post", class: "communication__interaction") do %> <%= link(to: ~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/delete", data: [confirm: "Are you sure?"], method: "post", class: "communication__interaction") do %>
<i class="fas fa-times"></i> <i class="fas fa-times"></i> Delete Contents
Delete Contents
<% end %> <% end %>
<% end %> <% end %>
<% end %> <% end %>
<% not @post.hidden_from_users and not @post.destroyed_content -> %> <% not @post.hidden_from_users and not @post.destroyed_content -> %>
<a class="communication__interaction togglable-delete-form-link" data-click-toggle={"#inline-del-form-post-#{@post.id}"} href="#"> <a class="communication__interaction togglable-delete-form-link" data-click-toggle={"#inline-del-form-post-#{@post.id}"} href="#">
<i class="fa fa-times"></i> <i class="fa fa-times"></i> Delete
Delete
</a> </a>
<% true -> %> <% true -> %>
<% end %> <% end %>

View file

@ -1,18 +1,14 @@
<div> <div>
Posted Posted <%= pretty_time(@post.created_at) %>
<%= pretty_time(@post.created_at) %>
<a class="communication__interaction" href={~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/reports/new"}> <a class="communication__interaction" href={~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/reports/new"}>
<i class="fa fa-flag"></i> <i class="fa fa-flag"></i> Report
Report
</a> </a>
<%= if not is_nil(@post.edited_at) and can?(@conn, :show, @post) do %> <%= if not is_nil(@post.edited_at) and can?(@conn, :show, @post) do %>
<br /> <br />
<a href={~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/history"}> <a href={~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/history"}>
Edited Edited <%= pretty_time(@post.edited_at) %>
<%= pretty_time(@post.edited_at) %>
<%= if @post.edit_reason not in [nil, ""] do %> <%= if @post.edit_reason not in [nil, ""] do %>
because: because: <%= @post.edit_reason %>
<%= @post.edit_reason %>
<% end %> <% end %>
</a> </a>
<% end %> <% end %>
@ -20,32 +16,26 @@
<div> <div>
<% link_path = ~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}?#{[post_id: @post.id]}" <> "#post_#{@post.id}" %> <% link_path = ~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}?#{[post_id: @post.id]}" <> "#post_#{@post.id}" %>
<% safe_author = markdown_safe_author(@post) %> <% safe_author = markdown_safe_author(@post) %>
<% <% quote_body =
quote_body = if @post.hidden_from_users do
if @post.hidden_from_users do ""
"" else
else @post.body
@post.body end %>
end
%>
<a class="communication__interaction" href={link_path} title="Link to post"> <a class="communication__interaction" href={link_path} title="Link to post">
<i class="fa fa-link"></i> <i class="fa fa-link"></i> Link
Link
</a> </a>
<a class="communication__interaction post-reply post-reply-quote" data-author={safe_author} data-post={quote_body} data-reply-url={link_path} href={link_path}> <a class="communication__interaction post-reply post-reply-quote" data-author={safe_author} data-post={quote_body} data-reply-url={link_path} href={link_path}>
<i class="fa fa-quote-right"></i> <i class="fa fa-quote-right"></i> Quote
Quote
</a> </a>
<a class="communication__interaction post-reply" data-author={safe_author} data-reply-url={link_path} href={link_path}> <a class="communication__interaction post-reply" data-author={safe_author} data-reply-url={link_path} href={link_path}>
<i class="fa fa-reply"></i> <i class="fa fa-reply"></i> Reply
Reply
</a> </a>
<%= if can?(@conn, :edit, @post) do %> <%= if can?(@conn, :edit, @post) do %>
<span class="owner-options"> <span class="owner-options">
<strong> <strong>
<a class="communication__interaction" href={~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/edit"}> <a class="communication__interaction" href={~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/edit"}>
<i class="fas fa-edit"></i> <i class="fas fa-edit"></i> Edit
Edit
</a> </a>
</strong> </strong>
</span> </span>

View file

@ -24,11 +24,7 @@
<%= for {body, post} <- @posts, post.topic.hidden_from_users == false do %> <%= for {body, post} <- @posts, post.topic.hidden_from_users == false do %>
<div> <div>
<h3> <h3>
<%= link(post.topic.forum.name, to: ~p"/forums/#{post.topic.forum}") %> <%= link(post.topic.forum.name, to: ~p"/forums/#{post.topic.forum}") %> &raquo; <%= link(post.topic.title, to: ~p"/forums/#{post.topic.forum}/topics/#{post.topic}") %> &raquo; <% post_link = ~p"/forums/#{post.topic.forum}/topics/#{post.topic}?#{[post_id: post.id]}" <> "#post_#{post.id}" %>
&raquo;
<%= link(post.topic.title, to: ~p"/forums/#{post.topic.forum}/topics/#{post.topic}") %>
&raquo;
<% post_link = ~p"/forums/#{post.topic.forum}/topics/#{post.topic}?#{[post_id: post.id]}" <> "#post_#{post.id}" %>
<%= if post.topic_position == 0 do %> <%= if post.topic_position == 0 do %>
<%= link("Topic Opener", to: post_link) %> <%= link("Topic Opener", to: post_link) %>
<% else %> <% else %>

View file

@ -4,8 +4,7 @@
<%= @about_me %> <%= @about_me %>
<% current?(@user, @conn.assigns.current_user) -> %> <% current?(@user, @conn.assigns.current_user) -> %>
<em> <em>
Want to Want to <%= link("add some info about yourself?", to: ~p"/profiles/#{@user}/description/edit") %>
<%= link("add some info about yourself?", to: ~p"/profiles/#{@user}/description/edit") %>
</em> </em>
<% true -> %> <% true -> %>
<% end %> <% end %>

View file

@ -1,7 +1,6 @@
<div class="block--fixed"> <div class="block--fixed">
<i class="fa fa-fw fa-calendar"></i> <i class="fa fa-fw fa-calendar"></i>
Account created Account created <%= @user.created_at %>
<%= @user.created_at %>
<br /> <br />
<i class="fa fa-fw fa-filter"></i> <i class="fa fa-fw fa-filter"></i>
Current Filter: Current Filter:
@ -16,9 +15,7 @@
<i class="far fa-fw fa-clock"></i> <i class="far fa-fw fa-clock"></i>
Last seen Last seen
<%= if @last_ip do %> <%= if @last_ip do %>
<%= pretty_time(@last_ip.updated_at) %> <%= pretty_time(@last_ip.updated_at) %> from <%= link_to_ip(@conn, @last_ip.ip) %>
from
<%= link_to_ip(@conn, @last_ip.ip) %>
<%= if @last_fp do %> <%= if @last_fp do %>
<%= link_to_fingerprint(@conn, @last_fp.fingerprint) %> <%= link_to_fingerprint(@conn, @last_fp.fingerprint) %>
<% end %> <% end %>
@ -37,13 +34,10 @@
<%= if @user.locked_at do %> <%= if @user.locked_at do %>
<i class="fas fa-fw fa-lock"></i> <i class="fas fa-fw fa-lock"></i>
<strong class="comment_deleted"> <strong class="comment_deleted">
Account locked, Account locked, <%= @user.failed_attempts %> failed login attempts
<%= @user.failed_attempts %>
failed login attempts
</strong> </strong>
<% else %> <% else %>
<i class="fas fa-fw fa-unlock"></i> <i class="fas fa-fw fa-unlock"></i> Not currently locked
Not currently locked
<% end %> <% end %>
</div> </div>
<br /> <br />

View file

@ -10,13 +10,7 @@
<strong> <strong>
Price Range: Price Range:
</strong> </strong>
<% {min, max} = Enum.min_max_by(@user.commission.items, &Decimal.to_float(&1.base_price)) %> <% {min, max} = Enum.min_max_by(@user.commission.items, &Decimal.to_float(&1.base_price)) %> $ <%= Decimal.round(min.base_price || 0, 2) |> Decimal.to_string() %> - $ <%= Decimal.round(max.base_price || 0, 2) |> Decimal.to_string() %> USD <br />
$
<%= Decimal.round(min.base_price || 0, 2) |> Decimal.to_string() %>
- $
<%= Decimal.round(max.base_price || 0, 2) |> Decimal.to_string() %>
USD
<br />
<% end %> <% end %>
<% # Lotta space here %> <% # Lotta space here %>
<br /> <br />
@ -27,15 +21,11 @@
<% current?(@user, @conn.assigns.current_user) -> %> <% current?(@user, @conn.assigns.current_user) -> %>
<%= if Enum.any?(@conn.assigns.user.verified_links) do %> <%= if Enum.any?(@conn.assigns.user.verified_links) do %>
<em> <em>
You don't have any commission information listed yet. You don't have any commission information listed yet. <%= link("Click here", to: ~p"/profiles/#{@user}/commission/new") %> to set it up.
<%= link("Click here", to: ~p"/profiles/#{@user}/commission/new") %>
to set it up.
</em> </em>
<% else %> <% else %>
<em> <em>
You must have a verified Artist Link to create a commission page. You must have a verified Artist Link to create a commission page. <%= link("Click here", to: ~p"/profiles/#{@user}/artist_links/new") %> to set one up.
<%= link("Click here", to: ~p"/profiles/#{@user}/artist_links/new") %>
to set one up.
</em> </em>
<% end %> <% end %>
<% true -> %> <% true -> %>

View file

@ -10,10 +10,7 @@
<div class="block"> <div class="block">
<%= for post <- @posts do %> <%= for post <- @posts do %>
<div class="block__content alternating-color"> <div class="block__content alternating-color">
Post Post <%= link(pretty_time(post.created_at), to: ~p"/forums/#{post.topic.forum}/topics/#{post.topic}?#{[post_id: post]}" <> "#post_#{post.id}") %> in topic <%= link(post.topic.title, to: ~p"/forums/#{post.topic.forum}/topics/#{post.topic}") %>
<%= link(pretty_time(post.created_at), to: ~p"/forums/#{post.topic.forum}/topics/#{post.topic}?#{[post_id: post]}" <> "#post_#{post.id}") %>
in topic
<%= link(post.topic.title, to: ~p"/forums/#{post.topic.forum}/topics/#{post.topic}") %>
</div> </div>
<% end %> <% end %>
</div> </div>

Some files were not shown because too many files have changed in this diff Show more