Add option for FOSS contribution payments (#730)

* First commit

* Use subscription flow for monetary contributions

* Removed only part of the SPAN

* Localize Stripe payments message

* More localization of contribution strings

* Missed two billing to payment changes

* Fix tests

* Localization of "Open Demo" strings

* Fix grammar error

* Update for consistency

* Localize CTA

* More localilzation strings
This commit is contained in:
Juan José Mata
2026-01-21 20:45:04 +01:00
committed by GitHub
parent 8e36c8e736
commit 4e425ce4e5
44 changed files with 259 additions and 98 deletions

View File

@@ -13,22 +13,22 @@
<div class="text-sm space-y-1">
<% if @family.has_active_subscription? %>
<p class="text-primary">
<span>You are currently subscribed to the <span class="font-medium"><%= @family.subscription.name %></span>.</span>
<span>Currently on the <span class="font-medium"><%= @family.subscription.name %></span>.</span>
<% if @family.next_payment_date %>
<span>Your plan renews on <span class="font-medium"><%= @family.next_payment_date.strftime("%B %d, %Y") %></span>.</span>
<span><%= t("views.settings.payments.renewal", date: l(@family.next_payment_date, format: :long)) %></span>
<% end %>
</p>
<% elsif @family.trialing? %>
<p class="text-primary">
You are currently trialing <%= product_name %>
Currently using the open demo of <%= product_name %> <br />
<span class="text-secondary">
(<%= @family.days_left_in_trial %> days remaining)
(Data will be deleted in <%= @family.days_left_in_trial %> days)
</span>
</p>
<% else %>
<p class="text-primary">You are currently <span class="font-medium">not subscribed</span></p>
<p class="text-secondary">Once you subscribe to <%= product_name %>, you'll see your payment settings here.</p>
<p class="text-primary">You are currently <span class="font-medium">not contributing</span></p>
<p class="text-secondary">Contributions to <%= product_name %> will show here.</p>
<% end %>
</div>
</div>
@@ -44,7 +44,7 @@
) %>
<% else %>
<%= render DS::Link.new(
text: "Choose plan",
text: "Choose level",
variant: "primary",
icon: "plus",
icon_position: "right",