... | ... |
@@ -1,6 +1,6 @@ |
1 | 1 |
source 'https://rubygems.org' |
2 | 2 |
|
3 |
-gem 'rails', '3.2.11' |
|
3 |
+gem 'rails', '~> 3.2.11' |
|
4 | 4 |
|
5 | 5 |
# Bundle edge Rails instead: |
6 | 6 |
# gem 'rails', :git => 'git://github.com/rails/rails.git' |
... | ... |
@@ -12,13 +12,13 @@ gem "mongoid", "~> 3.0.20" |
12 | 12 |
group :assets do |
13 | 13 |
gem 'sass-rails', '~> 3.2.3' |
14 | 14 |
gem 'coffee-rails', '~> 3.2.1' |
15 |
+ gem 'normalize-rails' |
|
16 |
+ gem 'compass-rails' |
|
15 | 17 |
|
16 | 18 |
# See https://github.com/sstephenson/execjs#readme for more supported runtimes |
17 | 19 |
# gem 'therubyracer', :platforms => :ruby |
18 | 20 |
|
19 | 21 |
gem 'uglifier', '>= 1.0.3' |
20 |
- gem "compass", "~> 0.12.2" |
|
21 |
- |
|
22 | 22 |
end |
23 | 23 |
|
24 | 24 |
group :development, :test do |
... | ... |
@@ -1,38 +1,38 @@ |
1 | 1 |
GEM |
2 | 2 |
remote: https://rubygems.org/ |
3 | 3 |
specs: |
4 |
- actionmailer (3.2.11) |
|
5 |
- actionpack (= 3.2.11) |
|
4 |
+ actionmailer (3.2.12) |
|
5 |
+ actionpack (= 3.2.12) |
|
6 | 6 |
mail (~> 2.4.4) |
7 |
- actionpack (3.2.11) |
|
8 |
- activemodel (= 3.2.11) |
|
9 |
- activesupport (= 3.2.11) |
|
7 |
+ actionpack (3.2.12) |
|
8 |
+ activemodel (= 3.2.12) |
|
9 |
+ activesupport (= 3.2.12) |
|
10 | 10 |
builder (~> 3.0.0) |
11 | 11 |
erubis (~> 2.7.0) |
12 | 12 |
journey (~> 1.0.4) |
13 |
- rack (~> 1.4.0) |
|
13 |
+ rack (~> 1.4.5) |
|
14 | 14 |
rack-cache (~> 1.2) |
15 | 15 |
rack-test (~> 0.6.1) |
16 | 16 |
sprockets (~> 2.2.1) |
17 |
- activemodel (3.2.11) |
|
18 |
- activesupport (= 3.2.11) |
|
17 |
+ activemodel (3.2.12) |
|
18 |
+ activesupport (= 3.2.12) |
|
19 | 19 |
builder (~> 3.0.0) |
20 |
- activerecord (3.2.11) |
|
21 |
- activemodel (= 3.2.11) |
|
22 |
- activesupport (= 3.2.11) |
|
20 |
+ activerecord (3.2.12) |
|
21 |
+ activemodel (= 3.2.12) |
|
22 |
+ activesupport (= 3.2.12) |
|
23 | 23 |
arel (~> 3.0.2) |
24 | 24 |
tzinfo (~> 0.3.29) |
25 |
- activeresource (3.2.11) |
|
26 |
- activemodel (= 3.2.11) |
|
27 |
- activesupport (= 3.2.11) |
|
28 |
- activesupport (3.2.11) |
|
25 |
+ activeresource (3.2.12) |
|
26 |
+ activemodel (= 3.2.12) |
|
27 |
+ activesupport (= 3.2.12) |
|
28 |
+ activesupport (3.2.12) |
|
29 | 29 |
i18n (~> 0.6) |
30 | 30 |
multi_json (~> 1.0) |
31 | 31 |
addressable (2.3.2) |
32 | 32 |
ansi (1.4.3) |
33 | 33 |
arel (3.0.2) |
34 | 34 |
builder (3.0.4) |
35 |
- capistrano (2.14.1) |
|
35 |
+ capistrano (2.14.2) |
|
36 | 36 |
highline |
37 | 37 |
net-scp (>= 1.0.0) |
38 | 38 |
net-sftp (>= 2.0.0) |
... | ... |
@@ -45,8 +45,8 @@ GEM |
45 | 45 |
rack-test (>= 0.5.4) |
46 | 46 |
selenium-webdriver (~> 2.0) |
47 | 47 |
xpath (~> 1.0.0) |
48 |
- childprocess (0.3.7) |
|
49 |
- ffi (~> 1.0, >= 1.0.6) |
|
48 |
+ childprocess (0.3.8) |
|
49 |
+ ffi (~> 1.0, >= 1.0.11) |
|
50 | 50 |
chunky_png (1.2.7) |
51 | 51 |
coffee-rails (3.2.2) |
52 | 52 |
coffee-script (>= 2.2.0) |
... | ... |
@@ -59,13 +59,15 @@ GEM |
59 | 59 |
chunky_png (~> 1.2) |
60 | 60 |
fssm (>= 0.2.7) |
61 | 61 |
sass (~> 3.1) |
62 |
+ compass-rails (1.0.3) |
|
63 |
+ compass (>= 0.12.2, < 0.14) |
|
62 | 64 |
diff-lcs (1.1.3) |
63 | 65 |
erubis (2.7.0) |
64 | 66 |
execjs (1.4.0) |
65 | 67 |
multi_json (~> 1.0) |
66 | 68 |
factory_girl (4.2.0) |
67 | 69 |
activesupport (>= 3.0.0) |
68 |
- factory_girl_rails (4.2.0) |
|
70 |
+ factory_girl_rails (4.2.1) |
|
69 | 71 |
factory_girl (~> 4.2.0) |
70 | 72 |
railties (>= 3.0.0) |
71 | 73 |
ffi (1.3.1) |
... | ... |
@@ -81,67 +83,68 @@ GEM |
81 | 81 |
hike (1.2.1) |
82 | 82 |
i18n (0.6.1) |
83 | 83 |
journey (1.0.4) |
84 |
- jquery-rails (2.2.0) |
|
84 |
+ jquery-rails (2.2.1) |
|
85 | 85 |
railties (>= 3.0, < 5.0) |
86 | 86 |
thor (>= 0.14, < 2.0) |
87 |
- json (1.7.6) |
|
87 |
+ json (1.7.7) |
|
88 | 88 |
launchy (2.2.0) |
89 | 89 |
addressable (~> 2.3) |
90 | 90 |
mail (2.4.4) |
91 | 91 |
i18n (>= 0.4.0) |
92 | 92 |
mime-types (~> 1.16) |
93 | 93 |
treetop (~> 1.4.8) |
94 |
- mime-types (1.20.1) |
|
95 |
- minitest (4.5.0) |
|
94 |
+ mime-types (1.21) |
|
95 |
+ minitest (4.6.0) |
|
96 | 96 |
minitest-reporters (0.14.7) |
97 | 97 |
ansi |
98 | 98 |
builder |
99 | 99 |
minitest (>= 2.12, < 5.0) |
100 | 100 |
powerbar |
101 |
- mongoid (3.0.21) |
|
101 |
+ mongoid (3.0.22) |
|
102 | 102 |
activemodel (~> 3.1) |
103 | 103 |
moped (~> 1.2) |
104 | 104 |
origin (~> 1.0) |
105 | 105 |
tzinfo (~> 0.3.22) |
106 |
- moped (1.3.2) |
|
107 |
- multi_json (1.5.0) |
|
108 |
- net-scp (1.0.4) |
|
109 |
- net-ssh (>= 1.99.1) |
|
110 |
- net-sftp (2.0.5) |
|
111 |
- net-ssh (>= 2.0.9) |
|
112 |
- net-ssh (2.6.3) |
|
113 |
- net-ssh-gateway (1.1.0) |
|
114 |
- net-ssh (>= 1.99.1) |
|
106 |
+ moped (1.4.2) |
|
107 |
+ multi_json (1.6.0) |
|
108 |
+ net-scp (1.1.0) |
|
109 |
+ net-ssh (>= 2.6.5) |
|
110 |
+ net-sftp (2.1.1) |
|
111 |
+ net-ssh (>= 2.6.5) |
|
112 |
+ net-ssh (2.6.5) |
|
113 |
+ net-ssh-gateway (1.2.0) |
|
114 |
+ net-ssh (>= 2.6.5) |
|
115 | 115 |
nokogiri (1.5.6) |
116 |
+ normalize-rails (2.0.1) |
|
116 | 117 |
origin (1.0.11) |
117 | 118 |
polyglot (0.3.3) |
118 | 119 |
powerbar (1.0.11) |
119 | 120 |
ansi (~> 1.4.0) |
120 | 121 |
hashie (>= 1.1.0) |
121 |
- rack (1.4.4) |
|
122 |
+ rack (1.4.5) |
|
122 | 123 |
rack-cache (1.2) |
123 | 124 |
rack (>= 0.4) |
124 | 125 |
rack-ssl (1.3.3) |
125 | 126 |
rack |
126 | 127 |
rack-test (0.6.2) |
127 | 128 |
rack (>= 1.0) |
128 |
- rails (3.2.11) |
|
129 |
- actionmailer (= 3.2.11) |
|
130 |
- actionpack (= 3.2.11) |
|
131 |
- activerecord (= 3.2.11) |
|
132 |
- activeresource (= 3.2.11) |
|
133 |
- activesupport (= 3.2.11) |
|
129 |
+ rails (3.2.12) |
|
130 |
+ actionmailer (= 3.2.12) |
|
131 |
+ actionpack (= 3.2.12) |
|
132 |
+ activerecord (= 3.2.12) |
|
133 |
+ activeresource (= 3.2.12) |
|
134 |
+ activesupport (= 3.2.12) |
|
134 | 135 |
bundler (~> 1.0) |
135 |
- railties (= 3.2.11) |
|
136 |
- railties (3.2.11) |
|
137 |
- actionpack (= 3.2.11) |
|
138 |
- activesupport (= 3.2.11) |
|
136 |
+ railties (= 3.2.12) |
|
137 |
+ railties (3.2.12) |
|
138 |
+ actionpack (= 3.2.12) |
|
139 |
+ activesupport (= 3.2.12) |
|
139 | 140 |
rack-ssl (~> 1.3.2) |
140 | 141 |
rake (>= 0.8.7) |
141 | 142 |
rdoc (~> 3.4) |
142 | 143 |
thor (>= 0.14.6, < 2.0) |
143 | 144 |
rake (10.0.3) |
144 |
- rdoc (3.12) |
|
145 |
+ rdoc (3.12.1) |
|
145 | 146 |
json (~> 1.4) |
146 | 147 |
rspec-core (2.12.2) |
147 | 148 |
rspec-expectations (2.12.1) |
... | ... |
@@ -173,7 +176,7 @@ GEM |
173 | 173 |
test-unit (2.5.4) |
174 | 174 |
thor (0.17.0) |
175 | 175 |
tilt (1.3.3) |
176 |
- timecop (0.5.9.1) |
|
176 |
+ timecop (0.5.9.2) |
|
177 | 177 |
treetop (1.4.12) |
178 | 178 |
polyglot |
179 | 179 |
polyglot (>= 0.3.1) |
... | ... |
@@ -193,7 +196,7 @@ DEPENDENCIES |
193 | 193 |
capistrano |
194 | 194 |
capybara |
195 | 195 |
coffee-rails (~> 3.2.1) |
196 |
- compass (~> 0.12.2) |
|
196 |
+ compass-rails |
|
197 | 197 |
factory_girl_rails |
198 | 198 |
haml (~> 3.1.7) |
199 | 199 |
haml-rails (~> 0.3.5) |
... | ... |
@@ -202,7 +205,8 @@ DEPENDENCIES |
202 | 202 |
minitest |
203 | 203 |
minitest-reporters (>= 0.5.0) |
204 | 204 |
mongoid (~> 3.0.20) |
205 |
- rails (= 3.2.11) |
|
205 |
+ normalize-rails |
|
206 |
+ rails (~> 3.2.11) |
|
206 | 207 |
rspec-rails |
207 | 208 |
sass-rails (~> 3.2.3) |
208 | 209 |
test-unit |
1 | 9 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,65 @@ |
0 |
+/* |
|
1 |
+ *= require normalize-rails |
|
2 |
+ *= require_self |
|
3 |
+ *= require_tree . |
|
4 |
+*/ |
|
5 |
+ |
|
6 |
+@import "config"; |
|
7 |
+@import "compass/css3/box-sizing"; |
|
8 |
+ |
|
9 |
+h1 { |
|
10 |
+ color: $app-color; |
|
11 |
+ background: #f4f4f4; |
|
12 |
+ font-size: 17px; |
|
13 |
+ padding: 7px 14px; |
|
14 |
+} |
|
15 |
+ |
|
16 |
+body { |
|
17 |
+ background: $bg-color; |
|
18 |
+} |
|
19 |
+ |
|
20 |
+label { |
|
21 |
+ display: block; |
|
22 |
+ color: $gray; |
|
23 |
+ font-size: 12px; |
|
24 |
+ margin: 11px 0 2px; |
|
25 |
+} |
|
26 |
+ |
|
27 |
+input { |
|
28 |
+ border: 1px $gray-light solid; |
|
29 |
+ border-radius: 4px; |
|
30 |
+ width: 100%; |
|
31 |
+ margin-bottom: 10px; |
|
32 |
+ height: 30px; |
|
33 |
+ @include box-sizing(border-box); |
|
34 |
+ |
|
35 |
+ &[type=submit] { |
|
36 |
+ text-transform:lowercase; |
|
37 |
+ font-variant: small-caps; |
|
38 |
+ font-weight: bold; |
|
39 |
+ font-size: 18px; |
|
40 |
+ background: $app-color; |
|
41 |
+ color: #f9f9f9; |
|
42 |
+ border: none 0px #000000; |
|
43 |
+ margin-top: 16px; |
|
44 |
+ } |
|
45 |
+ |
|
46 |
+ &:focus { |
|
47 |
+ outline: 5px auto $app-color; |
|
48 |
+ } |
|
49 |
+} |
|
50 |
+ |
|
51 |
+.top-border { |
|
52 |
+ border-top: 7px solid $app-color; |
|
53 |
+} |
|
54 |
+ |
|
55 |
+.alert { |
|
56 |
+ font-size: 12px; |
|
57 |
+ &.alert-notice { |
|
58 |
+ |
|
59 |
+ } |
|
60 |
+ |
|
61 |
+ &.alert-error { |
|
62 |
+ color: $error; |
|
63 |
+ } |
|
64 |
+} |
|
0 | 65 |
\ No newline at end of file |
1 | 66 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,18 @@ |
0 |
+@import "config"; |
|
1 |
+ |
|
2 |
+body { |
|
3 |
+ border-top: #658489 7px solid; |
|
4 |
+} |
|
5 |
+ |
|
6 |
+$form-wrapper-padding: 14px; |
|
7 |
+ |
|
8 |
+.form-wrapper { |
|
9 |
+ width: 250px; |
|
10 |
+ background: $white; |
|
11 |
+ padding: 0 $form-wrapper-padding; |
|
12 |
+ margin: 100px auto; |
|
13 |
+} |
|
14 |
+ |
|
15 |
+.login-form-header { |
|
16 |
+ margin: 0 -1*$form-wrapper-padding; |
|
17 |
+} |
|
0 | 18 |
\ No newline at end of file |
... | ... |
@@ -2,7 +2,7 @@ |
2 | 2 |
%html{:lang => :en} |
3 | 3 |
%head |
4 | 4 |
%title= yield(:title) + " | App" |
5 |
- %meta{:charset => "utf-8"}/ |
|
6 |
- -#%link{ :href => "/css/screen.css", :media => "screen", :rel => "stylesheet" } |
|
5 |
+ %meta{ :charset => "utf-8" }/ |
|
6 |
+ = stylesheet_link_tag "application" |
|
7 | 7 |
%body |
8 | 8 |
= yield |
9 | 9 |
\ No newline at end of file |
... | ... |
@@ -1,20 +1,23 @@ |
1 |
-- content_for(:title, 'Login') |
|
2 |
-%h1 Login |
|
3 |
-- if flash[:error] |
|
4 |
- %div.alert.alert-error |
|
5 |
- = flash[:error] |
|
1 |
+- content_for(:title, t("sessions.title")) |
|
2 |
+.form-wrapper |
|
3 |
+ %h1{ class: "top-border login-form-header" } |
|
4 |
+ = t(".form-header") |
|
6 | 5 |
|
7 |
-- if flash[:notice] |
|
8 |
- %div.alert.alert-notice |
|
9 |
- = flash[:notice] |
|
6 |
+ %form{ action: sessions_path, method: "post"} |
|
7 |
+ %label{for: "jid"} |
|
8 |
+ %strong Jabber ID |
|
9 |
+ %input{type: "text", name: "jid", class: "text", id: "jid", placeholder: "nick@example.com"} |
|
10 | 10 |
|
11 |
-%form{ action: sessions_path, method: "post"} |
|
12 |
- %fieldset |
|
13 |
- %ol |
|
14 |
- %li |
|
15 |
- %label{for: "jid"} Jabber ID: |
|
16 |
- %input{type: "text", name: "jid", class: "text", id: "jid"} |
|
17 |
- %li |
|
18 |
- %label{for: "password"} Password: |
|
19 |
- %input{type: "password", name: "password", class: "text", id: "password"} |
|
20 |
- %input{type: "submit", value: "Send", class: "button"} |
|
21 | 11 |
\ No newline at end of file |
12 |
+ %label{for: "pass"} |
|
13 |
+ %strong Password |
|
14 |
+ %input{type: "password", name: "password", class: "text", id: "pass"} |
|
15 |
+ |
|
16 |
+ - if flash[:error] |
|
17 |
+ %div.alert.alert-error |
|
18 |
+ = flash[:error] |
|
19 |
+ |
|
20 |
+ - if flash[:notice] |
|
21 |
+ %div.alert.alert-notice |
|
22 |
+ = flash[:notice] |
|
23 |
+ |
|
24 |
+ %input{type: "submit", value: t(".form-send"), class: "button"} |
|
22 | 25 |
\ No newline at end of file |
... | ... |
@@ -4,4 +4,11 @@ |
4 | 4 |
en: |
5 | 5 |
login: |
6 | 6 |
error: 'Invalid email/password combination' |
7 |
- success: 'Successfully logged in' |
|
8 | 7 |
\ No newline at end of file |
8 |
+ success: 'Successfully logged in' |
|
9 |
+ |
|
10 |
+ sessions: |
|
11 |
+ title: "Login" |
|
12 |
+ |
|
13 |
+ new: |
|
14 |
+ form-header: "Login form" |
|
15 |
+ form-send: "Login" |
|
9 | 16 |
\ No newline at end of file |