bullet_train-themes-light 1.0.30 → 1.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/light/tailwind/utilities/billing.css +71 -0
- data/app/assets/stylesheets/light/tailwind/utilities.css +2 -0
- data/app/views/themes/light/billing/_pricing_table.html.erb +69 -0
- data/app/views/themes/light/layouts/_pricing.html.erb +26 -0
- data/lib/bullet_train/themes/light/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62b2a98ebff61046aca975bb2c3d3c58a487d0f43546d18803f9ae89c74a395c
|
4
|
+
data.tar.gz: b78aabe7b961e71f1720e0d1704dd8b9b7948835e5879b2d4d5d307c31c7c6a0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be928fa451fca422459c909d9b55ff67b3e268a1f12022b2d4a03b1fd2ced250118e4c8901ad1f1c99d9d7119e015dea209ce85654a0a2bb2f65ac6e2a3730c1
|
7
|
+
data.tar.gz: 6e5e37338145727ce782cac87b9ce21e455aab4c519c57c9eebaf806fc132befdaa09a87f7eee1b5bb63ac5b9ba139c35541a24d96596857664f2bd435949863
|
@@ -0,0 +1,71 @@
|
|
1
|
+
@layer utilities {
|
2
|
+
.pricing-table-shadow {
|
3
|
+
box-shadow: 0 2px 30px 0 rgba(54,88,206,0.2);
|
4
|
+
}
|
5
|
+
|
6
|
+
.pricing-page-background {
|
7
|
+
background-image: linear-gradient(to bottom, #f8faff, #fff);
|
8
|
+
}
|
9
|
+
|
10
|
+
.pricing-page-background-fade-container {
|
11
|
+
position: fixed;
|
12
|
+
top: 0;
|
13
|
+
left: 0;
|
14
|
+
bottom: 0;
|
15
|
+
width: 100vw;
|
16
|
+
max-width: 100vw;
|
17
|
+
overflow: hidden;
|
18
|
+
z-index: -1;
|
19
|
+
}
|
20
|
+
|
21
|
+
.pricing-page-background-fade {
|
22
|
+
&:before {
|
23
|
+
content: "";
|
24
|
+
position: absolute;
|
25
|
+
right: -40px;
|
26
|
+
top: -200px;
|
27
|
+
width: 1000px;
|
28
|
+
height: 600px;
|
29
|
+
background-image: linear-gradient(90deg, rgba(227,231,248,0) 0%, #E8F2FC 100%);
|
30
|
+
z-index: -1;
|
31
|
+
}
|
32
|
+
|
33
|
+
position: absolute;
|
34
|
+
right: -800px;
|
35
|
+
top: 0px;
|
36
|
+
width: 800px;
|
37
|
+
height: 600px;
|
38
|
+
background-image: linear-gradient(90deg, rgba(227,231,248,0) 0%, #8BBAF5 100%);
|
39
|
+
transform: translate(-360px, 0px) rotate(-45deg);
|
40
|
+
z-index: -1;
|
41
|
+
}
|
42
|
+
|
43
|
+
.brand-title {
|
44
|
+
color: #047bf8;
|
45
|
+
font-size: 2.99rem;
|
46
|
+
margin: 30px 0px;
|
47
|
+
margin-top: 10px;
|
48
|
+
position: relative;
|
49
|
+
letter-spacing: -0.025em;
|
50
|
+
line-height: 120%;
|
51
|
+
@apply font-bold;
|
52
|
+
}
|
53
|
+
|
54
|
+
.brand-description {
|
55
|
+
color: #868686;
|
56
|
+
font-size: 1.2rem;
|
57
|
+
line-height: 1.5;
|
58
|
+
@apply font-extralight;
|
59
|
+
}
|
60
|
+
|
61
|
+
.text-light-gradient {
|
62
|
+
-webkit-background-clip: text;
|
63
|
+
-webkit-box-decoration-break: clone;
|
64
|
+
-webkit-font-smoothing: subpixel-antialiased;
|
65
|
+
-webkit-text-fill-color: rgba(0,0,0,0);
|
66
|
+
background-attachment: scroll;
|
67
|
+
background-clip: text;
|
68
|
+
background-color: rgba(0,0,0,0);
|
69
|
+
background-image: -webkit-linear-gradient(-75deg, #c094de 10%, #65A8F1 50%, #006EF4 95%);
|
70
|
+
}
|
71
|
+
}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
<% prices_by_duration = group_prices_by_duration(prices) %>
|
2
|
+
<% params_duration = params[:duration]&.to_sym %>
|
3
|
+
<% current_duration = (prices_by_duration.keys.include?(params_duration) ? params_duration : false) || prices_by_duration.keys.first %>
|
4
|
+
|
5
|
+
<div class="w-full mb-10">
|
6
|
+
<div class="flex justify-center mb-14">
|
7
|
+
<div class="bg-primary-500 inline-block p-1 rounded-full text-base space-x-1">
|
8
|
+
<% prices_by_duration.keys.each_with_index do |duration, i| %>
|
9
|
+
<%= link_to request.path + (i > 0 ? "?duration=#{duration}" : ""), class: "#{duration == current_duration ? "button-alternative" : "button"} rounded-full text-base" do %>
|
10
|
+
<%= t("billing/prices.intervals.#{duration}.description") %>
|
11
|
+
<% if i > 0 %>
|
12
|
+
<small class="ml-2 uppercase <%= duration == current_duration ? "text-gray-400" : "text-gray-300" %>">
|
13
|
+
<%= number_to_percentage(calculate_discount(prices_by_duration[duration].first, prices_by_duration[prices_by_duration.keys.first].first), precision: 0) %> Discount
|
14
|
+
</small>
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
17
|
+
<% end %>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<div class="lg:flex flex-row justify-center">
|
22
|
+
<% prices_by_duration[current_duration].each_with_index do |price, i| %>
|
23
|
+
<div class="bg-gray-50 flex-1 lg:max-w-md border ml-0 mr-0 mt-0 mb-5 <%= "lg:-ml-px lg:-mr-px lg:-mt-5 lg:mb-0 pricing-table-shadow" if price.highlight? %> <%= price.highlight? ? "z-10" : "z-0" %>">
|
24
|
+
<div class="bg-white <%= "border-t-4 border-primary-500" if price.highlight? %>">
|
25
|
+
<div class="text-center py-10 px-5 border-b">
|
26
|
+
<%= image_tag image_path("products/#{price.product.image}"), width: 100, height: 100, class: "inline mb-7" %>
|
27
|
+
<div class="uppercase text-primary-500 tracking-wider font-semibold text-2xl">
|
28
|
+
<%= price.product.label_string %>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
<div class="bg-white text-center py-10 px-5 border-b">
|
33
|
+
<div class="text-6xl font-semibold text-black <%= "text-primary-500" if price.highlight? %>"><%= smaller_currency_symbol(number_to_currency(price.currency_amount, precision: 0, locale: :en)) %></div>
|
34
|
+
<div class="mt-3 pt-2 inline-block border-t border-gray-300 uppercase text-lg opacity-40 tracking-wider">
|
35
|
+
<% if price.quantity %>
|
36
|
+
<%= t("billing/prices.intervals.#{price.interval}.description") %>
|
37
|
+
<%= t("billing/prices.models.#{price.quantity}.per") %>
|
38
|
+
<% else %>
|
39
|
+
<%= t("billing/prices.intervals.#{price.interval}.per") %>
|
40
|
+
<% end %>
|
41
|
+
</div>
|
42
|
+
<div>
|
43
|
+
<%= render "account/billing/subscriptions/new_button", price: price, classes: "button rounded-full text-base mt-7" %>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
<div class="my-12 mx-12">
|
47
|
+
<h3 class="text-xs uppercase font-semibold tracking-widest">Description</h3>
|
48
|
+
<p class="text-base mt-3 text-gray-500"><%= price.product.description %></p>
|
49
|
+
|
50
|
+
<h3 class="mt-8 text-xs uppercase font-semibold tracking-widest">Details</h3>
|
51
|
+
<% if price.product.features %>
|
52
|
+
<ul class="text-base mt-5 text-gray-500 space-y-3">
|
53
|
+
<% price.product.features.each do |feature| %>
|
54
|
+
<li class="flex items-start">
|
55
|
+
<div class="flex-shrink-0 text-green-500">
|
56
|
+
<i class="ti ti-check fas fa-check"></i>
|
57
|
+
</div>
|
58
|
+
<p class="ml-3">
|
59
|
+
<%= feature.html_safe %>
|
60
|
+
</p>
|
61
|
+
</li>
|
62
|
+
<% end %>
|
63
|
+
</ul>
|
64
|
+
<% end %>
|
65
|
+
</div>
|
66
|
+
</div>
|
67
|
+
<% end %>
|
68
|
+
</div>
|
69
|
+
</div>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<%= render 'shared/layouts/head' %>
|
5
|
+
</head>
|
6
|
+
<body class="pricing-page-background">
|
7
|
+
<div data-turbo="false">
|
8
|
+
<div class="pricing-page-background-fade-container">
|
9
|
+
<div class="pricing-page-background-fade"></div>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<% if @back %>
|
13
|
+
<div class="m-5 -mb-5">
|
14
|
+
<%= link_to @back, class: 'button-secondary hover:no-underline group' do %>
|
15
|
+
<i class="ti ti-angle-left text-lg group-hover:no-underline"></i>
|
16
|
+
<span class="text-base ml-3 group-hover:underline">Back</span>
|
17
|
+
<% end %>
|
18
|
+
</div>
|
19
|
+
<% end %>
|
20
|
+
|
21
|
+
<div class="m-5 sm:m-10 lg:m-20">
|
22
|
+
<%= yield %>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
</body>
|
26
|
+
</html>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bullet_train-themes-light
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.32
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Culver
|
@@ -79,6 +79,7 @@ files:
|
|
79
79
|
- app/assets/stylesheets/light/tailwind/components.css
|
80
80
|
- app/assets/stylesheets/light/tailwind/dark-mode.css
|
81
81
|
- app/assets/stylesheets/light/tailwind/utilities.css
|
82
|
+
- app/assets/stylesheets/light/tailwind/utilities/billing.css
|
82
83
|
- app/assets/stylesheets/light/turn.css
|
83
84
|
- app/assets/stylesheets/tailwindcss/base.css
|
84
85
|
- app/assets/stylesheets/tailwindcss/components.css
|
@@ -95,6 +96,7 @@ files:
|
|
95
96
|
- app/views/themes/light/_title.html.erb
|
96
97
|
- app/views/themes/light/attributes/_base.html.erb
|
97
98
|
- app/views/themes/light/attributes/_block.html.erb
|
99
|
+
- app/views/themes/light/billing/_pricing_table.html.erb
|
98
100
|
- app/views/themes/light/breadcrumbs/_actions.html.erb
|
99
101
|
- app/views/themes/light/commentary/_box.html.erb
|
100
102
|
- app/views/themes/light/conversations/_card.html.erb
|
@@ -107,6 +109,7 @@ files:
|
|
107
109
|
- app/views/themes/light/layouts/_devise.html.erb
|
108
110
|
- app/views/themes/light/layouts/_head.html.erb
|
109
111
|
- app/views/themes/light/layouts/_mailer.html.erb
|
112
|
+
- app/views/themes/light/layouts/_pricing.html.erb
|
110
113
|
- app/views/themes/light/memberships/_photos.html.erb
|
111
114
|
- app/views/themes/light/menu/_heading.html.erb
|
112
115
|
- app/views/themes/light/menu/_item.html.erb
|
@@ -139,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
142
|
- !ruby/object:Gem::Version
|
140
143
|
version: '0'
|
141
144
|
requirements: []
|
142
|
-
rubygems_version: 3.
|
145
|
+
rubygems_version: 3.2.22
|
143
146
|
signing_key:
|
144
147
|
specification_version: 4
|
145
148
|
summary: 'Bullet Train Themes: Light'
|