From fdfb7da4d9b399c89273f4fbc55acfa40f646f1b Mon Sep 17 00:00:00 2001 From: CodeBull Date: Tue, 12 Jun 2018 13:46:55 +0600 Subject: [PATCH] Categories now have icons and view is updated --- controllers/AdminController.js | 2 ++ models/Category.js | 4 ++++ modules/joiSchemas.js | 2 ++ views/admin/categories.ejs | 10 +++++++++- views/category.ejs | 36 +++++++++++++++++----------------- 5 files changed, 35 insertions(+), 19 deletions(-) diff --git a/controllers/AdminController.js b/controllers/AdminController.js index fe2ee70..c8e8a08 100644 --- a/controllers/AdminController.js +++ b/controllers/AdminController.js @@ -90,6 +90,7 @@ module.exports = { if (!err) { category.name = value.name; category.slug = slugify(value.name, { remove: /[$*_+~.()'"!\-:@]/g, lower: true }); + category.icon = value.icon; category.image = value.image; category.description = value.description; @@ -110,6 +111,7 @@ module.exports = { name: value.name, slug: slugify(value.name, { remove: /[$*_+~.()'"!\-:@]/g, lower: true }), image: value.image, + icon: value.icon, description: value.description, }); category.save((error) => { diff --git a/models/Category.js b/models/Category.js index 7fa6453..2b5b222 100644 --- a/models/Category.js +++ b/models/Category.js @@ -12,6 +12,10 @@ const CategorySchema = new Schema({ required: true, unique: true, }, + icon: { + type: String, + default: '/images/icons/default.svg', + }, image: { type: String, default: '/images/category-image.jpg', diff --git a/modules/joiSchemas.js b/modules/joiSchemas.js index f24cc48..528f7ec 100644 --- a/modules/joiSchemas.js +++ b/modules/joiSchemas.js @@ -5,6 +5,7 @@ module.exports = { _csrf: Joi.string(), name: Joi.string().min(3).max(80).required(), image: Joi.string().empty('').default('/images/category-image.jpg'), + icon: Joi.string().empty('').default('/images/icons/default.svg'), description: Joi.string().empty('').max(500), }), EditCategory: Joi.object().keys({ @@ -12,6 +13,7 @@ module.exports = { id: Joi.string(), name: Joi.string().min(3).max(80).required(), image: Joi.string().empty('').default('/images/category-image.jpg'), + icon: Joi.string().empty('').default('/images/icons/default.svg'), description: Joi.string().empty('').max(500), }), UserSettings: Joi.object().keys({ diff --git a/views/admin/categories.ejs b/views/admin/categories.ejs index 8459a41..92a57a4 100644 --- a/views/admin/categories.ejs +++ b/views/admin/categories.ejs @@ -53,6 +53,14 @@

Local path from public directory is supported.

+ + +
+ + +

Local path from public directory is supported.

+
+
@@ -64,4 +72,4 @@
-<%- include('footer'); %> \ No newline at end of file +<%- include('footer'); %> diff --git a/views/category.ejs b/views/category.ejs index 5d3a6c3..8ddbef3 100644 --- a/views/category.ejs +++ b/views/category.ejs @@ -3,25 +3,25 @@

<%= title %>

- <% if(services.length > 0) { %> -
- <% services.forEach((service) => { %> -
-
-
- -
-
-

<%= service.title %> for <%= service.price %>

Offered by <%= service.seller.username %> -
-
- View +
+ <% if(services.length > 0) { %> +
+ <% services.forEach((service) => { %> +
+
+
+
+

<%= service.title %> for <%= service.price %> <%= service.currency %>

Offered by <%= service.seller.username %> +
+
+ View +
+ <% }) + } else { %> +

There is no services added to this category.

+ <% } %>
- <% }) - } else { %> -

There is no services added to this category.

- <% } %>
-<%- include('partials/footer'); %> \ No newline at end of file +<%- include('partials/footer'); %>