diff --git a/config/routes/control-panel.js b/config/routes/control-panel.js index a7ae096..880d106 100644 --- a/config/routes/control-panel.js +++ b/config/routes/control-panel.js @@ -81,7 +81,11 @@ module.exports = function (server, db) { host: req.headers.host, pageName: ['Контент', 'content'], store: { - title: store.title + title: store.title, + info: store.info, + infoBottom: store.infoBottom, + howToBuy: store.howToBuy, + contacts: store.contacts } }); } catch (error) { @@ -238,9 +242,13 @@ module.exports = function (server, db) { server.post('/control-panel/content/update', checkAuthenticated, (req, res) => { try { const data = { - title: req.body.title + title: req.body.title, + info: req.body.info, + infoBottom: req.body.infoBottom, + howToBuy: req.body.howToBuy, + contacts: req.body.contacts } - db.collection('content').updateOne({}, {$set: {title: data.title}}); + db.collection('content').updateOne({}, {$set: {title: data.title, info: data.info, infoBottom: data.infoBottom, howToBuy: data.howToBuy, contacts: data.contacts}}); res.redirect('/control-panel/content'); } catch (error) { res.render('main/404'); diff --git a/config/routes/main.js b/config/routes/main.js index e80d15b..2a93ad1 100644 --- a/config/routes/main.js +++ b/config/routes/main.js @@ -11,7 +11,9 @@ module.exports = function (server, db) { title: `${store.title} | Главная`, categories, store: { - title: store.title + title: store.title, + info: store.info, + infoBottom: store.infoBottom } }); }); @@ -26,7 +28,8 @@ module.exports = function (server, db) { pageName: 'how-to-buy', title: `${store.title} | Как купить товар`, store: { - title: store.title + title: store.title, + howToBuy: store.howToBuy } }); } catch (error) { @@ -40,7 +43,8 @@ module.exports = function (server, db) { pageName: 'contacts', title: `${store.title} | Контакты`, store: { - title: store.title + title: store.title, + contacts: store.contacts } }); } catch (error) { diff --git a/dist/views/admin/content.pug b/dist/views/admin/content.pug index 6d2f978..19d1e98 100644 --- a/dist/views/admin/content.pug +++ b/dist/views/admin/content.pug @@ -16,7 +16,19 @@ body.has-fixed-sidenav form(action="/control-panel/content/update" method="POST") .input-field.col.s12 input(id="title" type="text" name="title" value=store.title) - label(for="title") Название вашего магазина + label(for="title") Название магазина + .input-field.col.s12 + textarea(id="contacts" class="materialize-textarea" type="text" name="contacts") #{store.contacts} + label(for="contacts") Контакты магазина + .input-field.col.s12 + textarea(id="info" class="materialize-textarea" type="text" name="info") #{store.info} + label(for="info") Блок с важной информацией + .input-field.col.s12 + textarea(id="infoBottom" class="materialize-textarea" type="text" name="infoBottom") #{store.infoBottom} + label(for="infoBottom") Блок с информацией вконце страницы + .input-field.col.s12 + textarea(id="howToBuy" class="materialize-textarea" type="text" name="howToBuy") #{store.howToBuy} + label(for="howToBuy") Как купить товар в магазине .edit_success.col.s12 button(type="submit" class="btn waves-effect") Сохранить diff --git a/dist/views/main/contacts.pug b/dist/views/main/contacts.pug index bc27b54..b7f1da4 100644 --- a/dist/views/main/contacts.pug +++ b/dist/views/main/contacts.pug @@ -19,9 +19,7 @@ main.main-section p strong Контакты p   - p 1. Почта: support@digital-store.ru - p 2. Telegram: - a(href='#') @digitalstore + p(style="white-space: pre-wrap;") #{store.contacts} //- Footer Template diff --git a/dist/views/main/how-to-buy.pug b/dist/views/main/how-to-buy.pug index bff5da7..743a35c 100644 --- a/dist/views/main/how-to-buy.pug +++ b/dist/views/main/how-to-buy.pug @@ -19,26 +19,7 @@ main.main-section p strong Для того, чтобы купить аккаунты в магазине, нужно проделать следующие шаги: p   - p - | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Assumenda quisquam - | voluptate aut, rerum quidem facilis labore at porro, nulla accusantium voluptatum - | magnam deserunt dolores repudiandae earum beatae provident maiores eligendi - | explicabo asperiores adipisci aliquam quas. Quisquam inventore pariatur qui dolorum - | sunt eveniet, libero ut nobis? Temporibus, nihil qui quaerat pariatur non ullam - | cupiditate, repellendus similique saepe facere, harum soluta recusandae unde! Eius - | nobis alias ipsum rem sint sit optio eligendi, magnam suscipit incidunt. Delectus - | nulla labore debitis, aperiam provident iste veniam cupiditate perferendis odio - | nostrum, repellendus, possimus similique error. Vel error necessitatibus animi velit - | dolorem quod a cupiditate repudiandae obcaecati, dignissimos officiis blanditiis rem - | eaque amet aperiam veritatis perferendis impedit ab nam, voluptas magnam ullam ipsam - | voluptatem. Voluptas, eveniet quidem. Enim rem quis repudiandae ullam cum autem - | architecto similique, sint, recusandae, quae debitis modi quas eaque aspernatur - | officia quidem? Officiis at cumque quaerat! Qui totam doloremque eligendi nam culpa - | ullam, repudiandae iure adipisci facilis error autem recusandae dolorum? Consectetur - | minima, cupiditate non quod reprehenderit laudantium. Officiis soluta harum iusto - | sed nisi, provident deleniti illum quos in omnis nostrum, ipsam vero. Maxime - | architecto perspiciatis odit vel quae? Qui dolorem sit laborum eius voluptatum - | beatae facilis! Corrupti ex temporibus quia quam earum. + p(style="white-space: pre-wrap;") #{store.howToBuy} //- Footer Template diff --git a/dist/views/main/index.pug b/dist/views/main/index.pug index 0c7fca0..ee08fae 100644 --- a/dist/views/main/index.pug +++ b/dist/views/main/index.pug @@ -16,40 +16,7 @@ main.main-section .information-title h2.small-title Важная информация: .information-text - p - | Lorem ipsum dolor, sit amet consectetur adipisicing elit. Expedita laboriosam - | aliquid - | maiores similique accusamus est tempora sunt laudantium recusandae! Voluptate - | repellat - | exercitationem impedit, distinctio maiores dolore eius dicta accusamus amet, - | consequatur - | tempora, aspernatur vel provident commodi modi id. Quidem ipsa numquam sapiente - | eius - | adipisci modi nobis! Ipsum, exercitationem. Dolor, ad sit. Dicta corporis - | quisquam - | laboriosam quo id dolor minima et nulla molestias itaque quia explicabo sint, - | perspiciatis - | fuga nostrum consequatur odit dolore voluptatem commodi cumque natus? Accusamus - | fuga - | commodi - | molestiae tempore atque provident animi distinctio expedita, temporibus, - | voluptates - | quisquam - | unde. Ipsum numquam delectus repudiandae quasi veritatis omnis, corporis esse - | officia - | nobis - | veniam eos culpa corrupti sit voluptas est dolorem ratione consectetur nostrum - | eveniet - | dolor - | facilis distinctio. Voluptate amet repellendus nesciunt quam perspiciatis a - | culpa - | aspernatur - | repellat quos est ex maxime sequi, delectus ea accusantium molestias, aliquid - | velit - | dolores - | laudantium! Voluptate id officiis porro tenetur nihil dolores ratione ad - | suscipit! - | Minima. + p(style="white-space: pre-wrap;") #{store.info} .information-close button#information-close.waves-effect.btn.red Закрыть // Information Block END @@ -128,23 +95,7 @@ main.main-section .items-info__title.block-title i.material-icons info h3.med-title Информация - p - | Lorem ipsum dolor sit amet consectetur adipisicing elit. Atque quaerat - | voluptatem et dolores repudiandae nulla esse amet incidunt modi! Accusamus - | enim, quia magnam assumenda necessitatibus cupiditate, error facere nulla - | ipsam quos consectetur rerum unde doloremque nisi, ipsa consequuntur odit - | illo facilis ab. Impedit libero architecto suscipit eligendi obcaecati quam - | quis blanditiis sed, optio placeat nulla odio? Facere ipsam in, fugit - | perspiciatis error quaerat pariatur excepturi et cumque tenetur accusamus - | eligendi sed debitis recusandae? Ex voluptas in rerum harum? Nam possimus - | optio similique excepturi, fugit odit. Error voluptatum quidem numquam - | placeat voluptates voluptatem repellat enim dolor quod vitae vero, libero - | perspiciatis corporis sint omnis aspernatur, doloremque rem facilis. Ratione - | inventore, nostrum aliquid dolorum totam harum. Ratione, sapiente - | dignissimos quas quibusdam unde temporibus laudantium nam error, excepturi - | natus porro quo, deserunt aliquid eius numquam iusto a nemo nobis pariatur! - | Amet a porro, sunt quod ipsum atque provident modi ut distinctio at - | expedita. + p(style="white-space: pre-wrap;") #{store.infoBottom} // Items Block END //- Footer Template diff --git a/src/admin/components/content.component.js b/src/admin/components/content.component.js index 8fcecc2..894e5ea 100644 --- a/src/admin/components/content.component.js +++ b/src/admin/components/content.component.js @@ -4,4 +4,12 @@ export class ContentComponent extends Component { constructor(id) { super(id); } + + setElems() { + this.$info = this.$el.querySelector('#info'); + } + + init() { + M.textareaAutoResize(this.$info); + } } \ No newline at end of file diff --git a/src/admin/index.js b/src/admin/index.js index 005c1da..159a825 100644 --- a/src/admin/index.js +++ b/src/admin/index.js @@ -8,6 +8,7 @@ import { IconsComponent } from "./components/icons.component.js"; import { ItemEditModal } from "./modals/item-edit.modal.js"; import { ItemDeleteModal } from "./modals/item-delete.modal.js"; import { CategoryEditModal } from "./modals/category-edit.modal"; +import { ContentComponent } from "./components/content.component.js"; // Components const loader = new LoaderComponent('loader'); @@ -16,6 +17,7 @@ const search = new SearchComponent('search', {loader}); const categories = new CategoriesComponent('categories'); const icons = new IconsComponent('icons'); const items = new ItemsComponent('items', {pagination}, {search}); +const content = new ContentComponent('content'); // Modals const itemEdit = new ItemEditModal('editItemModal', 'edit', 'editItemClose');