summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kjetil.orbekk@gmail.com>2017-06-17 16:22:05 -0400
committerKjetil Orbekk <kjetil.orbekk@gmail.com>2017-06-17 16:22:05 -0400
commit72844ca385bf7c503826cf6b684c8fa724973064 (patch)
treee539367acdd7f43539a4894e6df786e42712d85b
parent1ef1e9c309a187aaee3e736aef621b272cc805d8 (diff)
ui: Add navigation bar (for login details).
-rw-r--r--src/render/mod.rs16
-rw-r--r--src/server.rs17
-rw-r--r--static/main.css27
3 files changed, 50 insertions, 10 deletions
diff --git a/src/render/mod.rs b/src/render/mod.rs
index 75fd9b5..3b63a68 100644
--- a/src/render/mod.rs
+++ b/src/render/mod.rs
@@ -12,7 +12,21 @@ fn render_in_page<'a>(content: Box<RenderBox + 'a>) -> String {
link(rel="stylesheet", type="text/css", href="/static/main.css");
}
body {
- : content
+ nav {
+ ul {
+ li {
+ p { : "SystemHttpd" }
+ }
+ }
+ ul(class="right") {
+ li {
+ p { : "Login" }
+ }
+ }
+ }
+ main {
+ : content
+ }
}
}
}).into_string().unwrap()
diff --git a/src/server.rs b/src/server.rs
index dad728e..9e63cb3 100644
--- a/src/server.rs
+++ b/src/server.rs
@@ -14,25 +14,24 @@ use render;
use staticfile::Static;
use regex::Regex;
-struct Aaa(String);
+struct Login {
+ user: String,
+}
-impl iron_sessionstorage::Value for Aaa {
+impl iron_sessionstorage::Value for Login {
fn get_key() -> &'static str {
- "aaa"
+ "login"
}
fn into_raw(self) -> String {
- self.0
+ self.user
}
fn from_raw(v: String) -> Option<Self> {
- Some(Aaa(v))
+ Some(Login{ user: v })
}
}
fn overview(r: &mut Request) -> IronResult<Response> {
- let mut _value = match try!(r.session().get::<Aaa>()) {
- Some(aaa) => aaa,
- None => Aaa("".to_owned()),
- };
+ let mut _value = try!(r.session().get::<Login>());
let name = r.extensions
.get::<Router>()
diff --git a/static/main.css b/static/main.css
index abfa185..db30eb5 100644
--- a/static/main.css
+++ b/static/main.css
@@ -3,12 +3,39 @@ h1 { color: red; }
body {
font-family: "Arial";
font-size: 1em;
+ margin: 0;
+ padding: 0;
}
table, th, td, tr {
padding: 0;
margin: 0;
border-collapse: collapse;
}
+.right {
+ position: relative;
+ float: right;
+}
+nav {
+ background: lightblue;
+ overflow: hidden;
+ font-weight: bold;
+}
+nav ul {
+ margin: 0;
+ padding: 0;
+ display: inline-block;
+}
+nav ul li {
+ display: inline-block;
+ list-style-type: none;
+ margin: 0;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+ font-size: 1em;
+}
+main {
+ margin: 1em;
+}
th {
text-align: left;
background: lightgray;