Browse Source

Apr 12 : [ADD] Initial Commit 'theme_eco_food'

dependabot/npm_and_yarn/odoo_website_helpdesk/static/src/cdn/minimist-1.2.8
AjmalCybro 2 years ago
parent
commit
2c1aeecbe6
  1. 41
      theme_eco_food/README.rst
  2. 24
      theme_eco_food/__init__.py
  3. 100
      theme_eco_food/__manifest__.py
  4. 23
      theme_eco_food/controllers/__init__.py
  5. 389
      theme_eco_food/controllers/main.py
  6. 8
      theme_eco_food/data/featured_product_snippet.xml
  7. 8
      theme_eco_food/data/new_arrival.xml
  8. 8
      theme_eco_food/data/recently_added.xml
  9. 8
      theme_eco_food/data/snippet_products.xml
  10. 6
      theme_eco_food/doc/RELEASE_NOTES.md
  11. 27
      theme_eco_food/models/__init__.py
  12. 32
      theme_eco_food/models/best_seller.py
  13. 31
      theme_eco_food/models/featured_products.py
  14. 31
      theme_eco_food/models/new_arrival.py
  15. 43
      theme_eco_food/models/product.py
  16. 31
      theme_eco_food/models/recently_added.py
  17. 5
      theme_eco_food/security/ir.model.access.csv
  18. BIN
      theme_eco_food/static/description/assets/all_screens.png
  19. BIN
      theme_eco_food/static/description/assets/easily-access-menu.gif
  20. BIN
      theme_eco_food/static/description/assets/hero.png
  21. BIN
      theme_eco_food/static/description/assets/icons/check.png
  22. BIN
      theme_eco_food/static/description/assets/icons/chevron.png
  23. BIN
      theme_eco_food/static/description/assets/icons/cogs.png
  24. BIN
      theme_eco_food/static/description/assets/icons/consultation.png
  25. BIN
      theme_eco_food/static/description/assets/icons/ecom-black.png
  26. BIN
      theme_eco_food/static/description/assets/icons/education-black.png
  27. BIN
      theme_eco_food/static/description/assets/icons/hotel-black.png
  28. BIN
      theme_eco_food/static/description/assets/icons/license.png
  29. BIN
      theme_eco_food/static/description/assets/icons/lifebuoy.png
  30. BIN
      theme_eco_food/static/description/assets/icons/manufacturing-black.png
  31. BIN
      theme_eco_food/static/description/assets/icons/pos-black.png
  32. BIN
      theme_eco_food/static/description/assets/icons/puzzle.png
  33. BIN
      theme_eco_food/static/description/assets/icons/restaurant-black.png
  34. BIN
      theme_eco_food/static/description/assets/icons/service-black.png
  35. BIN
      theme_eco_food/static/description/assets/icons/trading-black.png
  36. BIN
      theme_eco_food/static/description/assets/icons/training.png
  37. BIN
      theme_eco_food/static/description/assets/icons/update.png
  38. BIN
      theme_eco_food/static/description/assets/icons/user.png
  39. BIN
      theme_eco_food/static/description/assets/icons/wrench.png
  40. BIN
      theme_eco_food/static/description/assets/logo.png
  41. BIN
      theme_eco_food/static/description/assets/menu_focus.png
  42. BIN
      theme_eco_food/static/description/assets/responsive.jpg
  43. BIN
      theme_eco_food/static/description/assets/screenshots/1.png
  44. BIN
      theme_eco_food/static/description/assets/screenshots/2.png
  45. BIN
      theme_eco_food/static/description/assets/screenshots/3.png
  46. BIN
      theme_eco_food/static/description/assets/screenshots/4.png
  47. BIN
      theme_eco_food/static/description/assets/screenshots/5.png
  48. BIN
      theme_eco_food/static/description/assets/screenshots/6.png
  49. BIN
      theme_eco_food/static/description/assets/screenshots/7.png
  50. BIN
      theme_eco_food/static/description/assets/screenshots/8.png
  51. BIN
      theme_eco_food/static/description/banner.png
  52. BIN
      theme_eco_food/static/description/icon.png
  53. 738
      theme_eco_food/static/description/index.html
  54. BIN
      theme_eco_food/static/description/theme_screenshot.png
  55. 3158
      theme_eco_food/static/src/css/animate.css
  56. 2
      theme_eco_food/static/src/css/animate.min.css
  57. 73
      theme_eco_food/static/src/css/bootstrap-dropdownhover.css
  58. 4
      theme_eco_food/static/src/css/bootstrap-dropdownhover.min.css
  59. 1390
      theme_eco_food/static/src/css/bootstrap-icons.css
  60. 6
      theme_eco_food/static/src/css/owl.carousel.min.css
  61. 6
      theme_eco_food/static/src/css/owl.theme.default.min.css
  62. 151
      theme_eco_food/static/src/css/shuffle-styles.css
  63. 5816
      theme_eco_food/static/src/css/style.css
  64. BIN
      theme_eco_food/static/src/images/ad-section/ad1.jpg
  65. BIN
      theme_eco_food/static/src/images/ad-section/ad2.jpg
  66. BIN
      theme_eco_food/static/src/images/ad-section/ad3.jpg
  67. BIN
      theme_eco_food/static/src/images/anil-xavier-UrpWu00bT_M-unsplash.jpg
  68. BIN
      theme_eco_food/static/src/images/banner/slider-1.jpg
  69. BIN
      theme_eco_food/static/src/images/banner/slider-2.jpg
  70. BIN
      theme_eco_food/static/src/images/best-seller/product-1.png
  71. BIN
      theme_eco_food/static/src/images/best-seller/product-10.png
  72. BIN
      theme_eco_food/static/src/images/best-seller/product-13.png
  73. BIN
      theme_eco_food/static/src/images/best-seller/product-2.png
  74. BIN
      theme_eco_food/static/src/images/best-seller/product-3.png
  75. BIN
      theme_eco_food/static/src/images/best-seller/product-4.png
  76. BIN
      theme_eco_food/static/src/images/best-seller/product-5.png
  77. BIN
      theme_eco_food/static/src/images/best-seller/product-6.png
  78. BIN
      theme_eco_food/static/src/images/best-seller/product-7.png
  79. BIN
      theme_eco_food/static/src/images/best-seller/product-8.png
  80. BIN
      theme_eco_food/static/src/images/best-seller/product-9.png
  81. BIN
      theme_eco_food/static/src/images/cart/product-6.png
  82. BIN
      theme_eco_food/static/src/images/cart/product-7.png
  83. BIN
      theme_eco_food/static/src/images/client/c1.jpg
  84. BIN
      theme_eco_food/static/src/images/client/c1.png
  85. BIN
      theme_eco_food/static/src/images/client/c1_01.jpg
  86. BIN
      theme_eco_food/static/src/images/client/c1_02.gif
  87. BIN
      theme_eco_food/static/src/images/client/c1_03.gif
  88. BIN
      theme_eco_food/static/src/images/client/c1_04.gif
  89. BIN
      theme_eco_food/static/src/images/client/c1_08.gif
  90. BIN
      theme_eco_food/static/src/images/client/c1_09.gif
  91. BIN
      theme_eco_food/static/src/images/client/c1_13.gif
  92. BIN
      theme_eco_food/static/src/images/client/c1_15.gif
  93. BIN
      theme_eco_food/static/src/images/client/c1_16.gif
  94. BIN
      theme_eco_food/static/src/images/client/c2.png
  95. BIN
      theme_eco_food/static/src/images/client/c3.png
  96. BIN
      theme_eco_food/static/src/images/client/c4.png
  97. BIN
      theme_eco_food/static/src/images/client/c5.png
  98. BIN
      theme_eco_food/static/src/images/client/c6.png
  99. BIN
      theme_eco_food/static/src/images/eiliv-sonas-aceron-DNQLBdGdld0-unsplash.jpg
  100. BIN
      theme_eco_food/static/src/images/featured-product/faeature (1).png

41
theme_eco_food/README.rst

@ -0,0 +1,41 @@
Theme Eco Life
==============
* Design Web Pages with Theme Eco Life
Installation
============
- www.odoo.com/documentation/16.0/setup/install.html
- Install our custom addon
- Before installing the theme you must installed the website
License
-------
General Public License, Version 3 (LGPL v3).
Company
-------
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__
Credits
-------
* Developer: Cybrosys Techno Solutions odoo@cybrosys.com
Version 16: Athira Premanand @cybrosys
Contacts
--------
* Mail Contact : odoo@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
==========
This module is maintained by Cybrosys Technologies.
For support and more information, please visit https://www.cybrosys.com
Further information
===================
HTML Description: `<static/description/index.html>`__

24
theme_eco_food/__init__.py

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from . import controllers
from . import models

100
theme_eco_food/__manifest__.py

@ -0,0 +1,100 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Technologies (<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
{
'name': 'Theme Eco Food',
'description': 'Theme Eco Food is an attractive and modern eCommerce Website theme',
'summary': 'Design Web Pages with theme EcoLife',
'category': 'Theme/eCommerce',
'version': '16.0.1.0.0',
'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',
'website': "https://www.cybrosys.com",
'depends': ['website', 'website_sale_wishlist', 'website_blog'],
'data': [
'data/snippet_products.xml',
'data/recently_added.xml',
'data/featured_product_snippet.xml',
'data/new_arrival.xml',
'security/ir.model.access.csv',
'views/shop.xml',
'views/best_seller.xml',
'views/recently_added.xml',
'views/featured_product.xml',
'views/new_arrival.xml',
'views/footer.xml',
'views/header.xml',
'views/contact.xml',
'views/cart.xml',
'views/cart_total_order.xml',
'views/product_details.xml',
'views/checkout.xml',
'views/snippets/banner.xml',
'views/snippets/client.xml',
'views/snippets/featured_products.xml',
'views/snippets/new_arrivals_products.xml',
'views/snippets/recently_added_products.xml',
'views/snippets/service.xml',
'views/snippets/testimoinial.xml',
'views/snippets/website_ad.xml',
'views/snippets/ad.xml',
],
'assets': {
'web.assets_frontend': [
'theme_eco_food/static/src/css/animate.css',
'theme_eco_food/static/src/xml/snippets/best_seller.xml',
'theme_eco_food/static/src/xml/snippets/featured_products.xml',
'theme_eco_food/static/src/xml/snippets/new_arrival_products.xml',
'theme_eco_food/static/src/xml/snippets/recently_added.xml',
'theme_eco_food/static/src/css/animate.min.css',
'theme_eco_food/static/src/css/bootstrap-dropdownhover.css',
'theme_eco_food/static/src/css/bootstrap-dropdownhover.min.css',
'theme_eco_food/static/src/css/bootstrap-icons.css',
'theme_eco_food/static/src/css/owl.carousel.min.css',
'theme_eco_food/static/src/css/owl.theme.default.min.css',
'theme_eco_food/static/src/css/shuffle-styles.css',
'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css',
'theme_eco_food/static/src/css/style.css',
'https://code.jquery.com/jquery-1.12.4.js',
'https://code.jquery.com/ui/1.12.1/jquery-ui.js',
'theme_eco_food/static/src/js/owl.carousel.js',
'theme_eco_food/static/src/js/owl.carousel.min.js',
'theme_eco_food/static/src/js/script.js',
'theme_eco_food/static/src/js/index.js',
'theme_eco_food/static/src/js/new_arrivals.js',
'theme_eco_food/static/src/js/best_seller.js',
'theme_eco_food/static/src/js/featured_products.js',
'theme_eco_food/static/src/js/recently_added.js',
'https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js',
],
},
'images': [
'static/description/banner.png',
'static/description/theme_screenshot.png',
],
'license': 'LGPL-3',
'installable': True,
'application': False,
'auto_install': False,
}

23
theme_eco_food/controllers/__init__.py

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from . import main

389
theme_eco_food/controllers/main.py

@ -0,0 +1,389 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from datetime import datetime
from werkzeug.exceptions import Forbidden, NotFound
from odoo import fields, http, SUPERUSER_ID, tools, _
from odoo.addons.http_routing.models.ir_http import slug
from odoo.addons.website.controllers.main import QueryURL
from odoo import http
from odoo.http import request
from odoo.addons.website_sale.controllers import main
from odoo.tools import lazy
class WebsiteSale(main.WebsiteSale):
def shop(self, page=0, category=None, search='', min_price=0.0,
max_price=0.0, ppg=False, **post):
"""This function helps to override the functionalites of a website shop"""
add_qty = int(post.get('add_qty', 1))
try:
min_price = float(min_price)
except ValueError:
min_price = 0
try:
max_price = float(max_price)
except ValueError:
max_price = 0
Category = request.env['product.public.category']
if category:
category = Category.search([('id', '=', int(category))], limit=1)
if not category or not category.can_access_from_current_website():
raise NotFound()
else:
category = Category
website = request.env['website'].get_current_website()
if ppg:
try:
ppg = int(ppg)
post['ppg'] = ppg
except ValueError:
ppg = False
if not ppg:
ppg = website.shop_ppg or 20
ppr = website.shop_ppr or 4
attrib_list = request.httprequest.args.getlist('attrib')
attrib_values = [[int(x) for x in v.split("-")] for v in attrib_list if
v]
attributes_ids = {v[0] for v in attrib_values}
attrib_set = {v[1] for v in attrib_values}
keep = QueryURL('/shop', **self._shop_get_query_url_kwargs(
category and int(category), search, min_price, max_price, **post))
now = datetime.timestamp(datetime.now())
pricelist = request.env['product.pricelist'].browse(
request.session.get('website_sale_current_pl'))
if not pricelist or request.session.get('website_sale_pricelist_time',
0) < now - 60 * 60: # test: 1 hour in session
pricelist = website.get_current_pricelist()
request.session['website_sale_pricelist_time'] = now
request.session['website_sale_current_pl'] = pricelist.id
request.update_context(pricelist=pricelist.id,
partner=request.env.user.partner_id)
filter_by_price_enabled = website.is_view_active(
'website_sale.filter_products_price')
if filter_by_price_enabled:
company_currency = website.company_id.currency_id
conversion_rate = request.env['res.currency']._get_conversion_rate(
company_currency, pricelist.currency_id,
request.website.company_id, fields.Date.today())
else:
conversion_rate = 1
url = "/shop"
if search:
post["search"] = search
if attrib_list:
post['attrib'] = attrib_list
options = self._get_search_options(
category=category,
attrib_values=attrib_values,
pricelist=pricelist,
min_price=min_price,
max_price=max_price,
conversion_rate=conversion_rate,
**post
)
fuzzy_search_term, product_count, search_product = self._shop_lookup_products(
attrib_set, options, post, search, website)
filter_by_price_enabled = website.is_view_active(
'website_sale.filter_products_price')
if filter_by_price_enabled:
# TODO Find an alternative way to obtain the domain through the search metadata.
Product = request.env['product.template'].with_context(
bin_size=True)
domain = self._get_search_domain(search, category, attrib_values)
# This is ~4 times more efficient than a search for the cheapest and most expensive products
from_clause, where_clause, where_params = Product._where_calc(
domain).get_sql()
query = f"""
SELECT COALESCE(MIN(list_price), 0) * {conversion_rate}, COALESCE(MAX(list_price), 0) * {conversion_rate}
FROM {from_clause}
WHERE {where_clause}
"""
request.env.cr.execute(query, where_params)
available_min_price, available_max_price = request.env.cr.fetchone()
if min_price or max_price:
if min_price:
min_price = min_price if min_price <= available_max_price else available_min_price
post['min_price'] = min_price
if max_price:
max_price = max_price if max_price >= available_min_price else available_max_price
post['max_price'] = max_price
website_domain = website.website_domain()
categs_domain = [('parent_id', '=', False)] + website_domain
if search:
search_categories = Category.search(
[('product_tmpl_ids', 'in',
search_product.ids)] + website_domain
).parents_and_self
categs_domain.append(('id', 'in', search_categories.ids))
else:
search_categories = Category
categs = lazy(lambda: Category.search(categs_domain))
if category:
url = "/shop/category/%s" % slug(category)
pager = website.pager(url=url, total=product_count, page=page,
step=ppg, scope=7, url_args=post)
offset = pager['offset']
product_count = request.env['product.template'].search_count(
[('pd', '=', True)])
if product_count == 0:
products = search_product[offset:offset + ppg]
else:
products = request.env['product.template'].search(
[('pd', '=', True)])
ProductAttribute = request.env['product.attribute']
if products:
# get all products without limit
attributes = lazy(lambda: ProductAttribute.search([
('product_tmpl_ids', 'in', search_product.ids),
('visibility', '=', 'visible'),
]))
else:
attributes = lazy(lambda: ProductAttribute.browse(attributes_ids))
layout_mode = request.session.get('website_sale_shop_layout_mode')
if not layout_mode:
if website.viewref('website_sale.products_list_view').active:
layout_mode = 'list'
else:
layout_mode = 'grid'
request.session['website_sale_shop_layout_mode'] = layout_mode
products_prices = lazy(lambda: products._get_sales_prices(pricelist))
values = {
'search': fuzzy_search_term or search,
'original_search': fuzzy_search_term and search,
'order': post.get('order', ''),
'category': category,
'attrib_values': attrib_values,
'attrib_set': attrib_set,
'pager': pager,
'pricelist': pricelist,
'add_qty': add_qty,
'products': products,
'search_product': search_product,
'search_count': product_count, # common for all searchbox
'bins': lazy(
lambda: main.TableCompute().process(products, ppg, ppr)),
'ppg': ppg,
'ppr': ppr,
'categories': categs,
'attributes': attributes,
'keep': keep,
'search_categories_ids': search_categories.ids,
'layout_mode': layout_mode,
'products_prices': products_prices,
'get_product_prices': lambda product: lazy(
lambda: products_prices[product.id]),
'float_round': tools.float_round,
}
if filter_by_price_enabled:
values['min_price'] = min_price or available_min_price
values['max_price'] = max_price or available_max_price
values['available_min_price'] = tools.float_round(
available_min_price, 2)
values['available_max_price'] = tools.float_round(
available_max_price, 2)
if category:
values['main_object'] = category
values.update(self._get_additional_shop_values(values))
return request.render("website_sale.products", values)
class WebsiteEcoFoodNewArrivals(http.Controller):
@http.route('/eco_food_new_arrivals', auth="public", type='json',
website=True)
def eco_food_new_arrivals(self):
"""this function used to create new arrivals products"""
new_arrival = request.env['new.arrival'].sudo().search([])
products = {
'new_arrival': new_arrival.new_arrivals_ids.read()
}
return products
@http.route('/add_to_cart/<int:id>', auth="public", type='http',
website=True)
def add_to_cart(self, id):
"""this function is used for adding to cart"""
product = \
request.env['product.product'].search([('product_tmpl_id', '=', id)])[
0]
so = request.website.sale_get_order(force_create=True)
so._cart_update(
product_id=product.id,
add_qty=1,
set_qty=1
)
return request.redirect('/shop/cart')
@http.route('/add_to_wishlist_new_arrival/<int:product_id>', auth="public",
type='http', website=True)
def add_to_wishlist(self, product_id, **kw):
"""this function is used for adding to wishlist"""
prod_id = request.env['product.template'].browse(product_id)
product_ids = prod_id._create_first_product_variant().id
website = request.website
pricelist = website.pricelist_id
product = request.env['product.product'].browse(product_ids)
price = product._get_combination_info_variant(
pricelist=website.pricelist_id,
)['price']
Wishlist = request.env['product.wishlist']
if request.website.is_public_user():
Wishlist = Wishlist.sudo()
partner_id = False
else:
partner_id = request.env.user.partner_id.id
wish = Wishlist._add_to_wishlist(
pricelist.id,
pricelist.currency_id.id,
request.website.id,
price,
product_ids,
partner_id
)
if not partner_id:
request.session['wishlist_ids'] = request.session.get(
'wishlist_ids', []) + [wish.id]
return request.redirect('/shop/wishlist')
@http.route('/cart_quantity_minus', auth="public", type='json',
website=True)
def cart_quantity_minus(self, line_id):
"""this function is used for cart quantity minus"""
so = request.website.sale_get_order()
for rec in so.order_line:
if rec.id == line_id:
rec.product_uom_qty -= 1
@http.route('/cart_quantity_plus', auth="public", type='json',
website=True)
def cart_quantity_plus(self, line_id):
"""this function is used for cart quantity plus"""
so = request.website.sale_get_order()
for rec in so.order_line:
if rec.id == line_id:
rec.product_uom_qty += 1
@http.route('/cart/del/my/product', auth="public", type='json',
website=True)
def delete_cart_products(self, line_id):
"""this function is used for cart quantity delete product"""
so = request.website.sale_get_order()
id = int(line_id)
for rec in so.order_line:
if rec.id == id:
rec.unlink()
@http.route('/get_best_seller', auth="public", type='json', website=True)
def get_best_seller(self):
"""this function is used for get bestseller product"""
best_seller = request.env['dynamic.products'].sudo().search([])
values = {
'best_seller': best_seller.product_tmpl_ids.read()
}
return values
@http.route('/get_featured_products', auth="public", type='json',
website=True)
def get_featured_products(self):
"""this function is used for get featured products"""
featured_product = request.env['featured.products'].sudo().search([],
limit=8)
product = [rec.read()[0] for rec in featured_product]
slide1 = []
slide2 = []
slide3 = []
slide4 = []
for rec in featured_product.featured_products_ids:
if len(slide1) < 2:
slide1.append(rec.read())
elif len(slide2) < 2:
slide2.append(rec.read())
elif len(slide3) < 2:
slide3.append(rec.read())
elif len(slide4) < 2:
slide4.append(rec.read())
values = {
'slide1': slide1,
'slide2': slide2,
'slide3': slide3,
'slide4': slide4,
}
return values
@http.route('/get_recently_added_products', auth="public", type='json',
website=True)
def get_recently_added_products(self):
"""this is the function that will return the most recently added products"""
recently_added_prod = request.env[
'recently_added.products'].sudo().search([], order='id desc',
limit=16)
recent = [rec.read()[0] for rec in recently_added_prod]
slide1 = []
slide2 = []
for rec in recently_added_prod.recent_products_ids:
if len(slide1) < 6:
slide1.append(rec.read())
elif len(slide2) < 6:
slide2.append(rec.read())
values = {
'slide1': slide1,
'slide2': slide2
}
return values

8
theme_eco_food/data/featured_product_snippet.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="create_featured_products" model="featured.products">
<field name="name">Featured Product</field>
</record>
</data>
</odoo>

8
theme_eco_food/data/new_arrival.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="create_new_arrivals" model="new.arrival">
<field name="name">New Arrival</field>
</record>
</data>
</odoo>

8
theme_eco_food/data/recently_added.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data >
<record id="recently_added_products" model="recently_added.products">
<field name="name">Recently Added Products</field>
</record>
</data>
</odoo>

8
theme_eco_food/data/snippet_products.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data >
<record id="create_dynamic_products" model="dynamic.products">
<field name="name">Best Seller</field>
</record>
</data>
</odoo>

6
theme_eco_food/doc/RELEASE_NOTES.md

@ -0,0 +1,6 @@
## Module <theme_eco_food>
#### 14.12.2023
#### Version 16.0.1.0.0
#### ADD
- Initial commit for Theme Eco Life

27
theme_eco_food/models/__init__.py

@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from . import best_seller
from . import featured_products
from . import recently_added
from . import new_arrival
from . import product

32
theme_eco_food/models/best_seller.py

@ -0,0 +1,32 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from odoo import fields, models
class BestSeller(models.Model):
"""This is used to set the Best sellers and the correspoding proudcts for the snippet"""
_name = "dynamic.products"
_description = "Best Seller"
name = fields.Char(string="Name")
product_tmpl_ids = fields.Many2many('product.template')

31
theme_eco_food/models/featured_products.py

@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from odoo import fields, models
class FeaturedProducts(models.Model):
_name = "featured.products"
_description = "Featured Products"
name = fields.Char(string="Name")
featured_products_ids = fields.Many2many('product.template')

31
theme_eco_food/models/new_arrival.py

@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from odoo import fields, models
class FeaturedProducts(models.Model):
_name = "new.arrival"
_description = "New Arrival Products"
name = fields.Char(string="Name")
new_arrivals_ids = fields.Many2many('product.template')

43
theme_eco_food/models/product.py

@ -0,0 +1,43 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from odoo import fields, models, api
class ProductTemplate(models.Model):
_inherit = 'product.template'
pd = fields.Boolean(string='Product Selection')
@api.model
def get_product_selections(self, arr):
records = self.env['product.template'].browse(arr['product_ids'])
if arr['checked'] == 0:
for rec in records:
rec.pd = True
elif arr['checked'] == 1:
for rec in records:
rec.pd = False
elif arr['checked'] == -1:
for rec in self.env['product.template'].search([]):
rec.pd = True

31
theme_eco_food/models/recently_added.py

@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from odoo import fields, models
class RecentlyAdded(models.Model):
_name = "recently_added.products"
_description = "Recently Added Products"
name = fields.Char(string="Name")
recent_products_ids = fields.Many2many('product.template')

5
theme_eco_food/security/ir.model.access.csv

@ -0,0 +1,5 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_dynamic_products,dynamic.products,model_dynamic_products,base.group_user,1,1,1,1
access_featured_products,featured.products,model_featured_products,base.group_user,1,1,1,1
access_recently_added_products,recently_added.products,model_recently_added_products,base.group_user,1,1,1,1
access_new_arrival,new.arrival,model_new_arrival,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_dynamic_products dynamic.products model_dynamic_products base.group_user 1 1 1 1
3 access_featured_products featured.products model_featured_products base.group_user 1 1 1 1
4 access_recently_added_products recently_added.products model_recently_added_products base.group_user 1 1 1 1
5 access_new_arrival new.arrival model_new_arrival base.group_user 1 1 1 1

BIN
theme_eco_food/static/description/assets/all_screens.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

BIN
theme_eco_food/static/description/assets/easily-access-menu.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

BIN
theme_eco_food/static/description/assets/hero.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
theme_eco_food/static/description/assets/icons/check.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
theme_eco_food/static/description/assets/icons/chevron.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

BIN
theme_eco_food/static/description/assets/icons/cogs.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
theme_eco_food/static/description/assets/icons/consultation.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
theme_eco_food/static/description/assets/icons/ecom-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

BIN
theme_eco_food/static/description/assets/icons/education-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

BIN
theme_eco_food/static/description/assets/icons/hotel-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 B

BIN
theme_eco_food/static/description/assets/icons/license.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
theme_eco_food/static/description/assets/icons/lifebuoy.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
theme_eco_food/static/description/assets/icons/manufacturing-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

BIN
theme_eco_food/static/description/assets/icons/pos-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

BIN
theme_eco_food/static/description/assets/icons/puzzle.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

BIN
theme_eco_food/static/description/assets/icons/restaurant-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

BIN
theme_eco_food/static/description/assets/icons/service-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

BIN
theme_eco_food/static/description/assets/icons/trading-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

BIN
theme_eco_food/static/description/assets/icons/training.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

BIN
theme_eco_food/static/description/assets/icons/update.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
theme_eco_food/static/description/assets/icons/user.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 988 B

BIN
theme_eco_food/static/description/assets/icons/wrench.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
theme_eco_food/static/description/assets/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
theme_eco_food/static/description/assets/menu_focus.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
theme_eco_food/static/description/assets/responsive.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

BIN
theme_eco_food/static/description/assets/screenshots/1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 KiB

BIN
theme_eco_food/static/description/assets/screenshots/2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 KiB

BIN
theme_eco_food/static/description/assets/screenshots/3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

BIN
theme_eco_food/static/description/assets/screenshots/4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 KiB

BIN
theme_eco_food/static/description/assets/screenshots/5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 KiB

BIN
theme_eco_food/static/description/assets/screenshots/6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 785 KiB

BIN
theme_eco_food/static/description/assets/screenshots/7.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

BIN
theme_eco_food/static/description/assets/screenshots/8.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

BIN
theme_eco_food/static/description/banner.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

BIN
theme_eco_food/static/description/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

738
theme_eco_food/static/description/index.html

@ -0,0 +1,738 @@
<!-- HERO -->
<div class="container">
<div class="row" style="padding: 4rem 2.5rem 0 !important; background-color: #fff !important;">
<div class="col-lg-12 d-flex flex-column align-items-center">
<h1 class="text-center text-uppercase"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bolder !important; font-size: 2.5rem !important; color: #212121;">
Theme Eco Food
<!-- style="background-color: #556EE6 !important; border-radius: 5px !important; color: white !important; padding: 5px 15px !important; font-size: 14px !important; letter-spacing: 2px !important;">Enterprise</span></sup>-->
</h1>
<p class="my-1 text-center text-uppercase"
style="letter-spacing: 4px !important; color: #74788D !important;">Minimalist and Elegant Frontend
Theme for Odoo 16</p>
</div>
<div class="col-lg-12 text-center mt-5">
<!-- <a href="https://apps.odoo.com/apps/themes/15.0/code_backend_theme/" style="background-color:#556EE6 !important; color:#fff !important; font-weight:600 !important; padding:10px 15px 13px !important; margin:0 5px !important; border-radius:5px !important">-->
<!-- <i class="fa fa-download mr-1"></i>Download Code Backend Theme for Community-->
<!-- </a>-->
</div>
<div class="col-lg-12 d-flex justify-content-center align-items-center" style="margin: 2rem 0;">
<img src="./assets/hero.png" width="100%" height="auto" class="img-responsive">
</div>
</div>
</div>
<!-- END OF HERO -->
<!-- OVERVIEW -->
<div class="container">
<div class="row" style="padding: 0rem 2.5rem !important; background-color: #fff !important;">
<div class="col-lg-12 d-flex flex-column justify-content-center">
<p class="my-1 text-center"
style="font-family: Montserrat, 'sans-serif' !important; color: #212121 !important;">
The Eco Life V16 Gives You a Fully Modified View with a Full Screen Display.
This is a Minimalist and Elegant Frontend Theme for Odoo 16.
This Theme Will Change Your Old Experience to a New Experience With Odoo.
It is a Perfect Choice for Your Odoo Frontend and an Attractive Theme for Your Odoo 16.
It will Give You an attractive header with details on cart, wishlist, pricelist etc.
Using this theme you can customize your product card with features like add to cart, add to wishlist,
rating and all in a new outlook. This will change your contact us, cart, address and payment page to
A Fully Modified View.
</p>
</div>
<div class="col-lg-12 mt-4">
<div class="alert alert-warning text-center" role="alert">
<i class="fa fa-exclamation-triangle mr-2" aria-hidden="true"></i>Please make sure that you install
all
your apps prior to the installation of this theme.
</div>
</div>
</div>
</div>
<!-- END OF OVERVIEW-->
<!-- FEATURE -->
<div class="container" style="margin-top: 3rem;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2
style="font-weight: 300 !important; background-color: #fff !important; z-index: 1 !important; padding: 0 1rem !important;">
Features</h2>
</div>
</div>
<!-- RESPONSIVE -->
<div class="container" style="margin-top: 3rem;">
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #556EE6 !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/responsive.jpg" width="100%" height="auto" class="img-responsive">
</div>
<div class="row">
<div class="col-lg-8" style="padding: 2.5rem 1.5rem!important;">
<div class="text-center"
style="font-size: 0.9rem !important; background-color: #556EE6 !important; padding: 0.5 1.5rem !important; width: 60px; color: #ffffff !important; font-weight: 700; border-radius: 0.2rem !important; margin: 10px 0 !important;">
New
</div>
<h3 style="font-weight: 700 !important;">Fully Responsive Layout</h3>
<h6
style="font-style: Montserrat, 'sans-serif' !important; color: #2A3042 !important; font-weight: 300 !important;">
Now take advantage of everything your dashboard has to offer even on the go. Our design are
now
fully responsive enabling you to view and manage everything from the comfort of your mobile
device. Everything
has been designed in a meticulous fashion.
</h6>
<span class="d-flex" style="margin-top: 2rem !important;">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Fully responsive</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Fits perfectly to all screen sizes</p>
</span>
</div>
</div>
</div>
</div>
<!-- END OF RESPONSIVE -->
<!-- FEATURE -->
<div class="container" style="margin-top: 3rem;">
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #556EE6 !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2.5rem 1.5rem!important;">
<h3 style="font-weight: 700 !important;">Shop View</h3>
<h6
style="font-style: Montserrat, 'sans-serif' !important; color: #2A3042 !important; font-weight: 300 !important;">
The Eco Life Theme V16 Gives You a Fully Modified Shop View.
The product card gives a Pleasant Experience And an Extraordinary Design
To Your Shop page Making The product cards Look Great.
It will Give You a Clean Layout with the New Outlook to your product card with
add to cart,add to wishlist, rating, etc in a new style.
</h6>
<div class="row mt-4">
<div class="col-lg-6">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Modified Font</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Color Combination</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Full Screen View</p>
</span>
</div>
<div class="col-lg-6">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Hover Effect</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Clean Layout</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New label at the top</p>
</span>
</div>
</div>
</div>
<div class="col-lg-12" style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/5.png" width="100%" height="auto" class="img-responsive">
</div>
</div>
</div>
<!-- END OF FEATURE -->
<!-- FEATURE -->
<div class="container" style="margin-top: 3rem;">
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #556EE6 !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2.5rem 1.5rem!important;">
<h3 style="font-weight: 700 !important;">Cart page</h3>
<h6
style="font-style: Montserrat, 'sans-serif' !important; color: #2A3042 !important; font-weight: 300 !important;">
The All new Eco Life Theme V16 Gives You The Fully Modified Cart View and This Table Design
is Also Have Awesome Design and it Gives You More Beauty for Your Odoo Frontend.
It will Give You a Clean Layout with the New Color Combination and a Modified Font.
</h6>
<div class="row mt-4">
<div class="col-lg-6">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Modified Table Style</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Color Combination</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Shows discount percentage and discounted price</p>
</span>
</div>
<div class="col-lg-6">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Buttons with New Colors</p>
</span><span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Modified Font</p>
</span>
</div>
</div>
</div>
<div class="col-lg-12" style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/7.png" width="100%" height="auto" class="img-responsive">
</div>
</div>
</div>
<!-- END OF FEATURE -->
<!-- FEATURE -->
<div class="container" style="margin-top: 3rem;">
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #556EE6 !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2.5rem 1.5rem!important;">
<h3 style="font-weight: 700 !important;">Contact Us Page</h3>
<h6
style="font-style: Montserrat, 'sans-serif' !important; color: #2A3042 !important; font-weight: 300 !important;">
Eco Life Theme Gives You The Fully Modified Contact View with a Full Screen Experience. It will
Give You a Clean Layout with the New OutLook
and a Modified Font.
</h6>
<div class="row mt-4">
<div class="col-lg-6">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Modified Style</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Full Screen View</p>
</span>
</div>
<div class="col-lg-6">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Looks for Button</p>
</span>
</div>
</div>
</div>
<div class="col-lg-12" style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/6.png" width="100%" height="auto" class="img-responsive">
</div>
</div>
</div>
<!-- END OF FEATURE -->
<!-- TWO COLUMN BLOCK -->
<div class="container" style="margin-top: 3rem;">
<div class="row" style="margin: 2rem; ; min-width: 100% !important;">
<div class="col-lg-8" style="padding: 1rem 1rem 1rem 0rem !important;">
<div class=" shadow"
style="background-color: #fff !important; border-top: 3px solid #556EE6 !important; padding: 2.5rem 0rem 0rem 0rem !important;">
<h3 class="mx-4 mt-3" style="font-weight: 700 !important;">Overview</h3>
<h6 class="mx-4"
style="font-style: Montserrat, 'sans-serif' !important; color: #2A3042 !important; font-weight: 300 !important;">
Eco Life Theme V16 is an Attractive Theme for Your Odoo 16.
This Theme Will Change Improve Your Experience With Odoo.
This is a Minimalist and Elegant Frontend Theme for Odoo 16 And Can Offer a Perfect Choice
for
Your Odoo Frontend.
</h6>
<div class="mx-4 my-4">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Modified Structure for All Pages</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Style for Buttons</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Color Combination</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Look for All Pages</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>A Clean layout and New Font Style</p>
</span>
</div>
<img src="./assets/all_screens.png" class="img-responsive" width="100% !important"
height="auto !important">
</div>
</div>
<!-- SCREENSHOTS -->
<div class="container" style="margin-top: 3rem;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2
style="font-weight: 300 !important; background-color: #fff !important; z-index: 1 !important; padding: 0 1rem !important;">
Screenshots</h2>
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">1</h6>
</div>
<h6 class="mt-2 ml-2">Home Page with Banner</h6>
</div>
</div>
<div class="col-lg-12" style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/1.png" width="100%" height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">2</h6>
</div>
<h6 class="mt-2 ml-2">Home page with snippets</h6>
</div>
</div>
<div class="col-lg-12" style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/2.png" width="100%" height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">3</h6>
</div>
<h6 class="mt-2 ml-2">Home page with dynamic snippet</h6>
</div>
</div>
<div class="col-lg-12" style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/3.png" width="100%" height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">4</h6>
</div>
<h6 class="mt-2 ml-2">Shop Page</h6>
</div>
</div>
<div class="col-lg-12" style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/5.png" width="100%" height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">5</h6>
</div>
<h6 class="mt-2 ml-2">Contact Us Page</h6>
</div>
</div>
<div class="col-lg-12" style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/6.png" width="100%" height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">6</h6>
</div>
<h6 class="mt-2 ml-2">Home page with a dynamic snippet</h6>
</div>
</div>
<div class="col-lg-12" style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/4.png" width="100%" height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">7</h6>
</div>
<h6 class="mt-2 ml-2">Cart Page</h6>
</div>
</div>
<div class="col-lg-12" style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/7.png" width="100%" height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">8</h6>
</div>
<h6 class="mt-2 ml-2">Address Page
</h6>
</div>
</div>
<div class="col-lg-12" style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/8.png" width="100%" height="auto" class="img-responsive">
</div>
</div>
</div>
</div>
<!-- END OF SCREENSHOTS -->
<!-- OUR SERVICES -->
<section class="container" style="margin-top: 6rem !important;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mb-4">
<h2
style="font-weight: 300 !important; background-color: #fff !important; z-index: 1 !important; padding: 0 1rem !important;">
Our Services</h2>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/cogs.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Customization</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/wrench.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/lifebuoy.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Support</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/user.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Hire
Odoo
Developer</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #54a0ff !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/puzzle.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Integration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/update.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Migration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/consultation.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Consultancy</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/training.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/license.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Licensing Consultancy</h6>
</div>
</div>
</section>
<!-- END OF END OF OUR SERVICES -->
<!-- OUR INDUSTRIES -->
<section class="container" style="margin-top: 6rem !important; background-color: #fff !important;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mb-4">
<h2
style="font-weight: 300 !important; background-color: #fff !important; z-index: 1 !important; padding: 0 1rem !important;">
Our Industries</h2>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/trading-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Trading
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">Easily
procure
and
sell your products</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/pos-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
POS
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">Easy
configuration
and convivial experience</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/education-black.png" class="img-responsive mb-3" height="48px"
width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Education
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">A
platform for
educational management</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/manufacturing-black.png" class="img-responsive mb-3" height="48px"
width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Manufacturing
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">Plan,
track and
schedule your operations</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/ecom-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
E-commerce &amp; Website
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">Mobile
friendly,
awe-inspiring product pages</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/service-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Service Management
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">Keep
track of
services and invoice</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/restaurant-black.png" class="img-responsive mb-3" height="48px"
width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Restaurant
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">Run
your bar or
restaurant methodically</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/hotel-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Hotel Management
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">An
all-inclusive
hotel management application</p>
</div>
</div>
</div>
</section>
<!-- END OF OUR INDUSTRIES -->
<!-- FOOTER -->
<!-- Footer Section -->
<section class="container" style="margin: 5rem auto 2rem; background-color: #fff !important;">
<div class="row" style="max-width:1540px;">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mb-4">
<h2
style="font-weight: 300 !important; background-color: #fff !important; z-index: 1 !important; padding: 0 1rem !important;">
Need Help?</h2>
</div>
</div>
<!-- Contact Cards -->
<div class="row d-flex justify-content-center align-items-center"
style="max-width:1540px; margin: 0 auto 2rem auto;">
<div class="col-lg-12" style="padding: 0rem 3rem 2rem; border-radius: 10px; margin-right: 3rem; ">
<div class="row mt-4">
<div class="col-lg-4">
<a href="mailto:odoo@cybrosys.com" target="_blank" class="btn btn-block mb-2 deep_hover"
style="text-decoration: none; background-color: #4d4d4d; color: #FFF; border-radius: 4px;"><i
class="fa fa-envelope mr-2"></i>odoo@cybrosys.com</a>
</div>
<div class="col-lg-4">
<a href="https://api.whatsapp.com/send?phone=918606827707" target="_blank"
class="btn btn-block mb-2 deep_hover"
style="text-decoration: none; background-color: #25D366; color: #FFF; border-radius: 4px;">
<i class="fa fa-whatsapp mr-2"></i>WhatsApp</a>
</div>
<div class="col-lg-4">
<a href="mailto:info@cybrosys.com" target="_blank" class="btn btn-block deep_hover"
style="text-decoration: none; background-color: #4d4d4d; color: #FFF; border-radius: 4px;">
<i class="fa fa-envelope mr-2"></i>info@cybrosys.com</a>
</div>
</div>
</div>
</div>
<!-- End of Contact Cards -->
</section>
<!-- Footer -->
<section class="oe_container" style="padding: 2rem 3rem 1rem; background-color: #fff !important;">
<div class="row" style="max-width:1540px; margin: 0 auto; margin-right: 3rem; ">
<!-- Logo -->
<div class="col-lg-12 d-flex justify-content-center align-items-center" style="margin-top: 3rem;">
<img src="https://www.cybrosys.com/images/logo.png" width="200px" height="auto" />
</div>
<!-- End of Logo -->
</div>
</section>
<!-- END OF FOOTER -->
</div>
</div>

BIN
theme_eco_food/static/description/theme_screenshot.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

3158
theme_eco_food/static/src/css/animate.css

File diff suppressed because it is too large

2
theme_eco_food/static/src/css/animate.min.css

File diff suppressed because one or more lines are too long

73
theme_eco_food/static/src/css/bootstrap-dropdownhover.css

@ -0,0 +1,73 @@
/*!
* Dropdownhover v1.0.0 (http://bs-dropdownhover.kybarg.com)
*/
.dropdown .dropdown-menu .caret {
border: 4px solid transparent;
border-left-color: #000;
float: right;
margin-top: 6px;
}
.dropdown-menu {
min-width: 250px;
}
.dropdown-menu > li.open > a {
background-color: #F5F5F5;
color: #262626;
text-decoration: none;
}
.dropdown-menu .dropdown-menu {
left: 100%;
margin: 0;
right: auto;
top: -1px;
}
.dropdown-menu-right .dropdown-menu,
.navbar-right .dropdown-menu .dropdown-menu,
.pull-right .dropdown-menu .dropdown-menu {
left: auto;
right: 100%;
}
.dropdown-menu.animated {
-webkit-animation-duration: 0.3s;
animation-duration: 0.3s;
}
.dropdown-menu.animated:before {
content: " ";
display: block;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
z-index: 99;
}
.dropdownhover-top {
margin-bottom: 2px;
margin-top: 0;
}
.navbar-fixed-bottom .dropdown-menu .dropdown-menu,
.dropdownhover-top .dropdown-menu {
bottom: -1px;
top: auto;
}
.navbar-nav > li > .dropdown-menu {
margin-bottom: 0;
}
.dropdownhover-bottom {
-webkit-transform-origin: 50% 0;
transform-origin: 50% 0;
}
.dropdownhover-left {
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
}
.dropdownhover-right {
-webkit-transform-origin: 0 50%;
transform-origin: 0 50%;
}
.dropdownhover-top {
-webkit-transform-origin: 50% 100%;
transform-origin: 50% 100%;
}

4
theme_eco_food/static/src/css/bootstrap-dropdownhover.min.css

@ -0,0 +1,4 @@
/*!
* Dropdownhover v1.0.0 (http://bs-dropdownhover.kybarg.com)
*/
.dropdown .dropdown-menu .caret{border:4px solid transparent;border-left-color:#000;float:right;margin-top:6px}.dropdown-menu{min-width:250px}.dropdown-menu > li.open > a{background-color:#F5F5F5;color:#262626;text-decoration:none}.dropdown-menu .dropdown-menu{left:100%;margin:0;right:auto;top:-1px}.dropdown-menu-right .dropdown-menu,.navbar-right .dropdown-menu .dropdown-menu,.pull-right .dropdown-menu .dropdown-menu{left:auto;right:100%}.dropdown-menu.animated{-webkit-animation-duration:0.3s;animation-duration:0.3s}.dropdown-menu.animated:before{content:" ";display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:99}.dropdownhover-top{margin-bottom:2px;margin-top:0}.navbar-fixed-bottom .dropdown-menu .dropdown-menu,.dropdownhover-top .dropdown-menu{bottom:-1px;top:auto}.navbar-nav > li > .dropdown-menu{margin-bottom:0}.dropdownhover-bottom{-webkit-transform-origin:50% 0;transform-origin:50% 0}.dropdownhover-left{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.dropdownhover-right{-webkit-transform-origin:0 50%;transform-origin:0 50%}.dropdownhover-top{-webkit-transform-origin:50% 100%;transform-origin:50% 100%}

1390
theme_eco_food/static/src/css/bootstrap-icons.css

File diff suppressed because it is too large

6
theme_eco_food/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_eco_food/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}

151
theme_eco_food/static/src/css/shuffle-styles.css

@ -0,0 +1,151 @@
/*=============================================*\
Some styles to show off masonry layout
\*=============================================*/
.picture-item {
height: 220px;
margin-top: 24px;
margin-left: 0;
/* shuffle items shouldn't have a left margin*/
}
.picture-item img {
display: block;
width: 100%;
}
@supports (object-fit: cover) {
.picture-item img {
max-width: none;
height: 100%;
object-fit: cover;
}
}
.picture-item--h2 {
height: 464px;
/* 2x the height + 1 gutter */
}
.picture-item__inner {
position: relative;
height: 100%;
overflow: hidden;
background: #ECF0F1;
}
img.picture-item__blur {
display: none;
}
.picture-item__details {
display: flex;
align-items: baseline;
justify-content: space-between;
width: 100%;
padding: 1em;
}
.picture-item__description {
width: 100%;
padding: 0 2em 1em 1em;
margin: 0;
}
.picture-item__title {
flex-shrink: 0;
margin-right: 4px;
}
.picture-item__tags {
flex-shrink: 1;
text-align: right;
margin: 0;
}
@media screen and (min-width: 768px) {
.picture-item--overlay .picture-item__details {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
background-color: rgba(0, 0, 0, 0.6);
color: white;
overflow: hidden;
}
.picture-item--overlay .picture-item__description {
display: none;
}
@supports (filter: blur(1px)) and (clip-path: inset(0 0 0 0)) {
.picture-item--overlay .picture-item__blur {
position: absolute;
z-index: 1;
top: 0;
left: 0;
display: block;
filter: blur(7px);
clip-path: inset(170px 0 0 0);
}
.picture-item--overlay .picture-item__details {
background: none;
}
.picture-item--overlay .picture-item__tags,
.picture-item--overlay .picture-item__title {
position: relative;
z-index: 2;
}
}
}
/*
Shuffle needs either relative or absolute positioning on the container
It will set it for you, but it'll cause another style recalculation and layout.
AKA worse performance - so just set it here
*/
.my-shuffle-container {
position: relative;
overflow: hidden;
}
.my-sizer-element {
position: absolute;
opacity: 0;
visibility: hidden;
}
/* Animate in styles */
.shuffle--animatein {
overflow: visible;
}
.shuffle--animatein .picture-item__inner {
opacity: 0;
transform: translate(0, 220px);
}
.shuffle--animatein .picture-item__inner--transition {
transition: all .6s ease;
}
.shuffle--animatein .picture-item.in .picture-item__inner {
opacity: 1;
transform: translate(0, 0);
}
@media screen and (max-width: 767px) {
.picture-item {
height: auto;
margin-top: 20px;
}
.picture-item__details,
.picture-item__description {
font-size: .875em;
padding: .625em;
}
.picture-item__description {
padding-right: .875em;
padding-bottom: 1.25em;
}
.picture-item--h2 {
height: auto;
}
}

5816
theme_eco_food/static/src/css/style.css

File diff suppressed because it is too large

BIN
theme_eco_food/static/src/images/ad-section/ad1.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 KiB

BIN
theme_eco_food/static/src/images/ad-section/ad2.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 KiB

BIN
theme_eco_food/static/src/images/ad-section/ad3.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 KiB

BIN
theme_eco_food/static/src/images/anil-xavier-UrpWu00bT_M-unsplash.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 1012 KiB

BIN
theme_eco_food/static/src/images/banner/slider-1.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

BIN
theme_eco_food/static/src/images/banner/slider-2.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
theme_eco_food/static/src/images/best-seller/product-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 KiB

BIN
theme_eco_food/static/src/images/best-seller/product-10.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

BIN
theme_eco_food/static/src/images/best-seller/product-13.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

BIN
theme_eco_food/static/src/images/best-seller/product-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

BIN
theme_eco_food/static/src/images/best-seller/product-3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

BIN
theme_eco_food/static/src/images/best-seller/product-4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 KiB

BIN
theme_eco_food/static/src/images/best-seller/product-5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 883 KiB

BIN
theme_eco_food/static/src/images/best-seller/product-6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 MiB

BIN
theme_eco_food/static/src/images/best-seller/product-7.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 MiB

BIN
theme_eco_food/static/src/images/best-seller/product-8.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 KiB

BIN
theme_eco_food/static/src/images/best-seller/product-9.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

BIN
theme_eco_food/static/src/images/cart/product-6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB

BIN
theme_eco_food/static/src/images/cart/product-7.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

BIN
theme_eco_food/static/src/images/client/c1.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

BIN
theme_eco_food/static/src/images/client/c1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
theme_eco_food/static/src/images/client/c1_01.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
theme_eco_food/static/src/images/client/c1_02.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
theme_eco_food/static/src/images/client/c1_03.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
theme_eco_food/static/src/images/client/c1_04.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
theme_eco_food/static/src/images/client/c1_08.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

BIN
theme_eco_food/static/src/images/client/c1_09.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
theme_eco_food/static/src/images/client/c1_13.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
theme_eco_food/static/src/images/client/c1_15.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
theme_eco_food/static/src/images/client/c1_16.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
theme_eco_food/static/src/images/client/c2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
theme_eco_food/static/src/images/client/c3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
theme_eco_food/static/src/images/client/c4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
theme_eco_food/static/src/images/client/c5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
theme_eco_food/static/src/images/client/c6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

BIN
theme_eco_food/static/src/images/eiliv-sonas-aceron-DNQLBdGdld0-unsplash.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

BIN
theme_eco_food/static/src/images/featured-product/faeature (1).png

Binary file not shown.

After

Width:  |  Height:  |  Size: 804 KiB

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

Loading…
Cancel
Save