Add login/logout button on header
This commit is contained in:
parent
d62f1c2c03
commit
ce58e25094
7 changed files with 34 additions and 6 deletions
|
@ -43,7 +43,7 @@ form>div {
|
||||||
margin: 0.3em;
|
margin: 0.3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.file_button::-webkit-file-upload-button, button {
|
.file_button::-webkit-file-upload-button, button, .login, .logout {
|
||||||
border-radius: 0.3em;
|
border-radius: 0.3em;
|
||||||
border-width: 0em;
|
border-width: 0em;
|
||||||
padding: 0.5em;
|
padding: 0.5em;
|
||||||
|
@ -65,3 +65,24 @@ form>div {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
header {
|
||||||
|
display: flex;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
margin: 0.5em;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hy {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login, .logout {
|
||||||
|
background-color: buttonface;
|
||||||
|
text-decoration: none;
|
||||||
|
color: initial;
|
||||||
|
width: fit-content;
|
||||||
|
height: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
module.exports = (err, req, res, next) => {
|
module.exports = (err, req, res, next) => {
|
||||||
console.error(err.stack);
|
console.error(err.stack);
|
||||||
res.status(500);
|
res.status(500);
|
||||||
res.render("error");
|
res.render("error", {session: req.session});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ router.get("/", isAuth, (req, res) => {
|
||||||
if ("invalidType" in req.query) {
|
if ("invalidType" in req.query) {
|
||||||
invalidType = true;
|
invalidType = true;
|
||||||
}
|
}
|
||||||
res.render("index", {invalidType: invalidType});
|
res.render("index", {invalidType: invalidType, session: req.session});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ let fs = require("fs");
|
||||||
|
|
||||||
router.get("/", isAuth, (req, res, next) => {
|
router.get("/", isAuth, (req, res, next) => {
|
||||||
let images = fs.readdirSync("./images/");
|
let images = fs.readdirSync("./images/");
|
||||||
res.render("list", {images: images});
|
res.render("list", {images: images, session: req.session});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ router.get("/", (req, res) => {
|
||||||
if ("path" in req.query) {
|
if ("path" in req.query) {
|
||||||
path = req.query.path;
|
path = req.query.path;
|
||||||
}
|
}
|
||||||
res.render("login", {title: "login", fail: fail, path: path});
|
res.render("login", {title: "login", fail: fail, path: path, session: req.session});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@ router.post("/", (req, res) => {
|
||||||
file = JSON.parse(fs.readFileSync("users.json"));
|
file = JSON.parse(fs.readFileSync("users.json"));
|
||||||
if (req.body.username in file && passwordHash.verify(req.body.password, file[req.body.username])) {
|
if (req.body.username in file && passwordHash.verify(req.body.password, file[req.body.username])) {
|
||||||
req.session.login = true;
|
req.session.login = true;
|
||||||
|
req.session.username = req.body.username;
|
||||||
req.session.save();
|
req.session.save();
|
||||||
if ("path" in req.query) {
|
if ("path" in req.query) {
|
||||||
res.redirect(req.query.path);
|
res.redirect(req.query.path);
|
||||||
|
|
|
@ -3,7 +3,7 @@ let router = require("express").Router();
|
||||||
|
|
||||||
router.use((req, res) => {
|
router.use((req, res) => {
|
||||||
res.status(404);
|
res.status(404);
|
||||||
res.render("404", {url: req.path});
|
res.render("404", {url: req.path, session: req.session});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,5 +8,11 @@ html(lang="en")
|
||||||
title Image Node
|
title Image Node
|
||||||
link(rel="stylesheet", href="/css/main.css")
|
link(rel="stylesheet", href="/css/main.css")
|
||||||
body
|
body
|
||||||
|
header
|
||||||
|
if session.login
|
||||||
|
p.hy Hy #{session.username} !
|
||||||
|
a.logout(href="/logout") Logout
|
||||||
|
else
|
||||||
|
a.login(href="/login") Login
|
||||||
block content
|
block content
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue