1
0

8 Commits

Author SHA1 Message Date
fd183a7d4f Responive layout for demo.html 2017-03-16 20:36:28 +01:00
de0480b859 Fix scrolÃing and review breakÃpoints 2017-03-11 16:23:55 +01:00
236cae183a cleared unneeded dependencies 2017-03-11 14:06:54 +01:00
d131979c5d First edit for better readability 2017-03-10 21:31:57 +01:00
9c0c30c5c2 Signed-off-by: eorg_oz <eorg.vie@gmail.com> 2017-03-09 18:28:03 +01:00
462b2a0f9e Move debug to config 2017-03-08 16:20:51 +01:00
d1a99e9f65 Move demoMode to config.json - Correction 2017-03-06 18:12:48 +01:00
1d4301ac8d Move demoMode to config.json 2017-03-06 18:04:01 +01:00
7 changed files with 414 additions and 406 deletions

4
app.js
View File

@ -2,7 +2,7 @@ var server = require("./server");
var router = require("./route"); var router = require("./route");
var requestHandlers = require("./requestHandlers"); var requestHandlers = require("./requestHandlers");
var debug = false; // todo move this to configfile var debug = server.debugMode();
var handle = {} var handle = {}
handle["/"] = requestHandlers.sendInterface; handle["/"] = requestHandlers.sendInterface;
@ -14,7 +14,7 @@ handle["/js/jquery-ui.js"] = requestHandlers.sendJqueryUI;
handle["/css/bootstrap.min.css"] = requestHandlers.sendBootstrap; handle["/css/bootstrap.min.css"] = requestHandlers.sendBootstrap;
handle["/clear"] = requestHandlers.sendClear; handle["/clear"] = requestHandlers.sendClear;
if(server.demoMode==1){ if(server.demoMode()){
handle["/demo"] = requestHandlers.sendDemo; handle["/demo"] = requestHandlers.sendDemo;
}else{ }else{
console.log("ERROR: Demo mode not active"); console.log("ERROR: Demo mode not active");

View File

@ -1,25 +1,20 @@
<!DOCTYPE html> <!DOCTYPE html>
<meta charset="UTF-8">
<html> <html>
<head> <head>
<meta charset="UTF-8">
<title>SMS Board</title> <title>SMS Board</title>
<link rel='stylesheet' href='sprite/emoji.css' > <link rel='stylesheet' href='sprite/emoji.css' >
<link rel="stylesheet" href="/css/bootstrap.min.css" /> <link rel="stylesheet" href="/css/bootstrap.min.css" />
<script src="/js/jquery-1.12.1.min"></script> <script src="/js/jquery-1.12.1.min"></script>
<script src="/js/jquery-ui.js"></script> <script src="/js/jquery-ui.js"></script>
<script src="/socket.io/socket.io.js"> <script src="/socket.io/socket.io.js"></script>
</script>
<style> <style>
/* Sticky footer styles /* Sticky footer styles
-------------------------------------------------- */ -------------------------------------------------- */
html, body {
html,
body {
height: 100%; height: 100%;
/* The html and body elements cannot have any padding or margin. */ /* The html and body elements cannot have any padding or margin. */
} }
/* Wrapper for page content to push down footer */ /* Wrapper for page content to push down footer */
#wrap { #wrap {
min-height: 100%; min-height: 100%;
@ -29,7 +24,6 @@ body {
/* Pad bottom by footer height */ /* Pad bottom by footer height */
padding: 0 0 60px; padding: 0 0 60px;
} }
/* Set the fixed height of the footer here */ /* Set the fixed height of the footer here */
#footer { #footer {
height: 100px; height: 100px;
@ -38,8 +32,6 @@ body {
width: 100%; width: 100%;
} }
</style> </style>
<script> <script>
const toDisplay = 4; //define the number of messages to show const toDisplay = 4; //define the number of messages to show
var iosocket; var iosocket;
@ -67,19 +59,13 @@ body {
} }
} }
function initSocketIO() {
function initSocketIO()
{
iosocket = io.connect(); iosocket = io.connect();
iosocket.on('clientrefresh', function() { iosocket.on('clientrefresh', function() {
location.reload(); location.reload();
}); });
iosocket.on('connect', function() { iosocket.on('connect', function() {
iosocket.on('debugMessage', function(message) { iosocket.on('debugMessage', function(message) {
alert(message); alert(message);
}); });
@ -89,13 +75,13 @@ body {
$( "span.number" ).html(mynumber); $( "span.number" ).html(mynumber);
}); });
iosocket.on('newMessage', function(time,number,message,color) { iosocket.on('newMessage', function(time,number,message,color) {
var censoredNumber = number.substring(0,3) + "********" +number.substring(number.length - 3, number.length); var censoredNumber = number.substring(0,3) + "********" +number.substring(number.length - 3, number.length);
var messages = document.getElementById('messagesBody'); var messages = document.getElementById('messagesBody');
newDiv = document.createElement('div'); var newDiv = document.createElement('div');
var newH1 = document.createElement('h1'); var newH1 = document.createElement('h1');
var newP = document.createElement('p'); var newP = document.createElement('p');
newH1.innerHTML = message; newH1.innerHTML = message;
newP.innerHTML = "by " + censoredNumber + " at " + time; newP.innerHTML = "by " + censoredNumber + " at " + time;
newDiv.style.backgroundColor = getColor(color); //need this on both for some browsers (especially safari) to recognize... newDiv.style.backgroundColor = getColor(color); //need this on both for some browsers (especially safari) to recognize...
@ -103,10 +89,9 @@ body {
newDiv.className = "jumbotron"; newDiv.className = "jumbotron";
newDiv.appendChild(newH1); newDiv.appendChild(newH1);
newDiv.appendChild(newP); newDiv.appendChild(newP);
currentMessageCount++; currentMessageCount++;
if(currentMessageCount > toDisplay)
{ if(currentMessageCount > toDisplay) {
//Remove the top div //Remove the top div
$('#messagesBody').find('div').first().slideUp(function() { $('#messagesBody').find('div').first().slideUp(function() {
$(this).remove(); $(this).remove();
@ -116,16 +101,13 @@ body {
} else { } else {
document.getElementById('messagesBody').appendChild(newDiv); document.getElementById('messagesBody').appendChild(newDiv);
} }
}); });
}); });
} };
function initButton() {
function initButton()
{
$("#check").button(); $("#check").button();
} };
window.onload = function() { window.onload = function() {
initSocketIO(); initSocketIO();
@ -133,25 +115,19 @@ body {
iosocket.emit('getConfig'); iosocket.emit('getConfig');
}; };
$(document).ready(function() { $(document).ready(function() {
$('#check').click(function() { $('#check').click(function() {
iosocket.emit('sendAT',toggleVal); iosocket.emit('sendAT',toggleVal);
}); });
}); });
</script> </script>
</head> </head>
<body style="/*background-color: #D4D4D4;*/"> <body style="/*background-color: #D4D4D4;*/">
<div style="text-align:center;" > <div style="text-align:center;" >
<h2>Send an SMS with a message to <span class="number" style="color:#3399ff;"></span></h2> <h2>Send an SMS with a message to <span class="number" style="color:#3399ff;"></span></h2>
<div id="wrap"> <div id="wrap">
<div id="messagesBody"> <div id="messagesBody"></div>
</div>
<br> <br>
<br> <br>
<div style="display:none;" id="btnHolder"> <div style="display:none;" id="btnHolder">
@ -160,9 +136,9 @@ body {
<div id="debugOut"> </div> <div id="debugOut"> </div>
</div> </div>
</div> </div>
<!-- <div id="footer"> <div id="footer">
<h2>Send an SMS with a message to <span class="number" style="color:#3399ff;"></span></h2> <h2 style="display: none;">Send an SMS with a message to <span class="number" style="color:#3399ff;"></span></h2>
</div>
</div> </div>
-->
</body> </body>
</html> </html>

View File

@ -1,37 +1,27 @@
<!DOCTYPE html> <!DOCTYPE html>
<meta charset="UTF-8">
<html> <html>
<head> <head>
<meta charset="UTF-8">
<title>Clear Board</title> <title>Clear Board</title>
<link rel='stylesheet' href='sprite/emoji.css' > <link rel='stylesheet' href='sprite/emoji.css' >
<link rel="stylesheet" href="/css/bootstrap.min.css" /> <link rel="stylesheet" href="/css/bootstrap.min.css" />
<script src="/js/jquery-1.12.1.min"></script> <script src="/js/jquery-1.12.1.min"></script>
<script src="/js/jquery-ui.js"></script> <script src="/js/jquery-ui.js"></script>
<script src="/socket.io/socket.io.js"></script> <script src="/socket.io/socket.io.js"></script>
<script> <script>
var iosocket; var iosocket;
function initSocketIO() {
function initSocketIO()
{
iosocket = io.connect(); iosocket = io.connect();
iosocket.on('connect', function() { iosocket.on('connect', function() {
iosocket.on('debugMessage', function(message) { iosocket.on('debugMessage', function(message) {
alert(message); alert(message);
}); });
}); });
} };
window.onload = function() { window.onload = function() {
initSocketIO(); initSocketIO();
}; };
$(document).ready(function() { $(document).ready(function() {
$('#clear').click(function() { $('#clear').click(function() {
var number = $('#number').val(); var number = $('#number').val();
@ -42,8 +32,6 @@
iosocket.emit('refreshClients'); iosocket.emit('refreshClients');
}); });
}); });
</script> </script>
</head> </head>
<body> <body>
@ -51,13 +39,16 @@
<div id="wrap"> <div id="wrap">
<div id="btnHolder"> <div id="btnHolder">
<h2>Functions</h2> <h2>Functions</h2>
<input type="number" id="number" value="1" min="1"/><label for="number">Number</label><br> <input type="number" id="number" value="1" min="1"/>
<label for="number">Number</label>
<br>
<input type="button" id="clear" value="clear"/> <input type="button" id="clear" value="clear"/>
<br> <br>
<input type="button" id="refresh" value="refresh"/> <input type="button" id="refresh" value="refresh"/>
<div id="debugOut"></div> <div id="debugOut"></div>
</div> </div>
</div> </div>
</div>
</body> </body>
</html> </html>

135
demo.html
View File

@ -2,43 +2,34 @@
<html> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=320, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>Chat</title> <title>Chat</title>
<script src="/js/jquery-1.12.1.min"></script> <script src="/js/jquery-1.12.1.min"></script>
<script src="/js/jquery-ui.js"></script> <script src="/js/jquery-ui.js"></script>
<script src="/socket.io/socket.io.js"></script> <script src="/socket.io/socket.io.js"></script>
</head>
<script type="text/javascript"> <script type="text/javascript">
var iosocket; var iosocket;
function initSocketIO() function initSocketIO() {
{
iosocket = io.connect(); iosocket = io.connect();
iosocket.on('connect', function() { iosocket.on('connect', function() {
createSystemMessage('[Connected]'); createSystemMessage('[Connected]');
console.log("connect"); console.log("connect");
iosocket.on('debugMessage', function(message) { iosocket.on('debugMessage', function(message) {
alert(message); alert(message);
}); });
iosocket.on('disconnect', function() { iosocket.on('disconnect', function() {
createSystemMessage('[Disconnected]'); createSystemMessage('[Disconnected]');
}); });
}); });
} }
window.onload = function() { window.onload = function() {
initSocketIO(); initSocketIO();
}; };
function createSystemMessage(message) { function createSystemMessage(message) {
var message = document.createTextNode(message); var message = document.createTextNode(message);
@ -68,7 +59,6 @@
chat.appendChild(messageBox); chat.appendChild(messageBox);
} }
function sendMessage() { function sendMessage() {
var user = document.getElementById('user'); var user = document.getElementById('user');
var message = document.getElementById('message'); var message = document.getElementById('message');
@ -87,30 +77,12 @@
if (( e.keyCode == 13 )&&(e.shiftKey === false)) { if (( e.keyCode == 13 )&&(e.shiftKey === false)) {
sendMessage(); sendMessage();
} }
} }
</script> </script>
<body>
<div id="wrapper">
<div id="chat_box" class="content"></div>
<div id="footer">
<div class="content">
<input type="text" id="number" value="+4301234567890" />
<input type="text" id="message" onkeypress="return submitEnter(event)" placeholder="Enter a Test Message! (Or emoji!, google if if you don't know how)" />
<input type="button" id="send_btn" value="Send" onclick="sendMessage()">
</div>
</div>
</div>
</body>
</html>
<style type="text/css"> <style type="text/css">
@import url('https://fonts.googleapis.com/css?family=Noto+Sans');
* { * {
font-family: "Arial"; font-family: "Noto Sans", sans-serif;
font-size: 24px; font-size: 24px;
} }
@ -126,7 +98,7 @@
#chat_box { #chat_box {
box-sizing: border-box; box-sizing: border-box;
height: 100%; height: calc(100% - 50px);
overflow: auto; overflow: auto;
padding-bottom: 50px; padding-bottom: 50px;
} }
@ -145,14 +117,18 @@
position: relative; position: relative;
} }
#user { width: 20%; } #number {
#message { width: 68%; } width: 20%;
max-width: 240px;
}
#message {
width: calc(90% - 360px);
}
#send_btn { #send_btn {
width: 10%; width: 120px;
position: absolute; position: relative;
right: 0; margin: 2px;
bottom: 0;
margin: 0;
} }
.content { .content {
@ -169,20 +145,23 @@
input[type="text"] { input[type="text"] {
background-color: #146EA8; background-color: #146EA8;
padding: 3px 10px; padding: 3px 10px;
margin: 2px;
max-width: 92%;
} }
input[type="button"] { input[type="button"] {
background-color: #f39c12; background-color: #f39c12;
border-right: 2px solid #e67e22; border-right: 1px solid #e67e22;
border-bottom: 2px solid #e67e22; border-bottom: 1px solid #e67e22;
min-width: 70px; min-width: 70px;
display: inline-block; display: inline-block;
position: relative;
} }
input[type="button"]:hover { input[type="button"]:hover {
background-color: #e67e22; background-color: #e67e22;
border-right: 2px solid #f39c12; border-right: 1px solid #f39c12;
border-bottom: 2px solid #f39c12; border-bottom: 1px solid #f39c12;
cursor: pointer; cursor: pointer;
} }
@ -194,23 +173,54 @@
font-size: 16px; font-size: 16px;
} }
@media(max-width: 1000px) { @media screen and (max-width: 1000px) {
.content { width: 90%; } .content { width: 90%; }
#send_btn {
position: relative;
}
} }
@media(max-width: 780px) { @media screen and (max-width: 780px) {
#footer { height: 91px; } #footer {
#chat_box { padding-bottom: 91px; } height: 91px;
}
#user { width: 100%; } #chat_box {
#message { width: 80%; } padding-bottom: 91px;
height: calc(100% - 91px);
} }
@media(max-width: 400px) { #number {
#footer { height: 135px; } width: 100%;
#chat_box { padding-bottom: 135px; } }
#message {
min-width: 60%;
}
#send_btn {
position: absolute;
right: 0;
bottom: 3px;
margin: 0;
width: 10%;
}
}
#message { width: 100%; } @media screen and (max-width: 400px) {
#footer {
height: 135px;
}
#chat_box {
padding-bottom: 135px;
height: calc(100% - 135px);
}
#number {
max-width: none;
width: 93%;
}
#message {
width: 93%;
}
#send_btn { #send_btn {
position: relative; position: relative;
margin-top: 3px; margin-top: 3px;
@ -218,3 +228,18 @@
} }
} }
</style> </style>
</head>
<body>
<div id="wrapper">
<div id="chat_box" class="content"></div>
<div id="footer">
<div class="content">
<input type="text" id="number" value="+4301234567890" />
<input type="text" id="message" onkeypress="return submitEnter(event)" placeholder="Enter a Message" />
<input type="button" id="send_btn" value="Send" onclick="sendMessage()">
</div>
</div>
</div>
</body>
</html>

View File

@ -4,7 +4,6 @@
"description": "A SMS Messageboard built using node and express", "description": "A SMS Messageboard built using node and express",
"main": "app.js", "main": "app.js",
"dependencies": { "dependencies": {
"async": "^2.0.0-rc.6",
"emojize": "^0.2.0", "emojize": "^0.2.0",
"lowdb": "^0.12.5", "lowdb": "^0.12.5",
"serialport": "^4.0.5", "serialport": "^4.0.5",

View File

@ -16,5 +16,15 @@
"param": "mynumber", "param": "mynumber",
"value": "+43************" "value": "+43************"
} }
],
"debug": [
{
"param": "demoMode",
"value": true
},
{
"param": "debugMode",
"value": false
}
] ]
} }

View File

@ -19,7 +19,14 @@ var numberRecieved = "";
var timeRecieved = ""; var timeRecieved = "";
var color = 0; var color = 0;
module.exports.demoMode = 1; module.exports.demoMode = function () {
return config('debug').chain().find({ param: 'demoMode' }).value()['value'];
};
module.exports.debugMode = function () {
return config('debug').chain().find({ param: 'debugMode' }).value()['value'];
};
// utility function for ucs2 decode // utility function for ucs2 decode
function ucs2Parse(ucs2){ function ucs2Parse(ucs2){