admin-theme 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. data/.gitignore +17 -0
  2. data/.travis.yml +4 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +32 -0
  5. data/README.md +115 -0
  6. data/Rakefile +9 -0
  7. data/admin-theme.gemspec +22 -0
  8. data/config/locales/en.yml +18 -0
  9. data/features/resource_generator.feature +9 -0
  10. data/features/setup_generator.feature +8 -0
  11. data/features/steps/test_admin_theme_resource_generation.rb +31 -0
  12. data/features/steps/test_admin_theme_setup.rb +36 -0
  13. data/features/support/env.rb +1 -0
  14. data/features/support/helpers.rb +39 -0
  15. data/lib/admin-theme.rb +7 -0
  16. data/lib/admin-theme/version.rb +5 -0
  17. data/lib/generators/admin_theme/resource/controllers/admin_resource_controller.erb +46 -0
  18. data/lib/generators/admin_theme/resource/resource_generator.rb +93 -0
  19. data/lib/generators/admin_theme/resource/templates/view_edit.html.erb +17 -0
  20. data/lib/generators/admin_theme/resource/templates/view_form.html.erb +14 -0
  21. data/lib/generators/admin_theme/resource/templates/view_index.html.erb +38 -0
  22. data/lib/generators/admin_theme/resource/templates/view_new.html.erb +16 -0
  23. data/lib/generators/admin_theme/resource/templates/view_show.html.erb +36 -0
  24. data/lib/generators/admin_theme/setup/controllers/admin_base_controller.rb +18 -0
  25. data/lib/generators/admin_theme/setup/controllers/admin_dashboard_controller.rb +4 -0
  26. data/lib/generators/admin_theme/setup/setup_generator.rb +37 -0
  27. data/lib/generators/admin_theme/setup/templates/layout_admin.html.erb +46 -0
  28. data/lib/generators/admin_theme/setup/templates/view_dashboard.html.erb +7 -0
  29. data/lib/generators/admin_theme/setup/templates/view_sidebar.html.erb +15 -0
  30. data/vendor/assets/stylesheets/web-app-theme.css +410 -0
  31. data/vendor/assets/stylesheets/web-app-theme/default.scss +463 -0
  32. metadata +136 -0
@@ -0,0 +1,17 @@
1
+ <div class="block">
2
+ <div class="secondary-navigation">
3
+ <ul class="wat-cf">
4
+ <li class="first"><%%= link_to t("admin-theme.list"), <%= controller_routing_path %>_path %></li>
5
+ <li><%%= link_to t("admin-theme.new"), new_<%= singular_controller_routing_path %>_path %></li>
6
+ <li class="active"><%%= link_to t("admin-theme.edit"), edit_<%= singular_controller_routing_path %>_path %></li>
7
+ </ul>
8
+ </div>
9
+ <div class="content">
10
+ <h2 class="title"><%%= t("admin-theme.edit") %> <%= model_name %></h2>
11
+ <div class="inner">
12
+ <%%= form_for @<%= model_name.underscore %>, :url => <%= singular_controller_routing_path %>_path(@<%= resource_name %>), :html => { :class => :form } do |f| -%>
13
+ <%%= render :partial => "form", :locals => {:f => f} %>
14
+ <%% end -%>
15
+ </div>
16
+ </div>
17
+ </div>
@@ -0,0 +1,14 @@
1
+ <div class="group">
2
+ <%%#= f.label :example, 'Example', :class => :label %>
3
+ <%%#= f.text_field :example, :class => 'text_field' %>
4
+ <span class="description">Ex: a simple text</span>
5
+ </div>
6
+
7
+ <div class="group navform wat-cf">
8
+ <button class="button" type="submit">
9
+ <%%= image_tag("web-app-theme/icons/tick.png", :alt => ("admin-theme.save")) %>
10
+ <%%= t("admin-theme.save") %>
11
+ </button>
12
+ <span class="text_button_padding"><%%= t("admin-theme.or") %></span>
13
+ <%%= link_to t("admin-theme.cancel"), <%= controller_routing_path %>_path, :class => "text_button_padding link_button" %>
14
+ </div>
@@ -0,0 +1,38 @@
1
+ <div class="block">
2
+ <div class="secondary-navigation">
3
+ <ul class="wat-cf">
4
+ <li class="first active"><%%= link_to t("admin-theme.list"), <%= controller_routing_path %>_path %></li>
5
+ <li><%%= link_to t("admin-theme.new"), new_<%= singular_controller_routing_path %>_path %></li>
6
+ </ul>
7
+ </div>
8
+ <div class="content">
9
+ <h2 class="title"><%%= t("admin-theme.all") %> <%= plural_model_name %></h2>
10
+ <div class="inner">
11
+ <table class="table">
12
+ <tr>
13
+ <th class="first">ID</th>
14
+ <th><%%= t("admin-theme.created_at") %></th>
15
+ <th><%%= t("admin-theme.updated_at") %></th>
16
+ <th class="last">&nbsp;</th>
17
+ </tr>
18
+ <%% @<%= plural_resource_name %>.each do |<%= resource_name %>| -%>
19
+ <tr class="<%%= cycle("odd", "even") %>">
20
+ <td><%%= <%= resource_name %>.id %></td>
21
+ <td><%%= l <%= resource_name %>.created_at, :format => :'admin-theme' %></td>
22
+ <td><%%= l <%= resource_name %>.updated_at, :format => :'admin-theme' %></td>
23
+ <td class="last">
24
+ <%%= link_to t("admin-theme.show"), <%= singular_controller_routing_path %>_path(<%= resource_name %>) %> |
25
+ <%%= link_to t("admin-theme.edit"), edit_<%= singular_controller_routing_path %>_path(<%= resource_name %>) %> |
26
+ <%%= link_to t("admin-theme.delete"), <%= singular_controller_routing_path %>_path(<%= resource_name %>), :method => :delete, :data => { :confirm => t("admin-theme.confirm") } %>
27
+ </td>
28
+ </tr>
29
+ <%% end -%>
30
+ </table>
31
+ <div class="actions-bar wat-cf">
32
+ <div class="actions"></div>
33
+ <% if options.pagination %>
34
+ <%%= paginate(@<%= plural_resource_name %>, :theme => 'admin_theme') %><% end %>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ </div>
@@ -0,0 +1,16 @@
1
+ <div class="block">
2
+ <div class="secondary-navigation">
3
+ <ul class="wat-cf">
4
+ <li class="first"><%%= link_to t("admin-theme.list"), <%= controller_routing_path %>_path %></li>
5
+ <li class="active"><%%= link_to t("admin-theme.new"), new_<%= singular_controller_routing_path %>_path %></li>
6
+ </ul>
7
+ </div>
8
+ <div class="content">
9
+ <h2 class="title"><%%= t("admin-theme.new")%> <%= model_name %></h2>
10
+ <div class="inner">
11
+ <%%= form_for :<%= model_name.underscore %>, :url => <%= controller_routing_path %>_path, :html => { :class => :form } do |f| -%>
12
+ <%%= render :partial => "form", :locals => {:f => f} %>
13
+ <%% end -%>
14
+ </div>
15
+ </div>
16
+ </div>
@@ -0,0 +1,36 @@
1
+ <div class="block">
2
+ <div class="secondary-navigation">
3
+ <ul class="wat-cf">
4
+ <li class="first"><%%= link_to t("admin-theme.list"), <%= controller_routing_path %>_path %></li>
5
+ <li><%%= link_to t("admin-theme.new"), new_<%= singular_controller_routing_path %>_path %></li>
6
+ <li class="active"><%%= link_to t("admin-theme.show"), <%= singular_controller_routing_path %>_path %></li>
7
+ </ul>
8
+ </div>
9
+ <div class="content">
10
+ <h2 class="title"><%= resource_name.capitalize %> #<%%= @<%= resource_name %>.id %></h2>
11
+ <div class="inner">
12
+
13
+ <p>
14
+ <b><%%= t("admin-theme.created_at") %>:</b>
15
+ <%%= l @<%= resource_name %>.created_at, :format => :'admin-theme' %>
16
+ </p>
17
+
18
+ <p>
19
+ <b><%%= t("admin-theme.updated_at") %>:</b>
20
+ <%%= l @<%= resource_name %>.updated_at, :format => :'admin-theme' %>
21
+ </p>
22
+
23
+ <div class="wat-cf">
24
+ <%%= link_to edit_<%= singular_controller_routing_path %>_path(@<%= resource_name %>), :class => "button" do %>
25
+ <%%= image_tag("web-app-theme/icons/application_edit.png", :alt => t("admin-theme.edit")) %>
26
+ <%%= t("admin-theme.edit") %>
27
+ <%% end %>
28
+ <%%= link_to <%= singular_controller_routing_path %>_path(@<%= resource_name %>), :method => "delete", :class => "button",
29
+ :data => { :confirm => t("admin-theme.confirm") } do %>
30
+ <%%= image_tag("web-app-theme/icons/cross.png", :alt => t("admin-theme.delete")) %>
31
+ <%%= t("admin-theme.delete") %>
32
+ <%% end %>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ </div>
@@ -0,0 +1,18 @@
1
+ class Admin::BaseController < ApplicationController
2
+ protect_from_forgery
3
+ layout 'admin'
4
+
5
+ before_filter :show_errors
6
+
7
+ private
8
+
9
+ def show_errors
10
+ ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
11
+ if html_tag =~ /<label/
12
+ %|<div class="fieldWithErrors">#{html_tag} <span class="error">#{[instance.error_message].join(', ')}</span></div>|.html_safe
13
+ else
14
+ html_tag
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,4 @@
1
+ class Admin::DashboardController < Admin::BaseController
2
+ def show
3
+ end
4
+ end
@@ -0,0 +1,37 @@
1
+ module AdminTheme
2
+ class SetupGenerator < Rails::Generators::Base
3
+ desc "Creates the admin layout, assets, admin base and dashboard controllers."
4
+ source_root File.expand_path('../templates', __FILE__)
5
+
6
+ class_option :app_name, :type => :string, :default => 'Admin', :desc => 'Specify the application name'
7
+
8
+ def create_views
9
+ template "layout_admin.html.erb", "app/views/layouts/admin.html.erb"
10
+ template "view_sidebar.html.erb", "app/views/admin/shared/_sidebar.html.erb"
11
+ template "view_dashboard.html.erb", "app/views/admin/dashboard/show.html.erb"
12
+ end
13
+
14
+ def create_controllers
15
+ copy_file "../controllers/admin_base_controller.rb", "app/controllers/admin/base_controller.rb"
16
+ copy_file "../controllers/admin_dashboard_controller.rb", "app/controllers/admin/dashboard_controller.rb"
17
+
18
+ inject_into_file "config/routes.rb",
19
+ " namespace :admin do
20
+ root :to => 'dashboard#show', :as => 'dashboard'
21
+ end\n\n", :after => "::Application.routes.draw do\n"
22
+ end
23
+
24
+ def create_stylesheet
25
+ create_file "app/assets/stylesheets/admin.css",
26
+ "/*
27
+ *= require web-app-theme
28
+ *= require web-app-theme/default
29
+ *= require_self
30
+ */\n"
31
+ end
32
+
33
+ def create_javascript
34
+ create_file "app/assets/javascripts/admin.js", "//= require jquery\n//= require jquery_ujs\n"
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,46 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= options.app_name %></title>
5
+ <%%= stylesheet_link_tag 'admin' %>
6
+ <%%= javascript_include_tag 'admin' %>
7
+ <%%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+ <div id="container">
11
+ <div id="header">
12
+ <h1><%%= link_to "<%= options.app_name %>", admin_dashboard_path %></h1>
13
+ <div id="user-navigation">
14
+ <ul class="wat-cf">
15
+ <li><%%= link_to "Main site", root_path, :target => "_blank" %></li>
16
+ <li><%%#= link_to "Logout", admin_logout_path, :class => "logout" %></li>
17
+ </ul>
18
+ </div>
19
+ <div id="main-navigation">
20
+ <ul class="wat-cf">
21
+ </ul>
22
+ </div>
23
+ </div>
24
+ <div id="wrapper" class="wat-cf">
25
+ <div class="flash">
26
+ <%% flash.each do |type, message| -%>
27
+ <div class="message <%%= type %>">
28
+ <p><%%= message %></p>
29
+ </div>
30
+ <%% end -%>
31
+ </div>
32
+ <div id="main">
33
+ <%%= yield %>
34
+ <div id="footer">
35
+ <div class="block">
36
+ <p>Copyright &copy; <%%= Time.now.year %> <%= options.app_name %></p>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ <div id="sidebar">
41
+ <%%= render :partial => 'admin/shared/sidebar' %>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </body>
46
+ </html>
@@ -0,0 +1,7 @@
1
+ <div class="block" id="block-text">
2
+ <div class="content">
3
+ <div class="inner">
4
+ <h1>Welcome to Admin Dashboard!</h1>
5
+ </div>
6
+ </div>
7
+ </div>
@@ -0,0 +1,15 @@
1
+ <div class="block notice">
2
+ <h4>Notice</h4>
3
+ <p>
4
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
5
+ incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
6
+ ullamco laboris nisi ut aliquip ex ea commodo consequat.
7
+ </p>
8
+ </div>
9
+
10
+ <div class="block">
11
+ <h3>Links</h3>
12
+ <ul class="navigation">
13
+ <li><%%= link_to "Link 1", '#' %></li>
14
+ </ul>
15
+ </div>
@@ -0,0 +1,410 @@
1
+ * {margin:0;padding:0}
2
+ .clear { clear: both; height: 0; }
3
+
4
+ .wat-cf:after {
5
+ content: ".";
6
+ display: block;
7
+ height: 0;
8
+ clear: both;
9
+ visibility: hidden;
10
+ }
11
+
12
+ .wat-cf {display: inline-block;}
13
+
14
+ /* Hides from IE-mac \*/
15
+ * html .wat-cf {height: 1%;}
16
+ .wat-cf {display: block;}
17
+ /* End hide from IE-mac */
18
+
19
+ h1 { margin: 15px 0; font-size: 22px; font-weight: normal; }
20
+ h2 { font-size: 22px; margin: 15px 0; font-weight: normal;}
21
+ h3 { font-size: 18px; margin: 10px 0; font-weight: normal;}
22
+ h4 { font-size: 16px; margin: 10px 0; font-weight: normal;}
23
+ hr {height: 1px; border: 0; }
24
+ p { margin: 15px 0;}
25
+ a img { border: none; }
26
+
27
+ body {
28
+ font-size: 12px;
29
+ font-family: sans-serif;
30
+ }
31
+
32
+ #container {
33
+ min-width: 960px;
34
+ }
35
+
36
+ #header, #wrapper {
37
+ padding: 0 20px;
38
+ }
39
+
40
+ #header {
41
+ position: relative;
42
+ padding-top: 1px;
43
+ }
44
+
45
+ #header h1 {
46
+ margin: 0;
47
+ padding: 10px 0;
48
+ font-size: 26px;
49
+ }
50
+
51
+ #header h1 a:link, #header h1 a:active, #header h1 a:hover, #header h1 a:visited {
52
+ text-decoration: none;
53
+ }
54
+
55
+ #main {
56
+ width: 70%;
57
+ float: left;
58
+ }
59
+
60
+ .actions-bar {
61
+ padding: 10px 1px;
62
+ }
63
+
64
+ .actions-bar .actions {
65
+ float: left;
66
+ }
67
+
68
+
69
+ .actions-bar .pagination {
70
+ float: right;
71
+ padding: 1px 0;
72
+ }
73
+
74
+ #sidebar {
75
+ width: 25%;
76
+ float: right;
77
+ }
78
+
79
+ #sidebar h3 {
80
+ padding: 10px 15px;
81
+ margin: 0;
82
+ font-size: 13px;
83
+ }
84
+
85
+ #sidebar .block {
86
+ margin-bottom: 20px;
87
+ padding-bottom: 10px;
88
+ }
89
+
90
+ #sidebar .block .content {
91
+ padding: 0 15px;
92
+ }
93
+
94
+ #sidebar ul.navigation li a:link, #sidebar ul.navigation li a:visited {
95
+ display: block;
96
+ padding: 10px 15px;
97
+ }
98
+
99
+ #sidebar .block .sidebar-block, #sidebar .notice {
100
+ padding:10px;
101
+ }
102
+
103
+ #wrapper {
104
+ padding-top: 20px;
105
+ }
106
+
107
+ #main .block {
108
+ margin-bottom: 20px;
109
+ padding-top: 1px;
110
+ }
111
+
112
+ #main .block .content .inner {
113
+ padding: 0 15px 15px;
114
+ }
115
+
116
+ #main .main p.first {
117
+ margin-top: 0;
118
+ }
119
+
120
+ #user-navigation {
121
+ position: absolute;
122
+ top: 0px;
123
+ right: 20px;
124
+ }
125
+
126
+ #main-navigation {
127
+ width: 100%;
128
+ }
129
+
130
+ #user-navigation ul, #main-navigation ul, .secondary-navigation ul, #sidebar ul.navigation {
131
+ margin: 0;
132
+ padding: 0;
133
+ list-style-type: none;
134
+ }
135
+
136
+ #user-navigation ul li, #main-navigation ul li, .secondary-navigation ul li {
137
+ float: left;
138
+ }
139
+
140
+ #main-navigation ul li {
141
+ margin-right: 5px;
142
+ }
143
+
144
+ #user-navigation ul li {
145
+ padding: 5px 10px;
146
+ }
147
+
148
+ #main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active,
149
+ .secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active,
150
+ #user-navigation ul li a:link, #user-navigation ul li a:visited, #user-navigation ul li a:hover, #user-navigation ul li a:active {
151
+ text-decoration: none;
152
+ }
153
+
154
+ #main-navigation ul li a {
155
+ font-size: 14px;
156
+ line-height: 14px;
157
+ display: block;
158
+ padding: 8px 15px;
159
+ }
160
+
161
+ .secondary-navigation {
162
+ font-size: 13px;
163
+ border-bottom-width: 10px;
164
+ border-bottom-style: solid;
165
+ }
166
+
167
+ .secondary-navigation ul li a {
168
+ display: block;
169
+ padding: 10px 15px;
170
+ }
171
+
172
+ #footer {
173
+ padding-bottom: 20px;
174
+ }
175
+
176
+ /* pagination */
177
+
178
+ .pagination a, .pagination span, .pagination em {
179
+ padding: 2px 5px;
180
+ margin-right: 5px;
181
+ display: block;
182
+ float: left;
183
+ border-style: solid;
184
+ border-width: 1px;
185
+ }
186
+
187
+ .pagination em {
188
+ font-weight: bold;
189
+ }
190
+
191
+ .pagination a {
192
+ text-decoration: none;
193
+ }
194
+
195
+ /* tables */
196
+ .table {
197
+ width: 100%;
198
+ border-collapse: collapse;
199
+ margin-bottom: 15px;
200
+ }
201
+
202
+ .table th {
203
+ padding: 10px;
204
+ font-weight: bold;
205
+ text-align: left;
206
+ }
207
+
208
+ .table th.first {
209
+ width: 30px;
210
+ }
211
+
212
+ .table th.last {
213
+ width: 200px;
214
+ }
215
+
216
+ .table .checkbox {
217
+ margin-left: 10px;
218
+ }
219
+
220
+ .table td {
221
+ padding: 10px;
222
+ }
223
+
224
+ .table td.last {
225
+ text-align: right;
226
+ }
227
+
228
+ /* forms */
229
+
230
+ input.checkbox {
231
+ margin: 0;
232
+ padding: 0;
233
+ }
234
+
235
+ .form .group {
236
+ margin-bottom: 15px;
237
+ }
238
+
239
+ .form div.left {
240
+ width: 20%;
241
+ float: left;
242
+ }
243
+
244
+ .form div.right {
245
+ width: 75%;
246
+ float: right;
247
+ }
248
+
249
+ .form .columns .column {
250
+ width: 48%;
251
+ }
252
+
253
+ .form .columns .left {
254
+ float: left;
255
+ }
256
+
257
+ .form .columns .right {
258
+ float: right;
259
+ }
260
+
261
+ .form label.label, .form input.text_field, .form textarea.text_area {
262
+ font-size: 1.2em;
263
+ padding: 1px 0;
264
+ margin: 0;
265
+ }
266
+
267
+ .form label.right {
268
+ text-align: right;
269
+ }
270
+
271
+ .form input.checkbox, .form input.radio {
272
+ margin-right: 5px;
273
+ }
274
+
275
+ .form label.checkbox, .form label.radio {
276
+ line-height: 1.5em;
277
+ }
278
+
279
+ .form label.label {
280
+ display: block;
281
+ padding-bottom: 2px;
282
+ font-weight: bold;
283
+ }
284
+
285
+ .form div.fieldWithErrors label.label {
286
+ display: inline;
287
+ }
288
+
289
+ .form .fieldWithErrors .error {
290
+ color: red;
291
+ }
292
+
293
+ .form input.text_field, .form textarea.text_area {
294
+ width: 100%;
295
+ border-width: 1px;
296
+ border-style: solid;
297
+ }
298
+
299
+ /* lists */
300
+
301
+ ul.list {
302
+ margin: 0;
303
+ padding: 0;
304
+ list-style-type: none;
305
+ }
306
+
307
+ ul.list li {
308
+ clear: left;
309
+ padding-bottom: 5px;
310
+ }
311
+
312
+ ul.list li .left {
313
+ float: left;
314
+ }
315
+
316
+ ul.list li .left .avatar {
317
+ width: 50px;
318
+ height: 50px;
319
+ }
320
+
321
+ ul.list li .item {
322
+ margin-left: 80px;
323
+ }
324
+
325
+ ul.list li .item .avatar {
326
+ float: left;
327
+ margin: 0 5px 5px 0;
328
+ width: 30px;
329
+ height: 30px;
330
+ }
331
+
332
+ /* box */
333
+
334
+ #box {
335
+ width: 500px;
336
+ margin: 50px auto;
337
+ }
338
+
339
+ #box .block {
340
+ margin-bottom: 20px;
341
+ }
342
+
343
+ #box .block h2 {
344
+ padding: 10px 15px;
345
+ margin: 0;
346
+ }
347
+
348
+ #box .block .content {
349
+ padding: 10px 20px;
350
+ }
351
+
352
+ /* Inspired by http://particletree.com/features/rediscovering-the-button-element */
353
+
354
+ a.button:link, a.button:visited, a.button:hover, a.button:active, button.button {
355
+ color: #222;
356
+ display:block;
357
+ float:left;
358
+ margin:0 7px 0 0;
359
+ background-color: #eee;
360
+ border:1px solid #bfbfbf;
361
+ font-size: 1em;
362
+ line-height: 1.3em;
363
+ font-weight:bold;
364
+ cursor:pointer;
365
+ padding:5px 10px 6px 7px;
366
+ text-decoration: none;
367
+ }
368
+
369
+ button.button {
370
+ width:auto;
371
+ overflow:visible;
372
+ padding:4px 10px 3px 7px; /* IE6 */
373
+ }
374
+ button.button[type] {
375
+ padding:5px 10px 5px 7px; /* Firefox */
376
+ line-height:17px; /* Safari */
377
+ }
378
+
379
+ *:first-child+html button.button[type] {
380
+ padding:4px 10px 3px 7px; /* IE7 */
381
+ }
382
+
383
+ button.button img, a.button img {
384
+ margin:0 3px -3px 0 !important;
385
+ padding:0;
386
+ border:none;
387
+ width:16px;
388
+ height:16px;
389
+ }
390
+
391
+ button.button:hover, a.button:hover {
392
+ background-color:#dedede;
393
+ }
394
+
395
+ button.button:active, a.button:active {
396
+ background-color:#e5e5e5;
397
+ }
398
+ .text_button_padding{
399
+ color: #222222;
400
+ display: block;
401
+ float: left;
402
+ font-size: 1em;
403
+ line-height: 2em;
404
+ margin: 0 7px 0 0;
405
+ padding: 5px 0 6px 7px;
406
+ text-decoration: none;
407
+ }
408
+ .link_button{
409
+ cursor: pointer;
410
+ }