* 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
39 lines
2 KiB
Text
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 %>"}'>
|
|
</button>
|