Browse Source

Oct 23: [ADD] Initial commit 'theme_shopping'

pull/347/head
Cybrosys Technologies 9 months ago
parent
commit
731f258567
  1. 73
      theme_shopping/README.rst
  2. 23
      theme_shopping/__init__.py
  3. 82
      theme_shopping/__manifest__.py
  4. 23
      theme_shopping/controllers/__init__.py
  5. 73
      theme_shopping/controllers/dynamic_snippets.py
  6. 100
      theme_shopping/controllers/theme_shopping.py
  7. 16
      theme_shopping/data/ir_cron.xml
  8. 8
      theme_shopping/data/product_category_data.xml
  9. 6
      theme_shopping/doc/RELEASE_NOTES.md
  10. 24
      theme_shopping/models/__init__.py
  11. 103
      theme_shopping/models/product_template.py
  12. 47
      theme_shopping/models/product_wishlist.py
  13. 41
      theme_shopping/models/theme_utils.py
  14. BIN
      theme_shopping/static/description/banner.jpg
  15. BIN
      theme_shopping/static/description/icon.png
  16. BIN
      theme_shopping/static/description/images/1.png
  17. BIN
      theme_shopping/static/description/images/1_mob.png
  18. BIN
      theme_shopping/static/description/images/2.1_mob.png
  19. BIN
      theme_shopping/static/description/images/2.png
  20. BIN
      theme_shopping/static/description/images/2_mob.png
  21. BIN
      theme_shopping/static/description/images/About-us-mobile-temp.png
  22. BIN
      theme_shopping/static/description/images/Edu.png
  23. BIN
      theme_shopping/static/description/images/FAQ.png
  24. BIN
      theme_shopping/static/description/images/POS.png
  25. BIN
      theme_shopping/static/description/images/Production.png
  26. BIN
      theme_shopping/static/description/images/about.png
  27. BIN
      theme_shopping/static/description/images/about_mob.png
  28. BIN
      theme_shopping/static/description/images/about_us.png
  29. BIN
      theme_shopping/static/description/images/arrow-black.png
  30. BIN
      theme_shopping/static/description/images/banner-img.png
  31. BIN
      theme_shopping/static/description/images/blog.png
  32. BIN
      theme_shopping/static/description/images/blog_2_mob.png
  33. BIN
      theme_shopping/static/description/images/blog_mob-temp.png
  34. BIN
      theme_shopping/static/description/images/blog_mob1.png
  35. BIN
      theme_shopping/static/description/images/contact.png
  36. BIN
      theme_shopping/static/description/images/dyn_snippet_1.png
  37. BIN
      theme_shopping/static/description/images/dyn_snippet_2.png
  38. BIN
      theme_shopping/static/description/images/home-mobile-2.png
  39. BIN
      theme_shopping/static/description/images/home-mobile-3.png
  40. BIN
      theme_shopping/static/description/images/home.png
  41. BIN
      theme_shopping/static/description/images/icon-Compatibility-with-plugins.png
  42. BIN
      theme_shopping/static/description/images/icon-Fast-loading-times.png
  43. BIN
      theme_shopping/static/description/images/icon-One-Click-Installation.png
  44. BIN
      theme_shopping/static/description/images/icon-Responsive-design.png
  45. BIN
      theme_shopping/static/description/images/icon-Up-to-date-development.png
  46. BIN
      theme_shopping/static/description/images/icon-design.png
  47. BIN
      theme_shopping/static/description/images/logo-cybro.png
  48. BIN
      theme_shopping/static/description/images/main.png
  49. BIN
      theme_shopping/static/description/images/main_mob.png
  50. BIN
      theme_shopping/static/description/images/members.png
  51. BIN
      theme_shopping/static/description/images/odoo-consultency.png
  52. BIN
      theme_shopping/static/description/images/odoo-customization.png
  53. BIN
      theme_shopping/static/description/images/odoo-developer.png
  54. BIN
      theme_shopping/static/description/images/odoo-implement.png
  55. BIN
      theme_shopping/static/description/images/odoo-intergration.png
  56. BIN
      theme_shopping/static/description/images/odoo-licencing.png
  57. BIN
      theme_shopping/static/description/images/odoo-logo.png
  58. BIN
      theme_shopping/static/description/images/odoo-migration.png
  59. BIN
      theme_shopping/static/description/images/odoo-support.png
  60. BIN
      theme_shopping/static/description/images/offfers.png
  61. BIN
      theme_shopping/static/description/images/shop-mob.png
  62. BIN
      theme_shopping/static/description/images/shop_mob.png
  63. BIN
      theme_shopping/static/description/images/shop_mob_1.png
  64. BIN
      theme_shopping/static/description/images/shop_mob_2.png
  65. BIN
      theme_shopping/static/description/images/shop_page.png
  66. BIN
      theme_shopping/static/description/images/snippet_1.png
  67. BIN
      theme_shopping/static/description/images/snippet_2.png
  68. BIN
      theme_shopping/static/description/images/snippet_3.png
  69. BIN
      theme_shopping/static/description/images/subscrip.png
  70. BIN
      theme_shopping/static/description/images/top_deal_snippet_01.png
  71. BIN
      theme_shopping/static/description/images/trading.png
  72. BIN
      theme_shopping/static/description/images/winter_collection_sinppet_01.png
  73. 780
      theme_shopping/static/description/index.html
  74. BIN
      theme_shopping/static/description/theme_screenshot.jpg
  75. 123
      theme_shopping/static/src/css/main.css
  76. 186
      theme_shopping/static/src/css/owl.carousel.css
  77. 6
      theme_shopping/static/src/css/owl.carousel.min.css
  78. 6
      theme_shopping/static/src/css/owl.theme.default.min.css
  79. BIN
      theme_shopping/static/src/images/08a99f081b7c7fc04c182881ad4d1cb1.jpg
  80. BIN
      theme_shopping/static/src/images/0ee2c56e6de752d57cbe818d7f779094.jpg
  81. BIN
      theme_shopping/static/src/images/4d0009fb34fe3f47d9cfeb8489f36b10.png
  82. BIN
      theme_shopping/static/src/images/57eb7bf51ff78dc8415768debf6c876d.jpg
  83. BIN
      theme_shopping/static/src/images/71f69b8cc982b3cddda12c64ad7d45fe.png
  84. 3
      theme_shopping/static/src/images/Arrow 1.svg
  85. 3
      theme_shopping/static/src/images/Arrow 2.svg
  86. BIN
      theme_shopping/static/src/images/Rectangle 83.png
  87. BIN
      theme_shopping/static/src/images/Rectangle 84.png
  88. BIN
      theme_shopping/static/src/images/Rectangle 85.png
  89. BIN
      theme_shopping/static/src/images/Rectangle 86.png
  90. BIN
      theme_shopping/static/src/images/Rectangle 87.png
  91. BIN
      theme_shopping/static/src/images/Rectangle 88.png
  92. BIN
      theme_shopping/static/src/images/about-main.png
  93. BIN
      theme_shopping/static/src/images/bottle.png
  94. BIN
      theme_shopping/static/src/images/cmpy-logo.png
  95. BIN
      theme_shopping/static/src/images/cyber-monday-retail-sales 1.png
  96. BIN
      theme_shopping/static/src/images/d1b5c24cef48507521eeba649bd1f0cf.png
  97. BIN
      theme_shopping/static/src/images/delivery.png
  98. BIN
      theme_shopping/static/src/images/fashion.png
  99. BIN
      theme_shopping/static/src/images/fd41c182ff914d211fbbcdc1ee0f5cb1.jpg
  100. BIN
      theme_shopping/static/src/images/footer-image.png

73
theme_shopping/README.rst

@ -0,0 +1,73 @@
.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg
:target: https://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
Theme Shopping
==============
Theme Shopping module provide attractive and unique front end theme mainly
suitable for eCommerce website
Configuration
=============
Top Deal product Flow:
- Enabling and Managing 'Top Deal' for a Product:
* Navigate to: Products -> Top Deal
* Enable the 'Top Deal' boolean field for the desired product
- Setting Deal Details
* Once enabled, new fields appear under Products -> General Information:
- Offer Price
- Planned Date
* Set the offer price
* Select the time period for the event
* Click the 'Apply' button to confirm the date
- Deal Visibility and Duration
* The product is added to the Top Deal carousel for the specified period
* When the time period ends, the product is automatically removed from the carousel
- Product Detail Page Display
* The Top Deal offer price is shown
* The original price is displayed with a strikethrough
Winter Collections :
Adding Products to the Winter Collection:
- Navigate to: Products -> General Information -> Category
- Under the "Category" section, select "Winter Collection" from the product category options.
- Add the desired products to this category.
- These products will be available in the Winter Collection snippets.
License
-------
General Public License, Version 3 (AGPL v3).
(https://www.gnu.org/licenses/agpl-3.0-standalone.html)
Company
-------
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__
Credits
-------
Developer: (V17) Sabeel B, V(17) Shikhil Raj
Contact: odoo@cybrosys.com
Contacts
--------
* Mail Contact : odoo@cybrosys.com
* Website : https://cybrosys.com
Bug Tracker
-----------
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
Maintainer
==========
.. image:: https://cybrosys.com/images/logo.png
:target: https://cybrosys.com
This module is maintained by Cybrosys Technologies.
For support and more information, please visit `Our Website <https://cybrosys.com/>`__
Further information
===================
HTML Description: `<static/description/index.html>`__

23
theme_shopping/__init__.py

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from . import controllers
from . import models

82
theme_shopping/__manifest__.py

@ -0,0 +1,82 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
{
'name': 'Theme Shopping',
'version': '17.0.1.0.0',
'category': 'Theme/eCommerce',
'summary': "Theme Shopping is an attractive and modern eCommerce Website "
"theme",
'description': "Theme Shopping is new kind of Theme.The theme is very "
"user-friendly"
"and suitable for your eCommerce website with blog",
'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',
'website': "https://www.cybrosys.com",
'depends': ['sale_management', 'website_blog', 'website_sale_wishlist',
'website_sale',
'website_sale_comparison', 'website_mass_mailing'],
'data': [
'views/header_templates.xml',
'views/footer_templates.xml',
'views/about_us_views.xml',
'views/blog_templates.xml',
'views/snippets/frequently_asked.xml',
'views/snippets/our_team.xml',
'views/snippets/testimonial_snippet.xml',
'views/snippets/offers.xml',
'views/snippets/winter_collections.xml',
'views/snippets/price_collection.xml',
'views/snippets/subscription.xml',
'views/shop_templates.xml',
'views/snippets.xml',
'views/product_template_views.xml',
'views/snippets/top_deal_carousal_templates.xml',
'views/website_sale_wishlist_template.xml',
'data/ir_cron.xml',
],
'demo': ['data/product_category_data.xml'],
'assets': {
'web.assets_frontend': [
"theme_shopping/static/src/js/top_deal_carousel/"
"top_deal_carousal.js",
"theme_shopping/static/src/js/winter_collection_carousel/"
"winter_products_carousel.js",
"theme_shopping/static/src/js/testimonial.js",
"theme_shopping/static/src/js/subscription/subscription.js",
"theme_shopping/static/src/js/snippet_carousel.js",
"theme_shopping/static/src/css/main.css",
"theme_shopping/static/src/css/owl.carousel.min.css",
"theme_shopping/static/src/css/owl.theme.default.min.css",
"theme_shopping/static/src/js/owl.carousel.js",
"theme_shopping/static/src/js/owl.carousel.min.js",
],
},
'images': [
'static/description/banner.jpg',
'static/description/theme_screenshot.jpg',
],
'license': 'AGPL-3',
'installable': True,
'auto_install': False,
'application': False,
}

23
theme_shopping/controllers/__init__.py

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from . import dynamic_snippets
from . import theme_shopping

73
theme_shopping/controllers/dynamic_snippets.py

@ -0,0 +1,73 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import http
from odoo.http import request
class DynamicSnippets(http.Controller):
"""This class is for the getting values for dynamic product snippets
"""
@http.route('/top_deal_product_snippet', auth='public', type='json',
website=True)
def get_best_products(self):
"""Controller to reflect chosen products in 'Top Deal'
snippet"""
products = []
products_search_read = request.env['product.product'].with_user(
1).search_read(
[('is_published', '=', True),
('is_top_deal_product', '=', True),
('ready_to_top_deal', '=', True)],
['name', 'image_1920', 'website_id',
'sales_count', 'list_price','actual_price', 'offer_price', 'product_tmpl_id', 'website_url'])
unique_products = []
seen_tmpl_ids = set()
for product in products_search_read:
if product['product_tmpl_id'][0] not in seen_tmpl_ids:
unique_products.append(product)
seen_tmpl_ids.add(product['product_tmpl_id'][0])
for product in unique_products:
products.append(product)
response = http.Response(
template='theme_shopping.best_deal_product_carousel_snippet',
qcontext={'products': products})
return response.render()
@http.route('/get_winter_product_snippet', auth='public', type='json',
website=True)
def get_winter_products(self):
"""Controller to reflect chosen products in 'Winter Collection'
snippet"""
products = []
products_search_read = request.env['product.product'].with_user(
1).search_read(
[('is_published', '=', True),
('categ_id', '=', request.env.ref(
'theme_shopping.product_category_winter').id)],
['name', 'image_1920', 'website_id',
'sales_count', 'list_price', 'website_url'])
for product in products_search_read:
products.append(product)
response = http.Response(
template='theme_shopping.winter_product_carousel_snippet',
qcontext={'products': products})
return response.render()

100
theme_shopping/controllers/theme_shopping.py

@ -0,0 +1,100 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import http, fields
from odoo.http import request
from odoo.addons.payment import utils as payment_utils
from odoo.tools.json import scriptsafe as json_scriptsafe
from odoo.addons.website_sale.controllers import main
class WebsiteSale(main.WebsiteSale):
"""Imported and recalled WebsiteSale class to Patch cart_update_json()"""
@http.route()
def cart_update_json(
self, product_id, line_id=None, add_qty=None, set_qty=None,
display=True,
product_custom_attribute_values=None,
no_variant_attribute_values=None, **kw
):
"""
This route is called :
- When changing quantity from the cart.
- When adding a product from the wishlist.
- When adding a product to cart on the same page (without redirection).
"""
order = request.website.sale_get_order(force_create=True)
if order.state != 'draft':
request.website.sale_reset()
if kw.get('force_create'):
order = request.website.sale_get_order(force_create=True)
else:
return {}
if product_custom_attribute_values:
product_custom_attribute_values = json_scriptsafe.loads(
product_custom_attribute_values)
if no_variant_attribute_values:
no_variant_attribute_values = json_scriptsafe.loads(
no_variant_attribute_values)
values = order._cart_update(
product_id=product_id,
line_id=line_id,
add_qty=add_qty,
set_qty=set_qty,
product_custom_attribute_values=product_custom_attribute_values,
no_variant_attribute_values=no_variant_attribute_values,
**kw
)
for line in order.order_line.filtered(
lambda rec: rec.product_id.is_top_deal_product):
line.update({"price_unit": line.product_id.offer_price})
values['notification_info'] = self._get_cart_notification_information(
order, [values['line_id']])
values['notification_info']['warning'] = values.pop('warning', '')
request.session['website_sale_cart_quantity'] = order.cart_quantity
if not order.cart_quantity:
request.website.sale_reset()
return values
values['cart_quantity'] = order.cart_quantity
values['minor_amount'] = payment_utils.to_minor_currency_units(
order.amount_total, order.currency_id
),
if not display:
return values
values['cart_ready'] = order._is_cart_ready()
values['website_sale.cart_lines'] = request.env[
'ir.ui.view']._render_template(
"website_sale.cart_lines", {
'website_sale_order': order,
'date': fields.Date.today(),
'suggested_products': order._cart_accessories()
}
)
values['website_sale.total'] = request.env[
'ir.ui.view']._render_template(
"website_sale.total", {
'website_sale_order': order,
}
)
return values

16
theme_shopping/data/ir_cron.xml

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo noupdate="1">
<data>
<!-- crone job checking top deal products -->
<record id="ir_cron_action_top_deal" model="ir.cron">
<field name="name">Top deal Offer Checking</field>
<field name="model_id" ref="model_product_template"/>
<field name="state">code</field>
<field name="code">model.check_top_deal()
</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
</record>
</data>
</odoo>

8
theme_shopping/data/product_category_data.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo noupdate="1">
<!-- Demo product category for winter products -->
<record id="product_category_winter" model="product.category">
<field name="parent_id" ref="product.product_category_1"/>
<field name="name">Winter Collection</field>
</record>
</odoo>

6
theme_shopping/doc/RELEASE_NOTES.md

@ -0,0 +1,6 @@
## Module <theme_shopping>
#### 25.10.2024
#### Version 17.0.1.0.0
#### ADD
- Initial commit for Theme Shopping

24
theme_shopping/models/__init__.py

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from . import product_template
from . import product_wishlist
from . import theme_utils

103
theme_shopping/models/product_template.py

@ -0,0 +1,103 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import api, fields, models
from odoo.exceptions import ValidationError
class ProductTemplate(models.Model):
_inherit = 'product.template'
is_top_deal_product = fields.Boolean(string="Top Deal Product",
help="Whether the product is listed "
"in the top deal product",
store=True)
offer_price = fields.Float(string="Offer Price",
help="Set an offer price to price to "
"display on website")
time_period_from = fields.Date(string="From Date",
help="From date for offer price visibility",
default=lambda self: fields.Date.today())
time_period_end = fields.Date(string="End Date",
help="End date for offer price visibility",
default=lambda self: fields.Date.today())
ready_to_top_deal = fields.Boolean(string="Ready to Top Deal",
help="Determine whether the product is ready to be featured as a top deal.")
actual_price = fields.Monetary(string="Actual Price")
def _get_combination_info(self, combination=False, product_id=False,
add_qty=1, parent_combination=False,
only_template=False):
"""Return the variant info based on its combination.
See `_get_combination_info` for more information.
"""
combination_info = super()._get_combination_info(
combination=combination, product_id=product_id, add_qty=add_qty,
parent_combination=parent_combination, only_template=only_template)
combination_info['offer_price'] = self.offer_price
return combination_info
@api.onchange('is_top_deal_product')
def onchange_is_top_deal_product(self):
"""Set the offer price as new sale price and old sales price saves
into new field """
if self.is_top_deal_product:
self.actual_price = self.list_price
self.time_period_from = fields.Date.today()
self.time_period_end = fields.Date.today()
config = self.env['res.config.settings'].create(
{'group_product_price_comparison': True})
config.execute()
else:
self.list_price = self.actual_price
self.compare_list_price = 0.0
self.ready_to_top_deal = False
def check_top_deal(self):
"""Check the timeframe of the top deal offer."""
data = self.env['product.template'].search(
[('is_top_deal_product', '=', 'True')])
today = fields.Date.today()
for rec in data:
if today > rec.time_period_end:
rec.write({'ready_to_top_deal': False,
'list_price': rec.actual_price,
'compare_list_price': 0.0
})
elif rec.time_period_from <= today <= rec.time_period_end:
if rec.offer_price < rec.actual_price:
rec.write({'ready_to_top_deal': True,
'list_price': rec.offer_price,
'compare_list_price': rec.actual_price})
else:
rec.write({'ready_to_top_deal': True,
'list_price': rec.actual_price,
'compare_list_price': 0.0
})
elif rec.time_period_from > rec.time_period_end:
rec.write({'ready_to_top_deal': False})
raise ValidationError("From date should be less than end date")
else:
rec.write({'ready_to_top_deal': False})
def apply_top_deal_time(self):
"""Method for set time period for top deal products."""
self.check_top_deal()

47
theme_shopping/models/product_wishlist.py

@ -0,0 +1,47 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import api, models
class ProductWishlist(models.Model):
"""Inherited product_wishlist to overwrite a function"""
_inherit = 'product.wishlist'
@api.model
def _add_to_wishlist(self, pricelist_id, currency_id, website_id, price,
product_id, partner_id=False):
"""Over-writing the function to check conditions"""
existing_product = self.env['product.wishlist'].search_count([
('product_id', '=', product_id)])
if existing_product == 1:
return False
else:
wish = self.env['product.wishlist'].create({
'partner_id': partner_id,
'product_id': product_id,
'currency_id': currency_id,
'pricelist_id': pricelist_id,
'price': price,
'website_id': website_id,
})
total_wish = self.env['product.wishlist'].search_count([])
return wish, total_wish

41
theme_shopping/models/theme_utils.py

@ -0,0 +1,41 @@
# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import api, models
class ThemeUtils(models.AbstractModel):
""" Class for enable and disable templates when using theme shopping"""
_inherit = 'theme.utils'
@api.model
def _theme_shopping_post_copy(self, mod):
""" Enable and disable templates when using coffee shop theme """
self.enable_view("website_sale.products_categories")
self.enable_view("website_sale.products_description")
self.enable_view("website_sale.products_design_card")
self.enable_view("website_sale.products_add_to_cart")
self.enable_view("website_sale.product_comment")
self.enable_view("website_sale.option_collapse_products_categories")
self.enable_view("website_sale.product_buy_now")
self.disable_view("website_sale.products_categories_top")
self.disable_view("website_sale.products_design_grid")
self.disable_view("website_sale_comparison.add_to_compare")

BIN
theme_shopping/static/description/banner.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

BIN
theme_shopping/static/description/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
theme_shopping/static/description/images/1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

BIN
theme_shopping/static/description/images/1_mob.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
theme_shopping/static/description/images/2.1_mob.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
theme_shopping/static/description/images/2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
theme_shopping/static/description/images/2_mob.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
theme_shopping/static/description/images/About-us-mobile-temp.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 KiB

BIN
theme_shopping/static/description/images/Edu.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
theme_shopping/static/description/images/FAQ.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

BIN
theme_shopping/static/description/images/POS.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
theme_shopping/static/description/images/Production.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
theme_shopping/static/description/images/about.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

BIN
theme_shopping/static/description/images/about_mob.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

BIN
theme_shopping/static/description/images/about_us.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 KiB

BIN
theme_shopping/static/description/images/arrow-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
theme_shopping/static/description/images/banner-img.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 KiB

BIN
theme_shopping/static/description/images/blog.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

BIN
theme_shopping/static/description/images/blog_2_mob.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

BIN
theme_shopping/static/description/images/blog_mob-temp.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 KiB

BIN
theme_shopping/static/description/images/blog_mob1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
theme_shopping/static/description/images/contact.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

BIN
theme_shopping/static/description/images/dyn_snippet_1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

BIN
theme_shopping/static/description/images/dyn_snippet_2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

BIN
theme_shopping/static/description/images/home-mobile-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 691 KiB

BIN
theme_shopping/static/description/images/home-mobile-3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
theme_shopping/static/description/images/home.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

BIN
theme_shopping/static/description/images/icon-Compatibility-with-plugins.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 B

BIN
theme_shopping/static/description/images/icon-Fast-loading-times.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
theme_shopping/static/description/images/icon-One-Click-Installation.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 B

BIN
theme_shopping/static/description/images/icon-Responsive-design.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 848 B

BIN
theme_shopping/static/description/images/icon-Up-to-date-development.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 936 B

BIN
theme_shopping/static/description/images/icon-design.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1001 B

BIN
theme_shopping/static/description/images/logo-cybro.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

BIN
theme_shopping/static/description/images/main.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
theme_shopping/static/description/images/main_mob.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 KiB

BIN
theme_shopping/static/description/images/members.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

BIN
theme_shopping/static/description/images/odoo-consultency.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
theme_shopping/static/description/images/odoo-customization.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
theme_shopping/static/description/images/odoo-developer.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
theme_shopping/static/description/images/odoo-implement.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
theme_shopping/static/description/images/odoo-intergration.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
theme_shopping/static/description/images/odoo-licencing.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
theme_shopping/static/description/images/odoo-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
theme_shopping/static/description/images/odoo-migration.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
theme_shopping/static/description/images/odoo-support.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
theme_shopping/static/description/images/offfers.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 KiB

BIN
theme_shopping/static/description/images/shop-mob.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 KiB

BIN
theme_shopping/static/description/images/shop_mob.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
theme_shopping/static/description/images/shop_mob_1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
theme_shopping/static/description/images/shop_mob_2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
theme_shopping/static/description/images/shop_page.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
theme_shopping/static/description/images/snippet_1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

BIN
theme_shopping/static/description/images/snippet_2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
theme_shopping/static/description/images/snippet_3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
theme_shopping/static/description/images/subscrip.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
theme_shopping/static/description/images/top_deal_snippet_01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

BIN
theme_shopping/static/description/images/trading.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
theme_shopping/static/description/images/winter_collection_sinppet_01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

780
theme_shopping/static/description/index.html

@ -0,0 +1,780 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>odoo</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css">
<style>
</style>
</head>
<body>
<div class="container position-relative py-3">
<div class="position-absolute d-none d-lg-block"
style="width:100vw; height:100%; margin-left:calc((1080px - 100vw) / 2); margin-top:-30px">
</div>
<div class="pt-4 float-left w-100">
<div class="container">
<div class="row">
<div class="col-lg-6">
<div class="text-left logo-cybro">
<a class="" href="#">
<img src="images/logo-cybro.png"/>
</a>
</div>
</div>
<div class="col-lg-6">
<div class="text-right odoo-logo-top">
<img src="images/odoo-logo.png"/>
</div>
</div>
</div>
</div>
</div>
<!--- closed section-top-menu --->
<div class="pt-5 w-100 float-left">
<div class="text-center">
</div>
<div class="text-center mt-0 pt-0" style="">
<img class="w-100" src="images/banner-img.png"/>
</div>
</div>
<!--- closed section-banner-img --->
<div class="float-left w-100 pt-5 mt-5">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h3 class="text-uppercase float-left font-weight-bold" style="color:#004f73; font-size:24px;">
Theme Shopping</h3>
<div class="w-50 float-left text-center" style="margin-left:14px;"><img class="w-100" src="images/arrow-black.png"/>
</div>
</div>
<div class="col-lg-6">
<ul class="pl-0">
<li style="list-style:none; font-size:24px;">Website Design</li>
<li style="list-style:none; font-size:24px;">UI/UX</li>
<li style="list-style:none; font-size:24px;">Snippets</li>
</ul>
</div>
</div>
</div>
</div>
<!--- closed section-level-up --->
<div class=" float-left w-100 mt-5 pt-4">
<div class="container">
<div class="row">
<div class="col-lg-12">
<h3 class="text-uppercase font-weight-bold" style="color:#282828; font-size:104px;">Theme<br/>
<span style="color:#004f73; font-size:162px;">Shopping</span><br/>
</h3>
</div>
<div class="col-lg-8">
<p class="text-dark" style="padding-right:0px;">Theme Shopping was created by Cybrosys Technology
Solutions. This theme makes the website more unique and attractive through its style and
custom-designed snippets, mainly suitable for eCommerce websites.</p>
<p class="text-dark" style="padding-right:0px;">Provides Structural snippets like Collections,
Subscribe, Choose , Cards, Banner and Dynamic content snippets like Asked Questions, Best Seller
Products, Most Rated Products, New Arrivals</p>
</div>
<div class="col-lg-4 text-left">
<div class="content-area-content position-relative">
<img class="position-absolute w-50" style="top:-18px; left:100px;"
src="images/home.png"/>
</div>
</div>
</div>
</div>
</div>
<!-- closed section-content-area -->
<div class=" float-left w-100">
<div class="container">
<div class="row">
<div class="col-lg-12">
<h3 class="text-uppercase pt-5 mt-5 font-weight-bold" style="color:#004f73;">Key features</h3>
</div>
<div class="col-lg-6">
<div class="key-features-1 mt-4 p-3"
style="background-color:#FDD57C; border:3px solid #000; height:189px; border-radius:14px;">
<div class="w-100 float-left pb-3">
<i><img src="images/icon-design.png"/> </i>
<span class="pl-2" style="font-size:22px;">Design</span>
</div>
<p class="pt-4" style="font-size:20px; line-height:34px;">Unique and Attractive custom-designed
snippets.</p>
</div>
</div>
<div class="col-lg-6">
<div class=" p-3 mt-4" style="background-color:#E0FBAD; border:3px solid #000; border-radius:14px;">
<div class="w-100 float-left pb-3">
<i><img src="images/icon-Fast-loading-times.png"/> </i>
<span class="pl-2" style="font-size:22px;">Fast loading times</span>
</div>
<p class="pt-4" style="font-size:20px; line-height:34px;">This theme loads all of its features
more quickly than other designs.
</p>
</div>
</div>
<div class="col-lg-6">
<div class=" p-3 mt-4" style="background-color:#D1DFE7; border:3px solid #000; border-radius:14px;">
<div class="w-100 float-left pb-3">
<i><img src="images/icon-Responsive-design.png"/> </i>
<span class="pl-2" style="font-size:22px;">Responsive design</span>
</div>
<p class="pt-4" style="font-size:20px; line-height:34px;">Different resolution devices can be
used by users to watch websites.
</p>
</div>
</div>
<div class="col-lg-6">
<div class=" p-3 mt-4" style="background-color:#FED1E5; border:3px solid #000; border-radius:14px;">
<div class="w-100 float-left pb-3">
<i><img src="images/icon-One-Click-Installation.png"/> </i>
<span class="pl-2" style="font-size:22px;">One Click Installation</span>
</div>
<p class="pt-4" style="font-size:20px; line-height:34px;">This mode is significantly easier than
others because Odoo makes One Click Installation feasible.
</p>
</div>
</div>
</div>
</div>
</div>
<div class=" float-left w-100 pt-5 mt-5">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h3 class="text-uppercase float-left font-weight-bold" style="color:#004f73; font-size:24px;">Main
page</h3>
<div class="w-50 float-left text-center" style="margin-left:14px;"><img class="w-100" src="images/arrow-black.png">
</div>
</div>
<div class="col-lg-6">
<ul class="pl-0">
<li style="list-style:none; font-size:24px;">Home</li>
<li style="list-style:none; font-size:24px;">Shop</li>
<li style="list-style:none; font-size:24px;">Blog</li>
<li style="list-style:none; font-size:24px;">About us</li>
<li style="list-style:none; font-size:24px;">Contact us</li>
</ul>
</div>
</div>
</div>
</div>
<div class=" w-100 float-left mt-5 pt-5">
<div class="container">
<div class="row">
<!-- <div class="col-lg-12">-->
<!-- <div class="text-center">-->
<!-- <img class="w-100" src="images/banner-img.png"/>-->
<!-- </div>-->
<!-- </div>-->
<div class="col-lg-12">
<div class="text-center mt-5 pt-5">
<img class="w-100" src="images/main.png"/>
</div>
</div>
</div>
</div>
</div>
<!--- closed white-theme --->
<div class=" pt-5 mt-5 float-left w-100">
<div class="container">
<div class="row">
<div class="col-lg-8">
<h3 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; line-height:44px; font-size:24px;">Mobile Responsive Design</h3>
<div class="w-50 float-left text-center arrow-black" style="margin-left:14px;"><img class="w-100" src="images/arrow-black.png">
</div>
</div>
<div class="col-lg-4">
</div>
</div>
</div>
</div>
<div class="mt-5 float-left w-100">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100" src="images/main_mob.png"/>
</div>
</div>
</div>
</div>
</div>
<div class="pt-5 mt-5 float-left w-100">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h3 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; line-height:32px; font-size:24px;">About us page</h3>
<div class="w-50 float-left text-center arrow-black" style="margin-left:14px;"><img class="w-100" src="images/arrow-black.png">
</div>
</div>
</div>
</div>
</div>
<div class=" w-100 pt-5 mt-5 float-left">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100" src="images/about_us.png"/>
</div>
</div>
</div>
</div>
</div>
<div class="pt-5 mt-5 float-left w-100">
<div class="container">
<div class="row">
<div class="col-lg-8">
<h3 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; line-height:47px; font-size:24px;">Mobile Responsive Design</h3>
<div class="w-50 float-left text-center arrow-black" style="margin-left:14px;"><img class="w-100" src="images/arrow-black.png">
</div>
</div>
<div class="col-lg-4">
</div>
</div>
</div>
</div>
<div class=" w-100 float-left pt-5 mt-5" style="background-color:#0d5272;">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100" src="images/About-us-mobile-temp.png"/>
</div>
</div>
</div>
</div>
</div>
<div class="pt-5 mt-5 float-left w-100">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h3 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; line-height:32px; font-size:24px;">Shop</h3>
<div class="w-50 float-left text-center arrow-black" style="margin-left:14px;"><img class="w-100" src="images/arrow-black.png">
</div>
</div>
</div>
</div>
<div class="float-left w-100">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center pt-5 mt-5">
<img class="w-100" src="images/shop_page.png"/>
</div>
</div>
</div>
</div>
</div>
<div class="pt-5 mt-5 float-left w-100">
<div class="container">
<div class="row">
<div class="col-lg-8">
<h3 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; line-height:44px; font-size:24px;">Mobile Responsive Design</h3>
<div class="w-50 float-left text-center arrow-black" style="margin-left:14px;"><img
class="w-100"
src="images/arrow-black.png">
</div>
</div>
<div class="col-lg-4">
</div>
</div>
</div>
</div>
<div class=" w-100 float-left" style="background-color:#0d5272;">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center mt-5">
<img class="w-100" src="images/shop-mob.png"/>
</div>
</div>
</div>
</div>
</div>
<div class="pt-5 mt-5 float-left w-100">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h3 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; line-height:32px; font-size:24px;">Blog Page</h3>
<div class="w-50 float-left text-center arrow-black" style="margin-left:14px;"><img
class="w-100"
src="images/arrow-black.png">
</div>
</div>
</div>
</div>
</div>
<div class="mt-5 w-100 float-left">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center mt-5">
<img class="w-100" src="images/blog.png"/>
</div>
</div>
</div>
</div>
</div>
<div class=" pt-5 mt-5 float-left w-100">
<div class="container">
<div class="row">
<div class="col-lg-8">
<h3 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; line-height:44px; font-size:24px;">Mobile Responsive Design</h3>
<div class="w-50 float-left text-center arrow-black" style="margin-left:14px;"><img
class="w-100"
src="images/arrow-black.png">
</div>
</div>
<div class="col-lg-4">
</div>
</div>
</div>
</div>
<div class=" w-100 float-left" style="background-color:#0d5272;">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center mt-3 pt-5">
<img class="w-100" src="images/blog_mob-temp.png"/>
</div>
</div>
</div>
</div>
</div>
<div class=" pt-5 mt-5 float-left w-100">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h3 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; line-height:32px; font-size:24px;">Contact us Page</h3>
<div class="w-50 float-left text-center arrow-black" style="margin-left:18px;"><img
class="w-100"
src="images/arrow-black.png">
</div>
</div>
</div>
</div>
</div>
<div class="mt-5 w-100 float-left">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center mt-5">
<img class="w-100" src="images/contact.png"/>
</div>
</div>
</div>
</div>
</div>
<div class=" float-left w-100 pt-5 mt-5" style="">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h3 class="text-uppercase float-left font-weight-bold mr-4 w-25"
style="color:#004f73; font-size:24px;">Structural Snippets</h3>
<div class="w-50 float-left text-center"
style="margin-left:14px;"><img class="w-100"
src="images/arrow-black.png"/>
</div>
</div>
<div class="col-lg-6">
<ul class="pl-0">
<li style="list-style:none; font-size:24px;">Our Team</li>
<li style="list-style:none; font-size:24px;">Product Offers
</li>
<li style="list-style:none; font-size:24px;">Frequently Asked Questions</li>
<li style="list-style:none; font-size:24px;">Price Collection</li>
<li style="list-style:none; font-size:24px;">Subscription</li>
<li style="list-style:none; font-size:24px;">
Testimonial
</li>
</ul>
</div>
</div>
</div>
</div>
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h2 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; font-size:24px;">Our Team</h2>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100"
src="images/members.png"/>
</div>
</div>
</div>
</div>
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h2 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; font-size:24px;">Product Offers</h2>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100"
src="images/offfers.png"/>
</div>
</div>
</div>
</div>
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h2 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; font-size:24px;">Frequently Asked Questions</h2>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100"
src="images/snippet_2.png"/>
</div>
</div>
</div>
</div>
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h2 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; font-size:24px;">Price Collection</h2>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100"
src="images/snippet_1.png"/>
</div>
</div>
</div>
</div>
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h2 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; font-size:24px;">Subscription</h2>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100"
src="images/subscrip.png"/>
</div>
</div>
</div>
</div>
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h2 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; font-size:24px;">Testimonial</h2>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100"
src="images/snippet_3.png"/>
</div>
</div>
</div>
</div>
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h3 class="text-uppercase float-left font-weight-bold mr-4 w-25"
style="color:#004f73; font-size:24px;">Dynamic Content Snippets</h3>
<div class="w-50 float-left text-center"
style="margin-left:14px;"><img class="w-100"
src="images/arrow-black.png">
</div>
</div>
<div class="col-lg-6">
<ul class="pl-0">
<li style="list-style:none; font-size:24px;">Top Deal Products</li>
<li style="list-style:none; font-size:24px;">Winter Collections</li>
</ul>
</div>
</div>
</div>
</div>
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h2 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; font-size:24px;">Top Deal Products</h2>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100"
src="images/top_deal_snippet_01.png"/>
</div>
</div>
<p class="text-dark" style="padding-right:0px;">
Please enable 'Top Deal Products' then proceed to enter the offer price and set the event's time period.
Confirm the selected date by clicking the 'Apply' button in the product form.
</p>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100"
src="images/dyn_snippet_1.png"/>
</div>
</div>
</div>
</div>
<div class=" float-left w-100 pt-5 mt-5" style="background-color: #fff;">
<div class="container">
<div class="row">
<div class="col-lg-6">
<h2 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; font-size:24px;">Winter Collections</h2>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100"
src="images/winter_collection_sinppet_01.png"/>
</div>
</div>
<p class="text-dark" style="padding-right:0px;">Please Add A Product Under the Winter collection Product Category.</p>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="text-center">
<img class="w-100"
src="images/dyn_snippet_2.png"/>
</div>
</div>
</div>
</div>
<div style="padding-bottom:100px;" class="w-100 float-left mt-5 bg-white">
<div class="container">
<div class="row">
<div class="col-lg-12">
<h3 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; padding-top:80px; font-size:26px;">Our Services</h3>
<br/>
<div style="font-size:22px;" class="text-left float-left w-100 pb-5 mb-4">View services offered
by
us
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4" style="border-radius:16px; background-color:#ffeed8;">
<img src="images/odoo-customization.png"/>
<h3 style="color:#522065; font-size:24px;" class="pt-1"> Odoo <br/> Customization </h3>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4" style="border-radius:16px; background-color:#ffeed8;">
<img src="images/odoo-implement.png"/>
<h3 style="color:#522065; font-size:24px;" class="pt-1"> Odoo <br/> Implementation </h3>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4" style="border-radius:16px; background-color:#ffeed8;">
<img src="images/odoo-support.png"/>
<h3 style="color:#522065; font-size:24px;" class="pt-1"> Odoo <br/> Support </h3>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4" style="border-radius:16px; background-color:#ffeed8;">
<img src="images/odoo-developer.png"/>
<h3 style="color:#522065; font-size:24px;" class="pt-1"> Hire <br/> Odoo Developer </h3>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4" style="border-radius:16px; background-color:#ffeed8;">
<img src="images/odoo-intergration.png"/>
<h3 style="color:#522065; font-size:24px;" class="pt-1"> Odoo <br/> Integration </h3>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4" style="border-radius:16px; background-color:#ffeed8;">
<img src="images/odoo-migration.png"/>
<h3 style="color:#522065; font-size:24px;" class="pt-1"> Odoo <br/> Migration </h3>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4" style="border-radius:16px; background-color:#ffeed8;">
<img src="images/odoo-consultency.png"/>
<h3 style="color:#522065; font-size:24px;" class="pt-1"> Odoo <br/> Consultancy </h3>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4" style="border-radius:16px; background-color:#ffeed8;">
<img src="images/odoo-implement.png"/>
<h3 style="color:#522065; font-size:24px;" class="pt-1"> Odoo <br/> Implementation </h3>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4" style="border-radius:16px; background-color:#ffeed8;">
<img src="images/odoo-licencing.png"/>
<h3 style="color:#522065; font-size:24px;" class="pt-1"> Odoo <br/> Licensing
Consultancy</h3>
</div>
</div>
</div>
</div>
</div>
<div style="padding-bottom:100px; background-color:#fffae2;" class="w-100 float-left mt-5">
<div class="container">
<div class="row">
<div class="col-lg-12">
<h3 class="text-uppercase float-left font-weight-bold"
style="color:#004f73; padding-top:80px; font-size:26px;">Our Industries</h3> <br/>
<div style="font-size:22px;" class="text-left float-left w-100 pb-5 mb-4">Get Insight in our
odoo
knowledge and our marked footprint in industries
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4 bg-white" style="border-radius:16px; height:232px;">
<img class="w-25" src="images/trading.png"/>
<h3 style="color:#522065; font-size:22px;" class="pt-2"> Trading </h3>
<p style="font-size:20px;">Easily procure and sell
your products</p>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4 bg-white" style="border-radius:16px;height:232px; ">
<img class="w-25" src="images/trading.png"/>
<h3 style="color:#522065; font-size:22px;" class="pt-2"> E-commerce & Website </h3>
<p style="font-size:20px;">Mobile friendly, inspiring product pages</p>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4 bg-white" style="border-radius:16px; height:232px;">
<img class="w-25" src="images/POS.png"/>
<h3 style="color:#522065; font-size:22px;" class="pt-2"> POS</h3>
<p style="font-size:20px;">Easy configuration and
convivial experience</p>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4 bg-white" style="border-radius:16px; height:232px;">
<img class="w-25" src="images/Edu.png"/>
<h3 style="color:#522065; font-size:22px;" class="pt-2">Education</h3>
<p style="font-size:20px;">A platform for educational
management</p>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4 bg-white" style="border-radius:16px; height:232px;">
<img class="w-25" src="images/Production.png"/>
<h3 style="color:#522065; font-size:22px;" class="pt-2">Manufacturing</h3>
<p style="font-size:20px;">Plan, track and schedule
your operations</p>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4 bg-white" style="border-radius:16px; height:232px;">
<img class="w-25" src="images/Production.png"/>
<h3 style="color:#522065; font-size:22px;" class="pt-2">Manufacturing</h3>
<p style="font-size:20px;">Plan, track and schedule
your operations</p>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4 bg-white" style="border-radius:16px; height:232px;">
<img class="w-25" src="images/POS.png"/>
<h3 style="color:#522065; font-size:22px;" class="pt-2">Service Management</h3>
<p style="font-size:20px;">Keep track of services
and invoice</p>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4"
style="border-radius:16px;height:232px; background-color:#fff;">
<img class="w-25" src="images/Edu.png"/>
<h3 style="color:#522065; font-size:22px;" class="pt-2">Restaurant</h3>
<p style="font-size:20px;">Run your bar or restaurant
methodically</p>
</div>
</div>
<div class="col-lg-4 mt-4">
<div class="w-100 float-left p-4"
style="border-radius:16px; height:232px; background-color:#fff;">
<img class="w-25" src="images/Production.png"/>
<h3 style="color:#522065; font-size:22px;" class="pt-2">Hotel management</h3>
<p style="font-size:20px;">An all-inclusive hotel
management application</p>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.1/dist/jquery.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>
</div>
</body>
</html>

BIN
theme_shopping/static/description/theme_screenshot.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 KiB

123
theme_shopping/static/src/css/main.css

File diff suppressed because one or more lines are too long

186
theme_shopping/static/src/css/owl.carousel.css

@ -0,0 +1,186 @@
/**
* Owl Carousel v2.3.4
* Copyright 2013-2018 David Deutsch
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
*/
/*
* Owl Carousel - Core
*/
.owl-carousel {
display: none;
width: 100%;
-webkit-tap-highlight-color: transparent;
/* position relative and z-index fix webkit rendering fonts issue */
position: relative;
z-index: 1; }
.owl-carousel .owl-stage {
position: relative;
-ms-touch-action: pan-Y;
touch-action: manipulation;
-moz-backface-visibility: hidden;
/* fix firefox animation glitch */ }
.owl-carousel .owl-stage:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0; }
.owl-carousel .owl-stage-outer {
position: relative;
overflow: hidden;
/* fix for flashing background */
-webkit-transform: translate3d(0px, 0px, 0px); }
.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0); }
.owl-carousel .owl-item {
position: relative;
min-height: 1px;
float: left;
-webkit-backface-visibility: hidden;
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none; }
.owl-carousel .owl-item img {
display: block;
width: 100%; }
.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
display: none; }
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
cursor: pointer;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none; }
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-carousel button.owl-dot {
background: none;
color: inherit;
border: none;
padding: 0 !important;
font: inherit; }
.owl-carousel.owl-loaded {
display: block; }
.owl-carousel.owl-loading {
opacity: 0;
display: block; }
.owl-carousel.owl-hidden {
opacity: 0; }
.owl-carousel.owl-refresh .owl-item {
visibility: hidden; }
.owl-carousel.owl-drag .owl-item {
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none; }
.owl-carousel.owl-grab {
cursor: move;
cursor: grab; }
.owl-carousel.owl-rtl {
direction: rtl; }
.owl-carousel.owl-rtl .owl-item {
float: right; }
/* No Js */
.no-js .owl-carousel {
display: block; }
/*
* Owl Carousel - Animate Plugin
*/
.owl-carousel .animated {
animation-duration: 1000ms;
animation-fill-mode: both; }
.owl-carousel .owl-animated-in {
z-index: 0; }
.owl-carousel .owl-animated-out {
z-index: 1; }
.owl-carousel .fadeOut {
animation-name: fadeOut; }
@keyframes fadeOut {
0% {
opacity: 1; }
100% {
opacity: 0; } }
/*
* Owl Carousel - Auto Height Plugin
*/
.owl-height {
transition: height 500ms ease-in-out; }
/*
* Owl Carousel - Lazy Load Plugin
*/
.owl-carousel .owl-item {
/**
This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
calculation of the height of the owl-item that breaks page layouts
*/ }
.owl-carousel .owl-item .owl-lazy {
opacity: 0;
transition: opacity 400ms ease; }
.owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
max-height: 0; }
.owl-carousel .owl-item img.owl-lazy {
transform-style: preserve-3d; }
/*
* Owl Carousel - Video Plugin
*/
.owl-carousel .owl-video-wrapper {
position: relative;
height: 100%;
background: #000; }
.owl-carousel .owl-video-play-icon {
position: absolute;
height: 80px;
width: 80px;
left: 50%;
top: 50%;
margin-left: -40px;
margin-top: -40px;
background: url("owl.video.play.png") no-repeat;
cursor: pointer;
z-index: 1;
-webkit-backface-visibility: hidden;
transition: transform 100ms ease; }
.owl-carousel .owl-video-play-icon:hover {
-ms-transform: scale(1.3, 1.3);
transform: scale(1.3, 1.3); }
.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
display: none; }
.owl-carousel .owl-video-tn {
opacity: 0;
height: 100%;
background-position: center center;
background-repeat: no-repeat;
background-size: contain;
transition: opacity 400ms ease; }
.owl-carousel .owl-video-frame {
position: relative;
z-index: 1;
height: 100%;
width: 100%; }

6
theme_shopping/static/src/css/owl.carousel.min.css

@ -0,0 +1,6 @@
/**
* Owl Carousel v2.3.4
* Copyright 2013-2018 David Deutsch
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
*/
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

6
theme_shopping/static/src/css/owl.theme.default.min.css

@ -0,0 +1,6 @@
/**
* Owl Carousel v2.3.4
* Copyright 2013-2018 David Deutsch
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
*/
.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}

BIN
theme_shopping/static/src/images/08a99f081b7c7fc04c182881ad4d1cb1.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

BIN
theme_shopping/static/src/images/0ee2c56e6de752d57cbe818d7f779094.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 KiB

BIN
theme_shopping/static/src/images/4d0009fb34fe3f47d9cfeb8489f36b10.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 MiB

BIN
theme_shopping/static/src/images/57eb7bf51ff78dc8415768debf6c876d.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

BIN
theme_shopping/static/src/images/71f69b8cc982b3cddda12c64ad7d45fe.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

3
theme_shopping/static/src/images/Arrow 1.svg

@ -0,0 +1,3 @@
<svg width="100" height="24" viewBox="0 0 102 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M101.061 13.0607C101.646 12.4749 101.646 11.5251 101.061 10.9393L91.5147 1.3934C90.9289 0.807611 89.9792 0.807611 89.3934 1.3934C88.8076 1.97919 88.8076 2.92893 89.3934 3.51472L97.8787 12L89.3934 20.4853C88.8076 21.0711 88.8076 22.0208 89.3934 22.6066C89.9792 23.1924 90.9289 23.1924 91.5147 22.6066L101.061 13.0607ZM0 13.5H100V10.5H0V13.5Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 471 B

3
theme_shopping/static/src/images/Arrow 2.svg

@ -0,0 +1,3 @@
<svg width="100" height="24" viewBox="0 0 102 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0.939345 10.9393C0.35356 11.5251 0.35356 12.4749 0.939345 13.0607L10.4853 22.6066C11.0711 23.1924 12.0208 23.1924 12.6066 22.6066C13.1924 22.0208 13.1924 21.0711 12.6066 20.4853L4.12133 12L12.6066 3.51472C13.1924 2.92893 13.1924 1.97919 12.6066 1.3934C12.0208 0.807612 11.0711 0.807612 10.4853 1.3934L0.939345 10.9393ZM102 10.5L2.00001 10.5V13.5L102 13.5V10.5Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 492 B

BIN
theme_shopping/static/src/images/Rectangle 83.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

BIN
theme_shopping/static/src/images/Rectangle 84.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 832 KiB

BIN
theme_shopping/static/src/images/Rectangle 85.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 KiB

BIN
theme_shopping/static/src/images/Rectangle 86.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

BIN
theme_shopping/static/src/images/Rectangle 87.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

BIN
theme_shopping/static/src/images/Rectangle 88.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

BIN
theme_shopping/static/src/images/about-main.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

BIN
theme_shopping/static/src/images/bottle.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
theme_shopping/static/src/images/cmpy-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1015 B

BIN
theme_shopping/static/src/images/cyber-monday-retail-sales 1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

BIN
theme_shopping/static/src/images/d1b5c24cef48507521eeba649bd1f0cf.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

BIN
theme_shopping/static/src/images/delivery.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
theme_shopping/static/src/images/fashion.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 MiB

BIN
theme_shopping/static/src/images/fd41c182ff914d211fbbcdc1ee0f5cb1.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

BIN
theme_shopping/static/src/images/footer-image.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save