File tree Expand file tree Collapse file tree 5 files changed +49
-0
lines changed Expand file tree Collapse file tree 5 files changed +49
-0
lines changed Original file line number Diff line number Diff line change @@ -110,6 +110,7 @@ impl CratesfyiHandler {
110
110
router. get ( "/releases/:author/:page" , releases:: author_handler) ;
111
111
router. get ( "/releases/activity" , releases:: activity_handler) ;
112
112
router. get ( "/releases/search" , releases:: search_handler) ;
113
+ router. get ( "/releases/queue" , releases:: build_queue_handler) ;
113
114
router. get ( "/crate/:name" , crate_details:: crate_details_handler) ;
114
115
router. get ( "/crate/:name/" , crate_details:: crate_details_handler) ;
115
116
router. get ( "/crate/:name/:version" , crate_details:: crate_details_handler) ;
Original file line number Diff line number Diff line change @@ -500,3 +500,20 @@ pub fn activity_handler(req: &mut Request) -> IronResult<Response> {
500
500
. set_true ( "javascript_highchartjs" )
501
501
. to_resp ( "releases_activity" )
502
502
}
503
+
504
+
505
+ pub fn build_queue_handler ( req : & mut Request ) -> IronResult < Response > {
506
+ let conn = extension ! ( req, Pool ) ;
507
+ let mut crates: Vec < ( String , String ) > = Vec :: new ( ) ;
508
+ for krate in & conn. query ( "SELECT name, version FROM queue ORDER BY id ASC" , & [ ] ) . unwrap ( ) {
509
+ crates. push ( ( krate. get ( 0 ) , krate. get ( 1 ) ) ) ;
510
+ }
511
+ let is_empty = crates. is_empty ( ) ;
512
+ Page :: new ( crates)
513
+ . title ( "Build queue" )
514
+ . set ( "description" , "List of crates scheduled to build" )
515
+ . set_bool ( "queue_empty" , is_empty)
516
+ . set_true ( "show_releases_navigation" )
517
+ . set_true ( "releases_queue_tab" )
518
+ . to_resp ( "releases_queue" )
519
+ }
Original file line number Diff line number Diff line change 68
68
<li class =" pure-menu-item" ><a href =" /releases" class =" pure-menu-link{{ #if varsb.releases_navigation_recent_tab }} pure-menu-active{{ /if }} " ><i class =" fa fa-fw fa-leaf" ></i ><span class =" title" > Recent</span ></a ></li >
69
69
<li class =" pure-menu-item" ><a href =" /releases/stars" class =" pure-menu-link{{ #if varsb.releases_navigation_stars_tab }} pure-menu-active{{ /if }} " ><i class =" fa fa-fw fa-star" ></i ><span class =" title" > Stars</span ></a ></li >
70
70
<li class =" pure-menu-item" ><a href =" /releases/activity" class =" pure-menu-link{{ #if varsb.releases_navigation_activity_tab }} pure-menu-active{{ /if }} " ><i class =" fa fa-fw fa-line-chart" ></i ><span class =" title" > Activity</span ></a ></li >
71
+ <li class =" pure-menu-item" ><a href =" /releases/queue" class =" pure-menu-link{{ #if varsb.releases_queue_tab }} pure-menu-active{{ /if }} " ><i class =" fa fa-fw fa-list-ol" ></i ><span class =" title" > Queue</span ></a ></li >
71
72
{{ #if varss.author }}
72
73
<li class =" pure-menu-item" ><a href =" #" class =" pure-menu-link pure-menu-active" ><i class =" fa fa-fw fa-user" ></i ><span class =" title" > {{ varss.author }} </span ></a ></li >
73
74
{{ /if }}
Original file line number Diff line number Diff line change
1
+ {{> header }}
2
+
3
+ <div class =" container" >
4
+ <div class =" recent-releases-container" >
5
+
6
+ <div class =" release" >
7
+ {{ #if varsb.queue_empty }}
8
+ <strong >There is nothing in queue</strong >
9
+ {{ else }}
10
+ <strong >Queue</strong >
11
+ {{ /if }}
12
+ </div >
13
+
14
+ <ol class =" queue-list" >
15
+ {{ #each content }}
16
+ <li ><a href =" https://crates.io/crates/{{ this. [0 ]}} " >{{ this. [0 ]}} -{{ this. [1 ]}} </a ></li >
17
+ {{ /each }}
18
+ </ol >
19
+ </div >
20
+ </div >
21
+
22
+ {{> footer }}
Original file line number Diff line number Diff line change @@ -184,6 +184,14 @@ div.recent-releases-container {
184
184
padding : 0 ;
185
185
}
186
186
187
+ ol .queue-list li {
188
+ list-style-type : decimal ;
189
+ margin-left : 20px ;
190
+ a {
191
+ color : $color-url ;
192
+ }
193
+ }
194
+
187
195
strong {
188
196
font-weight : 500 ;
189
197
}
You can’t perform that action at this time.
0 commit comments