Description:
shows problem descriptions on first page
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r215:776188eca107 - - 7 files changed: 460 inserted, 217 deleted

@@ -0,0 +1,8
1 + .problem-bar{:id => "problem-bar-#{problem.id}"}
2 + %a{:href => "#", :onclick => "$$('.problem-panel').each(function(elt) {elt.hide();}); $('problem-panel-#{problem.id}').show(); $('problem-panel-filler').hide(); return false;"}
3 + %span{:class => 'problem-title'}
4 + = "#{problem.full_name} (#{problem.name})"
5 + - if @prob_submissions[problem_title_counter][:count] > 0
6 + = "[#{@prob_submissions[problem_title_counter][:count]} trials(s)]"
7 + - else
8 + [No trials]
@@ -0,0 +1,2
1 + .sass-cache
2 +
@@ -0,0 +1,312
1 + body
2 + background: white url(../images/topbg.jpg) repeat-x top center
3 + font-size: 13px
4 + font-family: Tahoma, "sans-serif"
5 + margin: 10px
6 + padding: 10px
7 +
8 +
9 + input
10 + font-family: Tahoma, "sans-serif"
11 +
12 +
13 + h1
14 + font-size: 24px
15 + color: #334488
16 + line-height: 2em
17 +
18 +
19 + h2
20 + font-size: 18px
21 + color: #5566bb
22 + line-height: 1.5em
23 +
24 +
25 + hr
26 + border-top: 1px solid #dddddd
27 + border-bottom: 1px solid #eeeeee
28 +
29 +
30 + a
31 + color: #6666cc
32 + text-decoration: none
33 +
34 + &:link, &:visited
35 + color: #6666cc
36 + text-decoration: none
37 +
38 + &:hover, &:focus
39 + color: #111166
40 + text-decoration: none
41 +
42 +
43 + .userbar
44 + line-height: 1.5em
45 + text-align: right
46 + font-size: 12px
47 +
48 + .title
49 + padding: 10px 0px
50 + line-height: 1.5em
51 + font-size: 13px
52 +
53 + span.contest-over-msg
54 + font-size: 15px
55 + color: red
56 +
57 + table
58 + width: 100%
59 + font-weight: bold
60 +
61 + td
62 + &.left-col
63 + text-align: left
64 + vertical-align: top
65 + color: #444444
66 +
67 + &.right-col
68 + text-align: right
69 + vertical-align: top
70 + font-size: 18px
71 + color: #116699
72 +
73 +
74 + table.info
75 + margin: 10px 0
76 + border: 1px solid #666666
77 + border-collapse: collapse
78 + font-size: 12px
79 +
80 + th
81 + border: 1px solid #666666
82 + line-height: 1.5em
83 + padding: 0 0.5em
84 +
85 + td
86 + border-left: 1px solid #666666
87 + border-right: 1px solid #666666
88 + line-height: 1.5em
89 + padding: 0 0.5em
90 +
91 +
92 + tr.info-head
93 + background: #777777
94 + color: white
95 +
96 + tr.info-odd
97 + background: #eeeeee
98 +
99 + tr.info-even
100 + background: #f9f9f9
101 +
102 +
103 + .submitbox
104 + background: #eeeeff
105 + border: 1px dotted #99aaee
106 + padding: 5px
107 + margin: 10px 0px
108 + color: black
109 + font-size: 13px
110 +
111 + .errorExplanation
112 + border: 1px dotted gray
113 + color: #bb2222
114 + padding: 5px 15px 5px 15px
115 + margin-bottom: 5px
116 + background-color: white
117 + font-weight: normal
118 +
119 + h2
120 + color: #cc1111
121 + font-weight: bold
122 +
123 +
124 + table.uinfo
125 + border-collapse: collapse
126 + border: 1px solid black
127 + font-size: 13px
128 +
129 +
130 + td.uinfo
131 + vertical-align: top
132 + border: 1px solid black
133 + padding: 5px
134 +
135 +
136 + th.uinfo
137 + background: lightgreen
138 + vertical-align: top
139 + text-align: right
140 + border: 1px solid black
141 + padding: 5px
142 +
143 +
144 + .compilermsgbody
145 + font-family: monospace
146 +
147 + .task-menu
148 + text-align: center
149 + font-size: 13px
150 + line-height: 1.75em
151 + font-weight: bold
152 + border-top: 1px dashed gray
153 + border-bottom: 1px dashed gray
154 + margin-top: 2px
155 + margin-bottom: 4px
156 +
157 +
158 + table.taskdesc
159 + border: 2px solid #dddddd
160 + border-collapse: collapse
161 + margin: 10px auto
162 + width: 90%
163 + font-size: 13px
164 +
165 + p
166 + font-size: 13px
167 +
168 + tr.name
169 + border: 2px solid #dddddd
170 + background: #dddddd
171 + color: #333333
172 + font-weight: bold
173 + font-size: 14px
174 + line-height: 1.5em
175 + text-align: center
176 +
177 + td
178 + &.desc-odd
179 + padding: 5px
180 + padding-left: 20px
181 + background: #fefeee
182 +
183 + &.desc-even
184 + padding: 5px
185 + padding-left: 20px
186 + background: #feeefe
187 +
188 +
189 + .announcementbox
190 + margin: 10px 0px
191 + background: #bbddee
192 + padding: 1px
193 +
194 + span.title
195 + font-weight: bold
196 + color: #224455
197 + padding-left: 10px
198 + line-height: 1.6em
199 +
200 + .announcement
201 + margin: 2px
202 + background: white
203 + padding: 1px
204 + padding-left: 10px
205 + padding-right: 10px
206 + padding-top: 5px
207 + padding-bottom: 5px
208 +
209 + p
210 + font-size: 12px
211 + margin: 2px
212 +
213 +
214 + .pub-info
215 + text-align: right
216 + font-style: italic
217 + font-size: 9px
218 +
219 + p
220 + text-align: right
221 + font-style: italic
222 + font-size: 9px
223 +
224 +
225 + .announcement
226 + .toggles
227 + font-weight: normal
228 + float: right
229 + font-size: 80%
230 +
231 + .announcement-title
232 + font-weight: bold
233 +
234 +
235 + .message
236 + margin: 10px 0 0
237 +
238 + .message
239 + margin: 0 0 0 30px
240 +
241 + .stat
242 + font-size: 10px
243 + line-height: 1.75em
244 + padding: 0 5px
245 + color: #444444
246 + background: #bbbbbb
247 + font-weight: bold
248 +
249 + .body
250 + border: 2px solid #dddddd
251 + background: #fff8f8
252 + padding-left: 5px
253 +
254 + .reply-body
255 + border: 2px solid #bbbbbb
256 + background: #fffff8
257 + padding-left: 5px
258 +
259 + .stat
260 + font-size: 10px
261 + line-height: 1.75em
262 + padding: 0 5px
263 + color: #333333
264 + background: #dddddd
265 + font-weight: bold
266 +
267 + .contest-title
268 + color: white
269 + text-align: center
270 + line-height: 2em
271 +
272 + .registration-desc
273 + border: 1px dotted gray
274 + background: #f5f5f5
275 + padding: 5px
276 + margin: 10px 0
277 + font-size: 12px
278 + line-height: 1.5em
279 +
280 + .test-desc
281 + border: 1px dotted gray
282 + background: #f5f5f5
283 + padding: 5px
284 + margin: 10px 0
285 + font-size: 12px
286 + line-height: 1.5em
287 +
288 + .problem-list
289 + width: 200px
290 + float: left
291 +
292 + .problem-bar
293 + margin-top: 5px
294 + padding: 5px
295 + background: #e0e0e0
296 +
297 + span.problem-title
298 + font-weight: bold
299 + font-size: 110%
300 +
301 + .problem-content
302 + float: left
303 + margin-left: 10px
304 + width: 700px
305 +
306 + .problem-panel
307 + border: 1px black solid
308 + padding: 5px
309 +
310 + .problem-form
311 + border: 1px dotted #99aaee
312 + background: #eeeeff
@@ -1,16 +1,5
1 - <tr class="info-<%= (problem_counter%2==0) ? "even" : "odd" %>">
2 - <td>
3 - <%= "#{problem_counter+1}" %>
4 - </td>
5 - <td>
6 - <%= "#{problem.full_name} (#{problem.name})" %>
7 - <%= link_to "[#{t 'main.problem_desc'}]", problem.url, :popup => true if (problem.url!=nil) and (problem.url!='') %>
8 - </td>
9 - <td align="center">
10 - <%= @prob_submissions[problem_counter][:count] %>
11 - </td>
12 - <td>
13 - <span id="problem-form-<%= problem.id %>">
1 + <div id="problem-panel-<%= problem.id %>" class="problem-panel" style="display:none">
2 + <div id="problem-form-<%= problem.id %>" class="problem-form">
14 3 <% form_tag({:action => 'new_input', :id => problem.id}, :method => :post) do -%>
15 4 <input type="submit" value="New input"/>
16 5 <% end -%>
@@ -21,6 +10,17
21 10 <input type="file" name="file">
22 11 <input type="submit" value="Submit solution"/>
23 12 <% end -%>
24 - </span>
25 - </td>
26 - </tr>
13 + </div>
14 +
15 + <div class="problem-description">
16 + <% if problem.description!=nil %>
17 + <% if problem.description.markdowned %>
18 + <%= markdown(problem.description.body) %>
19 + <% else %>
20 + <%= problem.description.body %>
21 + <% end %>
22 + <% else %>
23 + (not available)
24 + <% end %>
25 + </div>
26 + </div>
@@ -11,12 +11,6
11 11 #announcementbox-body
12 12 = render :partial => 'announcement', :collection => @announcements
13 13
14 - - if Configuration.show_submitbox_to?(@user)
15 - .submitbox
16 - = error_messages_for 'submission'
17 - = render :partial => 'submission_box'
18 -
19 -
20 14 %hr/
21 15
22 16 - if (Configuration.contest_mode) and (@user.site!=nil) |
@@ -24,14 +18,16
24 18 %p=t 'main.start_soon'
25 19
26 20 - if Configuration.show_tasks_to?(@user)
27 - %table.info
28 - %tr.info-head
29 - %th
30 - %th Tasks
31 - %th # of sub(s)
32 - %th Results
21 + .problem-list
22 + = render :partial => 'problem_title', :collection => @problems, :as => :problem
23 + .problem-content
24 + %span{:id => "problem-panel-filler"}
25 + %b Welcome to Code Jom
26 + %br/
27 + Choose problems from the list on the right.
33 28 = render :partial => 'problem', :collection => @problems
34 29
30 + %br{:clear=>'both'}/
35 31 %hr/
36 32
37 33 :javascript
@@ -1,178 +1,127
1 - /* Main Default */
2 1 body {
3 2 background: white url(../images/topbg.jpg) repeat-x top center;
4 3 font-size: 13px;
5 4 font-family: Tahoma, "sans-serif";
6 5 margin: 10px;
7 - padding: 10px;
8 - }
6 + padding: 10px; }
9 7
10 - /* Form Font */
11 8 input {
12 - font-family: Tahoma, "sans-serif";
13 - }
9 + font-family: Tahoma, "sans-serif"; }
14 10
15 - /* Heading 1&2 */
16 11 h1 {
17 12 font-size: 24px;
18 13 color: #334488;
19 - line-height: 2em;
20 - }
14 + line-height: 2em; }
21 15
22 16 h2 {
23 17 font-size: 18px;
24 18 color: #5566bb;
25 - line-height: 1.5em;
26 - }
19 + line-height: 1.5em; }
27 20
28 - /* Bar Line Color and Thickness */
29 21 hr {
30 22 border-top: 1px solid #dddddd;
31 - border-bottom: 1px solid #eeeeee;
32 - }
23 + border-bottom: 1px solid #eeeeee; }
33 24
34 - /* Link + Anchor Color */
35 - a, a:link, a:visited {
25 + a {
36 26 color: #6666cc;
37 - text-decoration: none;
38 - }
39 -
27 + text-decoration: none; }
28 + a:link, a:visited {
29 + color: #6666cc;
30 + text-decoration: none; }
40 31 a:hover, a:focus {
41 32 color: #111166;
42 - text-decoration: none;
43 - }
33 + text-decoration: none; }
44 34
45 - /* This is the main menu bad*/
46 - div.userbar {
35 + .userbar {
47 36 line-height: 1.5em;
48 37 text-align: right;
49 - font-size: 12px;
50 - }
38 + font-size: 12px; }
51 39
52 - /* This is the top bar, displaying user's full name */
53 - div.title {
54 - // background: #ddddff;
55 - // border: 1px dashed blue;
40 + .title {
56 41 padding: 10px 0px;
57 42 line-height: 1.5em;
58 - font-size: 13px;
59 - }
60 -
61 - div.title span.contest-over-msg {
43 + font-size: 13px; }
44 + .title span.contest-over-msg {
62 45 font-size: 15px;
63 - color: red;
64 - }
65 -
66 - div.title table {
46 + color: red; }
47 + .title table {
67 48 width: 100%;
68 - font-weight: bold;
69 - }
70 -
71 - div.title td.left-col {
49 + font-weight: bold; }
50 + .title td.left-col {
72 51 text-align: left;
73 52 vertical-align: top;
74 - color: #444444;
75 - }
76 -
77 - div.title td.right-col {
53 + color: #444444; }
54 + .title td.right-col {
78 55 text-align: right;
79 56 vertical-align: top;
80 57 font-size: 18px;
81 - color: #116699;
82 - }
58 + color: #116699; }
83 59
84 - /* Standard table with header and rows with alternating background */
85 60 table.info {
86 61 margin: 10px 0;
87 62 border: 1px solid #666666;
88 63 border-collapse: collapse;
89 - font-size: 12px;
90 - }
91 -
64 + font-size: 12px; }
92 65 table.info th {
93 66 border: 1px solid #666666;
94 67 line-height: 1.5em;
95 - padding: 0 0.5em;
96 - }
97 -
68 + padding: 0 0.5em; }
98 69 table.info td {
99 70 border-left: 1px solid #666666;
100 71 border-right: 1px solid #666666;
101 72 line-height: 1.5em;
102 - padding: 0 0.5em;
103 - }
73 + padding: 0 0.5em; }
104 74
105 75 tr.info-head {
106 76 background: #777777;
107 - color: white;
108 - }
77 + color: white; }
109 78
110 79 tr.info-odd {
111 - background: #eeeeee;
112 - }
80 + background: #eeeeee; }
113 81
114 82 tr.info-even {
115 - background: #f9f9f9;
116 - }
83 + background: #f9f9f9; }
117 84
118 - /*******************************
119 - [Main]
120 - ********************************/
121 - div.submitbox {
85 + .submitbox {
122 86 background: #eeeeff;
123 87 border: 1px dotted #99aaee;
124 88 padding: 5px;
125 89 margin: 10px 0px;
126 90 color: black;
127 - font-size: 13px;
128 - }
91 + font-size: 13px; }
129 92
130 - div.errorExplanation {
93 + .errorExplanation {
131 94 border: 1px dotted gray;
132 95 color: #bb2222;
133 96 padding: 5px 15px 5px 15px;
134 97 margin-bottom: 5px;
135 98 background-color: white;
136 - font-weight: normal;
137 - }
138 -
139 -
140 - div.errorExplanation h2 {
99 + font-weight: normal; }
100 + .errorExplanation h2 {
141 101 color: #cc1111;
142 - font-weight: bold;
143 - }
102 + font-weight: bold; }
144 103
145 - /*******************************
146 - [Settings]
147 - ********************************/
148 104 table.uinfo {
149 105 border-collapse: collapse;
150 106 border: 1px solid black;
151 - font-size: 13px;
152 - }
107 + font-size: 13px; }
153 108
154 109 td.uinfo {
155 110 vertical-align: top;
156 111 border: 1px solid black;
157 - padding: 5px;
158 - }
112 + padding: 5px; }
159 113
160 114 th.uinfo {
161 115 background: lightgreen;
162 116 vertical-align: top;
163 117 text-align: right;
164 118 border: 1px solid black;
165 - padding: 5px;
166 - }
119 + padding: 5px; }
167 120
168 - /*******************************
169 - [Submission]
170 - ********************************/
171 - div.compilermsgbody {
172 - font-family: monospace;
173 - }
121 + .compilermsgbody {
122 + font-family: monospace; }
174 123
175 - div.task-menu {
124 + .task-menu {
176 125 text-align: center;
177 126 font-size: 13px;
178 127 line-height: 1.75em;
@@ -180,24 +129,16
180 129 border-top: 1px dashed gray;
181 130 border-bottom: 1px dashed gray;
182 131 margin-top: 2px;
183 - margin-bottom: 4px;
184 - }
132 + margin-bottom: 4px; }
185 133
186 - /*******************************
187 - [Submission]
188 - ********************************/
189 134 table.taskdesc {
190 135 border: 2px solid #dddddd;
191 136 border-collapse: collapse;
192 137 margin: 10px auto;
193 138 width: 90%;
194 - font-size: 13px;
195 - }
196 -
139 + font-size: 13px; }
197 140 table.taskdesc p {
198 - font-size: 13px;
199 - }
200 -
141 + font-size: 13px; }
201 142 table.taskdesc tr.name {
202 143 border: 2px solid #dddddd;
203 144 background: #dddddd;
@@ -205,138 +146,121
205 146 font-weight: bold;
206 147 font-size: 14px;
207 148 line-height: 1.5em;
208 - text-align: center;
209 - }
210 -
149 + text-align: center; }
211 150 table.taskdesc td.desc-odd {
212 151 padding: 5px;
213 152 padding-left: 20px;
214 - background: #fefeee;
215 - }
216 -
153 + background: #fefeee; }
217 154 table.taskdesc td.desc-even {
218 155 padding: 5px;
219 156 padding-left: 20px;
220 - background: #feeefe;
221 - }
157 + background: #feeefe; }
222 158
223 - /**********************
224 - Announcement
225 - ***********************/
226 -
227 - div.announcementbox {
159 + .announcementbox {
228 160 margin: 10px 0px;
229 161 background: #bbddee;
230 - padding: 1px;
231 - }
232 -
233 - div.announcementbox span.title {
162 + padding: 1px; }
163 + .announcementbox span.title {
234 164 font-weight: bold;
235 165 color: #224455;
236 166 padding-left: 10px;
237 - line-height: 1.6em;
238 - }
239 -
240 - div.announcement {
167 + line-height: 1.6em; }
168 + .announcementbox .announcement {
241 169 margin: 2px;
242 170 background: white;
243 171 padding: 1px;
244 172 padding-left: 10px;
245 173 padding-right: 10px;
246 174 padding-top: 5px;
247 - padding-bottom: 5px;
248 - }
249 -
250 - .announcement p {
175 + padding-bottom: 5px; }
176 + .announcementbox .announcement p {
251 177 font-size: 12px;
252 - margin: 2px;
253 - }
178 + margin: 2px; }
254 179
255 - div.pub-info, div.pub-info p {
180 + .pub-info {
256 181 text-align: right;
257 182 font-style: italic;
258 - font-size: 9px;
259 - }
183 + font-size: 9px; }
184 + .pub-info p {
185 + text-align: right;
186 + font-style: italic;
187 + font-size: 9px; }
260 188
261 189 .announcement .toggles {
262 190 font-weight: normal;
263 191 float: right;
264 - font-size: 80%;
265 - }
266 -
192 + font-size: 80%; }
267 193 .announcement .announcement-title {
268 - font-weight: bold;
269 - }
194 + font-weight: bold; }
270 195
271 - /******************
272 - Messages
273 - ******************/
274 -
275 - div.message {
276 - margin: 10px 0 0;
277 - }
278 -
279 - div.message div.message {
280 - margin: 0 0 0 30px;
281 - }
282 -
283 - div.message div.body {
196 + .message {
197 + margin: 10px 0 0; }
198 + .message .message {
199 + margin: 0 0 0 30px; }
200 + .message .message .stat {
201 + font-size: 10px;
202 + line-height: 1.75em;
203 + padding: 0 5px;
204 + color: #444444;
205 + background: #bbbbbb;
206 + font-weight: bold; }
207 + .message .body {
284 208 border: 2px solid #dddddd;
285 209 background: #fff8f8;
286 - padding-left: 5px;
287 - }
288 -
289 - div.message div.reply-body {
210 + padding-left: 5px; }
211 + .message .reply-body {
290 212 border: 2px solid #bbbbbb;
291 213 background: #fffff8;
292 - padding-left: 5px;
293 - }
294 -
295 - div.message div.stat {
214 + padding-left: 5px; }
215 + .message .stat {
296 216 font-size: 10px;
297 217 line-height: 1.75em;
298 218 padding: 0 5px;
299 219 color: #333333;
300 220 background: #dddddd;
301 - font-weight: bold;
302 - }
221 + font-weight: bold; }
303 222
304 - div.message div.message div.stat {
305 - font-size: 10px;
306 - line-height: 1.75em;
307 - padding: 0 5px;
308 - color: #444444;
309 - background: #bbbbbb;
310 - font-weight: bold;
311 - }
312 -
313 - /********************
314 - Registration
315 - ********************/
316 - div.contest-title {
223 + .contest-title {
317 224 color: white;
318 225 text-align: center;
319 - line-height: 2em;
320 - }
226 + line-height: 2em; }
321 227
322 - div.registration-desc {
228 + .registration-desc {
229 + border: 1px dotted gray;
230 + background: #f5f5f5;
231 + padding: 5px;
232 + margin: 10px 0;
233 + font-size: 12px;
234 + line-height: 1.5em; }
235 +
236 + .test-desc {
323 237 border: 1px dotted gray;
324 238 background: #f5f5f5;
325 239 padding: 5px;
326 240 margin: 10px 0;
327 241 font-size: 12px;
328 - line-height: 1.5em;
329 - }
242 + line-height: 1.5em; }
330 243
331 - /********************
332 - [Test Interface]
333 - ********************/
244 + .problem-list {
245 + width: 200px;
246 + float: left; }
334 247
335 - div.test-desc {
336 - border: 1px dotted gray;
337 - background: #f5f5f5;
248 + .problem-bar {
249 + margin-top: 5px;
338 250 padding: 5px;
339 - margin: 10px 0;
340 - font-size: 12px;
341 - line-height: 1.5em;
342 - }
251 + background: #e0e0e0; }
252 + .problem-bar span.problem-title {
253 + font-weight: bold;
254 + font-size: 110%; }
255 +
256 + .problem-content {
257 + float: left;
258 + margin-left: 10px;
259 + width: 700px; }
260 +
261 + .problem-panel {
262 + border: 1px black solid;
263 + padding: 5px; }
264 + .problem-panel .problem-form {
265 + border: 1px dotted #99aaee;
266 + background: #eeeeff; }
You need to be logged in to leave comments. Login now