emailbutler 0.8.7 → 0.8.8

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 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';