From 34a8def31fe9c5cbc396b43c8a270885a0ee5dc8 Mon Sep 17 00:00:00 2001 From: Sagi Frimer Date: Sat, 2 Mar 2019 21:17:48 +0200 Subject: [PATCH] Added sidenav and random logo --- Python/app/ChameleonVisionApp.py | 3 ++- Site/CSS/Main.css | 35 ++++++++++++++++++++---- Site/Index.html | 45 ++++++++++++++----------------- Site/JS/main.js | 7 +++++ Site/assets/logo.png | Bin 0 -> 13524 bytes 5 files changed, 59 insertions(+), 31 deletions(-) create mode 100644 Site/JS/main.js create mode 100644 Site/assets/logo.png diff --git a/Python/app/ChameleonVisionApp.py b/Python/app/ChameleonVisionApp.py index 20f60cc36..90cb81ffa 100644 --- a/Python/app/ChameleonVisionApp.py +++ b/Python/app/ChameleonVisionApp.py @@ -14,7 +14,8 @@ class ChameleonApplication(tornado.web.Application): handlers = [(r"/", MainHandler), (r"/websocket", ChameleonWebSocket), (r"/CSS/(.*)", tornado.web.StaticFileHandler, {'path': os.path.join(os.path.dirname(__file__), "../../Site/CSS")}), - (r"/JS/(.*)", tornado.web.StaticFileHandler, {'path': os.path.join(os.path.dirname(__file__), "../../Site/JS")})] + (r"/JS/(.*)", tornado.web.StaticFileHandler, {'path': os.path.join(os.path.dirname(__file__), "../../Site/JS")}), + (r"/assets/(.*)", tornado.web.StaticFileHandler, {'path': os.path.join(os.path.dirname(__file__), "../../Site/assets")})] settings = dict( template_path=os.path.join(os.path.dirname(__file__), "../../Site") diff --git a/Site/CSS/Main.css b/Site/CSS/Main.css index c1732c8ac..91480ca4f 100644 --- a/Site/CSS/Main.css +++ b/Site/CSS/Main.css @@ -1,16 +1,41 @@ -body{ +body { background: #212121; } -.nav{ + +.nav { background: #343334; - box-shadow: 0 8px 5px #383838; + box-shadow: 0 3px 5px #343334; } -.nav > a{ + +.nav > a, .sidenav a { color: whitesmoke; font-family:Verdana; font-weight: 500; } -.nav > a:hover{ + +.nav > a:hover, .sidenav a:hover { color: #17a2b8; } + +.sidenav { + height: 100%; + width: 80px; + position: fixed; + z-index: 1; + top: 0; + left: 0; + background-color: #111; + overflow-x: hidden; + padding-top: 20px; + box-shadow: 3px 0px 5px #111; +} + +.main { + margin-left: 80px; +} + +#logo { + width: 100%; + height: 80px; +} \ No newline at end of file diff --git a/Site/Index.html b/Site/Index.html index 653faa43e..72ee0980c 100644 --- a/Site/Index.html +++ b/Site/Index.html @@ -1,28 +1,23 @@ - - - Chameleon Vision - - - - -
- -
- - + + + Chameleon Vision + + + + +
+ +
+
+ +
+ + \ No newline at end of file diff --git a/Site/JS/main.js b/Site/JS/main.js new file mode 100644 index 000000000..b3c54a0cb --- /dev/null +++ b/Site/JS/main.js @@ -0,0 +1,7 @@ +let ws = new WebSocket("ws://localhost:8888/websocket"); +ws.onopen = function () { + ws.send("hello"); +} +ws.onmessage = function (ev) { + alert(ev.data); +} \ No newline at end of file diff --git a/Site/assets/logo.png b/Site/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8335e858071254fec5f0815ce95f404330c4b547 GIT binary patch literal 13524 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 literal 0 HcmV?d00001