mirror of
https://github.com/sergeyyarkov/blog-expressjs.git
synced 2026-10-11 10:19:07 +03:00
final project
This commit is contained in:
parent
88ac2ac614
commit
8fda412f73
25
index.js
25
index.js
@ -62,7 +62,7 @@ app.get('/delete/:id', (req, res) => {
|
||||
'DELETE FROM posts WHERE id='+id,
|
||||
function(err, result) {
|
||||
if (!err && result.affectedRows != 0) {
|
||||
res.send(`Пост под id ${id} был удален.`);
|
||||
res.redirect('/');
|
||||
} else {
|
||||
res.status(404).send('<h1>404 Not found</h1>');
|
||||
console.log(err);
|
||||
@ -71,6 +71,25 @@ app.get('/delete/:id', (req, res) => {
|
||||
);
|
||||
});
|
||||
|
||||
// запрос на добавление
|
||||
app.post('/add', (req, res) => {
|
||||
const data = {
|
||||
title: req.body.title,
|
||||
date: req.body.date,
|
||||
description: req.body.description
|
||||
};
|
||||
conn.query(
|
||||
`INSERT INTO posts (title, date, description) VALUES ('${data.title}', '${data.date}', '${data.description}')`,
|
||||
function(err, result) {
|
||||
if (!err && result.affectedRows != 0) {
|
||||
res.redirect('/');
|
||||
} else {
|
||||
res.status(404).send('<h1>404 Not found</h1>');
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
// запрос на редактирование
|
||||
app.post('/update', (req, res) => {
|
||||
const data = {
|
||||
@ -82,8 +101,8 @@ app.post('/update', (req, res) => {
|
||||
conn.query(
|
||||
`UPDATE posts SET title='${data.title}', date='${data.date}', description='${data.description}' WHERE id=${data.id}`,
|
||||
function(err, result) {
|
||||
if (!err) {
|
||||
res.send('Пост был успешно отредактирован');
|
||||
if (!err && result.affectedRows != 0) {
|
||||
res.redirect('/');
|
||||
} else {
|
||||
res.status(404).send('<h1>404 Not found</h1>');
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
function updatePost() {
|
||||
const modal = document.querySelector('.modal-mask'),
|
||||
const modal = document.querySelector('.modal-update'),
|
||||
btnShowModal = document.querySelectorAll('.update-post'),
|
||||
btnClose = document.querySelector('.btn-close'),
|
||||
btnClose = modal.querySelector('.btn-close'),
|
||||
form = modal.querySelector('form');
|
||||
|
||||
btnShowModal.forEach(btn => {
|
||||
@ -27,6 +27,7 @@ function updatePost() {
|
||||
});
|
||||
});
|
||||
|
||||
// закрыть модалку
|
||||
btnClose.addEventListener('click', (e) => {
|
||||
e.preventDefault();
|
||||
for (let i = 1; i < 4; i++) {
|
||||
@ -35,4 +36,21 @@ function updatePost() {
|
||||
modal.style.display = 'none';
|
||||
});
|
||||
}
|
||||
|
||||
function addPost() {
|
||||
const modal = document.querySelector('.modal-add'),
|
||||
btnShowModal = document.querySelector('.post-block_add'),
|
||||
btnClose = modal.querySelector('.btn-close');
|
||||
|
||||
btnShowModal.addEventListener('click', () => {
|
||||
modal.style.display = 'flex'; // показать модальное окно
|
||||
|
||||
// закрыть модалку
|
||||
btnClose.addEventListener('click', (e) => {
|
||||
e.preventDefault();
|
||||
modal.style.display = 'none';
|
||||
});
|
||||
});
|
||||
}
|
||||
addPost();
|
||||
updatePost();
|
||||
15
views/assets/add-form.pug
Normal file
15
views/assets/add-form.pug
Normal file
@ -0,0 +1,15 @@
|
||||
div(class="modal-mask modal-add")
|
||||
div(class="modal")
|
||||
div(class="modal-head")
|
||||
p(class="modal-title") Добавить запись
|
||||
div(class="modal-body")
|
||||
form(action="/add" method="POST")
|
||||
label(for="title") Название
|
||||
input(id="title" type="text" name="title" placeholder="Запись" required)
|
||||
label(for="date") Дата
|
||||
input(id="date" type="date" name="date" required)
|
||||
label(for="description") Описание
|
||||
textarea(id="description" type="text" name="description" placeholder="Описание" required)
|
||||
div(class="modal-footer")
|
||||
button(class="button-primary btn-send" type="submit") Принять
|
||||
button(class="button-danger btn-close") Закрыть окно
|
||||
@ -1,4 +1,4 @@
|
||||
div(class="modal-mask")
|
||||
div(class="modal-mask modal-update")
|
||||
div(class="modal")
|
||||
div(class="modal-head")
|
||||
p(class="modal-title") Изменить запись
|
||||
|
||||
@ -3,6 +3,7 @@ div(class="container")
|
||||
div(class="post-block__wrap")
|
||||
h1 Все записи:
|
||||
include assets/update-form.pug
|
||||
include assets/add-form.pug
|
||||
include assets/post-card.pug
|
||||
div(class="post-block_add")
|
||||
h3 Добавить запись
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
include assets/header.pug
|
||||
div(class="container")
|
||||
div(class="post-block__wrap")
|
||||
h1 Это одиночный пост:
|
||||
h1 Одностраничный пост:
|
||||
include assets/update-form.pug
|
||||
include assets/post-card.pug
|
||||
include assets/scripts.pug
|
||||
Loading…
x
Reference in New Issue
Block a user