glassy_loader 1.2.0 → 1.2.1
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/CHANGELOG.md +7 -0
- data/README.md +2 -2
- data/app/helpers/glassy_loader_helper.rb +2 -2
- data/lib/glassy_loader/version.rb +1 -1
- data/test/mini_project/.ruby-version +1 -0
- data/test/mini_project/Gemfile +19 -0
- data/test/mini_project/Gemfile.lock +338 -0
- data/test/mini_project/README.md +94 -0
- data/test/mini_project/Rakefile +6 -0
- data/test/mini_project/app/assets/images/.keep +0 -0
- data/test/mini_project/app/assets/images/screencapture-localhost-3000-2026-06-03-12_25_32.png +0 -0
- data/test/mini_project/app/assets/javascripts/application.js +1 -0
- data/test/mini_project/app/assets/stylesheets/application.css +11 -0
- data/test/mini_project/app/controllers/application_controller.rb +4 -0
- data/test/mini_project/app/controllers/concerns/.keep +0 -0
- data/test/mini_project/app/controllers/dashboard_controller.rb +7 -0
- data/test/mini_project/app/helpers/application_helper.rb +2 -0
- data/test/mini_project/app/helpers/dashboard_helper.rb +2 -0
- data/test/mini_project/app/models/application_record.rb +3 -0
- data/test/mini_project/app/models/concerns/.keep +0 -0
- data/test/mini_project/app/views/dashboard/index.html.erb +66 -0
- data/test/mini_project/app/views/dashboard/showcase.html.erb +13 -0
- data/test/mini_project/app/views/layouts/application.html.erb +29 -0
- data/test/mini_project/app/views/pwa/manifest.json.erb +22 -0
- data/test/mini_project/app/views/pwa/service-worker.js +26 -0
- data/test/mini_project/bin/ci +6 -0
- data/test/mini_project/bin/dev +2 -0
- data/test/mini_project/bin/rails +4 -0
- data/test/mini_project/bin/rake +4 -0
- data/test/mini_project/bin/setup +35 -0
- data/test/mini_project/config/application.rb +42 -0
- data/test/mini_project/config/boot.rb +3 -0
- data/test/mini_project/config/ci.rb +15 -0
- data/test/mini_project/config/credentials.yml.enc +1 -0
- data/test/mini_project/config/database.yml +31 -0
- data/test/mini_project/config/environment.rb +5 -0
- data/test/mini_project/config/environments/development.rb +57 -0
- data/test/mini_project/config/environments/production.rb +67 -0
- data/test/mini_project/config/environments/test.rb +42 -0
- data/test/mini_project/config/initializers/assets.rb +7 -0
- data/test/mini_project/config/initializers/content_security_policy.rb +29 -0
- data/test/mini_project/config/initializers/filter_parameter_logging.rb +8 -0
- data/test/mini_project/config/initializers/glassy_loader.rb +4 -0
- data/test/mini_project/config/initializers/inflections.rb +16 -0
- data/test/mini_project/config/locales/en.yml +31 -0
- data/test/mini_project/config/master.key +1 -0
- data/test/mini_project/config/puma.rb +39 -0
- data/test/mini_project/config/routes.rb +16 -0
- data/test/mini_project/config.ru +6 -0
- data/test/mini_project/db/seeds.rb +9 -0
- data/test/mini_project/lib/tasks/.keep +0 -0
- data/test/mini_project/log/.keep +0 -0
- data/test/mini_project/log/development.log +31 -0
- data/test/mini_project/public/400.html +135 -0
- data/test/mini_project/public/404.html +135 -0
- data/test/mini_project/public/406-unsupported-browser.html +135 -0
- data/test/mini_project/public/422.html +135 -0
- data/test/mini_project/public/500.html +135 -0
- data/test/mini_project/public/icon.png +0 -0
- data/test/mini_project/public/icon.svg +3 -0
- data/test/mini_project/public/robots.txt +1 -0
- data/test/mini_project/script/.keep +0 -0
- data/test/mini_project/storage/.keep +0 -0
- data/test/mini_project/storage/development.sqlite3 +0 -0
- data/test/mini_project/tmp/.keep +0 -0
- data/test/mini_project/tmp/pids/.keep +0 -0
- data/test/mini_project/tmp/restart.txt +0 -0
- data/test/mini_project/tmp/storage/.keep +0 -0
- data/test/mini_project/vendor/.keep +0 -0
- metadata +66 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4c6fa9523380f7782413c7b62359cd5d7958f0fda2d50d1b9e9fb04037f9a0f8
|
|
4
|
+
data.tar.gz: d7a49a081d06af53cd0d0e0267f00d59739eb145dff0532d38a78583f0cb0a02
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 34976ea25e3fde8b309098988c1489f607d8c7209de257f0fc937733b00a535655fc5c6ead8a5d6a1c37b418c178be03e79c38d32c4d84ff89aeddac5792b89e
|
|
7
|
+
data.tar.gz: a8a928bd41f8484543aab26cbcc80706a0360f816522e16fe2359f732ab6835ea117cae43717e3a79e5ded1ae6df0ad9997edc57a2087dbc6d420d977958938e
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.2.1] - 2026-06-03
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Syntax Error:** Fixed invalid symbol literals in `glassy_loader_helper.rb` (unquoted hyphens).
|
|
12
|
+
- **Documentation:** Fixed broken examples in `README.md`.
|
|
13
|
+
- **Test Coverage:** Added RSpec tests for all new UI helpers.
|
|
14
|
+
|
|
8
15
|
## [1.2.0] - 2026-06-03
|
|
9
16
|
|
|
10
17
|
### Added
|
data/README.md
CHANGED
|
@@ -57,7 +57,7 @@ Set your project-wide defaults in `config/initializers/glassy_loader.rb`:
|
|
|
57
57
|
```ruby
|
|
58
58
|
GlassyLoader.configure do |config|
|
|
59
59
|
config.theme = :apple # Options: :glassy, :apple, :cyberpunk, :midnight_gold, :liquid_mesh...
|
|
60
|
-
config.animation = :spin-1
|
|
60
|
+
config.animation = :"spin-1" # Options: :"spin-1"..30, :"dots-1"..30, :"pulse-1"..22, :"folding-cube"...
|
|
61
61
|
config.duration = nil # Default auto-hide time in seconds
|
|
62
62
|
end
|
|
63
63
|
```
|
|
@@ -78,7 +78,7 @@ For high-end landing pages or dashboards.
|
|
|
78
78
|
|
|
79
79
|
```erb
|
|
80
80
|
<!-- 3D Folding Cube with Animated Mesh Background -->
|
|
81
|
-
<%= glassy_loader_tag animation: :
|
|
81
|
+
<%= glassy_loader_tag animation: :"folding-cube", theme: :liquid_mesh, message: "INITIALIZING..." %>
|
|
82
82
|
|
|
83
83
|
<!-- SVG Infinity Ribbon with Deep Gold Theme -->
|
|
84
84
|
<%= glassy_loader_tag animation: :infinity, theme: :midnight_gold %>
|
|
@@ -81,7 +81,7 @@ module GlassyLoaderHelper
|
|
|
81
81
|
end
|
|
82
82
|
end
|
|
83
83
|
|
|
84
|
-
def glassy_button_loader_tag(text, id: nil, class_name: nil, theme: nil, animation: :spin-1)
|
|
84
|
+
def glassy_button_loader_tag(text, id: nil, class_name: nil, theme: nil, animation: :"spin-1")
|
|
85
85
|
theme ||= GlassyLoader.configuration.theme
|
|
86
86
|
content_tag :button, id: id, class: ["glassy-button-loader", "glassy-theme-#{theme}", class_name].compact.join(" ") do
|
|
87
87
|
safe_join([
|
|
@@ -93,7 +93,7 @@ module GlassyLoaderHelper
|
|
|
93
93
|
end
|
|
94
94
|
end
|
|
95
95
|
|
|
96
|
-
def glassy_toast_tag(message, id: "glassy-toast", theme: nil, animation: :dots-1)
|
|
96
|
+
def glassy_toast_tag(message, id: "glassy-toast", theme: nil, animation: :"dots-1")
|
|
97
97
|
theme ||= GlassyLoader.configuration.theme
|
|
98
98
|
content_tag :div, id: id, class: ["glassy-toast", "glassy-theme-#{theme}"].compact.join(" "), style: "display: none;" do
|
|
99
99
|
safe_join([
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ruby-3.4.9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
source "https://rubygems.org"
|
|
2
|
+
|
|
3
|
+
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
|
|
4
|
+
gem "rails", "~> 8.1.3"
|
|
5
|
+
# The modern asset pipeline for Rails [https://github.com/rails/propshaft]
|
|
6
|
+
gem "propshaft"
|
|
7
|
+
# Use sqlite3 as the database for Active Record
|
|
8
|
+
gem "sqlite3", ">= 2.1"
|
|
9
|
+
# Use the Puma web server [https://github.com/puma/puma]
|
|
10
|
+
gem "puma", ">= 5.0"
|
|
11
|
+
|
|
12
|
+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
|
13
|
+
gem "tzinfo-data", platforms: %i[ windows jruby ]
|
|
14
|
+
|
|
15
|
+
group :development, :test do
|
|
16
|
+
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
|
|
17
|
+
gem "debug", platforms: %i[ mri windows ], require: "debug/prelude"
|
|
18
|
+
end
|
|
19
|
+
gem 'glassy_loader', path: '../../'
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: ../..
|
|
3
|
+
specs:
|
|
4
|
+
glassy_loader (1.2.1)
|
|
5
|
+
railties (>= 6.0)
|
|
6
|
+
|
|
7
|
+
GEM
|
|
8
|
+
remote: https://rubygems.org/
|
|
9
|
+
specs:
|
|
10
|
+
action_text-trix (2.1.19)
|
|
11
|
+
railties
|
|
12
|
+
actioncable (8.1.3)
|
|
13
|
+
actionpack (= 8.1.3)
|
|
14
|
+
activesupport (= 8.1.3)
|
|
15
|
+
nio4r (~> 2.0)
|
|
16
|
+
websocket-driver (>= 0.6.1)
|
|
17
|
+
zeitwerk (~> 2.6)
|
|
18
|
+
actionmailbox (8.1.3)
|
|
19
|
+
actionpack (= 8.1.3)
|
|
20
|
+
activejob (= 8.1.3)
|
|
21
|
+
activerecord (= 8.1.3)
|
|
22
|
+
activestorage (= 8.1.3)
|
|
23
|
+
activesupport (= 8.1.3)
|
|
24
|
+
mail (>= 2.8.0)
|
|
25
|
+
actionmailer (8.1.3)
|
|
26
|
+
actionpack (= 8.1.3)
|
|
27
|
+
actionview (= 8.1.3)
|
|
28
|
+
activejob (= 8.1.3)
|
|
29
|
+
activesupport (= 8.1.3)
|
|
30
|
+
mail (>= 2.8.0)
|
|
31
|
+
rails-dom-testing (~> 2.2)
|
|
32
|
+
actionpack (8.1.3)
|
|
33
|
+
actionview (= 8.1.3)
|
|
34
|
+
activesupport (= 8.1.3)
|
|
35
|
+
nokogiri (>= 1.8.5)
|
|
36
|
+
rack (>= 2.2.4)
|
|
37
|
+
rack-session (>= 1.0.1)
|
|
38
|
+
rack-test (>= 0.6.3)
|
|
39
|
+
rails-dom-testing (~> 2.2)
|
|
40
|
+
rails-html-sanitizer (~> 1.6)
|
|
41
|
+
useragent (~> 0.16)
|
|
42
|
+
actiontext (8.1.3)
|
|
43
|
+
action_text-trix (~> 2.1.15)
|
|
44
|
+
actionpack (= 8.1.3)
|
|
45
|
+
activerecord (= 8.1.3)
|
|
46
|
+
activestorage (= 8.1.3)
|
|
47
|
+
activesupport (= 8.1.3)
|
|
48
|
+
globalid (>= 0.6.0)
|
|
49
|
+
nokogiri (>= 1.8.5)
|
|
50
|
+
actionview (8.1.3)
|
|
51
|
+
activesupport (= 8.1.3)
|
|
52
|
+
builder (~> 3.1)
|
|
53
|
+
erubi (~> 1.11)
|
|
54
|
+
rails-dom-testing (~> 2.2)
|
|
55
|
+
rails-html-sanitizer (~> 1.6)
|
|
56
|
+
activejob (8.1.3)
|
|
57
|
+
activesupport (= 8.1.3)
|
|
58
|
+
globalid (>= 0.3.6)
|
|
59
|
+
activemodel (8.1.3)
|
|
60
|
+
activesupport (= 8.1.3)
|
|
61
|
+
activerecord (8.1.3)
|
|
62
|
+
activemodel (= 8.1.3)
|
|
63
|
+
activesupport (= 8.1.3)
|
|
64
|
+
timeout (>= 0.4.0)
|
|
65
|
+
activestorage (8.1.3)
|
|
66
|
+
actionpack (= 8.1.3)
|
|
67
|
+
activejob (= 8.1.3)
|
|
68
|
+
activerecord (= 8.1.3)
|
|
69
|
+
activesupport (= 8.1.3)
|
|
70
|
+
marcel (~> 1.0)
|
|
71
|
+
activesupport (8.1.3)
|
|
72
|
+
base64
|
|
73
|
+
bigdecimal
|
|
74
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
75
|
+
connection_pool (>= 2.2.5)
|
|
76
|
+
drb
|
|
77
|
+
i18n (>= 1.6, < 2)
|
|
78
|
+
json
|
|
79
|
+
logger (>= 1.4.2)
|
|
80
|
+
minitest (>= 5.1)
|
|
81
|
+
securerandom (>= 0.3)
|
|
82
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
|
83
|
+
uri (>= 0.13.1)
|
|
84
|
+
base64 (0.3.0)
|
|
85
|
+
bigdecimal (4.1.2)
|
|
86
|
+
builder (3.3.0)
|
|
87
|
+
concurrent-ruby (1.3.6)
|
|
88
|
+
connection_pool (3.0.2)
|
|
89
|
+
crass (1.0.6)
|
|
90
|
+
date (3.5.1)
|
|
91
|
+
debug (1.11.1)
|
|
92
|
+
irb (~> 1.10)
|
|
93
|
+
reline (>= 0.3.8)
|
|
94
|
+
drb (2.2.3)
|
|
95
|
+
erb (6.0.4)
|
|
96
|
+
erubi (1.13.1)
|
|
97
|
+
globalid (1.3.0)
|
|
98
|
+
activesupport (>= 6.1)
|
|
99
|
+
i18n (1.14.8)
|
|
100
|
+
concurrent-ruby (~> 1.0)
|
|
101
|
+
io-console (0.8.2)
|
|
102
|
+
irb (1.18.0)
|
|
103
|
+
pp (>= 0.6.0)
|
|
104
|
+
prism (>= 1.3.0)
|
|
105
|
+
rdoc (>= 4.0.0)
|
|
106
|
+
reline (>= 0.4.2)
|
|
107
|
+
json (2.19.7)
|
|
108
|
+
logger (1.7.0)
|
|
109
|
+
loofah (2.25.1)
|
|
110
|
+
crass (~> 1.0.2)
|
|
111
|
+
nokogiri (>= 1.12.0)
|
|
112
|
+
mail (2.9.0)
|
|
113
|
+
logger
|
|
114
|
+
mini_mime (>= 0.1.1)
|
|
115
|
+
net-imap
|
|
116
|
+
net-pop
|
|
117
|
+
net-smtp
|
|
118
|
+
marcel (1.2.1)
|
|
119
|
+
mini_mime (1.1.5)
|
|
120
|
+
minitest (6.0.6)
|
|
121
|
+
drb (~> 2.0)
|
|
122
|
+
prism (~> 1.5)
|
|
123
|
+
net-imap (0.6.4)
|
|
124
|
+
date
|
|
125
|
+
net-protocol
|
|
126
|
+
net-pop (0.1.2)
|
|
127
|
+
net-protocol
|
|
128
|
+
net-protocol (0.2.2)
|
|
129
|
+
timeout
|
|
130
|
+
net-smtp (0.5.1)
|
|
131
|
+
net-protocol
|
|
132
|
+
nio4r (2.7.5)
|
|
133
|
+
nokogiri (1.19.3-aarch64-linux-gnu)
|
|
134
|
+
racc (~> 1.4)
|
|
135
|
+
nokogiri (1.19.3-aarch64-linux-musl)
|
|
136
|
+
racc (~> 1.4)
|
|
137
|
+
nokogiri (1.19.3-arm-linux-gnu)
|
|
138
|
+
racc (~> 1.4)
|
|
139
|
+
nokogiri (1.19.3-arm-linux-musl)
|
|
140
|
+
racc (~> 1.4)
|
|
141
|
+
nokogiri (1.19.3-arm64-darwin)
|
|
142
|
+
racc (~> 1.4)
|
|
143
|
+
nokogiri (1.19.3-x86_64-darwin)
|
|
144
|
+
racc (~> 1.4)
|
|
145
|
+
nokogiri (1.19.3-x86_64-linux-gnu)
|
|
146
|
+
racc (~> 1.4)
|
|
147
|
+
nokogiri (1.19.3-x86_64-linux-musl)
|
|
148
|
+
racc (~> 1.4)
|
|
149
|
+
pp (0.6.3)
|
|
150
|
+
prettyprint
|
|
151
|
+
prettyprint (0.2.0)
|
|
152
|
+
prism (1.9.0)
|
|
153
|
+
propshaft (1.3.2)
|
|
154
|
+
actionpack (>= 7.0.0)
|
|
155
|
+
activesupport (>= 7.0.0)
|
|
156
|
+
rack
|
|
157
|
+
psych (5.4.0)
|
|
158
|
+
date
|
|
159
|
+
stringio
|
|
160
|
+
puma (8.0.2)
|
|
161
|
+
nio4r (~> 2.0)
|
|
162
|
+
racc (1.8.1)
|
|
163
|
+
rack (3.2.6)
|
|
164
|
+
rack-session (2.1.2)
|
|
165
|
+
base64 (>= 0.1.0)
|
|
166
|
+
rack (>= 3.0.0)
|
|
167
|
+
rack-test (2.2.0)
|
|
168
|
+
rack (>= 1.3)
|
|
169
|
+
rackup (2.3.1)
|
|
170
|
+
rack (>= 3)
|
|
171
|
+
rails (8.1.3)
|
|
172
|
+
actioncable (= 8.1.3)
|
|
173
|
+
actionmailbox (= 8.1.3)
|
|
174
|
+
actionmailer (= 8.1.3)
|
|
175
|
+
actionpack (= 8.1.3)
|
|
176
|
+
actiontext (= 8.1.3)
|
|
177
|
+
actionview (= 8.1.3)
|
|
178
|
+
activejob (= 8.1.3)
|
|
179
|
+
activemodel (= 8.1.3)
|
|
180
|
+
activerecord (= 8.1.3)
|
|
181
|
+
activestorage (= 8.1.3)
|
|
182
|
+
activesupport (= 8.1.3)
|
|
183
|
+
bundler (>= 1.15.0)
|
|
184
|
+
railties (= 8.1.3)
|
|
185
|
+
rails-dom-testing (2.3.0)
|
|
186
|
+
activesupport (>= 5.0.0)
|
|
187
|
+
minitest
|
|
188
|
+
nokogiri (>= 1.6)
|
|
189
|
+
rails-html-sanitizer (1.7.0)
|
|
190
|
+
loofah (~> 2.25)
|
|
191
|
+
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
|
192
|
+
railties (8.1.3)
|
|
193
|
+
actionpack (= 8.1.3)
|
|
194
|
+
activesupport (= 8.1.3)
|
|
195
|
+
irb (~> 1.13)
|
|
196
|
+
rackup (>= 1.0.0)
|
|
197
|
+
rake (>= 12.2)
|
|
198
|
+
thor (~> 1.0, >= 1.2.2)
|
|
199
|
+
tsort (>= 0.2)
|
|
200
|
+
zeitwerk (~> 2.6)
|
|
201
|
+
rake (13.4.2)
|
|
202
|
+
rdoc (7.2.0)
|
|
203
|
+
erb
|
|
204
|
+
psych (>= 4.0.0)
|
|
205
|
+
tsort
|
|
206
|
+
reline (0.6.3)
|
|
207
|
+
io-console (~> 0.5)
|
|
208
|
+
securerandom (0.4.1)
|
|
209
|
+
sqlite3 (2.9.4-aarch64-linux-gnu)
|
|
210
|
+
sqlite3 (2.9.4-aarch64-linux-musl)
|
|
211
|
+
sqlite3 (2.9.4-arm-linux-gnu)
|
|
212
|
+
sqlite3 (2.9.4-arm-linux-musl)
|
|
213
|
+
sqlite3 (2.9.4-arm64-darwin)
|
|
214
|
+
sqlite3 (2.9.4-x86_64-darwin)
|
|
215
|
+
sqlite3 (2.9.4-x86_64-linux-gnu)
|
|
216
|
+
sqlite3 (2.9.4-x86_64-linux-musl)
|
|
217
|
+
stringio (3.2.0)
|
|
218
|
+
thor (1.5.0)
|
|
219
|
+
timeout (0.6.1)
|
|
220
|
+
tsort (0.2.0)
|
|
221
|
+
tzinfo (2.0.6)
|
|
222
|
+
concurrent-ruby (~> 1.0)
|
|
223
|
+
uri (1.1.1)
|
|
224
|
+
useragent (0.16.11)
|
|
225
|
+
websocket-driver (0.8.0)
|
|
226
|
+
base64
|
|
227
|
+
websocket-extensions (>= 0.1.0)
|
|
228
|
+
websocket-extensions (0.1.5)
|
|
229
|
+
zeitwerk (2.8.2)
|
|
230
|
+
|
|
231
|
+
PLATFORMS
|
|
232
|
+
aarch64-linux-gnu
|
|
233
|
+
aarch64-linux-musl
|
|
234
|
+
arm-linux-gnu
|
|
235
|
+
arm-linux-musl
|
|
236
|
+
arm64-darwin
|
|
237
|
+
x86_64-darwin
|
|
238
|
+
x86_64-linux-gnu
|
|
239
|
+
x86_64-linux-musl
|
|
240
|
+
|
|
241
|
+
DEPENDENCIES
|
|
242
|
+
debug
|
|
243
|
+
glassy_loader!
|
|
244
|
+
propshaft
|
|
245
|
+
puma (>= 5.0)
|
|
246
|
+
rails (~> 8.1.3)
|
|
247
|
+
sqlite3 (>= 2.1)
|
|
248
|
+
tzinfo-data
|
|
249
|
+
|
|
250
|
+
CHECKSUMS
|
|
251
|
+
action_text-trix (2.1.19) sha256=7012f59421009cf284aa651294896414d653a61a2417c9b8714c8476d2f74009
|
|
252
|
+
actioncable (8.1.3) sha256=e5bc7f75e44e6a22de29c4f43176927c3a9ce4824464b74ed18d8226e75a80f0
|
|
253
|
+
actionmailbox (8.1.3) sha256=df7da474eaa0e70df4ed5a6fef66eb3b3b0f2dbf7f14518deee8d77f1b4aae59
|
|
254
|
+
actionmailer (8.1.3) sha256=831f724891bb70d0aaa4d76581a6321124b6a752cb655c9346aae5479318448d
|
|
255
|
+
actionpack (8.1.3) sha256=af998cae4d47c5d581a2cc363b5c77eb718b7c4b45748d81b1887b25621c29a3
|
|
256
|
+
actiontext (8.1.3) sha256=d291019c00e1ea9e6463011fa214f6081a56d7b9a1d224e7d3f6384c1dafc7d2
|
|
257
|
+
actionview (8.1.3) sha256=1347c88c7f3edb38100c5ce0e9fb5e62d7755f3edc1b61cce2eb0b2c6ea2fd5d
|
|
258
|
+
activejob (8.1.3) sha256=a149b1766aa8204c3c3da7309e4becd40fcd5529c348cffbf6c9b16b565fe8d3
|
|
259
|
+
activemodel (8.1.3) sha256=90c05cbe4cef3649b8f79f13016191ea94c4525ce4a5c0fb7ef909c4b91c8219
|
|
260
|
+
activerecord (8.1.3) sha256=8003be7b2466ba0a2a670e603eeb0a61dd66058fccecfc49901e775260ac70ab
|
|
261
|
+
activestorage (8.1.3) sha256=0564ce9309143951a67615e1bb4e090ee54b8befed417133cae614479b46384d
|
|
262
|
+
activesupport (8.1.3) sha256=21a5e0dfbd4c3ddd9e1317ec6a4d782fa226e7867dc70b0743acda81a1dca20e
|
|
263
|
+
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
|
|
264
|
+
bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
|
|
265
|
+
builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
|
|
266
|
+
concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
|
|
267
|
+
connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
|
|
268
|
+
crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
|
|
269
|
+
date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
|
|
270
|
+
debug (1.11.1) sha256=2e0b0ac6119f2207a6f8ac7d4a73ca8eb4e440f64da0a3136c30343146e952b6
|
|
271
|
+
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
|
|
272
|
+
erb (6.0.4) sha256=38e3803694be357fe2bfe312487c74beaf9fb4e5beb3e22498952fe1645b95d9
|
|
273
|
+
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
|
|
274
|
+
glassy_loader (1.2.1)
|
|
275
|
+
globalid (1.3.0) sha256=05c639ad6eb4594522a0b07983022f04aa7254626ab69445a0e493aa3786ff11
|
|
276
|
+
i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
|
|
277
|
+
io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
|
|
278
|
+
irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
|
|
279
|
+
json (2.19.7) sha256=fe432c8639f6efff69f9d73b518a3705d9581ab93156f981ea72806e1e5bcc3e
|
|
280
|
+
logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
|
|
281
|
+
loofah (2.25.1) sha256=d436c73dbd0c1147b16c4a41db097942d217303e1f7728704b37e4df9f6d2e04
|
|
282
|
+
mail (2.9.0) sha256=6fa6673ecd71c60c2d996260f9ee3dd387d4673b8169b502134659ece6d34941
|
|
283
|
+
marcel (1.2.1) sha256=1678e9360e32f9eafa917c80029e2f6d10b2715c66a4b87b6d0da9b9cd1f859f
|
|
284
|
+
mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
|
|
285
|
+
minitest (6.0.6) sha256=153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1
|
|
286
|
+
net-imap (0.6.4) sha256=9a5598c67a3022c284d98430ef1d4948e7dbdb62596f61081ea8ca933270a02b
|
|
287
|
+
net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
|
|
288
|
+
net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
|
|
289
|
+
net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736
|
|
290
|
+
nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1
|
|
291
|
+
nokogiri (1.19.3-aarch64-linux-gnu) sha256=46b89e5d7b9e844c2ee360794240c6ea2a4e6fa0c5892a4ed487db621224b639
|
|
292
|
+
nokogiri (1.19.3-aarch64-linux-musl) sha256=8392dfdcd21be7a94dbbe9ccc138dea01b97b24cb2dc02a114ca98bfb1d9a0b7
|
|
293
|
+
nokogiri (1.19.3-arm-linux-gnu) sha256=3919d5ffc334ad778a4a9eb88fda7dcb8b1fb58c8a52ac640c6dcd2f038e774f
|
|
294
|
+
nokogiri (1.19.3-arm-linux-musl) sha256=9ce1cb6346bb9c67b1550eb537aa183ead91e4b6eadb2f36ade02d8dd2a79fb6
|
|
295
|
+
nokogiri (1.19.3-arm64-darwin) sha256=71b9bd424b1b7abc18b05052a1a3cfd3627abdca62be280854cc411791357e42
|
|
296
|
+
nokogiri (1.19.3-x86_64-darwin) sha256=77f3fba57d46c53ab31e62fc6c28f705109d1bf6264356c76f132b2be5728d4d
|
|
297
|
+
nokogiri (1.19.3-x86_64-linux-gnu) sha256=2f5078620fe12e83669b5b17311b32532a8153d02eee7ad06948b926d6080976
|
|
298
|
+
nokogiri (1.19.3-x86_64-linux-musl) sha256=248c906d2166eca5efb56d52fdee5f9a1f51d69a72e2b64fdac647b4ce39ea3f
|
|
299
|
+
pp (0.6.3) sha256=2951d514450b93ccfeb1df7d021cae0da16e0a7f95ee1e2273719669d0ab9df6
|
|
300
|
+
prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
|
|
301
|
+
prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
|
|
302
|
+
propshaft (1.3.2) sha256=1d56a3e56a92c21bfc29caf07406b5386b00d4c47ddf357cf989a5a234b1389e
|
|
303
|
+
psych (5.4.0) sha256=14f72d69a611af663d7d70e4a7b67d9eb1f3ae9f8d916b478961d5a0075ba5b7
|
|
304
|
+
puma (8.0.2) sha256=c8ed871dfbbe66448ea9ffd46692342d9804d4071522b52b5331b7b6e7b686fb
|
|
305
|
+
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
|
|
306
|
+
rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
|
|
307
|
+
rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
|
|
308
|
+
rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
|
|
309
|
+
rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
|
|
310
|
+
rails (8.1.3) sha256=6d017ba5348c98fc909753a8169b21d44de14d2a0b92d140d1a966834c3c9cd3
|
|
311
|
+
rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
|
|
312
|
+
rails-html-sanitizer (1.7.0) sha256=28b145cceaf9cc214a9874feaa183c3acba036c9592b19886e0e45efc62b1e89
|
|
313
|
+
railties (8.1.3) sha256=913eb0e0cb520aac687ffd74916bd726d48fa21f47833c6292576ef6a286de22
|
|
314
|
+
rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
|
|
315
|
+
rdoc (7.2.0) sha256=8650f76cd4009c3b54955eb5d7e3a075c60a57276766ebf36f9085e8c9f23192
|
|
316
|
+
reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
|
|
317
|
+
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
|
|
318
|
+
sqlite3 (2.9.4-aarch64-linux-gnu) sha256=ecabed721e6eaad54601d2685f09029d90025efc8d931040dc89cb3f8a2080ec
|
|
319
|
+
sqlite3 (2.9.4-aarch64-linux-musl) sha256=ffb4255947fb54c8c3eeca97460c9702b40de91ce390455ef7367ca6a3929a31
|
|
320
|
+
sqlite3 (2.9.4-arm-linux-gnu) sha256=9ee2008b9fbec984c3c165b0d7eedd2bd2a415100b761bfa3a4c6fbec9208bf6
|
|
321
|
+
sqlite3 (2.9.4-arm-linux-musl) sha256=8dc1fe4da6977992cd62decf4a93ccf6cc2e124a5e6a340160d52092f70e837a
|
|
322
|
+
sqlite3 (2.9.4-arm64-darwin) sha256=1d5aad413a815d236e96d43f05a1acc600b6cd086800770342a3f9c2877499ff
|
|
323
|
+
sqlite3 (2.9.4-x86_64-darwin) sha256=f280c476e360b73e86165a5e59b72801385b4a6c3a47f8af5ecefb9d90bec17f
|
|
324
|
+
sqlite3 (2.9.4-x86_64-linux-gnu) sha256=537a3eda71b1df1336d0055cbebe55a7317c34870c192c7b6b9d8d0be6871847
|
|
325
|
+
sqlite3 (2.9.4-x86_64-linux-musl) sha256=3fc5e865b4be9a85d998203ef8d0c0fdcb92f20acf34a254346ff8a19088efec
|
|
326
|
+
stringio (3.2.0) sha256=c37cb2e58b4ffbd33fe5cd948c05934af997b36e0b6ca6fdf43afa234cf222e1
|
|
327
|
+
thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
|
|
328
|
+
timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb
|
|
329
|
+
tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f
|
|
330
|
+
tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
|
|
331
|
+
uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
|
|
332
|
+
useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
|
|
333
|
+
websocket-driver (0.8.0) sha256=ed0dba4b943c22f17f9a734817e808bc84cdce6a7e22045f5315aa57676d4962
|
|
334
|
+
websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
|
|
335
|
+
zeitwerk (2.8.2) sha256=7212a61311083c604184b1ea2574b9aa05cd14f855a0841c06985cabe9181d12
|
|
336
|
+
|
|
337
|
+
BUNDLED WITH
|
|
338
|
+
4.0.11
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# GlassyLoader Mini Project
|
|
2
|
+
|
|
3
|
+
This project demonstrates the integration and usage of the `glassy_loader` gem, a premium loading UI suite for Ruby on Rails applications.
|
|
4
|
+
|
|
5
|
+
## 📸 Showcase
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
## 🚀 Gem Usage: GlassyLoader
|
|
10
|
+
|
|
11
|
+
The `glassy_loader` gem provides a variety of customizable loading indicators, including full-screen loaders, button loaders, toast notifications, and skeleton layouts.
|
|
12
|
+
|
|
13
|
+
### 1. Installation
|
|
14
|
+
|
|
15
|
+
The gem is included in the `Gemfile`:
|
|
16
|
+
|
|
17
|
+
```ruby
|
|
18
|
+
gem 'glassy_loader', '~> 1.2'
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
```ruby
|
|
23
|
+
bundle install
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 2. Configuration
|
|
28
|
+
|
|
29
|
+
Global configuration is handled in `config/initializers/glassy_loader.rb`:
|
|
30
|
+
|
|
31
|
+
```ruby
|
|
32
|
+
GlassyLoader.configure do |config|
|
|
33
|
+
config.theme = :apple
|
|
34
|
+
config.animation = :"spin-1"
|
|
35
|
+
end
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 3. Asset Integration
|
|
39
|
+
|
|
40
|
+
Assets are included in the application layout (`app/views/layouts/application.html.erb`):
|
|
41
|
+
|
|
42
|
+
```erb
|
|
43
|
+
<%= stylesheet_link_tag "glassy_loader/main" %>
|
|
44
|
+
<%= javascript_include_tag "glassy_loader/loader" %>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
And required in the asset pipeline:
|
|
48
|
+
- `app/assets/stylesheets/application.css`: `/*= require glassy_loader/main */`
|
|
49
|
+
- `app/assets/javascripts/application.js`: `//= require glassy_loader/loader`
|
|
50
|
+
|
|
51
|
+
### 4. View Helpers
|
|
52
|
+
|
|
53
|
+
The gem provides several intuitive helpers:
|
|
54
|
+
|
|
55
|
+
- **Main Loader Tag**: Used for full-screen or container-based loaders.
|
|
56
|
+
```erb
|
|
57
|
+
<%= glassy_loader_tag id: "main-loader", message: "PREPARING ASSETS...", theme: :liquid_mesh, animation: :folding_cube %>
|
|
58
|
+
```
|
|
59
|
+
- **Button Loader Tag**: Enhances standard buttons with loading states.
|
|
60
|
+
```erb
|
|
61
|
+
<%= glassy_button_loader_tag "Load Data", id: "btn-load", theme: :apple %>
|
|
62
|
+
```
|
|
63
|
+
- **Toast Tag**: Displays sleek notification overlays.
|
|
64
|
+
```erb
|
|
65
|
+
<%= glassy_toast_tag "Processing...", id: "my-toast", theme: :midnight_gold %>
|
|
66
|
+
```
|
|
67
|
+
- **Skeleton Layouts**: Provides placeholders for content loading.
|
|
68
|
+
```erb
|
|
69
|
+
<%= glassy_skeleton_layout type: :feed, items: 2 %>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 5. JavaScript API
|
|
73
|
+
|
|
74
|
+
Control loaders programmatically using the `GlassyLoader` JS object:
|
|
75
|
+
|
|
76
|
+
```javascript
|
|
77
|
+
// Show a loader
|
|
78
|
+
GlassyLoader.show('main-loader');
|
|
79
|
+
|
|
80
|
+
// Update to success state
|
|
81
|
+
GlassyLoader.success('main-loader', 'COMPLETED!');
|
|
82
|
+
|
|
83
|
+
// Toggle button loading state
|
|
84
|
+
GlassyLoader.toggleButton('btn-load', true);
|
|
85
|
+
|
|
86
|
+
// Show a toast
|
|
87
|
+
GlassyLoader.showToast('my-toast', { duration: 3 });
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 🛠 Project Structure
|
|
91
|
+
|
|
92
|
+
- `app/controllers/dashboard_controller.rb`: Handles the main demo pages.
|
|
93
|
+
- `app/views/dashboard/index.html.erb`: The main interactive demo dashboard.
|
|
94
|
+
- `app/views/dashboard/showcase.html.erb`: A gallery of available animations.
|
|
File without changes
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//= require glassy_loader/loader
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This is a manifest file that'll be compiled into application.css.
|
|
3
|
+
*
|
|
4
|
+
* With Propshaft, assets are served efficiently without preprocessing steps. You can still include
|
|
5
|
+
* application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
|
|
6
|
+
* cascading order, meaning styles declared later in the document or manifest will override earlier ones,
|
|
7
|
+
* depending on specificity.
|
|
8
|
+
*
|
|
9
|
+
* Consider organizing styles into separate files for maintainability.
|
|
10
|
+
*/
|
|
11
|
+
/*= require glassy_loader/main */
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<div style="padding: 40px; font-family: sans-serif; max-width: 800px; margin: 0 auto; background: #f0f2f5; min-height: 100vh;">
|
|
2
|
+
<h1 style="color: #1a73e8;">💎 GlassyLoader Showcase</h1>
|
|
3
|
+
<p>Welcome to the premium loading UI suite demo.</p>
|
|
4
|
+
|
|
5
|
+
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-top: 40px;">
|
|
6
|
+
|
|
7
|
+
<!-- Button Loaders -->
|
|
8
|
+
<div style="background: white; padding: 20px; border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.05);">
|
|
9
|
+
<h3>Button Loaders</h3>
|
|
10
|
+
<%= glassy_button_loader_tag "Load Data", id: "btn-load", theme: :apple %>
|
|
11
|
+
<button onclick="toggleBtn()" style="margin-top: 10px; display: block;">Toggle Loading</button>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<!-- Toast Loaders -->
|
|
15
|
+
<div style="background: white; padding: 20px; border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.05);">
|
|
16
|
+
<h3>Toast Notifications</h3>
|
|
17
|
+
<%= glassy_toast_tag "Processing...", id: "my-toast", theme: :midnight_gold %>
|
|
18
|
+
<button onclick="showToast()">Show Toast</button>
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
<!-- Skeleton Layouts -->
|
|
22
|
+
<div style="background: white; padding: 20px; border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); grid-column: span 2;">
|
|
23
|
+
<h3>Skeleton Layouts</h3>
|
|
24
|
+
<div id="skeleton-container">
|
|
25
|
+
<%= glassy_skeleton_layout type: :feed, items: 2 %>
|
|
26
|
+
</div>
|
|
27
|
+
<button onclick="refreshSkeletons()" style="margin-top: 10px;">Refresh Feed</button>
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div style="margin-top: 40px;">
|
|
33
|
+
<button onclick="showFullLoader()" style="padding: 15px 30px; font-size: 1.2rem; background: #1a73e8; color: white; border: none; border-radius: 8px; cursor: pointer;">
|
|
34
|
+
Launch Full Screen Loader
|
|
35
|
+
</button>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<%= glassy_loader_tag id: "main-loader", message: "PREPARING ASSETS...", theme: :liquid_mesh, animation: :folding_cube, delay: 0.2, min_duration: 1.0 %>
|
|
39
|
+
|
|
40
|
+
<script>
|
|
41
|
+
function toggleBtn() {
|
|
42
|
+
const btn = document.getElementById('btn-load');
|
|
43
|
+
const isLoading = btn.getAttribute('data-loading') === 'true';
|
|
44
|
+
GlassyLoader.toggleButton('btn-load', !isLoading);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function showToast() {
|
|
48
|
+
GlassyLoader.showToast('my-toast', { duration: 3 });
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function showFullLoader() {
|
|
52
|
+
GlassyLoader.show('main-loader');
|
|
53
|
+
setTimeout(() => {
|
|
54
|
+
GlassyLoader.success('main-loader', 'COMPLETED!');
|
|
55
|
+
}, 2500);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function refreshSkeletons() {
|
|
59
|
+
const container = document.getElementById('skeleton-container');
|
|
60
|
+
container.style.opacity = '0.5';
|
|
61
|
+
setTimeout(() => {
|
|
62
|
+
container.style.opacity = '1';
|
|
63
|
+
}, 500);
|
|
64
|
+
}
|
|
65
|
+
</script>
|
|
66
|
+
</div>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<div style="padding: 20px;">
|
|
2
|
+
<h1>Animation Gallery</h1>
|
|
3
|
+
<div style="display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;">
|
|
4
|
+
<% [:spin, :dots, :pulse].each do |type| %>
|
|
5
|
+
<% (1..5).each do |i| %>
|
|
6
|
+
<div style="border: 1px solid #ccc; padding: 10px; height: 150px; position: relative;">
|
|
7
|
+
<p><%= type %>-<%= i %></p>
|
|
8
|
+
<%= glassy_loader_tag animation: "#{type}-#{i}", full_screen: false, container: true, message: nil %>
|
|
9
|
+
</div>
|
|
10
|
+
<% end %>
|
|
11
|
+
<% end %>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|