Added overview page to juci inteno theme

This commit is contained in:
Martin Schröder 2015-06-10 12:31:56 +02:00
parent a13b607c06
commit 97cf1356ed
14 changed files with 191 additions and 70 deletions

View File

@ -1,4 +1,4 @@
DIRS-y:=juci juci-mod-voice juci-mod-wireless juci-mod-tv juci-mod-system juci-mod-status juci-mod-network
DIRS-y:=juci juci-mod-voice juci-mod-wireless juci-mod-tv juci-mod-system juci-mod-status juci-mod-network juci-theme-inteno
export JUCI_TEMPLATE_CC=$(shell pwd)/juci-build-tpl-cache

View File

@ -56,10 +56,13 @@ var rpc_calls = {
var spawn = require('child_process').spawn;
setTimeout(function recompile(){
spawn('make', ["debug"], { customFds: [0,1,2] })
spawn('make', ["-C", "juci-theme-inteno"], { customFds: [0,1,2] })
.on("exit", function(code){
console.log("Recompiled gui, code: "+code);
setTimeout(recompile, 5000);
spawn('make', ["debug"], { customFds: [0,1,2] })
.on("exit", function(code){
console.log("Recompiled gui, code: "+code);
setTimeout(recompile, 5000);
});
});
}, 0);

View File

@ -12,6 +12,7 @@ files:
$(INSTALL_DIR) ./htdocs/css
$(INSTALL_DIR) ./htdocs/js
$(CP) ./src/img htdocs/
$(CP) ./src/fonts htdocs/
STYLES:=$(wildcard src/css/*.css)
CODE:=$(wildcard src/*.js src/pages/*.js src/widgets/*.js)
@ -24,7 +25,7 @@ $(JS): $(CODE)
cat $(CODE) > $@
$(HTML): $(TEMPLATES)
$(JUCI_TEMPLATE_CC) $(TEMPLATES) $(HTML)
./juci-theme-build-templates $(TEMPLATES) $(HTML)
clean:
rm -rf htdocs

View File

@ -0,0 +1,25 @@
#!/usr/bin/node
var fs = require("fs");
//var JSON = require("JSON");
var output = process.argv[process.argv.length - 1];
var input = process.argv.splice(2, process.argv.length - 3);
if(input.length == 0) throw new Error("Please specify at least one input file and one output file!");
//console.log(input+" > "+output);
var templates = {};
input.map(function(x){
var name = x.replace(/^src\//, "");
templates[name] = String(fs.readFileSync(x));
});
var code = "";
Object.keys(templates).map(function(k){
code += "JUCI.template(\""+k+"\", "+JSON.stringify(templates[k].replace(/\t/gi, ""))+");";
});
fs.writeFileSync(output, code);

View File

@ -1,34 +1,98 @@
@font-face {
font-family: "eurostyle";
src: url("/fonts/eurostyle.woff") format('woff');
}
body {
font-size: 16px;
}
div.logo {
background-image: url('../img/inteno_white.png');
background-image: url('../img/iopsys_logo.png');
background-size: 100% auto;
height: 20px;
width: 91px;
}
.top-bar {
margin-bottom: 20px;
background-color: #EBEBEB;
border-bottom: 1px solid #ccc;
padding-bottom: 10px;
}
.navbar-default {
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
width: 189px;
height: 40px;
}
.juci-nav a {
color: #444;
}
.nav > li.open > a {
color: #ee0000 !important;
}
.navbar .nav > li.open > a {
color: #fff !important;
.juci-content {
min-height: 1000px;
}
.overview-banner {
background: url("../img/family_web.jpg") repeat scroll center center !important;
width: 100%;
height: 400px;
margin-bottom: 30px;
}
.overview-box h3 {
line-height: 40px;
margin-left: 90px;
font-family: eurostyle;
font-weight: bold;
text-transform: uppercase;
}
.overview-box .box-header {
text-align: center;
}
.overview-box .overview-circle {
background-color: #009CFF;
width: 80px;
border-radius: 40px;
height: 80px;
box-shadow: 2px 2px 5px inset;
float: left;
text-align: center;
line-height: 110px;
}
.overview-status-box {
background-color: rgba(0, 0, 0, 0.5);
color: white;
border-radius: 5px;
line-height: 35px;
}
.top-navbar {
color: #111 !important;
background: rgba(0,0,0,0);
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}
.top-navbar .navbar-nav > li {
font-family: "eurostyle";
font-size: 1.1em;
letter-spacing: 1px;
}
.top-navbar .navbar-nav > li > a {
background-color: transparent;
padding-bottom: 8px !important;
padding-top: 8px !important;
color: #111 !important;
}
.top-navbar .navbar-nav > .open > a,
.top-navbar .navbar-nav > .open > a:hover {
background-color: #eee;
color: #111 !important;
border-bottom: 2px solid red;
}
.top-navbar .navbar-nav > .open > a:focus {
background-color: transparent;
}
.top-navbar .navbar-nav {
margin-top: 20px;
margin-left: 30px;
}
.animate-show {
line-height: 20px;
@ -64,6 +128,10 @@ h4.detail-strong {
font-size: 1.2em;
}
.navbar.transparent.navbar-inverse .navbar-inner {
background: rgba(0,0,0,0);
}
.radio label.detail-strong-input {
font-size: 1em;
font-weight: 700;
@ -80,3 +148,7 @@ h4.detail-strong {
div.error {
color: #a94442;
}
.footer-right {
text-align: right;
}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -1,5 +1,35 @@
<juci-layout-single-column>
<juci-layout-naked>
<div ng-controller="OverviewPageCtrl">
Inteno
<div class="overview-banner">
<div class="container">
<div class="row" style="padding-top: 20px;">
<div class="col-sm-3 pull-right overview-status-box">
<div class="row" ng-repeat="row in statusBoxItems">
<div class="col-sm-2">
<i class="fa fa-{{row.icon}}"/>
</div>
<div class="col-sm-8">{{row.label}}</div>
<div class="col-sm-2" style="text-align: right;">
<i class="fa fa-circle"/>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="col-sm-4 overview-box">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title" style="font-size: 1.7em; padding-top: 0.3em; font-weight: bold; font-family: 'eurostyle';">
<i class="fa fa-wifi" style="margin-right: 10px;"/>WiFi
</h3>
</div>
<div class="panel-body ">
panel body
</div>
</div>
</div>
</div>
</div>
</juci-layout-single-column>
</juci-layout-naked>

View File

@ -1,6 +1,6 @@
JUCI.app
.controller("OverviewPageCtrl", function($scope, $rpc, $uci, $config, gettext, $tr){
});
JUCI.page("overview", "pages/overview.html");

View File

@ -1,7 +1,4 @@
<div class="container" role="main">
<div class="row">
<div class="col-xs-12">
<ng-transclude></ng-transclude>
</div>
</div>
<div>
<juci-navbar></juci-navbar>
<ng-transclude></ng-transclude>
</div>

View File

@ -1,15 +1,8 @@
<juci-top-bar></juci-top-bar>
<div>
<juci-navbar></juci-navbar>
<div class="container dynheight" role="main" >
<div class="row">
<div class="row" style="padding-top: 30px;">
<div class="col-xs-12">
<div id="rhombus-wrap" class="visible-lg visible-md visible-sm">
<div id="logo"> </div>
<div id="rhombus"> </div>
</div>
<div class="row">
<juci-navbar></juci-navbar>
</div>
<div class="row">
<div class="col-xs-12 vf-content ">
<ng-transclude></ng-transclude>

View File

@ -1,10 +1,8 @@
<div>
<juci-navbar></juci-navbar>
<div class="juci-content container dynheight" role="main" >
<div class="row">
<div class="row" style="padding-top: 30px;">
<div class="col-xs-12">
<div class="row">
<juci-navbar></juci-navbar>
</div>
<div class="row vf-content ">
<div class="col-md-3">
<juci-nav></juci-nav>

View File

@ -1,21 +1,23 @@
<div class="navbar navbar-default" ng-controller="NavigationCtrl">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only" translate>Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/#!overview">
<div class="logo"></div>
</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav" auto-active>
<li class="dropdown" ng-repeat="item in tree.children_list track by $index">
<a href="#!{{item.path}}" role="button" >{{item.text | translate}} </a>
</li>
</ul>
<div class="navbar-default top-navbar" ng-controller="NavigationCtrl">
<div class="container" style="height: 70px">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only" translate>Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/#!overview">
<div class="logo"></div>
</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav" auto-active>
<li class="dropdown" ng-repeat="item in tree.children_list track by $index">
<a href="#!{{item.path}}" role="button" >{{item.text | translate}} </a>
</li>
</ul>
</div>
</div>
</div>

View File

@ -60,9 +60,9 @@ HTML='<!doctype html>
</body>
</html>'
STYLES_HTML="<link href='__all.css' rel='stylesheet' type='text/css' />"
SCRIPTS_HTML="<script src='__all.js'></script>"
for file in `find ${WWW}/css -name "*.css*"`; do
STYLES_HTML="" #"<link href='__all.css' rel='stylesheet' type='text/css' />"
SCRIPTS_HTML="" #"<script src='__all.js'></script>"
for file in `find ${WWW}/css -name "*.css*" | sort`; do
echo "Adding $file to index"
style=${file#${WWW}}
style=${style%.gz}
@ -73,7 +73,7 @@ done
#cat ${INDEX} | tr -d '\n' | sed "s/<!-- STYLES_BEGIN -->.*<!-- STYLES_END -->/<!-- STYLES_BEGIN -->${STYLES_HTML}<!-- STYLES_END -->/"
#cat /www/index.html | tr -d '\n' | sed "s/<!-- STYLES_BEGIN -->.*<!-- STYLES_END -->/<!-- STYLES_BEGIN -->test<!-- STYLES_END -->/g"
for file in `find ${WWW}/js -name "*.js*"`; do
for file in `find ${WWW}/js -name "*.js*" | sort`; do
echo "Adding $file to index"
JSFILE=${file#${WWW}}
JSFILE=${JSFILE%.gz}
@ -99,4 +99,4 @@ echo "<!doctype html>
</body>
</html>" > ${INDEX}
gzip -f ${INDEX}
#gzip -f ${INDEX}