docbrown/app/views/additional_content_boxes/_article_followable_area.html.erb
rhymes c8abbe9d60 Pro: memberships (#3461)
* Add ProMembership model

* Implement ProMembershipsController#create

* Implement basic ProMembershipsController#show

* Add ProMembership to ledger

* Populate user history after pro subscription is created

* Add fields for expiration notifications

* Add ProMemberships::ExpirationNotifier to notify users of expiring memberships

* Add tasks for recurring jobs to notify users of expiration

* Add auto_recharge column to ProMembership

* Add ProMemberships::Biller (incomplete)

* Fix specs

* Add ProMembership to Administrate

* Fix spec

* Add has_enough_credits? to User and Organization

* Add Payments::Customer class

* Finish ProMembership::Biller functionality

* Fix ProMemberships::Creator check for credits

* Disable destroy actions for ProMembershipsController

* Correctly authenticate ProMembershipsController actions

* Make sure only pro user's history can be indexed

* Add ProMembershipsController#update action for auto recharge

* Use regular AR to save new credits and add touch to the purchaser

* Clarify Pro membership create policy

* Display information about an existing pro membership

* Add UI to show page

* Add system test for Pro membership creation

* Implement edit membership

* Make sure users with pro memberships can access history and dashboard pro

* Fix padding issue

* Show a different text for a user that has credits but not enough for Pro

* Move Pro Membership functionality inside settings

* Update Pro Membership link in email notifications

* Bust all relevant caches

* Add the Pro checkmark around the website

* Use Users::ResaveArticlesJob instead of delay

* Add/remove user from pro-members chat channel

* Use the appropriate Pro checkmark

* Remove unfinished pro elements

* Remove checkmark JS
2019-09-24 10:38:54 -07:00

39 lines
2 KiB
Text

<% if followable.class.name == "Organization" && followable.nav_image.present? %>
<div class="profile-pic-wrapper wide-profile-image-wrapper">
<a href="<%= followable.path + article.decorate.internal_utm_params %>">
<img
class="wide-image"
alt="<%= followable.name %> profile image"
src="<%= cl_image_path(followable.nav_image_url,
type: "fetch",
crop: "fill",
width: 220,
quality: "auto",
flags: "progressive",
fetch_format: "auto",
sign_url: true) %>">
</a>
</div>
<% else %>
<div class="profile-pic-wrapper">
<a href="<%= followable.path + article.decorate.internal_utm_params %>"
class="<%= "partner-link" if classification == "boosted" %>"
data-details="<%= followable&.slug if classification == "boosted" %>__PROFILE">
<img class="profile-image"
src="<%= ProfileImage.new(followable).get(200) %>"
alt="<%= followable.name %> profile image"
loading="lazy"
data-details="<%= followable&.slug if classification == "boosted" %>__PROFILE"
style="border: 4px solid <%= followable.bg_color_hex %>" /></a>
</div>
<div class="org-name">
<a href="<%= followable.path + article.decorate.internal_utm_params %>"
class="<%= "partner-link" if classification == "boosted" %>"
data-details="<%= followable&.slug if classification == "boosted" %>__PROFILE"><%= followable.name %></a>
<%= render "shared/pro_checkmark" if followable.pro? %>
</div>
<% end %>
<button class="cta follow-action-button user-profile-follow-button <%= "partner-link" if classification == "boosted" %>"
style="color:<%= user_colors(followable)[:text] %>;background-color:<%= user_colors(followable)[:bg] %>"
data-info='{"id":<%= followable.id %>,"className":"<%= followable.class.name %>"}'>&nbsp;
</button>