From 90131de7598f25c37c35b9a1c5271575ba8186b6 Mon Sep 17 00:00:00 2001 From: Sergey Yarkov Date: Mon, 9 Dec 2019 23:59:27 +0300 Subject: [PATCH] added page Items --- config/routes/routes.js | 26 ++++- dist/public/css/style.css | 19 +++- dist/views/admin/assets/scripts.pug | 10 ++ dist/views/admin/assets/templates/header.pug | 28 ++--- dist/views/admin/categories.pug | 11 ++ dist/views/admin/control-panel.pug | 11 +- dist/views/admin/items.pug | 105 +++++++++++++++++++ 7 files changed, 193 insertions(+), 17 deletions(-) create mode 100644 dist/views/admin/categories.pug create mode 100644 dist/views/admin/items.pug diff --git a/config/routes/routes.js b/config/routes/routes.js index f63e7c8..c7ac04e 100644 --- a/config/routes/routes.js +++ b/config/routes/routes.js @@ -165,7 +165,29 @@ function controlPanelRoute(req, res) { res.render('admin/control-panel', { name: req.user.name, email: req.user.email, - title: 'Digital-Store | Панель управления сайтом' + title: 'Digital-Store | Панель управления сайтом', + host: req.headers.host, + pageName: ['Главная', 'main'], + }); +} + +function controlPanelItemsRoute(req, res) { + res.render('admin/items', { + name: req.user.name, + email: req.user.email, + title: 'Digital-Store | Товары', + host: req.headers.host, + pageName: ['Товары', 'items'], + }); +} + +function controlPanelCategoriesRoute(req, res) { + res.render('admin/categories', { + name: req.user.name, + email: req.user.email, + title: 'Digital-Store | Категории', + host: req.headers.host, + pageName: ['Категории', 'categories'], }); } @@ -178,4 +200,6 @@ module.exports = function (server, db) { server.get('/my-orders', (req, res) => myOrdersRoute(req, res, db)); server.get('/product/:id', (req, res) => onePageItemRoute(req, res, db)); server.get('/control-panel', checkAuthenticated, (req, res) => controlPanelRoute(req, res)); + server.get('/control-panel/items', checkAuthenticated, (req, res) => controlPanelItemsRoute(req, res)); + server.get('/control-panel/categories', checkAuthenticated, (req, res) => controlPanelCategoriesRoute(req, res)); } diff --git a/dist/public/css/style.css b/dist/public/css/style.css index 083da04..878583d 100644 --- a/dist/public/css/style.css +++ b/dist/public/css/style.css @@ -347,7 +347,7 @@ footer.main-footer .container { .purchase, .main-section .background { background-color: #fff; - border-radius: 4px; + border-radius: 0 0 2px 2px; margin-bottom: 1rem; } @@ -694,7 +694,7 @@ footer.main-footer { .card .card-content h3 { margin-top: 8px; } -.buyers { +.table-buyers, .table-items { max-height: 365px; overflow-y: scroll; } @@ -733,4 +733,19 @@ footer.admin-footer{ } .modal .modal-content h4 { margin-bottom: 10px; +} +div.table-items td, div.table-items th { + text-align: center; +} +div.table-items > table > tbody > tr > td:nth-child(1) > img{ + height: 20px; +} +div.table-items > table > tbody > tr > td:nth-child(7) > button.btn.orange { + margin-left: 5px; +} +.sidenav .collapsible-body>ul:not(.collapsible)>li.active, .sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active { + background-color: #e6e6e6; +} +.sidenav .collapsible-body>ul:not(.collapsible)>li.active a, .sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active a { + color: rgba(0,0,0,0.87); } \ No newline at end of file diff --git a/dist/views/admin/assets/scripts.pug b/dist/views/admin/assets/scripts.pug index 19dd335..cd69972 100644 --- a/dist/views/admin/assets/scripts.pug +++ b/dist/views/admin/assets/scripts.pug @@ -6,4 +6,14 @@ script. M.Sidenav.init(document.querySelectorAll('.sidenav')); M.Collapsible.init(document.querySelectorAll('.collapsible')); M.Modal.init(document.querySelectorAll('.modal')); + //- active временно!!!!! + const currentPage = document.querySelector('#editCollapse .collapsible-body ul').dataset.current; + const pages = document.querySelectorAll('#editCollapse .collapsible-body ul li'); + pages.forEach(page => { + if (currentPage === page.dataset.page) { + page.classList.add('active'); + const list = M.Collapsible.getInstance(document.querySelector('#editCollapse')); + list.open(); + } + }) }); \ No newline at end of file diff --git a/dist/views/admin/assets/templates/header.pug b/dist/views/admin/assets/templates/header.pug index 25aac9f..40f41c4 100644 --- a/dist/views/admin/assets/templates/header.pug +++ b/dist/views/admin/assets/templates/header.pug @@ -5,15 +5,15 @@ header.admin-header .nav-wrapper a(href="#" data-target="slide-out" class="sidenav-trigger" style="color: #000;") i.material-icons menu - a(href="#" class="brand-logo grey-text text-darken-4") Главная + a(href="#" class="brand-logo grey-text text-darken-4") #{pageName[0]} ul#slide-out.sidenav.sidenav-fixed.control-panel li .user-view .background - img(src="./img/admin/background-user.jpg", alt="#") + img(src="../img/admin/background-user.jpg", alt="#") span(style="padding-top: 5px;padding-bottom:10px;display:block;").white-text Control Panel v1.0.0 a(href="#") - img(class="circle" src="./img/admin/avatar-user.jpg", alt="alt") + img(class="circle" src="../img/admin/avatar-user.jpg", alt="alt") a(href="#") span.white-text.name #{name} a(href="#") @@ -28,26 +28,30 @@ header.admin-header li a(href="#" class="subheader") Управление сайтом li.no-padding - ul.collapsible + li + a(href="/control-panel" class="collapsible-header waves-effect") + i.material-icons dashboard + | Статистика + ul#editCollapse.collapsible li a(href="#" class="collapsible-header waves-effect") i.material-icons edit | Редактирование .collapsible-body - ul - li - a(href="#items") + ul(data-current=pageName[1]) + li(data-page="items") + a(href='http://'+host+'/control-panel/items') i.material-icons list | Товары - li - a(href="#categories") + li(data-page="categories") + a(href='http://'+host+'/control-panel/categories') i.material-icons category | Категории - li - a(href="#categories") + li(data-page="content") + a(href="#content") i.material-icons visibility | Контент на сайте - li + li(data-page="administrators") a(href="#administrators") i.material-icons supervisor_account | Администраторы diff --git a/dist/views/admin/categories.pug b/dist/views/admin/categories.pug new file mode 100644 index 0000000..13f47bf --- /dev/null +++ b/dist/views/admin/categories.pug @@ -0,0 +1,11 @@ +include ../assets/head.pug +body.has-fixed-sidenav + include ./assets/templates/header.pug + main.admin-main + .container + .row + .col.s12 + h2 Редактирование категорий + + include ./assets/templates/footer.pug + include ./assets/scripts.pug \ No newline at end of file diff --git a/dist/views/admin/control-panel.pug b/dist/views/admin/control-panel.pug index bfec8cf..97c7a8b 100644 --- a/dist/views/admin/control-panel.pug +++ b/dist/views/admin/control-panel.pug @@ -28,8 +28,15 @@ body.has-fixed-sidenav .card .card-content span.card-title Список покупателей - .buyers - table.striped + .search-field + .nav-wrapper + .input-field + input#search(type="search" required placeholder="Введите почту покупателя") + label.label-icon(for="search") + i.material-icons search + i.material-icons close + .table-buyers + table.highlight thead tr th Почта diff --git a/dist/views/admin/items.pug b/dist/views/admin/items.pug new file mode 100644 index 0000000..9e7398e --- /dev/null +++ b/dist/views/admin/items.pug @@ -0,0 +1,105 @@ +include ../assets/head.pug +body.has-fixed-sidenav + include ./assets/templates/header.pug + main.admin-main + .container + .row + .col.s12 + h2 Редактирование товаров + .col.s12 + .card + .card-content + span.card-title Список товаров + .search-field + .nav-wrapper + .input-field + input#search(type="search" required placeholder="Введите название товара") + label.label-icon(for="search") + i.material-icons search + i.material-icons close + .table-items + table.highlight + thead + tr + th Иконка + th Наименование + th Категория + th Дата добавления + th Количество + th Цена + th Редактирование + + .divider + tbody + tr + td + img(src="../img/service-icons/origin.svg", alt="alt") + td Тестовый товар №6 + td Origin + td 2019-12-05 + td 18 + td 145 ₽ + td + button.btn.red Удалить + button.btn.orange Изменить + tr + td + img(src="../img/service-icons/origin.svg", alt="alt") + td Тестовый товар №6 + td Origin + td 2019-12-05 + td 18 + td 145 ₽ + td + button.btn.red Удалить + button.btn.orange Изменить + tr + td + img(src="../img/service-icons/origin.svg", alt="alt") + td Тестовый товар №6 + td Origin + td 2019-12-05 + td 18 + td 145 ₽ + td + button.btn.red Удалить + button.btn.orange Изменить + tr + td + img(src="../img/service-icons/origin.svg", alt="alt") + td Тестовый товар №6 + td Origin + td 2019-12-05 + td 18 + td 145 ₽ + td + button.btn.red Удалить + button.btn.orange Изменить + tr + td + img(src="../img/service-icons/origin.svg", alt="alt") + td Тестовый товар №6 + td Origin + td 2019-12-05 + td 18 + td 145 ₽ + td + button.btn.red Удалить + button.btn.orange Изменить + tr + td + img(src="../img/service-icons/origin.svg", alt="alt") + td Тестовый товар №6 + td Origin + td 2019-12-05 + td 18 + td 145 ₽ + td + button.btn.red Удалить + button.btn.orange Изменить + + + + + include ./assets/templates/footer.pug + include ./assets/scripts.pug \ No newline at end of file