From 72844ca385bf7c503826cf6b684c8fa724973064 Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Sat, 17 Jun 2017 16:22:05 -0400 Subject: ui: Add navigation bar (for login details). --- src/render/mod.rs | 16 +++++++++++++++- src/server.rs | 17 ++++++++--------- static/main.css | 27 +++++++++++++++++++++++++++ 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) -> 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 { - Some(Aaa(v)) + Some(Login{ user: v }) } } fn overview(r: &mut Request) -> IronResult { - let mut _value = match try!(r.session().get::()) { - Some(aaa) => aaa, - None => Aaa("".to_owned()), - }; + let mut _value = try!(r.session().get::()); let name = r.extensions .get::() 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; -- cgit v1.2.3