From 859bca148b2b8d7628068e41936f1b77af9b33d2 Mon Sep 17 00:00:00 2001 From: Marc Vachon <vachon.marc@outlook.com> Date: Wed, 7 Aug 2019 19:07:31 +0200 Subject: [PATCH] aller --- webapp/class/appointement/hash/hash.js | 29 ++++++++++++++++ webapp/class/db/db_request.js | 10 ++++++ webapp/class/email/email.js | 7 ++++ webapp/class/meetus.js | 14 +++++--- webapp/package.json | 8 +++-- webapp/ressources/router.js | 2 +- webapp/ressources/socket.js | 4 ++- webapp/views/create-meeting.ejs | 2 +- webapp/views/elements/foot.inc.ejs | 2 +- .../elements/{nav.inc.html => nav.inc.ejs} | 34 +++++++++++-------- webapp/views/index.ejs | 17 +++++----- webapp/views/meeting.ejs | 2 +- webapp/views/style/navbar.scss | 7 ++-- webapp/views/style/style.css | 19 +++-------- webapp/views/style/style.css.map | 2 +- webapp/views/style/style.scss | 7 ---- webapp/views/style/vars.scss | 1 - 17 files changed, 107 insertions(+), 60 deletions(-) create mode 100644 webapp/class/appointement/hash/hash.js create mode 100644 webapp/class/email/email.js rename webapp/views/elements/{nav.inc.html => nav.inc.ejs} (60%) diff --git a/webapp/class/appointement/hash/hash.js b/webapp/class/appointement/hash/hash.js new file mode 100644 index 0000000..2853533 --- /dev/null +++ b/webapp/class/appointement/hash/hash.js @@ -0,0 +1,29 @@ +"use strict" + +var objectHash = require('object-hash') +var db = require('../../db/db_request') + +module.exports = { + generate_id: (data, callback) => { + + var key = objectHash(data) + + console.log("Id generated:", key); + + collision_handler(key, function(){ + callback(key) + }) + } +} + +function collision_handler(key, callback){ + db.get_ids(function(ids){ + + for (var id in ids) { + if (key == id) { + console.log("existe deja c'est la merde"); + } + } + callback() + }) +} diff --git a/webapp/class/db/db_request.js b/webapp/class/db/db_request.js index e92c8a1..e5ed6b3 100644 --- a/webapp/class/db/db_request.js +++ b/webapp/class/db/db_request.js @@ -18,6 +18,16 @@ module.exports = { }) }, + get_ids: (callback) => { + let query = "SELECT idMeeting FROM t_meeting" + + db.query(query, (error, results, fields) => { + if (error) throw error; + + callback(results) + }) + }, + reset_meeting: (idMeeting, callback) => { let query = "UPDATE t_meeting SET data = JSON_SET(data, '$.percentage', 0, '$.location', '', '$.date', CAST('{}' AS JSON)) WHERE idMeeting = ?" diff --git a/webapp/class/email/email.js b/webapp/class/email/email.js new file mode 100644 index 0000000..9f7beda --- /dev/null +++ b/webapp/class/email/email.js @@ -0,0 +1,7 @@ +"use strict" + +module.exports = { + send: (type) => { + + } +} diff --git a/webapp/class/meetus.js b/webapp/class/meetus.js index 10cbe53..dc86c18 100644 --- a/webapp/class/meetus.js +++ b/webapp/class/meetus.js @@ -7,16 +7,22 @@ var appointement = require('./appointement/appointement') var journey = require('./journey/journey') var user = require('./user/user') var search = require('./appointement/search_cities') +var hash = require('./appointement/hash/hash') module.exports = { create_meeting: (id, data) => { - //validate data - // create id with hash + // !!! validate data !!! - db.create_meeting(id, JSON.stringify(data), function(result){ - console.log(result); + hash.generate_id(data, function(id){ + + console.log("Id received:", id); + + db.create_meeting(id, JSON.stringify(data), function(result){ + console.log(result); + }) }) + }, remove_meeting: (callback) => { diff --git a/webapp/package.json b/webapp/package.json index 1f63155..769774c 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -12,7 +12,7 @@ "dependencies": { "array-async": "^3.0.0", "cities.json": "^1.1.5", - "ejs": "^2.6.1", + "ejs": "^2.6.2", "express": "^4.17.1", "foreachasync": "^5.1.3", "http": "0.0.0", @@ -20,9 +20,11 @@ "jsdom": "^15.1.1", "mysql": "^2.17.1", "nodemon": "^1.19.1", + "object-hash": "^1.3.1", "request": "^2.88.0", "require-env": "^0.2.1", - "sass": "^1.20.3", - "socket.io": "^2.2.0" + "sass": "^1.22.9", + "socket.io": "^2.2.0", + "string-hash": "^1.1.3" } } diff --git a/webapp/ressources/router.js b/webapp/ressources/router.js index 1ed3594..d1492be 100644 --- a/webapp/ressources/router.js +++ b/webapp/ressources/router.js @@ -7,7 +7,7 @@ module.exports = function (app) { res.render("index.ejs"); }); - app.get('/meeting-:id', function (req, res) { + app.get('/meeting/:id', function (req, res) { db_request.check_id(req.params.id, function(resp){ if(resp){ diff --git a/webapp/ressources/socket.js b/webapp/ressources/socket.js index 73a69a2..959db17 100644 --- a/webapp/ressources/socket.js +++ b/webapp/ressources/socket.js @@ -6,6 +6,7 @@ var db = require('../class/db/db_request') var journey = require('../class/journey/journey') var appointement = require('../class/appointement/appointement') var meetus = require('../class/meetus') +var hash = require('../class/appointement/hash/hash') var config = require('../config/config.json') @@ -66,8 +67,9 @@ module.exports = function(server){ }) socket.on('test_class', function(){ - meetus.load_cities() + //meetus.load_cities() //meetus.update_journeys() + hash.generate_id() }) diff --git a/webapp/views/create-meeting.ejs b/webapp/views/create-meeting.ejs index d421d70..0682c60 100644 --- a/webapp/views/create-meeting.ejs +++ b/webapp/views/create-meeting.ejs @@ -41,7 +41,7 @@ } </script> -<%- include('elements/nav.inc.html') %> +<%- include('elements/nav.inc.ejs') %> <div class="col-lg-8 offset-lg-2"> <div class="card"> diff --git a/webapp/views/elements/foot.inc.ejs b/webapp/views/elements/foot.inc.ejs index 8a87a12..8c720e6 100644 --- a/webapp/views/elements/foot.inc.ejs +++ b/webapp/views/elements/foot.inc.ejs @@ -1,4 +1,4 @@ -</div> + </div> <!-- END CONTAINER --> </section> diff --git a/webapp/views/elements/nav.inc.html b/webapp/views/elements/nav.inc.ejs similarity index 60% rename from webapp/views/elements/nav.inc.html rename to webapp/views/elements/nav.inc.ejs index 07808b6..561979b 100644 --- a/webapp/views/elements/nav.inc.html +++ b/webapp/views/elements/nav.inc.ejs @@ -6,7 +6,7 @@ </div> <div class="justify-content-center"> <a class="nav-link" href="/"> - <h2 class="title">MeetUs <small class="text-warning"> beta</small></h2> + <h2 class="title">MeetUs</h2> </a> </div> <div class="justify-content-end"> @@ -25,28 +25,34 @@ </ul> </div> -<main class="row mx-0"> - <nav class="sidebar position-fixed d-none d-lg-block pt-5 px-0"> - <h1 class="main-title font-weight-bold mb-5 px-3"> - <a class="text-decoration-none" href="/">Meet Us <small class="text-warning"> beta</small></a> + + +<nav class="navbar navbar-computer d-none d-lg-block px-0 mb-5"> + <div class="container"> + + <h1 class="main-title"> + <a class="text-decoration-none" href="/">Meet Us</a> </h1> - <ul class="nav flex-column mb-5 text-center"> + <ul class="nav text-center"> <li class="nav-item"> - <a class="nav-link py-4" href="/"><i class="fas fa-home fa-2x"></i></a> + <a class="nav-link" href="/"><i class="fas fa-home"></i> Accueil</a> </li> <li class="nav-item"> - <a class="nav-link py-4" href="/create-meeting"><i class="fas fa-address-book fa-2x"></i></a> + <a class="nav-link" href="/create-meeting"><i class="fas fa-address-book"></i> Creer Meeting</a> </li> <li class="nav-item"> - <button class="btn btn-hidden moon"><i class="far fa-moon fa-2x fa-flip-horizontal text-primary"></i></button> + <button class="btn btn-hidden moon"><i class="far fa-moon fa-flip-horizontal text-primary"></i></button> </li> - </ul> - </nav> + </div> +</nav> + + + +<main class="row mx-0"> - <section class="content pt-5 px-lg-5"> - <div class="container"> + <section class="container"> - <div class="row"> + <div class="row"> diff --git a/webapp/views/index.ejs b/webapp/views/index.ejs index 1392627..941b300 100644 --- a/webapp/views/index.ejs +++ b/webapp/views/index.ejs @@ -15,7 +15,7 @@ socket.on('check_id', function(resp){ if(resp){ - window.location.href = "/meeting-" + id; + window.location.href = "/meeting/" + id; }else{ $('#msg').removeClass('d-none') .addClass('d-block') @@ -25,26 +25,27 @@ } </script> - <%- include('elements/nav.inc.html') %> - <div class="col-sm-6 text-center mb-4"> + <%- include('elements/nav.inc.ejs') %> + <div class="col-sm-6 mb-4"> <div class="card"> <div class="card-body"> <h1 class="mb-5">Load meeting</h1> - <div class="mb-4" style="height: 50px"> - <p class="alert alert-danger d-none" id="msg"></p> - </div> <form class="mb-4"> - <input type="number" value="0" placeholder="0" id="id_meeting"> + <input class="w-100" type="text" value="0" placeholder="0" id="id_meeting"> </form> <button class="btn btn-primary" type="button" name="button" onclick="check_id()">Search</button> + + <div class="mb-4" style="height: 50px"> + <p class="alert alert-danger d-none" id="msg"></p> + </div> </div> </div> </div> - <div class="col-sm-6 text-center mb-4"> + <div class="col-sm-6 mb-4"> <div class="card"> <div class="card-body"> diff --git a/webapp/views/meeting.ejs b/webapp/views/meeting.ejs index 1fa4e36..3966149 100644 --- a/webapp/views/meeting.ejs +++ b/webapp/views/meeting.ejs @@ -14,7 +14,7 @@ <%- include('include/add_user.ejs') %> - <%- include('elements/nav.inc.html') %> + <%- include('elements/nav.inc.ejs') %> <div class="w-100 d-flex mt-4 mb-3"> <div class="d-flex justify-content-end"> diff --git a/webapp/views/style/navbar.scss b/webapp/views/style/navbar.scss index 2697e98..80c94ac 100644 --- a/webapp/views/style/navbar.scss +++ b/webapp/views/style/navbar.scss @@ -1,7 +1,8 @@ -.sidebar{ +.navbar-computer{ background-color: var(--bg-element); - height: 100vh; - width: var(--navbar-width); + .main-title{ + font-weight: bold; + } .nav-link{ &:hover{ background-color: var(--bg-main); diff --git a/webapp/views/style/style.css b/webapp/views/style/style.css index 4ceed39..61ba17a 100644 --- a/webapp/views/style/style.css +++ b/webapp/views/style/style.css @@ -1,6 +1,5 @@ :root { /* ------- SIZES ------- */ - --navbar-width: 130px; /* ------- COLORS ------- */ /* Light mode */ --white: white; @@ -16,12 +15,13 @@ --color-primary: purple; } -.sidebar { +.navbar-computer { background-color: var(--bg-element); - height: 100vh; - width: var(--navbar-width); } -.sidebar .nav-link:hover { +.navbar-computer .main-title { + font-weight: bold; +} +.navbar-computer .nav-link:hover { background-color: var(--bg-main); } @@ -108,15 +108,6 @@ body { color: var(--txt-main); } -.content { - width: 100%; -} -@media (min-width: 992px) { - .content { - margin-left: var(--navbar-width); - } -} - .shadow-smooth { box-shadow: 0 0 6px #e6e6e6; } diff --git a/webapp/views/style/style.css.map b/webapp/views/style/style.css.map index 1be6740..0b7dfc1 100644 --- a/webapp/views/style/style.css.map +++ b/webapp/views/style/style.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["vars.scss","navbar.scss","add-user.scss","style.scss"],"names":[],"mappings":"AAAA;AACE;EACA;AAEA;AACA;EACA;EACA;AAEA;EACA;EACA;EACA;EAGA;EACA;EAEA;EAEA;EAEA;;;ACtBF;EACE;EACA;EACA;;AAEE;EACE;;;AAKJ;EACE;EACA;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;;;AAIF;EACE;EACA;;;AAGJ;EAEI;IACE;;;EAGJ;IACE;;;AClDJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;;AAGF;EACE;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;EACE;;AACF;EACE;;AAGJ;EACE;;AACA;EACE;;AAGJ;EACE;EACA;;;AC5BN;EACE;EACA;;;AAGF;EACE;;AACA;EAFF;IAGI;;;;AAKJ;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA","file":"style.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["vars.scss","navbar.scss","add-user.scss","style.scss"],"names":[],"mappings":"AAAA;AACE;AAEA;AACA;EACA;EACA;AAEA;EACA;EACA;EACA;EAGA;EACA;EAEA;EAEA;EAEA;;;ACrBF;EACE;;AACA;EACE;;AAGA;EACE;;;AAKJ;EACE;EACA;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;;;AAIF;EACE;EACA;;;AAGJ;EAEI;IACE;;;EAGJ;IACE;;;ACnDJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;;AAGF;EACE;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;EACE;;AACF;EACE;;AAGJ;EACE;;AACA;EACE;;AAGJ;EACE;EACA;;;AC5BN;EACE;EACA;;;AAIF;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA","file":"style.css"} \ No newline at end of file diff --git a/webapp/views/style/style.scss b/webapp/views/style/style.scss index a2df2e1..2675515 100644 --- a/webapp/views/style/style.scss +++ b/webapp/views/style/style.scss @@ -8,13 +8,6 @@ body{ color: var(--txt-main); } -.content{ - width: 100%; - @media (min-width: 992px){ - margin-left: var(--navbar-width); - } -} - .shadow-smooth{ box-shadow: 0 0 6px darken(white, 10%); diff --git a/webapp/views/style/vars.scss b/webapp/views/style/vars.scss index deb4e13..7063880 100644 --- a/webapp/views/style/vars.scss +++ b/webapp/views/style/vars.scss @@ -1,6 +1,5 @@ :root{ /* ------- SIZES ------- */ - --navbar-width: 130px; /* ------- COLORS ------- */ /* Light mode */ -- GitLab