emailbutler 0.8.7 → 0.8.8

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: 6d2a3373982fc294f940d204d736908d90a44adb535704038107d54eaecc3977
4
- data.tar.gz: a63f6597ee66c69a2bfe9b615053d33ee6f0b340c0e83d988c4e8f50527fd97d
3
+ metadata.gz: 045077d27dcecae2d108598b61dd657ca17db12c574a35d44fdef623029c9482
4
+ data.tar.gz: 4452f30fbebbb409331f352b8684f5e3a8d86d1d9c06991cbda44584991b96cc
5
5
  SHA512:
6
- metadata.gz: aa25b1344a1971afc332ff9af574906f83e433b1e341f92be98c981a2d69dcb51280376cc1aec6160b81a503a4b414875b8a9b5f1b3b5a7ff375dfd8ebe3ab97
7
- data.tar.gz: d17fed2150c3c17c2e67e718281854261959de1db36b1aa48c2ab3349dd4268c455629f39c4e1cf93df134dbe1fed4d7cd7ef7036cf5412c8f86b3e6ae0bbfef
6
+ metadata.gz: c5215c94b47f3aac7e358ec6546a64e186b020d00e525db15ea9a667405f9b3dfcee00b5e25754609690d899cdefde5c7fc6b8dd5eb093db2ff251bbf582ab28
7
+ data.tar.gz: ca723d2c5e60fd054b8cf16f33efab948a1060b4b7af55020c331cd46ee95f8e28a5b6a7949d9395f4e4c4f63dbf01bce7e721652d799dcec86b0b36f5ebb426
data/README.md CHANGED
@@ -78,19 +78,6 @@ class SendgridController < ApplicationController
78
78
  end
79
79
  ```
80
80
 
81
- ### UI styles
82
-
83
- For adding styles for UI you need to add this line to assets/config/manifest.js
84
- ```js
85
- //= link emailbutler.css
86
- ```
87
-
88
- Or in some cases you can specify it in assets/javascript/application.js
89
-
90
- ```js
91
- //= require emailbutler_manifest
92
- ````
93
-
94
81
  ### Mailers
95
82
 
96
83
  Update you application mailer
File without changes
@@ -4,9 +4,12 @@
4
4
  <title>Emailbutler</title>
5
5
  <%= csrf_meta_tags %>
6
6
  <%= csp_meta_tag %>
7
- <%= stylesheet_link_tag 'emailbutler', media: 'all' %>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400..500&display=swap">
10
+ <link rel="stylesheet" type="text/css" href="/emailbutler/styles.css" >
8
11
  </head>
9
- <body id="emailbutler-body">
12
+ <body>
10
13
  <%= render 'emailbutler/ui/shared/header' %>
11
14
  <div class="content">
12
15
  <%= yield %>
@@ -9,5 +9,9 @@ module Emailbutler
9
9
  g.fixture_replacement :factory_bot
10
10
  g.factory_bot dir: 'spec/factories'
11
11
  end
12
+
13
+ initializer 'static assets' do |app|
14
+ app.middleware.insert_before(::ActionDispatch::Static, ::ActionDispatch::Static, "#{root}/public")
15
+ end
12
16
  end
13
17
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Emailbutler
4
- VERSION = '0.8.7'
4
+ VERSION = '0.8.8'
5
5
  end
@@ -0,0 +1,209 @@
1
+ html, body {
2
+ margin: 0;
3
+ padding: 0;
4
+ min-height: 100vh;
5
+ height: 100%;
6
+ }
7
+
8
+ body {
9
+ font-family: "Source Sans 3", "Helvetica", "Open Sans", sans-serif;
10
+ box-sizing: border-box;
11
+ position: relative;
12
+ display: flex;
13
+ flex-direction: column;
14
+ }
15
+
16
+ body * {
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ body p {
21
+ margin: 0;
22
+ }
23
+
24
+ body .content {
25
+ flex: 1;
26
+ width: 100%;
27
+ max-width: 90rem;
28
+ margin: 0 auto;
29
+ }
30
+
31
+ h1 {
32
+ margin: 0;
33
+ }
34
+
35
+ header {
36
+ border-bottom: 1px solid #e5e7eb;
37
+ }
38
+
39
+ header .header-wrapper {
40
+ display: flex;
41
+ justify-content: space-between;
42
+ align-items: center;
43
+ width: 100%;
44
+ max-width: 90rem;
45
+ margin: 0 auto;
46
+ padding: .5rem 0;
47
+ }
48
+
49
+ header .header-wrapper a {
50
+ text-decoration: none;
51
+ color: #000;
52
+ }
53
+
54
+ footer {
55
+ border-top: 1px solid #e5e7eb;
56
+ }
57
+
58
+ footer .footer-wrapper {
59
+ width: 100%;
60
+ max-width: 90rem;
61
+ margin: 0 auto;
62
+ padding: .5rem 1rem;
63
+ }
64
+
65
+ #dashboard {
66
+ padding-top: 1rem;
67
+ display: flex;
68
+ }
69
+
70
+ #dashboard .summary {
71
+ list-style: none;
72
+ flex: 1;
73
+ display: flex;
74
+ flex-direction: row;
75
+ padding: .75rem 1rem;
76
+ background: #e5e7eb;
77
+ border-radius: .125rem;
78
+ margin: 0;
79
+ }
80
+
81
+ #dashboard .summary li {
82
+ flex: 1;
83
+ text-align: center;
84
+ }
85
+
86
+ #dashboard .summary li a {
87
+ text-decoration: none;
88
+ }
89
+
90
+ #dashboard .summary .status-summary {
91
+ display: flex;
92
+ flex-direction: column;
93
+ color: #000;
94
+ padding: .5rem 0;
95
+ }
96
+
97
+ #dashboard .summary .status-summary:hover {
98
+ background: #d1d5db;
99
+ }
100
+
101
+ #dashboard .summary .status-summary span:nth-of-type(1) {
102
+ margin-bottom: .25rem;
103
+ font-weight: 600;
104
+ }
105
+
106
+ .search-form {
107
+ width: 20rem;
108
+ padding-right: 2rem;
109
+ }
110
+
111
+ .search-form .form-field {
112
+ display: flex;
113
+ flex-direction: column;
114
+ margin-bottom: .5rem;
115
+ }
116
+
117
+ .search-form .form-field label {
118
+ margin-bottom: .25rem;
119
+ }
120
+
121
+ .search-form .form-field input {
122
+ padding: .25rem;
123
+ }
124
+
125
+ .messages {
126
+ flex: 1;
127
+ height: 100%;
128
+ }
129
+
130
+ .messages .pagination {
131
+ margin-bottom: 1rem;
132
+ }
133
+
134
+ .messages .pagination .page {
135
+ padding: .25rem .5rem;
136
+ background: #bbf7d0;
137
+ color: #000;
138
+ }
139
+
140
+ .messages .pagination .page a {
141
+ color: #000;
142
+ }
143
+
144
+ .messages nav.pagy.nav {
145
+ margin-bottom: 1rem;
146
+ }
147
+
148
+ .messages nav.pagy.nav a {
149
+ padding: .25rem .5rem;
150
+ margin-right: .25rem;
151
+ background: #bbf7d0;
152
+ color: #000;
153
+ border-radius: .125rem;
154
+ }
155
+
156
+ .messages table {
157
+ width: 100%;
158
+ }
159
+
160
+ .messages table thead tr th {
161
+ text-align: left;
162
+ padding: .125rem .25rem;
163
+ }
164
+
165
+ .messages table tbody tr:nth-of-type(odd) {
166
+ background: #e5e7eb;
167
+ }
168
+
169
+ .messages table tbody tr:hover {
170
+ background: #d1d5db;
171
+ }
172
+
173
+ .messages table tbody tr td {
174
+ padding: .125rem .25rem;
175
+ }
176
+
177
+ .messages table tbody tr td.actions {
178
+ display: flex;
179
+ }
180
+
181
+ .messages table tbody tr td.actions button:nth-of-type(1) {
182
+ margin-right: .5rem;
183
+ }
184
+
185
+ .button {
186
+ box-shadow: none;
187
+ border: none;
188
+ cursor: pointer;
189
+ padding: .25rem;
190
+ background: #bbf7d0;
191
+ }
192
+
193
+ .button:hover {
194
+ background: #86efac;
195
+ }
196
+
197
+ .button.warning {
198
+ background: #fecaca;
199
+ }
200
+
201
+ .button.warning:hover {
202
+ background: #fca5a5;
203
+ }
204
+
205
+ @media screen and (max-width: 48rem) {
206
+ header .header-wrapper {
207
+ flex-direction: column;
208
+ }
209
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emailbutler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.7
4
+ version: 0.8.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bogdanov Anton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-10 00:00:00.000000000 Z
11
+ date: 2024-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-container
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - ">"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 6.0.0
55
- - !ruby/object:Gem::Dependency
56
- name: sassc-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
55
  - !ruby/object:Gem::Dependency
70
56
  name: bundler
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -218,11 +204,7 @@ files:
218
204
  - README.md
219
205
  - Rakefile
220
206
  - app/assets/config/emailbutler_manifest.js
221
- - app/assets/stylesheets/emailbutler.scss
222
- - app/assets/stylesheets/emailbutler/core/base.scss
223
- - app/assets/stylesheets/emailbutler/shared/footer.scss
224
- - app/assets/stylesheets/emailbutler/shared/header.scss
225
- - app/assets/stylesheets/emailbutler/views/dashboard.scss
207
+ - app/assets/stylesheets/emailbutler.css
226
208
  - app/controllers/emailbutler/application_controller.rb
227
209
  - app/controllers/emailbutler/ui/messages_controller.rb
228
210
  - app/controllers/emailbutler/ui_controller.rb
@@ -254,6 +236,7 @@ files:
254
236
  - lib/generators/emailbutler/active_record_generator.rb
255
237
  - lib/generators/emailbutler/templates/migration.erb
256
238
  - lib/tasks/emailbutler_tasks.rake
239
+ - public/emailbutler/styles.css
257
240
  homepage: https://github.com/kortirso/emailbutler
258
241
  licenses:
259
242
  - MIT
@@ -1,42 +0,0 @@
1
- @import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600&display=swap&subset=cyrillic');
2
-
3
- #emailbutler, #emailbutler body {
4
- margin: 0;
5
- padding: 0;
6
- min-height: 100vh;
7
- height: 100%;
8
- }
9
-
10
- #emailbutler {
11
- font-family: "Source Sans Pro", "Helvetica", "Open Sans", sans-serif;
12
- box-sizing: border-box;
13
-
14
- body {
15
- position: relative;
16
- display: flex;
17
- flex-direction: column;
18
-
19
- * {
20
- box-sizing: border-box;
21
-
22
- &:focus {
23
- outline: none;
24
- }
25
- }
26
-
27
- p {
28
- margin: 0;
29
- }
30
-
31
- .content {
32
- flex: 1;
33
- width: 100%;
34
- max-width: 90rem;
35
- margin: 0 auto;
36
- }
37
-
38
- h1, h2, h3, h4, h5, h6 {
39
- margin: 0;
40
- }
41
- }
42
- }
@@ -1,10 +0,0 @@
1
- footer {
2
- border-top: 1px solid #e5e7eb;
3
-
4
- .footer-wrapper {
5
- width: 100%;
6
- max-width: 90rem;
7
- margin: 0 auto;
8
- padding: .5rem 1rem;
9
- }
10
- }
@@ -1,26 +0,0 @@
1
- header {
2
- border-bottom: 1px solid #e5e7eb;
3
-
4
- .header-wrapper {
5
- display: flex;
6
- justify-content: space-between;
7
- align-items: center;
8
- width: 100%;
9
- max-width: 90rem;
10
- margin: 0 auto;
11
- padding: .5rem 0;
12
-
13
- a {
14
- text-decoration: none;
15
- color: #000;
16
- }
17
- }
18
- }
19
-
20
- @media screen and (max-width: 48rem) {
21
- header {
22
- .header-wrapper {
23
- flex-direction: column;
24
- }
25
- }
26
- }
@@ -1,153 +0,0 @@
1
- #emailbutler {
2
- #dashboard {
3
- padding-top: 1rem;
4
- display: flex;
5
-
6
- .summary {
7
- list-style: none;
8
- flex: 1;
9
- display: flex;
10
- flex-direction: row;
11
- padding: .75rem 1rem;
12
- background: #e5e7eb;
13
- border-radius: .125rem;
14
- margin: 0;
15
-
16
- li {
17
- flex: 1;
18
- text-align: center;
19
-
20
- a {
21
- text-decoration: none;
22
- }
23
- }
24
-
25
- .status-summary {
26
- display: flex;
27
- flex-direction: column;
28
- color: #000;
29
- padding: .5rem 0;
30
-
31
- &:hover {
32
- background: #d1d5db;
33
- }
34
-
35
- span:nth-of-type(1) {
36
- margin-bottom: .25rem;
37
- font-weight: 600;
38
- }
39
- }
40
- }
41
-
42
- .search-form {
43
- width: 20rem;
44
- padding-right: 2rem;
45
-
46
- .form-field {
47
- display: flex;
48
- flex-direction: column;
49
- margin-bottom: .5rem;
50
-
51
- label {
52
- margin-bottom: .25rem;
53
- }
54
-
55
- input {
56
- padding: .25rem;
57
- }
58
- }
59
- }
60
-
61
- .messages {
62
- flex: 1;
63
- height: 100%;
64
-
65
- // styles for backcompability with gem pagy < 7.0
66
- .pagination {
67
- margin-bottom: 1rem;
68
-
69
- .page {
70
- padding: .25rem .5rem;
71
- background: #bbf7d0;
72
- color: #000;
73
-
74
- a {
75
- color: #000;
76
- }
77
- }
78
- }
79
-
80
- // styles for gem pagy >= 7.0
81
- nav.pagy.nav {
82
- margin-bottom: 1rem;
83
-
84
- a {
85
- padding: .25rem .5rem;
86
- margin-right: .25rem;
87
- background: #bbf7d0;
88
- color: #000;
89
- border-radius: .125rem;
90
- }
91
- }
92
-
93
- table {
94
- width: 100%;
95
-
96
- thead {
97
- tr {
98
- th {
99
- text-align: left;
100
- padding: .125rem .25rem;
101
- }
102
- }
103
- }
104
-
105
- tbody {
106
- tr {
107
- &:nth-of-type(odd) {
108
- background: #e5e7eb;
109
- }
110
-
111
- &:hover {
112
- background: #d1d5db;
113
- }
114
-
115
- td {
116
- padding: .125rem .25rem;
117
-
118
- &.actions {
119
- display: flex;
120
-
121
- button {
122
- &:nth-of-type(1) {
123
- margin-right: .5rem;
124
- }
125
- }
126
- }
127
- }
128
- }
129
- }
130
- }
131
- }
132
- }
133
-
134
- .button {
135
- box-shadow: none;
136
- border: none;
137
- cursor: pointer;
138
- padding: .25rem;
139
- background: #bbf7d0;
140
-
141
- &:hover {
142
- background: #86efac;
143
- }
144
-
145
- &.warning {
146
- background: #fecaca;
147
-
148
- &:hover {
149
- background: #fca5a5;
150
- }
151
- }
152
- }
153
- }
@@ -1,4 +0,0 @@
1
- @import 'emailbutler/core/base';
2
- @import 'emailbutler/shared/header';
3
- @import 'emailbutler/shared/footer';
4
- @import 'emailbutler/views/dashboard';