ish_manager 0.1.8.510 → 0.1.8.512

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7410ad605ec60a2c1d3e18d12a0941f8178e8274d1db191a6767be2b82e4b25c
4
- data.tar.gz: 7fd2f22743700b5b9e3e94ed171af40072b3873bde876d3d29f40d59edb7f5d8
3
+ metadata.gz: 18720af1555658dd23e08634f9fe38e03ebfbc1d3170fc1dd6288e6aeeb31c2f
4
+ data.tar.gz: 50653e9bb22591eaaa9f29aef09a8003ea22f1fd0ecac8fc42230a5eb7cf58e9
5
5
  SHA512:
6
- metadata.gz: 499d5267cc3bd622f3d5a8a5e871fa696ca4beeadc6db550decb10849777024577304aaf4b9dc5c971ff23378cf1757fa8bb7fbde30549b6c56d5954a6258ef4
7
- data.tar.gz: fa5cc5925197cfba2fdbd27648e36c2dcbc8bb019bd2ba48a5986fbcad77eeccde2396090a40d71b4dda235089459c8887f070a9943c51c94288fe69e5c2d867
6
+ metadata.gz: 9e674fd83f00302c0d8a2e643c0ce35e8a02e4211161a1826e1ad5d3b05eb527d32d4cb3e3e53d6c3eb96ad613093667135a452574f392bc56cdb3a86f2e7c9d
7
+ data.tar.gz: '01613396e821435311f2a2e2a5828bd2ac17c16a97ec2e90db4cc522e44a61fe8cef0178b0fb3e262d005e8a39be7facd0370e640f97d0042494060a0c404199'
@@ -14,12 +14,11 @@
14
14
  *= require ish_manager/email_templates
15
15
  *= require ish_manager/email
16
16
  *= require ish_manager/galleries
17
- *= require ish_manager/iro
18
- *= require ish_manager/iro1
19
17
  *= require ish_manager/leads
20
18
  *= require ish_manager/leadsets
21
19
  *= require ish_manager/leadsets
22
20
  *= require ish_manager/maps
21
+ *= require ish_manager/main_header
23
22
  *= require ish_manager/markers
24
23
  *= require ish_manager/office
25
24
  *= require ish_manager/pagination
@@ -388,50 +387,6 @@ textarea.large {
388
387
  /* M */
389
388
 
390
389
 
391
- .main-header {
392
- background: url('//d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2022/10/05192823/weather-bg.png');
393
- border-bottom: 2px solid red;
394
- margin-bottom: 1em;
395
-
396
- a:not(.chip),
397
- span.label {
398
- background: white;
399
- padding: .2em;
400
- }
401
-
402
- hr {
403
- margin-top: 0;
404
- }
405
-
406
- ul {
407
- margin: 0;
408
- padding: 0;
409
- display: flex;
410
- flex-wrap: wrap;
411
-
412
- li {
413
- margin: 0 10px 10px 0;
414
- display: inline-block;
415
- min-width: 220px;
416
-
417
- > div { /* for example .galleries--menu */
418
- display: inline-block;
419
- }
420
- }
421
- }
422
-
423
-
424
- }
425
- @media only screen and (max-width: 400px) {
426
- .main-header ul li {
427
- min-width: 45vw;
428
- }
429
- }
430
-
431
- .main-header.development {
432
- background: url('//d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2022/10/05192822/weather-bg-development.png');
433
- }
434
-
435
390
  #mainW {
436
391
  // border: 1px solid red;
437
392
  margin-top: -20px;
@@ -0,0 +1,44 @@
1
+
2
+ .main-header {
3
+ background: url('//d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2022/10/05192823/weather-bg.png');
4
+ border-bottom: 2px solid red;
5
+ margin-bottom: 1em;
6
+
7
+ a:not(.chip),
8
+ span.label {
9
+ background: white;
10
+ padding: .2em;
11
+ }
12
+
13
+ hr {
14
+ margin-top: 0;
15
+ }
16
+
17
+ ul {
18
+ margin: 0;
19
+ padding: 0;
20
+ display: flex;
21
+ flex-wrap: wrap;
22
+
23
+ li {
24
+ margin: 0 10px 10px 0;
25
+ display: inline-block;
26
+ min-width: 220px;
27
+
28
+ > div { /* for example .galleries--menu */
29
+ display: inline-block;
30
+ }
31
+ }
32
+ }
33
+
34
+
35
+ }
36
+ @media only screen and (max-width: 400px) {
37
+ .main-header ul li {
38
+ min-width: 45vw;
39
+ }
40
+ }
41
+
42
+ .main-header.development {
43
+ background: url('//d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2022/10/05192822/weather-bg-development.png');
44
+ }
@@ -19,3 +19,9 @@
19
19
  top: 0;
20
20
  }
21
21
 
22
+ /* W */
23
+ .w-100px {
24
+ width: 100px;
25
+ }
26
+
27
+
@@ -109,7 +109,6 @@ class IshManager::ApplicationController < ActionController::Base
109
109
  @locations_list = ::Gameui::Map.list
110
110
  @maps_list = ::Gameui::Map.list # @TODO: missing nonpublic!
111
111
  @office_actions_list = [[nil,nil]] + Office::Action.all.map { |a| [ a.slug, a.id ] }
112
- @option_watches_list = [nil] + Iro::OptionWatch.where({ kind: Iro::OptionWatch::KIND_GET_CHAINS }).order_by({ ticket: :desc }).map( &:ticker )
113
112
  @profiles_list = Ish::UserProfile.list
114
113
  @reports_list = Report.all.list
115
114
  @tags_list = [[nil,nil]] + WpTag.all.map { |t| [ t.name, t.id ] }
@@ -0,0 +1,48 @@
1
+
2
+ class ::IshManager::IroAlertsController < IshManager::ApplicationController
3
+
4
+ # before_action :set_lists
5
+
6
+ def create
7
+ @alert = Iro::Alert.new params[:iro_alert].permit!
8
+ authorize! :create, @alert
9
+ flag = @alert.save
10
+ if flag
11
+ flash[:notice] = 'Created iro alert.'
12
+ else
13
+ flash[:alert] = "Cannot create iro alert: #{@alert.errors.full_messages.join(', ')}."
14
+ end
15
+ redirect_to action: 'index'
16
+ end
17
+
18
+ def destroy
19
+ @w = Iro::Alert.find params[:id]
20
+ authorize! :destroy, @w
21
+ flag = @w.destroy
22
+ if flag
23
+ flash[:notice] = 'Success.'
24
+ else
25
+ flash[:alert] = @w.errors.full_messages.join(", ")
26
+ end
27
+ redirect_to action: 'index'
28
+ end
29
+
30
+ def index
31
+ authorize! :index, Iro::Alert
32
+ @alerts = Iro::Alert.order_by( ticker: :asc, direction: :asc, price: :desc)
33
+ @option_get_chains = Iro::OptionGet.all_get_chains
34
+ end
35
+
36
+ def update
37
+ @alert = Iro::Alert.find params[:id]
38
+ authorize! :update, @alert
39
+ flag = @alert.update_attributes params[:iro_alert].permit!
40
+ if flag
41
+ flash[:notice] = 'Updated iro alert.'
42
+ else
43
+ flash[:alert] = "Cannot update iro alert: #{@alert.errors.full_messages.join(', ')}."
44
+ end
45
+ redirect_to action: 'index'
46
+ end
47
+
48
+ end
@@ -0,0 +1,48 @@
1
+
2
+ class ::IshManager::IroWatchersController < IshManager::ApplicationController
3
+
4
+ # before_action :set_lists
5
+
6
+ # def create
7
+ # @alert = Iro::Alert.new params[:iro_alert].permit!
8
+ # authorize! :create, @alert
9
+ # flag = @alert.save
10
+ # if flag
11
+ # flash[:notice] = 'Created iro alert.'
12
+ # else
13
+ # flash[:alert] = "Cannot create iro alert: #{@alert.errors.full_messages.join(', ')}."
14
+ # end
15
+ # redirect_to action: 'index'
16
+ # end
17
+
18
+ # def destroy
19
+ # @w = Iro::Alert.find params[:id]
20
+ # authorize! :destroy, @w
21
+ # flag = @w.destroy
22
+ # if flag
23
+ # flash[:notice] = 'Success.'
24
+ # else
25
+ # flash[:alert] = @w.errors.full_messages.join(", ")
26
+ # end
27
+ # redirect_to action: 'index'
28
+ # end
29
+
30
+ def index
31
+ authorize! :index, Iro::Watcher
32
+ # @alerts = Iro::Alert.order_by( ticker: :asc, direction: :asc, price: :desc)
33
+ # @option_get_chains = Iro::OptionGet.all_get_chains
34
+ end
35
+
36
+ # def update
37
+ # @alert = Iro::Alert.find params[:id]
38
+ # authorize! :update, @alert
39
+ # flag = @alert.update_attributes params[:iro_alert].permit!
40
+ # if flag
41
+ # flash[:notice] = 'Updated iro alert.'
42
+ # else
43
+ # flash[:alert] = "Cannot update iro alert: #{@alert.errors.full_messages.join(', ')}."
44
+ # end
45
+ # redirect_to action: 'index'
46
+ # end
47
+
48
+ end
@@ -15,6 +15,7 @@
15
15
  %li <b>Email:</b> #{@current_profile.email}
16
16
  %li <b>Role name:</b> #{@current_profile.role_name}
17
17
  %li= link_to 'sidekiq', '/sidekiq', target: :_blank
18
+ %li= link_to 'Iron Warbler', '/iron_warbler'
18
19
 
19
20
  .col-sm-4
20
21
  %ul
@@ -133,26 +133,21 @@
133
133
 
134
134
 
135
135
 
136
- %i.fa.fa-compress.collapse-expand#collapseHeaderIro
137
- Iro Wor
138
- .a
139
- %ul
140
- -# %li
141
- -# = form_tag iro_watches_path, method: :get do
142
- -# -# = select_get :ticker, options_for_select( @option_watches_list )
143
- -# = link_to '[+]', new_iro_watch_path
144
-
145
- %li
146
- = link_to 'Watches', iro_watches_path
147
- %li
148
- = link_to 'Plots', 'http://localhost:3000/iron_warbler/NOPE-1', target: '_blank'
149
- %li
150
- = link_to 'Purses', iro_purses_path
151
- - Iro::Purse.all.map do |p|
152
- = "[#{p.id}"
153
- = link_to "show", iro_purse_path(p)
154
- = link_to "gui", iro_purse_path({ id: p.id, kind: 'show_gameui' })
155
- = "]"
156
- = link_to '[+]', new_iro_purse_path
157
- .c
136
+ -# %i.fa.fa-compress.collapse-expand#collapseHeaderIro Iro Wor
137
+ -# .a
138
+ -# %ul
139
+ -# %li
140
+ -# = link_to 'Alerts', iro_alerts_path
141
+ -# = link_to 'Watchers', iro_watchers_path
142
+ -# %li
143
+ -# = link_to 'Plots', 'http://localhost:3000/iron_warbler/NOPE-1', target: '_blank'
144
+ -# %li
145
+ -# = link_to 'Purses', iro_purses_path
146
+ -# - Iro::Purse.all.map do |p|
147
+ -# = "[#{p.id}"
148
+ -# = link_to "show", iro_purse_path(p)
149
+ -# = link_to "gui", iro_purse_path({ id: p.id, kind: 'show_gameui' })
150
+ -# = "]"
151
+ -# = link_to '[+]', new_iro_purse_path
152
+ -# .c
158
153
 
@@ -33,6 +33,10 @@
33
33
  -# .a
34
34
  -# = link_to '[view]', email_attachment_path( attachment )
35
35
  -# "#{attachment.content_type.split(';')[0]} #{attachment.filename} #{idx}"
36
+ .a
37
+ <b>N asset3d s:</b>
38
+ - msg.asset3ds.each do |asset|
39
+ .a= link_to asset.object_file_name, asset.object.url
36
40
 
37
41
 
38
42
  .position-absolute.top-0.right-0.datetime
@@ -0,0 +1,30 @@
1
+
2
+ - url = alert.new_record? ? iro_alerts_path : iro_alert_path( alert )
3
+ .iro-alerts--form
4
+ - if !alert.new_record?
5
+ = button_to '[x]', iro_alert_path( alert ), method: :delete, data: { confirm: 'Are you sure?' }
6
+ = form_for alert, url: url, as: :iro_alert do |f|
7
+ .flex-row
8
+ .form-group.w-100px
9
+ - if alert.new_record?
10
+ %h5 New
11
+ - else
12
+ = f.select :state, options_for_select( Iro::Alert.states_list, selected: alert.state )
13
+ .form-group
14
+ -# = f.label :action
15
+ = f.select :action, options_for_select( Iro::Alert.actions_list, :selected => alert.action )
16
+ .form-group
17
+ -# = f.label :profile
18
+ = f.select :profile, options_for_select( Ish::UserProfile.list, selected: alert.profile_id ), {}, class: 'select2'
19
+ .form-group
20
+ %label.control-label When
21
+ = f.select :kind, options_for_select( Iro::Alert.kinds_list, selected: alert.kind )
22
+ = f.text_field :ticker, :placeholder => 'ticker'
23
+ .form-group
24
+ %label.control-label is
25
+ = f.select :direction, options_for_select( Iro::Alert.directions_list, selected: alert.direction )
26
+ .form-group
27
+ %label.control-label $
28
+ = f.number_field :mark, :step => 0.01, :placeholder => "0.01"
29
+ .form-group
30
+ = f.submit ">", :class => %w(btn blue)
@@ -1,12 +1,12 @@
1
1
 
2
2
  .iro-watches-index.padded
3
3
  .header
4
- .title Iro Watches
4
+ .title Iro Alerts
5
5
 
6
- - @watches.each do |watch|
7
- = render 'form', :watch => watch
8
- %h5 New
9
- = render 'form', :watch => Iro::OptionWatch.new
6
+ - @alerts.each do |alert|
7
+ = render 'form', alert: alert
8
+
9
+ = render 'form', :alert => Iro::Alert.new
10
10
 
11
11
  %hr
12
12
 
File without changes
File without changes
data/config/routes.rb CHANGED
@@ -41,20 +41,7 @@ IshManager::Engine.routes.draw do
41
41
  post 'invoices/:id/send-stripe', to: 'invoices#send_stripe', as: :send_invoice_stripe
42
42
  resources :invoices
43
43
 
44
- get 'iro_positins/roll_prep/:id', to: 'iro_purses#roll_prep', as: :iro_roll_prep
45
- resources :iro_positions
46
44
 
47
- get 'iro/max_pain/:ticker/on/:date', to: 'iro_option_gets#max_pain', as: :max_pain
48
- resources :iro_option_gets
49
-
50
- patch 'iro_purses/:id/show', to: 'iro_purses#update'
51
- get 'iro_purses/:id/edit', to: 'iro_purses#edit', as: :edit_iro_purse
52
- get 'iro_purses/:id/:kind', to: 'iro_purses#show', as: :iro_purse, defaults: { kind: 'show' } # kind: show_gameui
53
- resources :iro_purses
54
-
55
- resources :iro_strategies
56
-
57
- resources :iro_watches
58
45
 
59
46
 
60
47
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ish_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8.510
4
+ version: 0.1.8.512
5
5
  platform: ruby
6
6
  authors:
7
7
  - piousbox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-16 00:00:00.000000000 Z
11
+ date: 2023-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -462,10 +462,9 @@ files:
462
462
  - app/assets/stylesheets/ish_manager/email_messages.scss
463
463
  - app/assets/stylesheets/ish_manager/email_templates.scss
464
464
  - app/assets/stylesheets/ish_manager/galleries.scss
465
- - app/assets/stylesheets/ish_manager/iro.scss
466
- - app/assets/stylesheets/ish_manager/iro1.scss
467
465
  - app/assets/stylesheets/ish_manager/leads.scss
468
466
  - app/assets/stylesheets/ish_manager/leadsets.scss
467
+ - app/assets/stylesheets/ish_manager/main_header.scss
469
468
  - app/assets/stylesheets/ish_manager/maps.scss
470
469
  - app/assets/stylesheets/ish_manager/markers.scss
471
470
  - app/assets/stylesheets/ish_manager/office.scss
@@ -501,11 +500,12 @@ files:
501
500
  - app/controllers/ish_manager/galleries_controller.rb
502
501
  - app/controllers/ish_manager/image_assets_controller.rb
503
502
  - app/controllers/ish_manager/invoices_controller.rb
503
+ - app/controllers/ish_manager/iro_alerts_controller.rb
504
504
  - app/controllers/ish_manager/iro_option_gets_controller.rb
505
505
  - app/controllers/ish_manager/iro_positions_controller.rb
506
506
  - app/controllers/ish_manager/iro_purses_controller.rb
507
507
  - app/controllers/ish_manager/iro_strategies_controller.rb
508
- - app/controllers/ish_manager/iro_watches_controller.rb
508
+ - app/controllers/ish_manager/iro_watchers_controller.rb
509
509
  - app/controllers/ish_manager/lead_action_templates_controller.rb
510
510
  - app/controllers/ish_manager/lead_actions_controller.rb
511
511
  - app/controllers/ish_manager/leads_controller.rb
@@ -730,6 +730,9 @@ files:
730
730
  - app/views/ish_manager/invoices/new_pdf.haml
731
731
  - app/views/ish_manager/invoices/new_stripe.haml
732
732
  - app/views/ish_manager/invoices/show.haml
733
+ - app/views/ish_manager/iro_alerts/_form.haml
734
+ - app/views/ish_manager/iro_alerts/index.haml
735
+ - app/views/ish_manager/iro_alerts/max_pain.haml
733
736
  - app/views/ish_manager/iro_mailer/condor_followup_alerb.html.erb
734
737
  - app/views/ish_manager/iro_mailer/option_alert.html.erb
735
738
  - app/views/ish_manager/iro_mailer/stock_alert.html.erb
@@ -751,9 +754,8 @@ files:
751
754
  - app/views/ish_manager/iro_strategies/_form.haml
752
755
  - app/views/ish_manager/iro_strategies/edit.haml
753
756
  - app/views/ish_manager/iro_strategies/new.haml
754
- - app/views/ish_manager/iro_watches/_form.haml
755
- - app/views/ish_manager/iro_watches/index.haml
756
- - app/views/ish_manager/iro_watches/max_pain.haml
757
+ - app/views/ish_manager/iro_watchers/_form.haml
758
+ - app/views/ish_manager/iro_watchers/index.haml
757
759
  - app/views/ish_manager/kaminari/_first_page.html.erb
758
760
  - app/views/ish_manager/kaminari/_gap.html.erb
759
761
  - app/views/ish_manager/kaminari/_last_page.html.erb
@@ -1,490 +0,0 @@
1
-
2
- .iro-positions--form {
3
- border: 1px dashed blue;
4
- border-radius: 0.5em;
5
- padding: 0.5em;
6
-
7
- .field {
8
- display: flex;
9
- }
10
- }
11
-
12
- .iro-purses--form {
13
- textarea {
14
- min-width: 500px;
15
- min-height: 500px;
16
- }
17
- }
18
-
19
- .iro-purses-show,
20
- .iro-purses-show-gameui,
21
- .iro-purses-show-gameui-1,
22
- ._ {
23
- font-size: 14px;
24
-
25
- table {
26
- margin-top: 50px;
27
-
28
- .id {
29
- width: 20px;
30
- }
31
- .strategy {
32
- width: 30px;
33
- }
34
-
35
- thead {
36
- // border: 1px solid blue;
37
-
38
- position: relative;
39
- height: 1.5em;
40
-
41
-
42
- .price {
43
- background: cyan;
44
- }
45
- .to-close {
46
- background: #333;
47
- color: white;
48
- }
49
-
50
- td {
51
- // border: 1px solid red;
52
- position: relative;
53
-
54
-
55
- > div {
56
- // border: 1px solid green;
57
-
58
- transform: translate(-0.5em, -50%) rotate(-45deg);
59
- transform-origin: 0% 50%;
60
- position: absolute;
61
- width: 100px;
62
- top: 1em;
63
- left: 50%;
64
- z-index: 0;
65
- }
66
- }
67
- }
68
-
69
-
70
- td {
71
- padding: 0 .5em;
72
- }
73
-
74
- tbody {
75
- .begin-delta {
76
- min-width: 20px;
77
- }
78
- .must-roll,
79
- .next-symbol {
80
- text-align: center;
81
- }
82
-
83
- .must-roll,
84
- .should-roll,
85
- .next-symbol {
86
- background: #eee;
87
- }
88
-
89
- .net,
90
- .netp {
91
- font-weight: bold;
92
- text-align: right;
93
- }
94
-
95
- .should-roll > .aC {
96
- display: flex;
97
- justify-content: space-between;
98
- min-width: 75px;
99
- }
100
- }
101
- }
102
-
103
-
104
- .q {
105
- font-weight: bold;
106
- }
107
-
108
- }
109
- .iro-strategies {
110
- display: flex;
111
- flex-wrap: wrap;
112
- }
113
- .iro-strategies-edit,
114
- .iro-strategies-new {
115
- display: flex;
116
- flex-direction: column;
117
- align-items: flex-start;
118
- }
119
- .iro-strategies--form {
120
- border: 1px solid blue;
121
- border-radius: 0.5em;
122
- padding: 0.5em;
123
- margin-right: .5em;
124
-
125
- .field {
126
- display: flex;
127
- justify-content: space-between;
128
- }
129
- }
130
-
131
- .iro-position-statuses-selector form {
132
- display: flex;
133
- margin: 1em 0 0 0;
134
-
135
- .field {
136
- border: 1px solid gray;
137
- border-radius: .5em;
138
- padding: 0 1em;
139
- margin-right: 1em;
140
-
141
- display: flex;
142
- flex-direction: row-reverse;
143
- }
144
- }
145
-
146
-
147
-
148
-
149
-
150
-
151
-
152
- /*
153
- * GameUI in Purse
154
- * 2023-04-06 _vp_ Continue
155
- **/
156
- .iro-purses-show-gameui .gameuiW {
157
- border: 1px solid #ff9966;
158
- border-radius: 1em;
159
-
160
- position: relative;
161
-
162
- width: 1200px;
163
- height: 200px;
164
-
165
- margin-bottom: 10px;
166
-
167
- z-index: 0;
168
-
169
- .gameui {
170
-
171
- border-left: 1px dashed black;
172
-
173
- position: absolute;
174
-
175
- height: 100%;
176
- left: 50%;
177
- width: 600px;
178
-
179
- .gameuiC { /* 1/2 of the ground */
180
- // border: 2px solid #ff9900;
181
-
182
- background-color: brown;
183
-
184
- position: absolute;
185
-
186
- right: 0;
187
- left: 0;
188
- bottom: 0;
189
- height: 10px;
190
-
191
- &::before {
192
- content: "24";
193
- color: white;
194
- position: absolute;
195
- left: -200px;
196
- width: 200px;
197
- height: 2px;
198
- background: white;
199
- }
200
- &::after {
201
- content: "22";
202
- color: white;
203
- position: absolute;
204
- left: 200px;
205
- width: 200px;
206
- height: 2px;
207
- background: white;
208
- }
209
- }
210
-
211
- .elephantW {
212
- border: 2px solid black;
213
- position: absolute;
214
- bottom: 0;
215
- // left: ?? ; /* data: cc strike */
216
- }
217
-
218
- .elephant {
219
- // border: 2px solid yellow;
220
-
221
- background-image: url('https://d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2023/04/04103931/200x125-elephant-1rmTiny.png');
222
- width: 200px;
223
- height: 125px;
224
-
225
- position: absolute;
226
-
227
- left: -100px;
228
- padding-left: 100px;
229
- bottom: 0;
230
-
231
- &::after { /* arrow-up */
232
- content: "";
233
- position: absolute;
234
- bottom: 0;
235
- right: calc( 50% - 25px );
236
-
237
- width: 0;
238
- height: 0;
239
- border-left: 25px solid transparent;
240
- border-right: 25px solid transparent;
241
-
242
- border-bottom: 25px solid red;
243
- }
244
-
245
- .elephantC {
246
- // border: 10px solid black;
247
-
248
-
249
- position: absolute;
250
- color: #333;
251
- background: #ddd;
252
- display: inline-block;
253
- z-index: 2;
254
-
255
- .q {
256
- border: 2px solid #eee;
257
- color: #fff;
258
- background: #ccc;
259
- padding: 0.4em;
260
- border-radius: 50%;
261
-
262
- position: absolute;
263
- left: 50px;
264
- top: -25px;
265
- }
266
- }
267
- }
268
-
269
-
270
- .groundedW {
271
- position: absolute;
272
-
273
- right: -250px;
274
- bottom: 0;
275
-
276
- .grounded {
277
- border: 2px solid pink;
278
- background: rgba(255,255,255, 0.75);
279
- border-radius: 50%;
280
-
281
- width: 100px;
282
- height: 100px;
283
-
284
- background-image: url('https://d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2023/04/04105933/200x200-spearman-rmTiny.png');
285
- background-size: cover;
286
-
287
- .groundedStart {
288
- // border: 2px solid white;
289
- position: absolute;
290
- background: #999;
291
- bottom: 50px;
292
- top: 11px;
293
- left: 50%;
294
- right: -40px;
295
-
296
- z-index: -1;
297
- }
298
-
299
- .groundedCurrent {
300
- position: absolute;
301
- background: red;
302
- bottom: 45px;
303
- top: 52px;
304
- left: 50%;
305
- right: -30px;
306
- }
307
- }
308
- }
309
-
310
- .riderCurrent {
311
- background: #339933;
312
- left: 0;
313
- }
314
-
315
- .riderCurrent,
316
- .riderCurrent2,
317
- ._ {
318
- position: absolute;
319
- bottom: 7px;
320
- top: -7px;
321
- }
322
- .riderCurrent2 {
323
- display: none;
324
- lefts: 0;
325
- background: #993333;
326
- }
327
- .riderStart {
328
- // border: 2px solid #cc33ff;
329
- border-right: 2px solid #cc33ff;
330
-
331
- position: absolute;
332
- background: #999;
333
- // background: red;
334
- bottom: 50px;
335
- height: 35px;
336
- // right: 50px;
337
- // right: 0;
338
- bottom: 50px;
339
- // width: 176px;
340
- // left: 0;
341
-
342
- z-index: -1;
343
- }
344
-
345
- .riderStart2 {
346
- // border: 2px solid #30033f;
347
-
348
- position: absolute;
349
- background: #999;
350
- // background: red;
351
- bottom: 50px;
352
- height: 35px;
353
- // right: 50px;
354
- right: left;
355
- bottom: 50px;
356
- // width: 176px;
357
- // left: 0;
358
-
359
- z-index: -1;
360
- }
361
-
362
- .riderW {
363
- // border: 2px solid yellow;
364
-
365
- position: absolute;
366
-
367
- left: 0;
368
- top: 20px;
369
-
370
- .rider {
371
- // border: 2px solid orange;
372
-
373
- // background: rgba(255,255,255, 0.5);
374
- border-radius: 50%;
375
-
376
- background-image: url('https://d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2023/04/04105933/200x200-spearman-rmTiny.png');
377
- background-size: cover;
378
-
379
- position: absolute;
380
- width: 100px;
381
- left: -50px;
382
- height: 100px;
383
- bottom: 0;
384
- padding-left: 50px;
385
- padding-top: 50px;
386
-
387
-
388
-
389
- .riderC {
390
- border: 6px solid white;
391
- border-radius: 6px;
392
-
393
- position: absolute;
394
- left: calc( 50% - 6px );
395
- bottom: calc( 50% - 6px );
396
-
397
- }
398
- }
399
-
400
- .riderF {
401
- background-image: url('https://d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2023/04/05142539/200x200-spearman-rmFTiny.png');
402
- }
403
-
404
- }
405
-
406
- .windW {
407
- border: 2px solid blue;
408
-
409
- position: absolute;
410
- // left: 232px; /* Data: current underlying strike */
411
- bottom: 0;
412
-
413
-
414
- &::before { /* arrow-up */
415
- border-bottom: 25px solid yellow;
416
-
417
- content: "";
418
- position: absolute;
419
- bottom: 0;
420
- left: -25px;
421
- z-index: 1;
422
-
423
- border-left: 25px solid transparent;
424
- border-right: 25px solid transparent;
425
- }
426
-
427
- .wind {
428
- // border: 2px solid green;
429
-
430
- display: flex;
431
- flex-direction: column-reverse;
432
-
433
- .c-u-s {
434
- position: relative;
435
- z-index: 2;
436
-
437
- background: yellow;
438
- // color: white;
439
- display: inline-block
440
- }
441
-
442
- .windC {
443
- // border: 1px solid red;
444
-
445
- position: absolute;
446
- bottom: 0;
447
- left: 0;
448
-
449
- background-image: url('https://d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2023/04/04104623/200x200-windTiny.png');
450
- background-position: bottom center;
451
- margin-left: -25px;
452
-
453
- opacity: 0.5;
454
-
455
- width: 200px;
456
- height: 200px;
457
- }
458
- }
459
- }
460
- }
461
- }
462
- .next-position {
463
- .elephant {
464
- border: 1px solid white; /* 4.5% more */
465
- border-radius: 50% 50% 0 0;
466
- // background-size: 120%;
467
-
468
- background-image: url('https://d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2023/04/04103931/200x125-elephant-1rmTiny.png');
469
- width: 200px;
470
- height: 125px;
471
-
472
- padding-left: 100px;
473
-
474
- position: absolute;
475
- left: -100px;
476
- bottom: 0;
477
-
478
- z-index: 1;
479
- }
480
- .elephantLoss {
481
- border: 1px solid red;
482
- border-radius: 50% 50% 0 0;
483
- width: 200px;
484
- height: 125px;
485
-
486
- position: absolute;
487
- left: 0;
488
- bottom: 0;
489
- }
490
- }
@@ -1,117 +0,0 @@
1
-
2
- .show-gameui-1 {
3
- // background: red;
4
- position: relative;
5
-
6
- .gameuiCUSW {
7
- position: absolute;
8
- left: 50%;
9
- top: 0;
10
- .gameuiCUS {
11
- position: absolute;
12
- border-left: 2px dashed blue;
13
- padding: 0 10px;
14
- width: 100px;
15
- }
16
- }
17
- .gameuiW {
18
- // border: 1px solid red;
19
-
20
- .gameui {
21
- // border: 1px solid black;
22
- position: relative;
23
- border-bottom: 10px solid gray;
24
-
25
- background: url('https://d15g8hc4183yn4.cloudfront.net/wp-content/uploads/2023/07/13184511/200x200-grid2.png');
26
- background-position: 50% center;
27
- width: 100%;
28
-
29
- .gameuiC {
30
- // border: 1px solid green;
31
- border-bottom: 10px solid green;
32
-
33
- width: 50%;
34
- height: 100%;
35
-
36
- position: absolute;
37
- left: 50%;
38
- bottom: -10px;
39
-
40
- .elephantW {
41
- border: 0px solid cyan;
42
- width: 1px;
43
- height: 100%;
44
-
45
- position: absolute;
46
- bottom: 0;
47
-
48
- > .amount {
49
- // border: 3px solid black;
50
-
51
- position: absolute;
52
- left: 0;
53
- bottom: 0;
54
- }
55
- > .strike {
56
- position: absolute;
57
- height: 1.4 em;
58
- bottom: 0;
59
- background: yellow;
60
-
61
- right: 0;
62
- width: 69px;
63
- border-right: 2px solid black;
64
-
65
- padding: 0 5px;
66
- }
67
- .elephant {
68
- border: 2px dashed green;
69
- position: absolute;
70
- bottom: 0;
71
- }
72
-
73
-
74
- .elephantC {
75
- position: absolute;
76
- bottom: 0;
77
-
78
- border: 2px dashed green;
79
-
80
- // color: white;
81
- display: flex;
82
- align-items: center;
83
- justify-content: center;
84
-
85
- }
86
- }
87
-
88
- .windW {
89
- border: 2px dashed blue;
90
- width: 1px;
91
- height: 100%;
92
- position: absolute;
93
- // left: calc( 200px * ( 23.5 - 23.46 ) );
94
-
95
- }
96
-
97
- .recklessDefenseW {
98
- height: 20px;
99
- border: 2px dashed green;
100
-
101
- position: absolute;
102
- bottom: 5px;
103
-
104
- .recklessDefense {
105
- .recklessDefenseC {
106
- height: 20px;
107
- border-left: 2px dashed green;
108
- position: absolute;
109
- right: 0;
110
- }
111
- }
112
- }
113
-
114
- }
115
- }
116
- }
117
- }
@@ -1,48 +0,0 @@
1
-
2
- class ::IshManager::IroWatchesController < IshManager::ApplicationController
3
-
4
- # before_action :set_lists
5
-
6
- def create
7
- @option_watch = Iro::OptionWatch.new params[:iro_watch].permit!
8
- authorize! :create, @option_watch
9
- flag = @option_watch.save
10
- if flag
11
- flash[:notice] = 'Created option watch.'
12
- else
13
- flash[:alert] = "Cannot create option watch: #{@option_watch.errors.full_messages.join(', ')}."
14
- end
15
- redirect_to action: 'index'
16
- end
17
-
18
- def destroy
19
- @w = Iro::OptionWatch.find params[:id]
20
- authorize! :destroy, @w
21
- flag = @w.destroy
22
- if flag
23
- flash[:notice] = 'Success.'
24
- else
25
- flash[:alert] = @w.errors.full_messages.join(", ")
26
- end
27
- redirect_to action: 'index'
28
- end
29
-
30
- def index
31
- authorize! :index, Iro::OptionWatch
32
- @watches = Iro::OptionWatch.order_by( ticker: :asc, direction: :asc, price: :desc)
33
- @option_get_chains = Iro::OptionGet.all_get_chains
34
- end
35
-
36
- def update
37
- @option_watch = Iro::OptionWatch.find params[:id]
38
- authorize! :update, @option_watch
39
- flag = @option_watch.update_attributes params[:iro_watch].permit!
40
- if flag
41
- flash[:notice] = 'Updated option watch.'
42
- else
43
- flash[:alert] = "Cannot update option watch: #{@option_watch.errors.full_messages.join(', ')}."
44
- end
45
- redirect_to action: 'index'
46
- end
47
-
48
- end
@@ -1,26 +0,0 @@
1
-
2
- - url = watch.new_record? ? iro_watches_path : iro_watch_path(watch)
3
- .iro-watches--form
4
- = form_for watch, url: url, as: :iro_watch do |f|
5
- .flex-row
6
- .form-group
7
- = f.select :state, options_for_select( Iro::OptionWatch.states_list, selected: watch.state )
8
- .form-group
9
- = f.select :kind, options_for_select( Iro::OptionWatch.kinds_list, selected: watch.kind )
10
- .form-group
11
- -# = f.label :action
12
- = f.select :action, options_for_select( Iro::OptionWatch.actions_list, :selected => watch.action )
13
- .form-group
14
- -# = f.label :profile
15
- = f.select :profile, options_for_select( Ish::UserProfile.list, selected: watch.profile_id ), {}, class: 'select2'
16
- .form-group
17
- %label.control-label When
18
- = f.text_field :ticker, :placeholder => 'ticker'
19
- .form-group
20
- %label.control-label is
21
- = f.select :direction, options_for_select( Iro::OptionWatch.directions_list, selected: watch.direction )
22
- .form-group
23
- %label.control-label $
24
- = f.number_field :mark, :step => 0.01, :placeholder => "0.01"
25
- .form-group
26
- = f.submit ">", :class => %w(btn blue)