bullet_train-themes-light 1.0.28 → 1.0.32
Sign up to get free protection for your applications and to get access to all the features.
- 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
- data/lib/tasks/bullet_train/themes/light_tasks.rake +5 -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>
|
@@ -9,6 +9,10 @@ namespace :bullet_train do
|
|
9
9
|
puts "Ejecting Tailwind configuration into `./tailwind.#{args[:destination]}.config.js`."
|
10
10
|
`cp #{theme_base_path}/tailwind.light.config.js #{Rails.root}/tailwind.#{args[:destination]}.config.js`
|
11
11
|
|
12
|
+
puts "Ejecting Tailwind mailer configuration into `./tailwind.mailer.#{args[:destination]}.config.js`."
|
13
|
+
`cp #{theme_base_path}/tailwind.mailer.light.config.js #{Rails.root}/tailwind.mailer.#{args[:destination]}.config.js`
|
14
|
+
`sed -i #{'""' if `echo $OSTYPE`.include?("darwin")} "s/light/#{args[:destination]}/g" #{Rails.root}/tailwind.mailer.#{args[:destination]}.config.js`
|
15
|
+
|
12
16
|
puts "Ejecting stylesheets into `./app/assets/stylesheets/#{args[:destination]}`."
|
13
17
|
`mkdir #{Rails.root}/app/assets/stylesheets`
|
14
18
|
`cp -R #{theme_base_path}/app/assets/stylesheets/light #{Rails.root}/app/assets/stylesheets/#{args[:destination]}`
|
@@ -31,7 +35,7 @@ namespace :bullet_train do
|
|
31
35
|
|
32
36
|
# Stub out the class that represents this theme and establishes its inheritance structure.
|
33
37
|
target_path = "#{Rails.root}/app/lib/bullet_train/themes/#{args[:destination]}.rb"
|
34
|
-
puts "Stubbing out a class that represents this theme in
|
38
|
+
puts "Stubbing out a class that represents this theme in `.#{target_path}`."
|
35
39
|
`mkdir -p #{Rails.root}/app/lib/bullet_train/themes`
|
36
40
|
`cp #{theme_base_path}/lib/bullet_train/themes/light.rb #{target_path}`
|
37
41
|
`sed -i #{'""' if `echo $OSTYPE`.include?("darwin")} "s/module Light/module #{args[:destination].titlecase}/g" #{target_path}`
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-06-
|
11
|
+
date: 2022-06-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: standard
|
@@ -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
|