mirror of
https://github.com/mkschreder/juci.git
synced 2025-01-09 04:19:29 +08:00
Added overview page to juci inteno theme
This commit is contained in:
parent
a13b607c06
commit
97cf1356ed
2
Makefile
2
Makefile
@ -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
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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
|
||||
|
25
juci-theme-inteno/juci-theme-build-templates
Executable file
25
juci-theme-inteno/juci-theme-build-templates
Executable 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);
|
@ -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;
|
||||
}
|
||||
|
BIN
juci-theme-inteno/src/fonts/eurostyle.woff
Normal file
BIN
juci-theme-inteno/src/fonts/eurostyle.woff
Normal file
Binary file not shown.
BIN
juci-theme-inteno/src/img/iopsys_logo.png
Normal file
BIN
juci-theme-inteno/src/img/iopsys_logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.6 KiB |
@ -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>
|
||||
|
@ -1,6 +1,6 @@
|
||||
JUCI.app
|
||||
.controller("OverviewPageCtrl", function($scope, $rpc, $uci, $config, gettext, $tr){
|
||||
|
||||
|
||||
});
|
||||
|
||||
JUCI.page("overview", "pages/overview.html");
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
10
juci-update
10
juci-update
@ -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}
|
||||
|
Loading…
Reference in New Issue
Block a user