First commit
This commit is contained in:
		
							
								
								
									
										40
									
								
								views/index.ejs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								views/index.ejs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
 | 
			
		||||
<!doctype html>
 | 
			
		||||
<html>
 | 
			
		||||
  <head>
 | 
			
		||||
    <title>Socket.IO chat</title>
 | 
			
		||||
    <style>
 | 
			
		||||
      * { margin: 0; padding: 0; box-sizing: border-box; }
 | 
			
		||||
      body { font: 13px Helvetica, Arial; }
 | 
			
		||||
      form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
 | 
			
		||||
      form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }
 | 
			
		||||
      form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; }
 | 
			
		||||
      #messages { list-style-type: none; margin: 0; padding: 0; }
 | 
			
		||||
      #messages li { padding: 5px 10px; }
 | 
			
		||||
      #messages li:nth-child(odd) { background: #eee; }
 | 
			
		||||
      #messages { margin-bottom: 40px }
 | 
			
		||||
    </style>
 | 
			
		||||
  </head>
 | 
			
		||||
  <body>
 | 
			
		||||
    <ul id="messages"></ul>
 | 
			
		||||
    <form action="">
 | 
			
		||||
      <input id="m" autocomplete="off" /><button>Send</button>
 | 
			
		||||
    </form>
 | 
			
		||||
    <script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
 | 
			
		||||
    <script src="https://code.jquery.com/jquery-1.11.1.js"></script>
 | 
			
		||||
    <script>
 | 
			
		||||
      $(function () {
 | 
			
		||||
        var socket = io();
 | 
			
		||||
        $('form').submit(function(){
 | 
			
		||||
          socket.emit('chat message', $('#m').val());
 | 
			
		||||
          $('#m').val('');
 | 
			
		||||
          return false;
 | 
			
		||||
        });
 | 
			
		||||
        socket.on('chat message', function(msg){
 | 
			
		||||
          $('#messages').append($('<li>').html(msg));
 | 
			
		||||
          window.scrollTo(0, document.body.scrollHeight);
 | 
			
		||||
        });
 | 
			
		||||
      });
 | 
			
		||||
    </script>
 | 
			
		||||
  </body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										142
									
								
								views/login.ejs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										142
									
								
								views/login.ejs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,142 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
  <html>
 | 
			
		||||
    <head>
 | 
			
		||||
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
 | 
			
		||||
      <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
 | 
			
		||||
      <script>
 | 
			
		||||
      $('.message a').click(function(){
 | 
			
		||||
         $('form').animate({height: "toggle", opacity: "toggle"}, "slow");
 | 
			
		||||
      });
 | 
			
		||||
      $(function(){
 | 
			
		||||
        $( "input[name='repassword']" ).on('input', function(){
 | 
			
		||||
          if($( "input[name='password']" ).val() != $( "input[name='repassword']" ).val())
 | 
			
		||||
            $( "input[name='repassword']" ).css('color', 'red');
 | 
			
		||||
          else
 | 
			
		||||
            $( "input[name='repassword']" ).css('color', '');
 | 
			
		||||
        })
 | 
			
		||||
      });
 | 
			
		||||
      </script>
 | 
			
		||||
      <style>
 | 
			
		||||
      @import url(https://fonts.googleapis.com/css?family=Roboto:300);
 | 
			
		||||
 | 
			
		||||
      .login-page {
 | 
			
		||||
        width: 360px;
 | 
			
		||||
        padding: 8% 0 0;
 | 
			
		||||
        margin: auto;
 | 
			
		||||
      }
 | 
			
		||||
      .form {
 | 
			
		||||
        position: relative;
 | 
			
		||||
        z-index: 1;
 | 
			
		||||
        background: #FFFFFF;
 | 
			
		||||
        max-width: 360px;
 | 
			
		||||
        margin: 0 auto 100px;
 | 
			
		||||
        padding: 45px;
 | 
			
		||||
        text-align: center;
 | 
			
		||||
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
 | 
			
		||||
      }
 | 
			
		||||
      .form input {
 | 
			
		||||
        font-family: "Roboto", sans-serif;
 | 
			
		||||
        outline: 0;
 | 
			
		||||
        background: #f2f2f2;
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        border: 0;
 | 
			
		||||
        margin: 0 0 15px;
 | 
			
		||||
        padding: 15px;
 | 
			
		||||
        box-sizing: border-box;
 | 
			
		||||
        font-size: 14px;
 | 
			
		||||
      }
 | 
			
		||||
      .form button {
 | 
			
		||||
        font-family: "Roboto", sans-serif;
 | 
			
		||||
        text-transform: uppercase;
 | 
			
		||||
        outline: 0;
 | 
			
		||||
        background: rgb(106, 27, 154);
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        border: 0;
 | 
			
		||||
        padding: 15px;
 | 
			
		||||
        color: #FFFFFF;
 | 
			
		||||
        font-size: 14px;
 | 
			
		||||
        -webkit-transition: all 0.3 ease;
 | 
			
		||||
        transition: all 0.3 ease;
 | 
			
		||||
        cursor: pointer;
 | 
			
		||||
      }
 | 
			
		||||
      .form button:hover,.form button:active,.form button:focus {
 | 
			
		||||
        background: rgb(128, 31, 187);
 | 
			
		||||
      }
 | 
			
		||||
      .form .message {
 | 
			
		||||
        margin: 15px 0 0;
 | 
			
		||||
        color: #b3b3b3;
 | 
			
		||||
        font-size: 12px;
 | 
			
		||||
      }
 | 
			
		||||
      .form .message a {
 | 
			
		||||
        color: #a525ee;
 | 
			
		||||
        text-decoration: none;
 | 
			
		||||
      }
 | 
			
		||||
      .form .register-form {
 | 
			
		||||
        display: none;
 | 
			
		||||
      }
 | 
			
		||||
      .container {
 | 
			
		||||
        position: relative;
 | 
			
		||||
        z-index: 1;
 | 
			
		||||
        max-width: 300px;
 | 
			
		||||
        margin: 0 auto;
 | 
			
		||||
      }
 | 
			
		||||
      .container:before, .container:after {
 | 
			
		||||
        content: "";
 | 
			
		||||
        display: block;
 | 
			
		||||
        clear: both;
 | 
			
		||||
      }
 | 
			
		||||
      .container .info {
 | 
			
		||||
        margin: 50px auto;
 | 
			
		||||
        text-align: center;
 | 
			
		||||
      }
 | 
			
		||||
      .container .info h1 {
 | 
			
		||||
        margin: 0 0 15px;
 | 
			
		||||
        padding: 0;
 | 
			
		||||
        font-size: 36px;
 | 
			
		||||
        font-weight: 300;
 | 
			
		||||
        color: #1a1a1a;
 | 
			
		||||
      }
 | 
			
		||||
      .container .info span {
 | 
			
		||||
        color: #4d4d4d;
 | 
			
		||||
        font-size: 12px;
 | 
			
		||||
      }
 | 
			
		||||
      .container .info span a {
 | 
			
		||||
        color: #000000;
 | 
			
		||||
        text-decoration: none;
 | 
			
		||||
      }
 | 
			
		||||
      .container .info span .fa {
 | 
			
		||||
        color: #EF3B3A;
 | 
			
		||||
      }
 | 
			
		||||
      body {
 | 
			
		||||
        background: #8F20CF; /* fallback for old browsers */
 | 
			
		||||
        background: -webkit-linear-gradient(right, #8F20CF, #a525ee);
 | 
			
		||||
        background: -moz-linear-gradient(right, #8F20CF, #a525ee);
 | 
			
		||||
        background: -o-linear-gradient(right, #8F20CF, #a525ee);
 | 
			
		||||
        background: linear-gradient(to left, #8F20CF, #a525ee);
 | 
			
		||||
        font-family: "Roboto", sans-serif;
 | 
			
		||||
        -webkit-font-smoothing: antialiased;
 | 
			
		||||
        -moz-osx-font-smoothing: grayscale;
 | 
			
		||||
      }
 | 
			
		||||
      </style>
 | 
			
		||||
 | 
			
		||||
    </head>
 | 
			
		||||
    <body>
 | 
			
		||||
      <div class="login-page">
 | 
			
		||||
        <div class="form">
 | 
			
		||||
          <form class="register-form" action="/register" method="post">
 | 
			
		||||
            <input type="text" placeholder="name" name="username"/>
 | 
			
		||||
            <input type="password" placeholder="password" name="password"/>
 | 
			
		||||
            <input type="password" placeholder="repassword" name="repassword" class="repassword"/>
 | 
			
		||||
            <button>create</button>
 | 
			
		||||
            <p class="message">Already registered? <a href="#" onclick="$('.login-form').show();$('.register-form').hide();">Sign In</a></p>
 | 
			
		||||
          </form>
 | 
			
		||||
          <form class="login-form" action="/login" method="post">
 | 
			
		||||
            <input type="text" placeholder="username" name="username"/>
 | 
			
		||||
            <input type="password" placeholder="password" name="password"/>
 | 
			
		||||
            <button>login</button>
 | 
			
		||||
            <p class="message">Not registered? <a href="#" onclick="$('.login-form').hide();$('.register-form').show();">Create an account</a></p>
 | 
			
		||||
          </form>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
    </body>
 | 
			
		||||
  </html>
 | 
			
		||||
		Reference in New Issue
	
	Block a user