forever_style_guide 3.7.2 → 4.1.14
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/forever_style_guide/base/_grid.scss +3 -3
- data/app/assets/stylesheets/forever_style_guide/globals/_colors.scss +1 -1
- data/app/assets/stylesheets/forever_style_guide/modules/_all.scss +1 -0
- data/app/assets/stylesheets/forever_style_guide/modules/_ambassador_banner.scss +69 -22
- data/app/assets/stylesheets/forever_style_guide/modules/_avatar.scss +0 -1
- data/app/assets/stylesheets/forever_style_guide/modules/_primary_nav.scss +298 -222
- data/app/assets/stylesheets/forever_style_guide/modules/_subnav.scss +218 -0
- data/lib/forever_style_guide.rb +4 -1
- data/lib/forever_style_guide/version.rb +1 -1
- metadata +4 -149
- data/app/helpers/forever_style_guide/application_helper.rb +0 -421
- data/config/locales/en.yml +0 -23
- data/config/routes.rb +0 -5
- data/config/style_guide.yml +0 -14
- data/lib/forever_style_guide/engine.rb +0 -14
- data/lib/tasks/forever_style_guide_tasks.rake +0 -4
@@ -0,0 +1,218 @@
|
|
1
|
+
.hero-subnav_spacer {
|
2
|
+
padding-top: 47px;
|
3
|
+
margin-top: -47px;
|
4
|
+
|
5
|
+
@media (max-width: 768px) {
|
6
|
+
padding-top: 0px;
|
7
|
+
margin-top: 0px;
|
8
|
+
}
|
9
|
+
}
|
10
|
+
|
11
|
+
.hero-subnav_offset {
|
12
|
+
margin-top: -47px;
|
13
|
+
|
14
|
+
@media (max-width: 768px) {
|
15
|
+
margin-top: 0px;
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
.hero-subnav_padding {
|
20
|
+
padding-top: 47px;
|
21
|
+
|
22
|
+
@media (max-width: 768px) {
|
23
|
+
padding-top: 0px;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
.f-subnav-container {
|
28
|
+
display: block;
|
29
|
+
visibility: visible;
|
30
|
+
position: sticky;
|
31
|
+
height: 47px;
|
32
|
+
padding-top: 6px;
|
33
|
+
padding-bottom: 6px;
|
34
|
+
padding-right: 15px;
|
35
|
+
padding-left: 15px;
|
36
|
+
background: transparentize($color-white, 0.15);
|
37
|
+
z-index: 1029;
|
38
|
+
-webkit-backdrop-filter: blur(10px);
|
39
|
+
backdrop-filter: blur(10px);
|
40
|
+
}
|
41
|
+
|
42
|
+
@media (max-width: 768px) {
|
43
|
+
.f-subnav-container{
|
44
|
+
visibility: hidden;
|
45
|
+
overflow: hidden;
|
46
|
+
position: relative;
|
47
|
+
z-index: 0;
|
48
|
+
height: 0px;
|
49
|
+
padding: 0;
|
50
|
+
}
|
51
|
+
|
52
|
+
}
|
53
|
+
|
54
|
+
.f-subnav-action {
|
55
|
+
margin-left: 10px;
|
56
|
+
}
|
57
|
+
|
58
|
+
.js-subnav.is-fixed{
|
59
|
+
top: 50px;
|
60
|
+
width: 100%;
|
61
|
+
z-index: 1031;
|
62
|
+
}
|
63
|
+
|
64
|
+
.f-subnav{
|
65
|
+
display: flex;
|
66
|
+
flex-direction: row;
|
67
|
+
justify-content: center;
|
68
|
+
align-items: center;
|
69
|
+
|
70
|
+
& > * {
|
71
|
+
font-size: 15px;
|
72
|
+
-webkit-user-select: none;
|
73
|
+
-moz-user-select: none;
|
74
|
+
-ms-user-select: none;
|
75
|
+
user-select: none;
|
76
|
+
}
|
77
|
+
|
78
|
+
& > .links {
|
79
|
+
display: flex;
|
80
|
+
flex-direction: row;
|
81
|
+
flex-wrap: nowrap;
|
82
|
+
list-style: none;
|
83
|
+
margin: 0;
|
84
|
+
overflow: visible;
|
85
|
+
padding-inline-start: 0;
|
86
|
+
|
87
|
+
& > a {
|
88
|
+
flex-basis: 100%;
|
89
|
+
text-align: center;
|
90
|
+
color: $color-gray-600;
|
91
|
+
white-space: nowrap;
|
92
|
+
margin-left: 10px;
|
93
|
+
margin-right: 10px;
|
94
|
+
|
95
|
+
}
|
96
|
+
|
97
|
+
& > a:hover, a:active, > a:focus {
|
98
|
+
text-decoration: none;
|
99
|
+
}
|
100
|
+
|
101
|
+
& > a:hover > span {
|
102
|
+
background: transparentize($color-black, 0.95);
|
103
|
+
color: $color-secondary;
|
104
|
+
border-radius: 32px;
|
105
|
+
padding: 4px 12px;
|
106
|
+
}
|
107
|
+
|
108
|
+
& > a > span {
|
109
|
+
padding: 4px 12px;
|
110
|
+
border-radius: 32px;
|
111
|
+
transition: color 0.3s ease, background 0.3s ease;
|
112
|
+
}
|
113
|
+
|
114
|
+
& > a > span.active {
|
115
|
+
background: transparentize($color-black, 0.95);
|
116
|
+
color: $color-secondary;
|
117
|
+
font-family: proxima_nova-semibold;
|
118
|
+
border-radius: 32px;
|
119
|
+
padding: 4px 12px;
|
120
|
+
}
|
121
|
+
}
|
122
|
+
}
|
123
|
+
|
124
|
+
.f-subnav-dropdown-trigger {
|
125
|
+
position: relative;
|
126
|
+
cursor: pointer;
|
127
|
+
|
128
|
+
& > span {
|
129
|
+
flex-basis: 100%;
|
130
|
+
text-align: center;
|
131
|
+
color: $color-gray-600;
|
132
|
+
white-space: nowrap;
|
133
|
+
margin-left: 10px;
|
134
|
+
margin-right: 10px;
|
135
|
+
padding: 4px 12px;
|
136
|
+
transition: color 0.3s ease, background 0.3s ease;
|
137
|
+
|
138
|
+
}
|
139
|
+
|
140
|
+
& .active {
|
141
|
+
background: transparentize($color-black, 0.95);
|
142
|
+
color: $color-secondary;
|
143
|
+
font-family: proxima_nova-semibold;
|
144
|
+
border-radius: 32px;
|
145
|
+
padding: 4px 12px;
|
146
|
+
}
|
147
|
+
|
148
|
+
& :hover > span, :active > span, :focus > span {
|
149
|
+
background: transparentize($color-black, 0.95);
|
150
|
+
color: $color-secondary;
|
151
|
+
border-radius: 32px;
|
152
|
+
}
|
153
|
+
}
|
154
|
+
|
155
|
+
.f-subnav-dropdown {
|
156
|
+
|
157
|
+
display: flex;
|
158
|
+
flex-direction: column;
|
159
|
+
position: absolute;
|
160
|
+
background: transparentize($color-white, 0.05);
|
161
|
+
white-space: nowrap;
|
162
|
+
transition: opacity 0.15s ease;
|
163
|
+
-webkit-backdrop-filter: blur(10px);
|
164
|
+
backdrop-filter: blur(10px);
|
165
|
+
border-radius: 2px;
|
166
|
+
visibility: visible;
|
167
|
+
top: 28px;
|
168
|
+
left: 50%;
|
169
|
+
opacity: 1;
|
170
|
+
transform: translateX(-50%);
|
171
|
+
padding: 15px;
|
172
|
+
|
173
|
+
& > a {
|
174
|
+
padding: 6px 12px;
|
175
|
+
text-align: center;
|
176
|
+
|
177
|
+
&:hover, :active, :focus {
|
178
|
+
background: transparentize($color-black, 0.95);
|
179
|
+
color: $color-secondary;
|
180
|
+
border-radius: 32px;
|
181
|
+
text-decoration: none;
|
182
|
+
}
|
183
|
+
|
184
|
+
&.active {
|
185
|
+
background: transparentize($color-black, 0.95);
|
186
|
+
color: $color-secondary;
|
187
|
+
font-family: proxima_nova-semibold;
|
188
|
+
border-radius: 32px;
|
189
|
+
padding: 4px 12px;
|
190
|
+
}
|
191
|
+
|
192
|
+
&:not(:first-child){
|
193
|
+
margin-top: 10px;
|
194
|
+
}
|
195
|
+
}
|
196
|
+
|
197
|
+
&:after {
|
198
|
+
position: absolute;
|
199
|
+
top: -8px;
|
200
|
+
left: 50%;
|
201
|
+
transform: translateX(-50%);
|
202
|
+
content: ' ';
|
203
|
+
display: block;
|
204
|
+
width: 0;
|
205
|
+
height: 0;
|
206
|
+
border-left: 8px solid transparent;
|
207
|
+
border-right: 8px solid transparent;
|
208
|
+
border-bottom: 8px solid transparentize($color-white, 0.14);
|
209
|
+
}
|
210
|
+
|
211
|
+
&.hidden{
|
212
|
+
visibility: hidden;
|
213
|
+
left: -9999px;
|
214
|
+
top: -9999px;
|
215
|
+
opacity: 0;
|
216
|
+
transform: translateX(0%);
|
217
|
+
}
|
218
|
+
}
|
data/lib/forever_style_guide.rb
CHANGED
metadata
CHANGED
@@ -1,155 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: forever_style_guide
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.1.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicholas McClay
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: rails
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 5.2.3
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - '='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 5.2.3
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: style-guide
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: sass-rails
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: jquery-rails
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: bootstrap-sass
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: font-awesome-rails
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: sqlite3
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: guard-rails
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: guard-livereload
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: thor
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
11
|
+
date: 2021-02-20 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
153
13
|
description: Install this as a gem in your Forever app and it will expose style guide
|
154
14
|
through /style-guide route
|
155
15
|
email:
|
@@ -256,17 +116,12 @@ files:
|
|
256
116
|
- app/assets/stylesheets/forever_style_guide/modules/_responsive_utilities.scss
|
257
117
|
- app/assets/stylesheets/forever_style_guide/modules/_select.scss
|
258
118
|
- app/assets/stylesheets/forever_style_guide/modules/_signin.scss
|
119
|
+
- app/assets/stylesheets/forever_style_guide/modules/_subnav.scss
|
259
120
|
- app/assets/stylesheets/forever_style_guide/utils/_color-utils.scss
|
260
121
|
- app/assets/stylesheets/forever_style_guide/utils/_font-utils.scss
|
261
122
|
- app/assets/stylesheets/forever_style_guide/utils/_logger.scss
|
262
|
-
- app/helpers/forever_style_guide/application_helper.rb
|
263
|
-
- config/locales/en.yml
|
264
|
-
- config/routes.rb
|
265
|
-
- config/style_guide.yml
|
266
123
|
- lib/forever_style_guide.rb
|
267
|
-
- lib/forever_style_guide/engine.rb
|
268
124
|
- lib/forever_style_guide/version.rb
|
269
|
-
- lib/tasks/forever_style_guide_tasks.rake
|
270
125
|
homepage: https://github.com/forever-inc/forever-style-guide
|
271
126
|
licenses:
|
272
127
|
- MIT
|
@@ -1,421 +0,0 @@
|
|
1
|
-
require 'pathname'
|
2
|
-
|
3
|
-
module ForeverStyleGuide
|
4
|
-
module ApplicationHelper
|
5
|
-
|
6
|
-
def trademark(copy)
|
7
|
-
case copy
|
8
|
-
when "Forever"
|
9
|
-
copy.upcase + "®"
|
10
|
-
when "pixels2Pages", "Historian", "ClickCollage", "It's like insurance for your photos", "Paper Tray Studio", "p2P", "StoryBook Legacy", "Templates & Co", "Valet"
|
11
|
-
copy + "™"
|
12
|
-
when "Forever Account", "Forever Guarantee", "Forever Guarantee Fund", "Forever Membership", "Forever Retreats",
|
13
|
-
"Forever Retreat", "Forever Ambassador", "Forever Ambassadors", "Forever Deal of the Day", "Forever App", "Forever Digital Art",
|
14
|
-
"Forever Digital Art Store", "Forever Founder's Club", "Forever Gift Certificate", "Forever Gift Certificates", "Forever Intro Account", "Forever Library",
|
15
|
-
"Forever Media Conversion", "Forever Mobile", "Forever Owner", "Forever Vault", "Forever Print Shop", "Forever Services",
|
16
|
-
"Forever Software", "Forever Store", "Forever Premium Video Plan", "Forever Club", "Forever Print", "Forever Design & Print", "Forever Historian", "Forever Valet", "Forever Live!"
|
17
|
-
copy[0..6].upcase + "®" + copy[7..copy.length-1]
|
18
|
-
when "Forever Artisan", "Forever Storage"
|
19
|
-
copy[0..6].upcase + copy[7..copy.length-1] + "®"
|
20
|
-
when "Artisan", "Panstoria"
|
21
|
-
copy + "®"
|
22
|
-
else
|
23
|
-
copy
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
#Path helpers for mounted style guide use
|
28
|
-
def www_url(path = '/', url = nil)
|
29
|
-
strip_subdomain("www", path, url)
|
30
|
-
end
|
31
|
-
|
32
|
-
def strip_subdomain(sub, path = '/', url = nil)
|
33
|
-
url ||= request.url if respond_to?(:request)
|
34
|
-
url = URI(url)
|
35
|
-
replace = url.to_s
|
36
|
-
protocols = ['www.', 'store.', 'my.']
|
37
|
-
replace = protocols.find { |protocol| replace.include?(protocol) }
|
38
|
-
|
39
|
-
#protect against a nil return that would break localhost
|
40
|
-
if replace.blank?
|
41
|
-
replace = '/'
|
42
|
-
end
|
43
|
-
|
44
|
-
url.host = url.host.sub(replace, "#{sub}.")
|
45
|
-
|
46
|
-
# Allow ember routes like /#/settings/password
|
47
|
-
url.path = URI.escape(path, '#, ?')
|
48
|
-
url.query = nil
|
49
|
-
url = URI.decode(url.to_s)
|
50
|
-
end
|
51
|
-
|
52
|
-
def absolute_url(url_str)
|
53
|
-
return unless url_str.present?
|
54
|
-
|
55
|
-
url_str = url_str.strip
|
56
|
-
|
57
|
-
return url_str if url_str =~ /https?\:/i
|
58
|
-
|
59
|
-
"http://" + url_str
|
60
|
-
end
|
61
|
-
|
62
|
-
def has_item_in_cart?
|
63
|
-
defined?(current_order) && current_order.product_count > 0
|
64
|
-
end
|
65
|
-
|
66
|
-
def has_ambassador?
|
67
|
-
defined?(current_ambassador) && current_ambassador.present?
|
68
|
-
end
|
69
|
-
|
70
|
-
#active state nav
|
71
|
-
def is_active?(page_name, product_types = nil)
|
72
|
-
controller.controller_name.include?(page_name) || controller.action_name.include?(page_name) || (@product != nil && product_types !=nil && product_types.split(',').include?(@product.product_type) && !@product.name.include?('Historian'))
|
73
|
-
end
|
74
|
-
|
75
|
-
#User storage methds as seen in web app user.rb
|
76
|
-
def capacity_readable
|
77
|
-
if current_user
|
78
|
-
number_to_human_size(current_user.storage_capacity, precision: 4)
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
def storage_ratio_percent
|
83
|
-
number_to_percentage(storage_ratio * 100, precision: 0)
|
84
|
-
end
|
85
|
-
|
86
|
-
def storage_ratio
|
87
|
-
return 0 if current_user.storage_capacity == 0
|
88
|
-
current_user.storage_used.to_f / current_user.storage_capacity.to_f
|
89
|
-
end
|
90
|
-
|
91
|
-
# Admin Links
|
92
|
-
def store_admin_url
|
93
|
-
www_url('/admin')
|
94
|
-
end
|
95
|
-
|
96
|
-
def stop_impersonating_url
|
97
|
-
('/impersonations')
|
98
|
-
end
|
99
|
-
|
100
|
-
# Web App Paths
|
101
|
-
def library_url
|
102
|
-
('/app/library')
|
103
|
-
end
|
104
|
-
|
105
|
-
def albums_url
|
106
|
-
('/app/albums')
|
107
|
-
end
|
108
|
-
|
109
|
-
def tags_url
|
110
|
-
('/app/tags')
|
111
|
-
end
|
112
|
-
|
113
|
-
def projects_url
|
114
|
-
('/app/projects')
|
115
|
-
end
|
116
|
-
|
117
|
-
def people_url
|
118
|
-
('/app/users')
|
119
|
-
end
|
120
|
-
|
121
|
-
def profile_url
|
122
|
-
('/app/profile')
|
123
|
-
end
|
124
|
-
|
125
|
-
def user_settings_url
|
126
|
-
('/app/settings')
|
127
|
-
end
|
128
|
-
|
129
|
-
# Combined Store/WWW Paths - now all available at www.forever.com
|
130
|
-
def user_order_history_url
|
131
|
-
www_url('/settings/orders')
|
132
|
-
end
|
133
|
-
|
134
|
-
def user_downloads_url
|
135
|
-
www_url('/settings/downloads')
|
136
|
-
end
|
137
|
-
|
138
|
-
def ambassador_settings_url
|
139
|
-
www_url('/settings/my_ambassador')
|
140
|
-
end
|
141
|
-
|
142
|
-
def login_url
|
143
|
-
www_url('/sign_in')
|
144
|
-
end
|
145
|
-
|
146
|
-
def log_out_url
|
147
|
-
www_url('/log_out')
|
148
|
-
end
|
149
|
-
|
150
|
-
def sign_up_url
|
151
|
-
www_url('/sign_up')
|
152
|
-
end
|
153
|
-
|
154
|
-
def marketing_home_url
|
155
|
-
www_url('/')
|
156
|
-
end
|
157
|
-
|
158
|
-
def about_url
|
159
|
-
www_url('/about')
|
160
|
-
end
|
161
|
-
|
162
|
-
def team_url
|
163
|
-
www_url('/about/team')
|
164
|
-
end
|
165
|
-
|
166
|
-
def beliefs_url
|
167
|
-
www_url('/about/beliefs')
|
168
|
-
end
|
169
|
-
|
170
|
-
def guarantee_url
|
171
|
-
www_url('/guarantee')
|
172
|
-
end
|
173
|
-
|
174
|
-
def storage_url
|
175
|
-
www_url('/forever_storage')
|
176
|
-
end
|
177
|
-
|
178
|
-
def mobile_url
|
179
|
-
www_url('/mobile')
|
180
|
-
end
|
181
|
-
|
182
|
-
def historian_url
|
183
|
-
www_url('/historian')
|
184
|
-
end
|
185
|
-
|
186
|
-
def artisan_url
|
187
|
-
www_url('/artisan')
|
188
|
-
end
|
189
|
-
|
190
|
-
def forever_print_url
|
191
|
-
www_url('/forever_print')
|
192
|
-
end
|
193
|
-
|
194
|
-
def print_quality_url
|
195
|
-
www_url('/print_quality')
|
196
|
-
end
|
197
|
-
|
198
|
-
def deals_url
|
199
|
-
www_url('/deals')
|
200
|
-
end
|
201
|
-
|
202
|
-
def shipping_info_url
|
203
|
-
www_url('/shipping')
|
204
|
-
end
|
205
|
-
|
206
|
-
def bulk_orders_url
|
207
|
-
www_url('/bulk-orders')
|
208
|
-
end
|
209
|
-
|
210
|
-
def return_policy_url
|
211
|
-
www_url('/returns')
|
212
|
-
end
|
213
|
-
|
214
|
-
def p2p_url
|
215
|
-
www_url('/pixels2pages')
|
216
|
-
end
|
217
|
-
|
218
|
-
def customer_commitments_url
|
219
|
-
www_url('/commitments')
|
220
|
-
end
|
221
|
-
|
222
|
-
def opportunity_url
|
223
|
-
www_url('/opportunity')
|
224
|
-
end
|
225
|
-
|
226
|
-
def retreats_url
|
227
|
-
www_url('/retreats')
|
228
|
-
end
|
229
|
-
|
230
|
-
def press_url
|
231
|
-
www_url('/about/press')
|
232
|
-
end
|
233
|
-
|
234
|
-
def cart_url
|
235
|
-
www_url('/cart')
|
236
|
-
end
|
237
|
-
|
238
|
-
def services_url
|
239
|
-
www_url('/services')
|
240
|
-
end
|
241
|
-
|
242
|
-
def digital_art_url
|
243
|
-
www_url('/digital_art')
|
244
|
-
end
|
245
|
-
|
246
|
-
def new_digital_art_url
|
247
|
-
www_url('/digital_art_library?facet_name=new')
|
248
|
-
end
|
249
|
-
|
250
|
-
def forever_print_library_url
|
251
|
-
www_url('/forever_print_library')
|
252
|
-
end
|
253
|
-
|
254
|
-
def featured_photo_books_library_url
|
255
|
-
www_url('/forever_print_library?facet_name=featured')
|
256
|
-
end
|
257
|
-
|
258
|
-
def artisan_print_url
|
259
|
-
www_url('/artisan#printing')
|
260
|
-
end
|
261
|
-
|
262
|
-
def free_digital_art_url
|
263
|
-
www_url('/digital_art_library?facet_name=free')
|
264
|
-
end
|
265
|
-
|
266
|
-
def predesigned_layouts_digital_art_url
|
267
|
-
www_url('/digital_art_library?facet_name=pre-designed%20layouts')
|
268
|
-
end
|
269
|
-
|
270
|
-
def all_digital_art_url
|
271
|
-
www_url('/digital_art_library')
|
272
|
-
end
|
273
|
-
|
274
|
-
def gift_certificate_url
|
275
|
-
www_url('/gift_certificates')
|
276
|
-
end
|
277
|
-
|
278
|
-
def gift_certificate_url
|
279
|
-
www_url('/gift_certificates')
|
280
|
-
end
|
281
|
-
|
282
|
-
def gifts_url
|
283
|
-
www_url('/gifts')
|
284
|
-
end
|
285
|
-
|
286
|
-
def ambassador_direct_url
|
287
|
-
www_url('/ambassador-direct')
|
288
|
-
end
|
289
|
-
|
290
|
-
def upgrade_url
|
291
|
-
if defined?(current_user) && current_user.membership
|
292
|
-
www_url('/add_storage')
|
293
|
-
else
|
294
|
-
www_url('/pricing')
|
295
|
-
end
|
296
|
-
end
|
297
|
-
|
298
|
-
def back_office_url
|
299
|
-
www_url('/back_office')
|
300
|
-
end
|
301
|
-
|
302
|
-
def tos_url
|
303
|
-
www_url('/tos')
|
304
|
-
end
|
305
|
-
|
306
|
-
def privacy_url
|
307
|
-
www_url('/privacy')
|
308
|
-
end
|
309
|
-
|
310
|
-
# External Paths
|
311
|
-
def facebook_url
|
312
|
-
"https://www.facebook.com/Forever"
|
313
|
-
end
|
314
|
-
|
315
|
-
def twitter_url
|
316
|
-
"https://www.twitter.com/forever"
|
317
|
-
end
|
318
|
-
|
319
|
-
def instagram_url
|
320
|
-
"https://www.instagram.com/forever_inc/"
|
321
|
-
end
|
322
|
-
|
323
|
-
def youtube_url
|
324
|
-
"https://www.youtube.com/channel/UCfBFL_W3FYW7W0wAr4EEGnA"
|
325
|
-
end
|
326
|
-
|
327
|
-
def pinterest_url
|
328
|
-
"https://www.pinterest.com/FOREVER/"
|
329
|
-
end
|
330
|
-
|
331
|
-
def blog_url
|
332
|
-
"https://blog.forever.com/"
|
333
|
-
end
|
334
|
-
|
335
|
-
def ios_url
|
336
|
-
"https://itunes.apple.com/us/app/forever/id808235823?ls=1&mt=8"
|
337
|
-
end
|
338
|
-
|
339
|
-
def android_url
|
340
|
-
"https://play.google.com/store/apps/details?id=com.forever.forever"
|
341
|
-
end
|
342
|
-
|
343
|
-
def careers_url
|
344
|
-
"http://forever.theresumator.com/apply"
|
345
|
-
end
|
346
|
-
|
347
|
-
def help_center_url
|
348
|
-
"https://forever1.zendesk.com/hc/en-us"
|
349
|
-
end
|
350
|
-
|
351
|
-
def contact_us_url
|
352
|
-
"https://forever1.zendesk.com/hc/en-us/requests/new"
|
353
|
-
end
|
354
|
-
|
355
|
-
def web_faq_url
|
356
|
-
"https://forever1.zendesk.com/hc/en-us/categories/200175058-Forever-Web-Mobile-Apps"
|
357
|
-
end
|
358
|
-
|
359
|
-
def artisan_faq_url
|
360
|
-
"https://forever1.zendesk.com/hc/en-us/sections/200632048-Artisan-software"
|
361
|
-
end
|
362
|
-
|
363
|
-
def historian_faq_url
|
364
|
-
"https://forever1.zendesk.com/hc/en-us/sections/200520187-Historian"
|
365
|
-
end
|
366
|
-
|
367
|
-
def zendesk_overview_video_url
|
368
|
-
"https://forever1.zendesk.com/hc/en-us/articles/204874607"
|
369
|
-
end
|
370
|
-
|
371
|
-
def zendesk_uploading_video_url
|
372
|
-
"https://forever1.zendesk.com/hc/en-us/articles/115000519251-Tutorial-Video-How-to-Upload"
|
373
|
-
end
|
374
|
-
|
375
|
-
def zendesk_sharing_video_url
|
376
|
-
"https://forever1.zendesk.com/hc/en-us/articles/115000519131-Tutorial-Video-How-to-Share-with-Friends-and-Family"
|
377
|
-
end
|
378
|
-
|
379
|
-
def zendesk_albums_video_url
|
380
|
-
"https://forever1.zendesk.com/hc/en-us/articles/115000519171-Tutorial-Video-Organizing-with-Albums"
|
381
|
-
end
|
382
|
-
|
383
|
-
def zendesk_tags_video_url
|
384
|
-
"https://forever1.zendesk.com/hc/en-us/articles/115000519211-Tutorial-Video-Tagging-in-Forever-"
|
385
|
-
end
|
386
|
-
|
387
|
-
def zendesk_projects_video_url
|
388
|
-
"https://forever1.zendesk.com/hc/en-us/articles/115002526452-Video-Tutorial-FOREVER-Print"
|
389
|
-
end
|
390
|
-
|
391
|
-
# Path helpers for style guide dummy app
|
392
|
-
def style_guide_path
|
393
|
-
Rails.application.routes.named_routes[:forever_style_guide].path.spec.to_s
|
394
|
-
end
|
395
|
-
|
396
|
-
def style_guide_root
|
397
|
-
ForeverStyleGuide::Engine.root
|
398
|
-
end
|
399
|
-
|
400
|
-
def style_guide_version
|
401
|
-
ForeverStyleGuide::VERSION
|
402
|
-
end
|
403
|
-
|
404
|
-
def sections_path
|
405
|
-
Pathname.new(Config.sections_path)
|
406
|
-
end
|
407
|
-
|
408
|
-
def demo_link(demo_name)
|
409
|
-
File.join(style_guide_path, "demo", demo_name)
|
410
|
-
end
|
411
|
-
|
412
|
-
def escape_for_display(content)
|
413
|
-
content.gsub(/\</, "<").gsub(/\>/, ">").html_safe
|
414
|
-
end
|
415
|
-
|
416
|
-
def escape_erb_for_display(partial_path)
|
417
|
-
partial = File.read("#{style_guide_root}/app/views/#{partial_path}")
|
418
|
-
escape_for_display(partial)
|
419
|
-
end
|
420
|
-
end
|
421
|
-
end
|