forked from lbsadmin/nodeMessageBoard
		
	
		
			
				
	
	
		
			145 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
|  <html>
 | |
|   <head>
 | |
|     <meta charset="UTF-8">
 | |
|     <title>SMS Board</title>
 | |
|     <link rel='stylesheet' href='sprite/emoji.css' >
 | |
|     <link rel="stylesheet" href="/css/bootstrap.min.css" />
 | |
|     <script src="/js/jquery-1.12.1.min"></script>
 | |
|     <script src="/js/jquery-ui.js"></script>
 | |
|     <script src="/socket.io/socket.io.js"></script>
 | |
|     <style>
 | |
|     /* Sticky footer styles
 | |
|     -------------------------------------------------- */
 | |
|     html, body {
 | |
|       height: 100%;
 | |
|       /* The html and body elements cannot have any padding or margin. */
 | |
|     }
 | |
|     /* Wrapper for page content to push down footer */
 | |
|     #wrap {
 | |
|       min-height: 100%;
 | |
|       height: auto;
 | |
|       /* Negative indent footer by its height */
 | |
|       margin: 0 auto -60px;
 | |
|       /* Pad bottom by footer height */
 | |
|       padding: 0 0 60px;
 | |
|     }
 | |
|     /* Set the fixed height of the footer here */
 | |
|     #footer {
 | |
|       height: 100px;
 | |
|       position: fixed;
 | |
|       bottom: 0;
 | |
|       width: 100%;
 | |
|     }
 | |
|     </style>
 | |
|     <script>
 | |
|     const toDisplay = 4; //define the number of messages to show
 | |
|     var iosocket;
 | |
|     var currentMessageCount = 0;
 | |
|     var newDiv;
 | |
|     var mynumber;
 | |
| 
 | |
|     function getColor(num){
 | |
|       switch(num){
 | |
|         case 0:
 | |
|         return  "#428bca"; //blue
 | |
|         break;
 | |
|         case 1:
 | |
|         return  "#5cb85c"; //green
 | |
|         break;
 | |
|         case 2:
 | |
|         return  "#5bc0de"; //lightblue
 | |
|         break;
 | |
|         case 3:
 | |
|         return  "#f0ad4e"; //orange
 | |
|         break;
 | |
|         case 4:
 | |
|         return  "#d9534f"; //red
 | |
|         break;
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     function initSocketIO() {
 | |
|       iosocket = io.connect();
 | |
|       iosocket.on('clientrefresh', function() {
 | |
|         location.reload();
 | |
|       });
 | |
| 
 | |
|       iosocket.on('connect', function() {
 | |
|         iosocket.on('debugMessage', function(message) {
 | |
|           alert(message);
 | |
|         });
 | |
| 
 | |
|         iosocket.on('config', function(phonenumber) {
 | |
|           mynumber = phonenumber;
 | |
|           $( "span.number" ).html(mynumber);
 | |
|         });
 | |
| 
 | |
|         iosocket.on('newMessage', function(time,number,message,color) {
 | |
|           var censoredNumber = number.substring(0,3) + "********" +number.substring(number.length - 3, number.length);
 | |
|           var messages = document.getElementById('messagesBody');
 | |
|           var newDiv = document.createElement('div');
 | |
|           var newH1 = document.createElement('h1');
 | |
|           var newP = document.createElement('p');
 | |
| 
 | |
|           newH1.innerHTML = message;
 | |
|           newP.innerHTML = "by " + censoredNumber + " at " + time;
 | |
|           newDiv.style.backgroundColor = getColor(color); //need this on both for some browsers (especially safari) to recognize...
 | |
|           newDiv.style = "background-color:" + getColor(color) + " !important; padding:10px 0; margin:10px 0;";
 | |
|           newDiv.className = "jumbotron";
 | |
|           newDiv.appendChild(newH1);
 | |
|           newDiv.appendChild(newP);
 | |
|           currentMessageCount++;
 | |
| 
 | |
|           if(currentMessageCount > toDisplay) {
 | |
|             //Remove the top div
 | |
|             $('#messagesBody').find('div').first().slideUp(function() {
 | |
|               $(this).remove();
 | |
|               document.getElementById('messagesBody').appendChild(newDiv);
 | |
|             });
 | |
|             currentMessageCount--;
 | |
|           } else {
 | |
|             document.getElementById('messagesBody').appendChild(newDiv);
 | |
|           }
 | |
|         });
 | |
|       });
 | |
|     };
 | |
| 
 | |
|     function initButton() {
 | |
|       $("#check").button();
 | |
|     };
 | |
| 
 | |
|     window.onload = function() {
 | |
|       initSocketIO();
 | |
|       iosocket.emit('getLastMessages',toDisplay);
 | |
|       iosocket.emit('getConfig');
 | |
|     };
 | |
| 
 | |
|     $(document).ready(function() {
 | |
|       $('#check').click(function() {
 | |
|         iosocket.emit('sendAT',toggleVal);
 | |
|       });
 | |
|     });
 | |
|     
 | |
|     </script>
 | |
|   </head>
 | |
|   <body style="/*background-color: #D4D4D4;*/">
 | |
|     <div style="text-align:center;" >
 | |
|       <h2>Send an SMS with a message to <span class="number" style="color:#3399ff;"></span></h2>
 | |
|       <div id="wrap">
 | |
|         <div id="messagesBody"></div>
 | |
|         <br>
 | |
|         <br>
 | |
|         <div style="display:none;" id="btnHolder">
 | |
|           <h2>Debug functions</h2>
 | |
|           <input type="checkbox" id="check" value="toggle"/><label for="check">Send AT</label>
 | |
|           <div id="debugOut"> </div>
 | |
|         </div>
 | |
|       </div>
 | |
|       <div id="footer">
 | |
|       <h2>Send an SMS with a message to <span class="number" style="color:#3399ff;"></span></h2>
 | |
|       </div>
 | |
|     </div>
 | |
|   </body>
 | |
|  </html>
 |