Commit 203adbece7eadf5eae968be79e35b7312b2d6678
1 parent
9b2ed19b
Exists in
master
and in
1 other branch
Update form styles
Showing
14 changed files
with
60 additions
and
43 deletions
Show diff stats
app/controllers/users_controller.rb
... | ... | @@ -51,7 +51,7 @@ class UsersController < ApplicationController |
51 | 51 | @user = User.find(params[:id]) |
52 | 52 | @user.destroy |
53 | 53 | |
54 | - flash[:success[ = "That's sad. #{@user.name} is no longer part of your team." | |
54 | + flash[:success] = "That's sad. #{@user.name} is no longer part of your team." | |
55 | 55 | redirect_to users_path |
56 | 56 | end |
57 | 57 | ... | ... |
... | ... | @@ -0,0 +1,14 @@ |
1 | +module FormHelper | |
2 | + | |
3 | + def errors_for(document) | |
4 | + return unless document.errors.any? | |
5 | + | |
6 | + content_tag(:div, :class => 'error-messages') do | |
7 | + body = content_tag(:h2, 'Dang. The following errors are keeping this from being a success.') | |
8 | + body += content_tag(:ul) do | |
9 | + document.errors.full_messages.inject('') {|errs, msg| errs += content_tag(:li, msg) } | |
10 | + end | |
11 | + end | |
12 | + end | |
13 | + | |
14 | +end | |
0 | 15 | \ No newline at end of file | ... | ... |
app/views/apps/_fields.html.haml
app/views/apps/edit.html.haml
app/views/apps/new.html.haml
app/views/devise/passwords/edit.html.haml
1 | 1 | - content_for :title, "Change your password" |
2 | 2 | |
3 | 3 | = form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| |
4 | - = devise_error_messages! | |
4 | + = errors_for resource | |
5 | 5 | = f.hidden_field :reset_password_token |
6 | 6 | .required |
7 | 7 | = f.label :password, 'New password' |
... | ... | @@ -9,4 +9,4 @@ |
9 | 9 | .required |
10 | 10 | = f.label :password_confirmation, 'One more time' |
11 | 11 | = f.password_field :password_confirmation |
12 | - %div.change_password= f.submit "Change my password" | |
13 | 12 | \ No newline at end of file |
13 | + %div.buttons= f.submit "Change my password" | |
14 | 14 | \ No newline at end of file | ... | ... |
app/views/devise/passwords/new.html.haml
1 | 1 | - content_for :title, "Forget your password?" |
2 | 2 | = form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| |
3 | - = devise_error_messages! | |
3 | + = errors_for resource | |
4 | 4 | .required |
5 | 5 | = f.label :email |
6 | 6 | = f.text_field :email |
7 | 7 | |
8 | - %div= f.submit "Send me reset password instructions" | |
9 | 8 | \ No newline at end of file |
9 | + %div.buttons= f.submit "Send me reset password instructions" | |
10 | 10 | \ No newline at end of file | ... | ... |
app/views/devise/sessions/new.html.haml
... | ... | @@ -14,5 +14,5 @@ |
14 | 14 | = f.check_box :remember_me, :tabindex => 3 |
15 | 15 | = f.label :remember_me |
16 | 16 | |
17 | - %div.sign_in | |
18 | - %button{:type => 'submit'}= "Sign in" | |
19 | 17 | \ No newline at end of file |
18 | + %div.buttons | |
19 | + %button{:type => 'submit', :class => 'sign_in'}= "Sign in" | |
20 | 20 | \ No newline at end of file | ... | ... |
app/views/users/_fields.html.haml
app/views/users/edit.html.haml
app/views/users/new.html.haml
public/javascripts/form.js
... | ... | @@ -20,7 +20,7 @@ function makeNestedItemsDestroyable(wrapper) { |
20 | 20 | var nestedItem = $(this); |
21 | 21 | var destroyLink = $('<a/>').text('remove').addClass('remove-nested'); |
22 | 22 | destroyLink.css('float','right'); |
23 | - nestedItem.find('label').first().prepend(destroyLink); | |
23 | + nestedItem.find('label').first().before(destroyLink); | |
24 | 24 | }) |
25 | 25 | } |
26 | 26 | ... | ... |
public/stylesheets/application.css
... | ... | @@ -237,11 +237,12 @@ form fieldset legend { |
237 | 237 | } |
238 | 238 | form label { |
239 | 239 | font-weight: bold; text-transform: uppercase; line-height: 1.6em; |
240 | - display: block; | |
240 | + display: inline-block; | |
241 | 241 | } |
242 | 242 | form label.inline { display: inline; } |
243 | 243 | form .checkbox label { display: inline; } |
244 | -form .required label { color: #990000;} | |
244 | +form .required label { padding-right: 20px; background: transparent url(images/icons/required.png) right 50% no-repeat; } | |
245 | +form .field_with_errors label { color: #900; } | |
245 | 246 | form input[type=text], form input[type=password] { |
246 | 247 | width: 96%; padding: 0.8em; |
247 | 248 | font-size: 1em; |
... | ... | @@ -267,24 +268,7 @@ form input[type=submit] { |
267 | 268 | font-size: 1.2em; line-height: 1em; text-transform: uppercase; |
268 | 269 | border: none; color: #FFF; background-color: #387fc1; |
269 | 270 | } |
270 | -form div.send_password input[type=submit], | |
271 | -form div.change_password input[type=submit], | |
272 | -form div.add_app input[type=submit], | |
273 | -input#user_submit[type=submit] { | |
274 | - color: #666; | |
275 | - display: block; | |
276 | - padding: 0 20px 0 20px; | |
277 | - font-size: 12px; font-weight: bold; line-height: 30px; text-decoration: none; | |
278 | - text-shadow: 1px 1px 0px #FFF; | |
279 | - -webkit-text-shadow: 1px 1px 0px #FFF; | |
280 | - background: transparent no-repeat; | |
281 | - border: none; | |
282 | -} | |
283 | -form div.sign_in, | |
284 | -form div.send_password, | |
285 | -form div.change_password, | |
286 | -form div.add_app, | |
287 | -input#user_submit[type=submit] { | |
271 | +form div.buttons { | |
288 | 272 | color: #666; |
289 | 273 | background: #FFF url(images/button-bg.png) 0 bottom repeat-x; |
290 | 274 | border-radius: 50px; |
... | ... | @@ -293,26 +277,26 @@ input#user_submit[type=submit] { |
293 | 277 | border: 1px solid #bbb; |
294 | 278 | display: inline-block; |
295 | 279 | } |
296 | -form div.sign_in:hover, | |
297 | -form div.send_password:hover, | |
298 | -form div.change_password:hover, | |
299 | -form div.add_app:hover, | |
300 | -input#user_submit[type=submit]:hover { | |
280 | +form div.buttons:hover { | |
301 | 281 | color: #666; |
302 | 282 | box-shadow: 0 0 3px #69c; |
303 | 283 | -moz-box-shadow: 0 0 3px #69c; |
304 | 284 | -webkit-box-shadow: 0 0 3px #69c; |
305 | 285 | } |
306 | -form div.sign_in button { | |
286 | +form div.buttons input, form div.buttons button { | |
287 | + padding: 0 20px; | |
307 | 288 | color: #666; |
308 | - display: block; | |
309 | - padding: 0 20px 0 40px; | |
310 | - font-size: 14px; font-weight: bold; line-height: 39px; text-decoration: none; | |
311 | - text-shadow: 1px 1px 0px #FFF; | |
289 | + background: none; | |
290 | + font-size: 14px; font-weight: bold; line-height: 36px; text-decoration: none; | |
291 | + text-shadow: 1px 1px 0px #FFF; | |
292 | + -moz-text-shadow: 1px 1px 0px #FFF; | |
312 | 293 | -webkit-text-shadow: 1px 1px 0px #FFF; |
313 | - background: transparent url(images/icons/right-arrow.png) 5px 5px no-repeat; | |
314 | 294 | border: none; |
315 | 295 | } |
296 | +form div.buttons button.sign_in { | |
297 | + padding-left: 40px; | |
298 | + background: transparent url(images/icons/right-arrow.png) 3px 3px no-repeat; | |
299 | +} | |
316 | 300 | form > div > span { |
317 | 301 | display: block; margin-top: 0.5em; |
318 | 302 | font-size: 0.85em; |
... | ... | @@ -336,6 +320,21 @@ form legend + .nested { |
336 | 320 | padding-top: 0; |
337 | 321 | } |
338 | 322 | |
323 | +form .error-messages { | |
324 | + padding: 13px; | |
325 | + background: #fcc; | |
326 | + border: 1px solid #f99; | |
327 | +} | |
328 | + | |
329 | +form .error-messages h2 { | |
330 | + font-size: 1.2em; | |
331 | + border-color: #F99; | |
332 | +} | |
333 | +form .error-messages ul { | |
334 | + margin-left: 2em; | |
335 | + list-style-type: square; | |
336 | +} | |
337 | + | |
339 | 338 | /* Tables */ |
340 | 339 | table { |
341 | 340 | width: 100%; | ... | ... |
250 Bytes