@ -0,0 +1,48 @@ |
|||
.. image:: https://img.shields.io/badge/license-LGPL--3-green.svg |
|||
:target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html |
|||
:alt: License: LGPL-3 |
|||
|
|||
Theme WatchHut |
|||
============== |
|||
* Design Web Pages with Theme WatchHut |
|||
|
|||
Configuration |
|||
============ |
|||
- www.odoo.com/documentation/18.0/setup/install.html |
|||
- Install our custom addon |
|||
|
|||
Company |
|||
------- |
|||
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__ |
|||
|
|||
License |
|||
------- |
|||
General Public License, Version 3 (LGPL v3). |
|||
(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) |
|||
|
|||
Credits |
|||
------- |
|||
* Developer: (V18) ANFAS FAISAL K, 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 |
|||
-------- |
|||
This module is maintained by Cybrosys Technologies. |
|||
|
|||
For support and more information, please visit https://www.cybrosys.com |
|||
|
|||
.. image:: https://cybrosys.com/images/logo.png |
|||
:target: https://cybrosys.com" |
|||
|
|||
Further information |
|||
=================== |
|||
HTML Description: `<static/description/index.html>`__ |
@ -0,0 +1,22 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2025-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 models |
@ -0,0 +1,64 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2025-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/>. |
|||
# |
|||
############################################################################# |
|||
{ |
|||
'name': 'Theme WatchHut', |
|||
'version': '18.0.1.0.0', |
|||
'category': 'Theme/eCommerce', |
|||
'summary': 'Theme WatchHut is an attractive and modern eCommerce Website' |
|||
' theme', |
|||
'description': 'Theme WatchHut is an attractive and modern eCommerce ' |
|||
'Website theme.The theme is a very user-friendly and is ' |
|||
'suitable for your eCommerce website.It is the most powerful' |
|||
', easy to use theme', |
|||
'author': 'Cybrosys Techno Solutions', |
|||
'company': 'Cybrosys Techno Solutions', |
|||
'maintainer': 'Cybrosys Techno Solutions', |
|||
'website': "https://www.cybrosys.com", |
|||
'depends': ['base', 'website', 'website_sale'], |
|||
'data': [ |
|||
'views/about_page.xml', |
|||
'views/contact_us.xml', |
|||
'views/footer.xml', |
|||
'views/product_view.xml', |
|||
'views/shop.xml', |
|||
'views/snippets/gallery.xml', |
|||
'views/snippets/heading.xml', |
|||
'views/snippets/shop_button.xml', |
|||
'views/header.xml', |
|||
], |
|||
'assets': { |
|||
'web.assets_frontend': [ |
|||
'/theme_watchhut/static/src/css/style.css', |
|||
'/theme_watchhut/static/src/js/custom.js', |
|||
'https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,4000,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap', |
|||
'https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&display=swap', |
|||
] |
|||
}, |
|||
'images': [ |
|||
'static/description/banner.jpg', |
|||
'static/description/theme_screenshot.jpg', |
|||
], |
|||
'license': 'LGPL-3', |
|||
'installable': True, |
|||
'auto_install': False, |
|||
'application': False, |
|||
} |
@ -0,0 +1,6 @@ |
|||
## Module <theme_watchhut> |
|||
|
|||
#### 23.01.2025 |
|||
#### Version 18.0.1.0.0 |
|||
#### ADD |
|||
- Initial commit for Theme WatchHut |
@ -0,0 +1,22 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2025-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 theme_watchhut |
@ -0,0 +1,34 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2025-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 models |
|||
|
|||
|
|||
class ThemeWatchHut(models.AbstractModel): |
|||
"""Inheriting model Theme Utils Model""" |
|||
_inherit = 'theme.utils' |
|||
|
|||
def _theme_watchhut_post_copy(self, mod): |
|||
"""This _theme_watchhut_post_copy is used to enable and disable certain |
|||
mention views below views""" |
|||
self.enable_view('website.template_header_default') |
|||
self.enable_view('website.template_header_default_align_right') |
|||
self.disable_view('website.header_call_to_action') |
After Width: | Height: | Size: 150 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 347 KiB |
After Width: | Height: | Size: 259 KiB |
After Width: | Height: | Size: 428 KiB |
After Width: | Height: | Size: 141 KiB |
After Width: | Height: | Size: 337 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 150 KiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 279 KiB |
After Width: | Height: | Size: 314 KiB |
After Width: | Height: | Size: 149 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 455 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 929 B |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 456 KiB |
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 151 KiB |
After Width: | Height: | Size: 103 KiB |
After Width: | Height: | Size: 198 KiB |
After Width: | Height: | Size: 331 KiB |
After Width: | Height: | Size: 258 KiB |
After Width: | Height: | Size: 368 KiB |
After Width: | Height: | Size: 189 KiB |
After Width: | Height: | Size: 179 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 885 B |
@ -0,0 +1,681 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
|
|||
<head> |
|||
<meta charset="UTF-8" /> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
|||
<title>app index</title> |
|||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" /> |
|||
<link rel="preconnect" href="https://fonts.googleapis.com"> |
|||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> |
|||
<link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap" |
|||
rel="stylesheet"> |
|||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" /> |
|||
<style> |
|||
:root { |
|||
--primary-color: #F5C000; |
|||
--bg-white: #fff; |
|||
--text-color: #121212; |
|||
--text-color-light: #64728f; |
|||
} |
|||
|
|||
body { |
|||
font-family: "Montserrat", sans-serif; |
|||
} |
|||
</style> |
|||
</head> |
|||
|
|||
<body> |
|||
<!-- overview --> |
|||
<div class="container"> |
|||
|
|||
<!-- support-header --> |
|||
|
|||
<div class="supports my-5 py-3" style="border-bottom: 1px solid #e7e7e7;"> |
|||
<div class="row justify-content-between"> |
|||
<div class="col-4"> |
|||
<div class="my-3"> |
|||
<img src="//apps.odoocdn.com/apps/assets/17.0/theme_boec/images/Cybrosys.png?fcdde35" |
|||
style="width:auto !important; height:40px !important"> |
|||
</div> |
|||
</div> |
|||
<div class="col-6"> |
|||
<div class="row" style="margin-top:10px"> |
|||
|
|||
<div class="my-3 d-flex align-items-center justify-content-end"> |
|||
<span class="me-3"><b>Supports: </b></span> |
|||
<div class="text-center" |
|||
style="background-color:#017E84 !important; font-size:0.8rem !important; color:#fff !important; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:50px !important; min-width:120px !important"> |
|||
Community |
|||
</div> |
|||
<div class="text-center" |
|||
style="background-color:#875A7B !important; color:#fff !important; font-size:0.8rem !important; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:50px !important; min-width:120px !important"> |
|||
Enterprise |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="row" style="margin-top:10px"> |
|||
<div class="d-flex align-items-center justify-content-end"> |
|||
<span class="me-3"><b>Availability: </b></span> |
|||
<div class="text-center col" |
|||
style="border:1px solid #017E84; font-size:0.8rem !important; color:#017E84 !important; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:20px !important; min-width:120px !important"> |
|||
<i class="fa fa-times" style="color:red"></i> Odoo Online |
|||
</div> |
|||
<div class="text-center col" |
|||
style="font-size:0.8rem !important; border:1px solid #714b67; color:#714b67 !important; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:20px !important; min-width:120px !important"> |
|||
<i class="fa fa-check" style="color:green"></i> Odoo.sh |
|||
</div> |
|||
<div class="text-center col" |
|||
style="font-size:0.8rem !important; color:#5B899E !important; border:1px solid #5B899E; font-weight:500 !important; padding:4px !important; margin:0 3px !important; border-radius:20px !important; min-width:120px !important"> |
|||
<i class="fa fa-check" style="color:green"></i> On Premise |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<!-- --> |
|||
|
|||
<!-- banner-section --> |
|||
<div class="my-5"> |
|||
<div class=""> |
|||
<img src="./img/banner.jpg" class="img-fluid" style="border-radius: 16px; width: 100%;"> |
|||
</div> |
|||
</div> |
|||
|
|||
<!-- --> |
|||
|
|||
|
|||
|
|||
<!--feature section --> |
|||
|
|||
<div class="my-5" style="padding: 100px; background-color: #f1f5fd; border-radius: 16px;"> |
|||
<div class="container"> |
|||
<div class="row mb-60"> |
|||
<div class="col-lg-12 d-flex justify-content-center align-items-center flex-wrap gap-3"> |
|||
<div class="position-relative" ; style=" |
|||
text-align: center; |
|||
font-size: 46.875px; |
|||
font-style: normal; |
|||
padding-bottom: 40px; "> |
|||
<h2 style="font-weight: 600;">Our Features</h2> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="row g-4"> |
|||
<div class="col-lg-4 col-md-6" style="visibility: visible;"> |
|||
<div style="background-color: #fff;height: 100%; |
|||
border-radius: 12px; |
|||
padding: 35px 30px;"> |
|||
<div class="content"> |
|||
<img src="./img/feature-star.svg" class="img-responsive" height="46px" width="46px"> |
|||
<h4 class="mt-3"><a href="#" style=" color: #121212; |
|||
font-size: 18px; |
|||
text-decoration: none; |
|||
font-weight: 700; |
|||
line-height: 1.2;"> Modified Structure for All Type Views</a></h4> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
<div class="col-lg-4 col-md-6"> |
|||
<div style="background-color: #fff; height: 100%; |
|||
border-radius: 12px; |
|||
padding: 35px 30px;"> |
|||
<div class="content"> |
|||
<img src="./img/feature-star.svg" class="img-responsive" height="46px" width="46px"> |
|||
<h4 class="mt-3"><a href="#" style=" color: #121212; |
|||
font-size: 18px; |
|||
text-decoration: none; |
|||
font-weight: 700; |
|||
line-height: 1.2;"> New Style for Active Menus, Header, Footer. |
|||
</a></h4> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
<div class="col-lg-4 col-md-6"> |
|||
<div style="background-color: #fff; height: 100%; |
|||
border-radius: 12px; |
|||
padding: 35px 30px;"> |
|||
<div class="content"> |
|||
<img src="./img/feature-star.svg" class="img-responsive" height="46px" width="46px"> |
|||
<h4 class="mt-3"><a href="#" style=" color: #121212; |
|||
font-size: 18px; |
|||
text-decoration: none; |
|||
font-weight: 700; |
|||
line-height: 1.2;"> New Color Combination</a></h4> |
|||
</div> |
|||
|
|||
</a> |
|||
</div> |
|||
</div> |
|||
<div class="col-lg-4 col-md-6"> |
|||
<div style="background-color: #fff;height: 100%; |
|||
border-radius: 12px; |
|||
padding: 35px 30px;"> |
|||
<div class="content"> |
|||
<img src="./img/feature-star.svg" class="img-responsive" height="46px" width="46px"> |
|||
<h4 class="mt-3"><a href="#" style=" color: #121212; |
|||
font-size: 18px; |
|||
text-decoration: none; |
|||
font-weight: 700; |
|||
line-height: 1.2;"> New Look for Contact Us page, shops</a></h4> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
<div class="col-lg-4 col-md-6"> |
|||
<div style="background-color: #fff;height: 100%; |
|||
border-radius: 12px; |
|||
padding: 35px 30px;"> |
|||
<div class="content"> |
|||
<img src="./img/feature-star.svg" class="img-responsive" height="46px" width="46px"> |
|||
<h4 class="mt-3"><a href="#" style=" color: #121212; |
|||
font-size: 18px; |
|||
text-decoration: none; |
|||
font-weight: 700; |
|||
line-height: 1.2;"> A Clean layout and New Font Style</a></h4> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
<div class="col-lg-4 col-md-6"> |
|||
<div style="background-color: #fff;height: 100%; |
|||
border-radius: 12px; |
|||
padding: 35px 30px;"> |
|||
<div class="content"> |
|||
<img src="./img/feature-star.svg" class="img-responsive" height="46px" width="46px"> |
|||
<h4 class="mt-3"><a href="#" style=" color: #121212; |
|||
font-size: 18px; |
|||
text-decoration: none; |
|||
font-weight: 700; |
|||
line-height: 1.2;"> Attractive Snippets</a></h4> |
|||
|
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<!-- --> |
|||
<section class="container my-5"> |
|||
<div class="row"> |
|||
<div class="col-md-12"> |
|||
<ul role="tablist" class="nav nav-tabs justify-content-center d-flex justify-content-center" data-tabs="tabs" |
|||
style="border:none; background-color:unset; margin:0 auto"> |
|||
</ul> |
|||
</div> |
|||
<div class="col-md-12 tab-content ui-front" |
|||
style="border-radius:20px;border: 1px solid #D6E0FF; height:auto;padding: 20px;"> |
|||
|
|||
|
|||
|
|||
<div class="tab-pane active show fade" id="Features" role="tabpanel" aria-labelledby="features-1"> |
|||
<section class=""> |
|||
<section class="mt-5"> |
|||
<h2 class="pb-5" style="font-weight: 700; text-align: center;">Theme Features</h2> |
|||
<div class="row" style="margin-bottom: 24px;"> |
|||
<div class="col-md-8"> |
|||
<div style="border-radius: 10px; padding: 32px; |
|||
background-color: #303030; |
|||
-webkit-backdrop-filter: blur(5px); |
|||
backdrop-filter: blur(5px); height: 100%;"> |
|||
<div class="info"> |
|||
<span class="label" style="font-size: 12px; |
|||
font-style: normal; |
|||
font-weight: 700; |
|||
line-height: 32px; |
|||
color: #f14848; |
|||
margin-bottom: 13px; |
|||
text-transform: uppercase;">HIGHLIGHT</span> |
|||
<h3 class="text-white" style=" color: #fff; |
|||
font-size: 24px; |
|||
font-weight: 500; |
|||
line-height: 32px; |
|||
margin-bottom: 9px;">Mobile View</h3> |
|||
<p class="des" style="color: #c7c7c7; |
|||
font-size: 16px; |
|||
font-style: normal; |
|||
font-weight: 400; |
|||
line-height: 24px; |
|||
margin-bottom: 0;">Instantly access product details everywhere without going to main product |
|||
pages. |
|||
Save |
|||
time & convert better.</p> |
|||
|
|||
|
|||
</div> |
|||
<div class="mt-5"> |
|||
<img src="./img/phone-screenshots.jpg" alt="Grid item" class="img-fluid"> |
|||
</div> |
|||
<a href="#" target="_blank" class="url_link" name="grid_popup" |
|||
aria-label="Url link label"><span></span></a> |
|||
</div> |
|||
</div> |
|||
<!-- --> |
|||
<div class="col-md-4"> |
|||
<div style="border-radius: 10px; padding: 32px; |
|||
background-color: #303030; |
|||
-webkit-backdrop-filter: blur(5px); |
|||
backdrop-filter: blur(5px); height: 100%;"> |
|||
<div class="info"> |
|||
<span class="label" style="font-size: 12px; |
|||
font-style: normal; |
|||
font-weight: 700; |
|||
line-height: 32px; |
|||
color: #f14848; |
|||
margin-bottom: 13px; |
|||
text-transform: uppercase;">HIGHLIGHT</span> |
|||
<h3 class="text-white" style=" color: #fff; |
|||
font-size: 24px; |
|||
font-weight: 500; |
|||
line-height: 32px; |
|||
margin-bottom: 9px;">Desktop View</h3> |
|||
<p class="des" style="color: #c7c7c7; |
|||
font-size: 16px; |
|||
font-style: normal; |
|||
font-weight: 400; |
|||
line-height: 24px; |
|||
margin-bottom: 0;">Instantly access product details everywhere without going to main product |
|||
pages. |
|||
Save |
|||
time & convert better.</p> |
|||
|
|||
</div> |
|||
<div class="mt-5"> |
|||
<img src="./img/laptop-screenshots.jpg" alt="Grid item" class="img-fluid"> |
|||
</div> |
|||
<a href="#" target="_blank" class="url_link" name="grid_popup" |
|||
aria-label="Url link label"><span></span></a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- --> |
|||
|
|||
<!--row-2 --> |
|||
|
|||
<div class="row" style="margin-bottom: 24px;"> |
|||
<div class="col-md-6"> |
|||
<div style="border-radius: 10px; padding: 32px; |
|||
background-color: rgba(48, 48, 48, 1); |
|||
-webkit-backdrop-filter: blur(5px); |
|||
backdrop-filter: blur(5px); height: 100%;"> |
|||
<div class="info"> |
|||
<span class="label" style="font-size: 12px; |
|||
font-style: normal; |
|||
font-weight: 700; |
|||
line-height: 32px; |
|||
color: #f14848; |
|||
margin-bottom: 13px; |
|||
text-transform: uppercase;">HIGHLIGHT</span> |
|||
<h3 class="text-white" style=" color: #fff; |
|||
font-size: 24px; |
|||
font-weight: 500; |
|||
line-height: 32px; |
|||
margin-bottom: 9px;">Home Page</h3> |
|||
<p class="des" style="color: #c7c7c7; |
|||
font-size: 16px; |
|||
font-style: normal; |
|||
font-weight: 400; |
|||
line-height: 24px; |
|||
margin-bottom: 0;">Instantly access product details everywhere without going to main product |
|||
pages. Save |
|||
time & convert better.</p> |
|||
|
|||
</div> |
|||
<div class="mt-5"> |
|||
<img src="./img/1.jpg" alt="Grid item" class="img-fluid"> |
|||
</div> |
|||
<a href="#" target="_blank" class="url_link" name="grid_popup" |
|||
aria-label="Url link label"><span></span></a> |
|||
</div> |
|||
</div> |
|||
<!-- --> |
|||
<div class="col-md-6"> |
|||
<div style="border-radius: 10px; padding: 32px; |
|||
background-color: rgba(48, 48, 48, 1); |
|||
-webkit-backdrop-filter: blur(5px); |
|||
backdrop-filter: blur(5px); height: 100%;"> |
|||
<div class="info"> |
|||
<span class="label" style="font-size: 12px; |
|||
font-style: normal; |
|||
font-weight: 700; |
|||
line-height: 32px; |
|||
color: #f14848; |
|||
margin-bottom: 13px; |
|||
text-transform: uppercase;">HIGHLIGHT</span> |
|||
<h3 class="text-white" style=" color: #fff; |
|||
font-size: 24px; |
|||
font-weight: 500; |
|||
line-height: 32px; |
|||
margin-bottom: 9px;">Product View</h3> |
|||
<p class="des" style="color: #c7c7c7; |
|||
font-size: 16px; |
|||
font-style: normal; |
|||
font-weight: 400; |
|||
line-height: 24px; |
|||
margin-bottom: 0;">Instantly access product details everywhere without going to main product |
|||
pages. Save |
|||
time & convert better.</p> |
|||
|
|||
</div> |
|||
<div class="mt-5"> |
|||
<img src="./img/2.jpg" alt="Grid item" class="img-fluid"> |
|||
</div> |
|||
<a href="#" target="_blank" class="url_link" name="grid_popup" |
|||
aria-label="Url link label"><span></span></a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- --> |
|||
|
|||
<!--row-3 --> |
|||
|
|||
<div class="row" style="margin-bottom: 20px;"> |
|||
<div class="col-md-4"> |
|||
<div style="border-radius: 10px; padding: 32px; |
|||
background-color: rgba(48, 48, 48, 1); |
|||
-webkit-backdrop-filter: blur(5px); |
|||
backdrop-filter: blur(5px); height: 100%;"> |
|||
<div class="info"> |
|||
<span class="label" style="font-size: 12px; |
|||
font-style: normal; |
|||
font-weight: 700; |
|||
line-height: 32px; |
|||
color: #f14848; |
|||
margin-bottom: 13px; |
|||
text-transform: uppercase;">HIGHLIGHT</span> |
|||
<h3 class="text-white" style=" color: #fff; |
|||
font-size: 24px; |
|||
font-weight: 500; |
|||
line-height: 32px; |
|||
margin-bottom: 9px;">Contact Us Page</h3> |
|||
<p class="des" style="color: #c7c7c7; |
|||
font-size: 16px; |
|||
font-style: normal; |
|||
font-weight: 400; |
|||
line-height: 24px; |
|||
margin-bottom: 0;">Instantly access product details everywhere without going to main product |
|||
pages. Save |
|||
time & convert better.</p> |
|||
|
|||
</div> |
|||
<div class="mt-5"> |
|||
<img src="./img/contact.png" alt="Grid item" class="img-fluid"> |
|||
</div> |
|||
<a href="#" target="_blank" class="url_link" name="grid_popup" |
|||
aria-label="Url link label"><span></span></a> |
|||
</div> |
|||
</div> |
|||
<!-- --> |
|||
<div class="col-md-8"> |
|||
<div style="border-radius: 10px; padding: 32px; |
|||
background-color: rgba(48, 48, 48, 1); |
|||
-webkit-backdrop-filter: blur(5px); |
|||
backdrop-filter: blur(5px); height: 100%;"> |
|||
<div class="info"> |
|||
<span class="label" style="font-size: 12px; |
|||
font-style: normal; |
|||
font-weight: 700; |
|||
line-height: 32px; |
|||
color: #f14848; |
|||
margin-bottom: 13px; |
|||
text-transform: uppercase;">HIGHLIGHT</span> |
|||
<h3 class="text-white" style=" color: #fff; |
|||
font-size: 24px; |
|||
font-weight: 500; |
|||
line-height: 32px; |
|||
margin-bottom: 9px;">Shop</h3> |
|||
<p class="des" style="color: #c7c7c7; |
|||
font-size: 16px; |
|||
font-style: normal; |
|||
font-weight: 400; |
|||
line-height: 24px; |
|||
margin-bottom: 0;">Instantly access product details everywhere without going to main product |
|||
pages. Save |
|||
time & convert better.</p> |
|||
|
|||
</div> |
|||
<div class=" mt-5" style="--aspect-ratioapt: 872/443;"> |
|||
<img src="./img/shop.png" alt="Grid item" class="img-fluid"> |
|||
</div> |
|||
<a href="#" target="_blank" class="url_link" name="grid_popup" |
|||
aria-label="Url link label"><span></span></a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<!-- --> |
|||
</section> |
|||
</section> |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
|
|||
|
|||
</section> |
|||
|
|||
<!--sections --> |
|||
|
|||
|
|||
|
|||
<!-- section content --> |
|||
|
|||
<section class="mb-5" |
|||
style="background-color: #f1f5fd; border: 1px solid #D6E0FF; border-radius: 20px; padding: 40px;"> |
|||
<div class="row d-flex align-items-center"> |
|||
<div class="col col-12 col-md-12 col-lg-6"> |
|||
<div style="padding: 20px;"> |
|||
<h4 class="" style="font-size: 46px;"> |
|||
<span style="color: #212121; |
|||
font-weight: 700; |
|||
display: inline-block; |
|||
width: 100%;">Fully Responsive </span><br> |
|||
<span style="color: #212121; |
|||
font-weight: 700; |
|||
display: inline-block; |
|||
width: 100%;">Layout.</span> |
|||
</h4> |
|||
|
|||
<div class="mt-4"> |
|||
<p style="color: #444; font-size: 16px; |
|||
font-weight: 400; |
|||
line-height: 1.5;">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 so that every view snaps itself to fit the size of the device you are using, be it smartphones, tablet or any other portables, our theme adjusts itself to fit the screen size. |
|||
|
|||
.</p> |
|||
<ul class="d-flex flex-column gap-3 ms-0 ps-0 mt-4"> |
|||
<li style="list-style: none;" class="d-flex align-items-center gap-2"><img src="./img/check.svg" |
|||
style="width: 24px;"><span style=" color: #444; |
|||
font-size: 16px; |
|||
font-style: normal; |
|||
font-weight: 400; |
|||
line-height: 32px;">Fully responsive</span></li> |
|||
<li style="list-style: none;" class="d-flex align-items-center gap-2"><img src="./img/check.svg" |
|||
style="width: 24px;"><span style=" color: #444; |
|||
font-size: 16px; |
|||
font-style: normal; |
|||
font-weight: 400; |
|||
line-height: 32px;">Fits perfectly to all screen sizes</span></li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col col-12 col-md-12 col-lg-6"> |
|||
<div> |
|||
<div> |
|||
<img class="img-fluid" src="./img/phone-screenshots.jpg" style=" |
|||
border-radius: 20px; |
|||
"> |
|||
</div> |
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- --> |
|||
|
|||
<!-- --> |
|||
|
|||
|
|||
|
|||
<div class="my-5"> |
|||
<!-- banner card --> |
|||
|
|||
|
|||
|
|||
<!-- service-section --> |
|||
|
|||
<section id="services" class="mt-5" style="border-radius: 16px; |
|||
border: 1px solid #EBEEF2; |
|||
background-color: #FFF; |
|||
padding: 60px 40px; |
|||
box-shadow: 0px 5px 20px -11px rgba(0, 0, 0, 0.25);"> |
|||
<div class="text-center mt-4"> |
|||
<h3 class="mb-0" style="color: #000; |
|||
text-align: center; |
|||
font-family: Montserrat; |
|||
font-size: 40px; |
|||
font-style: normal; |
|||
font-weight: 700; |
|||
line-height: normal; |
|||
text-transform: uppercase; |
|||
padding-bottom: 50px;">Our Services</h3> |
|||
</div> |
|||
<div class="row mt-3"> |
|||
<div class="col-lg-3 col-sm-12 mb-3"> |
|||
<a href="#" style="text-decoration:none"> |
|||
<div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" |
|||
style="font-size:25px; font-weight:bold;background-color:#FFE2E5; margin:auto; border-radius: 8px;"> |
|||
|
|||
<div class="d-flex justify-content-center align-items-center" |
|||
style="background-color:#FA5A7D; border-radius:50%; height:56px; width:56px"> |
|||
<img src="./img/gear.svg" class="img-responsive" height="28px" width="28px"> |
|||
</div> |
|||
<span class="mt-3" style="font-size: 18px; |
|||
color: #121212; |
|||
font-weight: 600;"> Odoo Customization</span> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
<div class="col-lg-3 col-sm-12 mb-3"> |
|||
<a href="#" style="text-decoration:none"> |
|||
<div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" |
|||
style="font-size:25px; font-weight:bold;background-color:#FFF4DE; margin:auto; border-radius: 8px;"> |
|||
|
|||
<div class="d-flex justify-content-center align-items-center" |
|||
style="background-color:#FF947A; border-radius:50%; height:56px; width:56px"> |
|||
<img src="./img/wrench-icon.svg" class="img-responsive" height="28px" width="28px"> |
|||
</div> |
|||
<span class="mt-3" style="font-size: 18px; |
|||
color: #121212; |
|||
font-weight: 600;"> Odoo Implementation</span> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
<div class="col-lg-3 col-sm-12 mb-3"> |
|||
<a href="#" style="text-decoration:none"> |
|||
<div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" |
|||
style="font-size:25px; font-weight:bold;background-color:#DCFCE7; margin:auto; border-radius: 8px;"> |
|||
|
|||
<div class="d-flex justify-content-center align-items-center" |
|||
style="background-color:#3CD856; border-radius:50%; height:56px; width:56px"> |
|||
<img src="./img/life-ring-icon.svg" class="img-responsive" height="28px" width="28px"> |
|||
</div> |
|||
<span class="mt-3" style="font-size: 18px; |
|||
color: #121212; |
|||
font-weight: 600;">Odoo Support</span> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
<div class="col-lg-3 col-sm-12 mb-3"> |
|||
<a href="#" style="text-decoration:none"> |
|||
<div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" |
|||
style="font-size:25px; font-weight:bold;background-color:#F3E8FF; margin:auto; border-radius: 8px;"> |
|||
|
|||
<div class="d-flex justify-content-center align-items-center" |
|||
style="background-color:#BF83FF; border-radius:50%; height:56px; width:56px"> |
|||
<img src="./img/arrows-repeat.svg" class="img-responsive" height="28px" width="28px"> |
|||
</div> |
|||
<span class="mt-3" style="font-size: 18px; |
|||
color: #121212; |
|||
font-weight: 600;">Odoo Migration</span> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
<div class="col-lg-3 col-sm-12 mb-3"> |
|||
<a href="#" style="text-decoration:none"> |
|||
<div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" |
|||
style="font-size:25px; font-weight:bold;background-color:#F1F9FF; margin:auto; border-radius: 8px;"> |
|||
|
|||
<div class="d-flex justify-content-center align-items-center" |
|||
style="background-color:#01649C; border-radius:50%; height:56px; width:56px"> |
|||
<img src="./img/puzzle-piece-icon.svg" class="img-responsive" height="28px" width="28px"> |
|||
</div> |
|||
<span class="mt-3" style="font-size: 18px; |
|||
color: #121212; |
|||
font-weight: 600;">Odoo integration</span> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
<div class="col-lg-3 col-sm-12 mb-3"> |
|||
<a href="#" style="text-decoration:none"> |
|||
<div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" |
|||
style="font-size:25px; font-weight:bold;background-color:#EDF8ED; margin:auto; border-radius: 8px;"> |
|||
|
|||
<div class="d-flex justify-content-center align-items-center" |
|||
style="background-color:#69CC70; border-radius:50%; height:56px; width:56px"> |
|||
<img src="./img/odoo-consultancy.svg" class="img-responsive" height="28px" width="28px"> |
|||
</div> |
|||
<span class="mt-3" style="font-size: 18px; |
|||
color: #121212; |
|||
font-weight: 600;">Odoo Consultancy</span> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
<div class="col-lg-3 col-sm-12 mb-3"> |
|||
<a href="#" style="text-decoration:none"> |
|||
<div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" |
|||
style="font-size:25px; font-weight:bold;background-color:#F1F6FF; margin:auto; border-radius: 8px;"> |
|||
|
|||
<div class="d-flex justify-content-center align-items-center" |
|||
style="background-color:#2E4556; border-radius:50%; height:56px; width:56px"> |
|||
<img src="./img/odoo-licencing.svg" class="img-responsive" height="28px" width="28px"> |
|||
</div> |
|||
<span class="mt-3" style="font-size: 18px; |
|||
color: #121212; |
|||
font-weight: 600;">Odoo Licensing</span> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
<div class="col-lg-3 col-sm-12 mb-3"> |
|||
<a href="#" style="text-decoration:none"> |
|||
<div class="btn-lg btn-block p-4 mb-2 d-flex flex-column justify-content-center align-items-center" |
|||
style="font-size:25px; font-weight:bold;background-color:#FAF6EA; margin:auto; border-radius: 8px;"> |
|||
|
|||
<div class="d-flex justify-content-center align-items-center" |
|||
style="background-color:#FCD12C; border-radius:50%; height:56px; width:56px"> |
|||
<img src="./img/hire-odoo.svg" class="img-responsive" height="28px" width="28px"> |
|||
</div> |
|||
<span class="mt-3" style="font-size: 18px; |
|||
color: #121212; |
|||
font-weight: 600;">Hire Odoo Developer</span> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
<!-- --> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- --> |
|||
</div> |
|||
</div> |
|||
</body> |
|||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"></script> |
|||
|
|||
</html> |
After Width: | Height: | Size: 304 KiB |
After Width: | Height: | Size: 174 KiB |
After Width: | Height: | Size: 350 KiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 122 KiB |
After Width: | Height: | Size: 148 KiB |
After Width: | Height: | Size: 272 KiB |
After Width: | Height: | Size: 272 KiB |
After Width: | Height: | Size: 1.9 MiB |
After Width: | Height: | Size: 161 KiB |
After Width: | Height: | Size: 678 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 259 KiB |
After Width: | Height: | Size: 286 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 134 KiB |
After Width: | Height: | Size: 153 KiB |
After Width: | Height: | Size: 108 KiB |
After Width: | Height: | Size: 149 KiB |
After Width: | Height: | Size: 114 KiB |
After Width: | Height: | Size: 338 KiB |
After Width: | Height: | Size: 197 KiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 231 KiB |
After Width: | Height: | Size: 155 KiB |
After Width: | Height: | Size: 137 KiB |
After Width: | Height: | Size: 188 KiB |
After Width: | Height: | Size: 440 KiB |
After Width: | Height: | Size: 170 KiB |
After Width: | Height: | Size: 231 KiB |
After Width: | Height: | Size: 155 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 3.0 KiB |
@ -0,0 +1,52 @@ |
|||
/** @odoo-module **/ |
|||
import publicWidget from "@web/legacy/js/public/public_widget"; |
|||
/** |
|||
* Created ScrollAnimation widget |
|||
* To make available the animation opacity affect on the snippet gallery on |
|||
scrolling the window here added event wheel effect to achieve the animation |
|||
**/ |
|||
publicWidget.registry.ScrollAnimation = publicWidget.Widget.extend({ |
|||
selector: '.images', |
|||
events: { |
|||
'wheel': 'onScroll', |
|||
}, |
|||
// In start function called the function onScroll();
|
|||
start: function() { |
|||
this.onScroll(); |
|||
}, |
|||
/**This function is triggered whenever window is scrolled |
|||
image variable stores images with class .inline-photo |
|||
and check in isElementInViewport(args) function |
|||
**/ |
|||
onScroll: function() { |
|||
var images = document.querySelectorAll('.inline-photo'); |
|||
function loop() { |
|||
Array.prototype.forEach.call(images, function (element) { |
|||
if (isElementInViewport(element)) { |
|||
element.classList.add('is-visible'); |
|||
} else { |
|||
element.classList.remove('is-visible'); |
|||
} |
|||
}); |
|||
scroll(loop); |
|||
} |
|||
loop(); |
|||
/** This function called from each scroll checking each picture |
|||
present in the viewport and if present it is made visible |
|||
**/ |
|||
function isElementInViewport(el) { |
|||
var rect = el.getBoundingClientRect(); |
|||
return ( |
|||
(rect.top <= 0 |
|||
&& rect.bottom >= 0) |
|||
|| |
|||
(rect.bottom >= (window.innerHeight || document.documentElement.clientHeight) && |
|||
rect.top <= (window.innerHeight || document.documentElement.clientHeight)) |
|||
|| |
|||
(rect.top >= 0 && |
|||
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)) |
|||
); |
|||
} |
|||
}, |
|||
}); |
|||
export default publicWidget.registry.ScrollAnimation; |
@ -0,0 +1,103 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<!--About us page beguins here--> |
|||
<record id="about_watchhut" model="ir.ui.view"> |
|||
<field name="name">About</field> |
|||
<field name="type">qweb</field> |
|||
<field name="key">theme_watchhut.about_watchhut</field> |
|||
<field name="arch" type="xml"> |
|||
<t name="About" t-name="theme_watchhut.about_watchhut"> |
|||
<t t-call="website.layout"> |
|||
<div id="wrap"> |
|||
<!-- Section banner starts here --> |
|||
<section class="banner_about"> |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<h3 class="banner_head"> |
|||
About |
|||
</h3> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- Section Bannner ends here --> |
|||
<!-- Section about starts here --> |
|||
<section class="about"> |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<div class="col-lg-8 col-md-8 col-12"> |
|||
<div class="large"> |
|||
<div class="large_text"> |
|||
WatchHut! |
|||
<p>WatchHut is an world wide |
|||
Branding company Focusing on |
|||
interactive design and |
|||
Fashion |
|||
</p> |
|||
Fashion |
|||
</div> |
|||
</div> |
|||
<div class="about_content"> |
|||
<h4>Introduction</h4> |
|||
<p>Lorem ipsum dolor sit amet, |
|||
consectetur adipiscing elit. |
|||
Nunc est justo, aliquam nec |
|||
tempor fermentum, |
|||
commodo et libero. Quisque et |
|||
rutrum arcu. Vivamus dictum |
|||
tincidunt magna id euismod. Nam |
|||
sollicitudin mi |
|||
quis orci lobortis feugiat. |
|||
</p> |
|||
<h4>How Can We Help</h4> |
|||
<p>Lorem ipsum dolor sit amet, |
|||
consectetur adipiscing elit. |
|||
Nunc est justo, aliquam nec |
|||
tempor fermentum, commodo et |
|||
libero. Quisque et rutrum arcu. |
|||
Vivamus dictum tincidunt |
|||
magna id euismod. Nam |
|||
sollicitudin mi quis orci |
|||
lobortis feugiat. Lorem ipsum |
|||
dolor sit |
|||
amet, consectetur adipiscing |
|||
elit. Nunc est justo, aliquam |
|||
nec tempor fermentum, commodo et |
|||
libero. Quisque et rutrum arcu. |
|||
Lorem ipsum dolor sit amet, |
|||
consectetur adipiscing elit. |
|||
Nunc |
|||
est justo, aliquam nec tempor |
|||
fermentum, commodo et l ibero. |
|||
Quisque et rutrum arcu. |
|||
Vivamus dictum tincidunt magna |
|||
id euismod. Nam sollicitudin mi |
|||
quis orci lobortis feugiat. |
|||
</p> |
|||
<p class="ital">Bags Courtesy of |
|||
Farrell&Co. |
|||
</p> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- Section about ends here --> |
|||
</div> |
|||
</t> |
|||
</t> |
|||
</field> |
|||
</record> |
|||
<record id="about_watchhut_page" model="website.page"> |
|||
<field name="url">/about</field> |
|||
<field name="is_published">True</field> |
|||
<field name="view_id" ref="about_watchhut"/> |
|||
<field name="track">True</field> |
|||
</record> |
|||
<record id="menu_about_watchhut" model="website.menu"> |
|||
<field name="name">About</field> |
|||
<field name="url">/about</field> |
|||
<field name="page_id" ref="theme_watchhut.about_watchhut_page"/> |
|||
<field name="parent_id" ref="website.main_menu"/> |
|||
<field name="sequence" type="int">50</field> |
|||
</record> |
|||
</odoo> |
@ -0,0 +1,171 @@ |
|||
<?xml version="1.0" encoding="utf-8" ?> |
|||
<odoo> |
|||
<!--Template header for theme watchhut--> |
|||
<template id="watchhut_contact_us" name="WatchHut Contact Us" |
|||
inherit_id="website.contactus"> |
|||
<!-- The template includes a banner section with a contact headline, contact information --> |
|||
<!-- such as email and phone, and social media links. It also provides a form for users --> |
|||
<!-- to submit their name, phone number, email, company, subject, and message.--> |
|||
<xpath expr="//div[@id='wrap']" position="replace"> |
|||
<section class="banner_contact"> |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<h3 class="banner_head"> |
|||
Contact |
|||
</h3> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<section class="contact"> |
|||
<div class="container"> |
|||
<div class="contact_contents"> |
|||
<div class="row"> |
|||
<div class="col-12"> |
|||
<div class="email_c"> |
|||
<a t-attf-href="mailto:{{ res_company.email }}"> |
|||
<span t-esc="res_company.email"/> |
|||
</a> |
|||
</div> |
|||
<div class="tel_c"> |
|||
<a t-attf-href="tel:{{ res_company.phone }}"> |
|||
<span t-esc="res_company.phone"/> |
|||
</a> |
|||
</div> |
|||
<ul> |
|||
<li> |
|||
<a href="#"> |
|||
<span class="fa fa-instagram"/> |
|||
</a> |
|||
</li> |
|||
<li> |
|||
<a href="#"> |
|||
<span class="fa fa-facebook"/> |
|||
</a> |
|||
</li> |
|||
<li> |
|||
<a href="#"> |
|||
<span class="fa fa-twitter"/> |
|||
</a> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
<section class="s_website_form" data-vcss="001" |
|||
data-snippet="s_website_form"> |
|||
<span class="hidden" data-for="contactus_form" |
|||
t-att-data-values="{'email_to': res_company.email}"/> |
|||
<form id="contactus_form" |
|||
action="/website/form/" method="post" |
|||
enctype="multipart/form-data" |
|||
class="o_mark_required" data-mark="*" |
|||
data-model_name="mail.mail" |
|||
data-success-mode="redirect" |
|||
data-success-page="/contactus-thank-you" |
|||
data-pre-fill="true"> |
|||
<div class=" row "> |
|||
<div class="col-lg-8 col-12"> |
|||
<div class="form-group form-field" |
|||
data-type="char" |
|||
data-name="Field"> |
|||
<label for="Name">Name</label> |
|||
<input id="contact1" type="text" |
|||
class="form-control o_website_form_input" |
|||
name="Name" required=""/> |
|||
</div> |
|||
</div> |
|||
<div class="col-lg-8 col-12"> |
|||
<div class="form-group form-field" |
|||
data-type="char" |
|||
data-name="Field"> |
|||
<label for="Phone">Phone</label> |
|||
<input id="contact2" type="tel" |
|||
class="form-control o_website_form_input" |
|||
name="Phone"/> |
|||
</div> |
|||
</div> |
|||
<div class="col-lg-8 col-12"> |
|||
<div class="form-group form-field" |
|||
data-type="email" |
|||
data-name="Field"> |
|||
<label for="email_from">Email |
|||
</label> |
|||
<input id="contact3" |
|||
type="email" |
|||
class="form-control o_website_form_input" |
|||
name="email_from" |
|||
required=""/> |
|||
</div> |
|||
</div> |
|||
<div class="col-lg-8 col-12"> |
|||
<div class="form-group form-field" |
|||
data-type="char" |
|||
data-name="Field"> |
|||
<label for="Partner Name"> |
|||
Company |
|||
</label> |
|||
<input id="contact4" type="text" |
|||
class="form-control o_website_form_input" |
|||
name="Partner Name"/> |
|||
</div> |
|||
</div> |
|||
<div class="col-lg-8 col-12"> |
|||
<div class="form-group form-field" |
|||
data-type="char" |
|||
data-name="Field"> |
|||
<label for="subject">Subject |
|||
</label> |
|||
<input id="contact5" type="text" |
|||
class="form-control o_website_form_input" |
|||
name="subject" |
|||
required=""/> |
|||
</div> |
|||
</div> |
|||
<div class="col-lg-8 col-12"> |
|||
<div class="form-group form-field" |
|||
data-type="text" |
|||
data-name="Field"> |
|||
<label for="Description"> |
|||
Message* |
|||
</label> |
|||
<textarea id="contact6" cols="" |
|||
rows="10" |
|||
class="o_website_form_input" |
|||
style="width: 100%;" |
|||
name="Description" |
|||
required=""/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group col-12 s_website_form_field s_website_form_dnone"> |
|||
<div class="row s_col_no_resize s_col_no_bgcolor"> |
|||
<label class="col-form-label col-sm-auto s_website_form_label" |
|||
style="width: 200px" |
|||
for="contact7"> |
|||
<span class="s_website_form_label_content"> |
|||
Email To |
|||
</span> |
|||
</label> |
|||
<div class="col-sm"> |
|||
<input id="contact7" |
|||
type="hidden" |
|||
class="form-control s_website_form_input" |
|||
name="email_to"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group s_website_form_submit" |
|||
data-name="Submit Button"> |
|||
<a href="#" role="button" |
|||
class="btn btn-submit o_website_form_send"> |
|||
Submit |
|||
</a> |
|||
<span id="o_website_form_result"/> |
|||
</div> |
|||
</form> |
|||
</section> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
</xpath> |
|||
</template> |
|||
</odoo> |
@ -0,0 +1,68 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<odoo> |
|||
<!--Template footer for the theme watchHut--> |
|||
<template id="theme_watchhut_footer" inherit_id="website.layout" |
|||
name="WatchHut Footer"> |
|||
<!-- The template represents the footer section of the WatchHut website. --> |
|||
<!-- It includes a container with a background section, a bottom section --> |
|||
<!-- displaying the company name, navigation links (Shop, About, Contact),--> |
|||
<!-- and a copyright notice. Additionally, it adds a custom layout with --> |
|||
<!-- Bootstrap CSS and Google Fonts, as well as a jQuery script.--> |
|||
<xpath expr="//div[@id='footer']" position="replace"> |
|||
<!-- Section footer starts here --> |
|||
<section class="footer"> |
|||
<div class="container-fluid p-0"> |
|||
<section class="footer_bg"> |
|||
</section> |
|||
<div class="footer_bottom"> |
|||
<h3>WatchHut</h3> |
|||
<br/> |
|||
<ul> |
|||
<li> |
|||
<a href="/shop">Shop</a> |
|||
</li> |
|||
<li> |
|||
<a href="/about">About</a> |
|||
</li> |
|||
<li> |
|||
<a href="/contactus">Contact</a> |
|||
</li> |
|||
</ul> |
|||
<p>Copyright © <a href="https://www.cybrosys.com/" |
|||
target="_blank">Cybrosys.com |
|||
</a> All rights reserved |
|||
</p> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- Section footer ends here --> |
|||
</xpath> |
|||
<!-- Custom Layout--> |
|||
<!-- Add an element after the top menu --> |
|||
<xpath expr="//div[@id='wrapwrap']/main" position="after"> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"/> |
|||
<meta name="viewport" |
|||
content="width=device-width, initial-scale=1.0"/> |
|||
<title>WatchHut</title> |
|||
<!-- <link rel="stylesheet"--> |
|||
<!-- href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css"--> |
|||
<!-- integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2"--> |
|||
<!-- crossorigin="anonymous"/>--> |
|||
<!--Google Font--> |
|||
<link href="https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap" |
|||
rel="stylesheet"/> |
|||
<link href="https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700;900&display=swap" |
|||
rel="stylesheet"/> |
|||
</head> |
|||
<body> |
|||
</body> |
|||
<!-- Js --> |
|||
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" |
|||
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" |
|||
crossorigin="anonymous"/> |
|||
</html> |
|||
</xpath> |
|||
</template> |
|||
</odoo> |
@ -0,0 +1,117 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<odoo> |
|||
<!--Template header for watchhut--> |
|||
<template id="watchhut_header" |
|||
inherit_id="website.template_header_default"> |
|||
<!-- The template modifies the product view page on the WatchHut website. It replaces --> |
|||
<!-- cart with new cart and also aligned navbar items --> |
|||
<xpath expr="//t[@t-call='website.navbar']" position="replace"> |
|||
<t t-call="website.navbar"> |
|||
<t t-set="_navbar_classes" |
|||
t-valuef="d-none d-lg-block shadow-sm"/> |
|||
|
|||
<div id="o_main_nav" class="container"> |
|||
<!-- Brand --> |
|||
<div id="brand_icon"> |
|||
<t t-call="website.placeholder_header_brand"> |
|||
<t t-set="_link_class" t-valuef="me-4"/> |
|||
</t> |
|||
</div> |
|||
<!-- Navbar --> |
|||
<div id="nav_menu"> |
|||
<t t-call="website.navbar_nav"> |
|||
<t t-set="_nav_class" t-valuef="me-auto"/> |
|||
<!-- Menu --> |
|||
<t t-foreach="website.menu_id.child_id" |
|||
t-as="submenu"> |
|||
<t t-call="website.submenu"> |
|||
<t t-set="item_class" t-valuef="nav-item"/> |
|||
<t t-set="link_class" t-valuef="nav-link"/> |
|||
</t> |
|||
</t> |
|||
</t> |
|||
</div> |
|||
<!-- Extra elements --> |
|||
<div id="extra_elements"> |
|||
<ul class="navbar-nav align-items-center gap-2 flex-shrink-0 justify-content-end ps-3"> |
|||
<!-- Search Bar --> |
|||
<t t-call="website.placeholder_header_search_box"> |
|||
<t t-set="_layout" t-valuef="modal"/> |
|||
<t t-set="_input_classes" |
|||
t-valuef="border border-end-0 p-3"/> |
|||
<t t-set="_submit_classes" |
|||
t-valuef="border border-start-0 px-4 bg-o-color-4"/> |
|||
<t t-set="_button_classes" |
|||
t-valuef="o_navlink_background text-reset"/> |
|||
</t> |
|||
<!-- Text element --> |
|||
<t t-call="website.placeholder_header_text_element"/> |
|||
<!-- Social --> |
|||
<t t-call="website.placeholder_header_social_links"/> |
|||
<!-- Language Selector --> |
|||
<t t-call="website.placeholder_header_language_selector"> |
|||
<t t-set="_btn_class" |
|||
t-valuef="btn-outline-secondary border-0"/> |
|||
<t t-set="_txt_class" t-valuef="small"/> |
|||
<t t-set="_dropdown_menu_class" |
|||
t-valuef="dropdown-menu-end"/> |
|||
</t> |
|||
<!-- Sign In --> |
|||
<t t-call="portal.placeholder_user_sign_in"> |
|||
<t t-set="_link_class" |
|||
t-valuef="btn btn-outline-secondary"/> |
|||
</t> |
|||
<!-- User Dropdown --> |
|||
<t t-call="portal.user_dropdown"> |
|||
<t t-set="_icon" t-value="true"/> |
|||
<t t-set="_item_class" |
|||
t-value="'nav-item dropdown'"/> |
|||
<t t-set="_link_class" t-value="'nav-link'"/> |
|||
</t> |
|||
<!-- Call To Action --> |
|||
<t t-call="website.placeholder_header_call_to_action"/> |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
</t> |
|||
</xpath> |
|||
</template> |
|||
<!--Cart link in the header of website--> |
|||
<template id="watchhut_cart" inherit_id="website_sale.header_cart_link"> |
|||
<!-- The template customizes the cart link in the header section of the WatchHut website.--> |
|||
<!-- It replaces the existing cart link element with a modified version that includes a shopping --> |
|||
<!-- cart icon, the text "My Cart" (if specified), and a badge displaying the quantity of items --> |
|||
<!-- in the cart. The link directs users to the cart page ("/shop/cart").--> |
|||
<xpath expr="//li[contains(@t-attf-class, 'o_wsale_my_cart')]" |
|||
position="replace"> |
|||
<t t-nocache="The number of products is dynamic, this rendering cannot be cached." |
|||
t-nocache-_icon="_icon" |
|||
t-nocache-_text="_text" |
|||
t-nocache-_badge="_badge" |
|||
t-nocache-_badge_class="_badge_class" |
|||
t-nocache-_icon_wrap_class="_icon_wrap_class" |
|||
t-nocache-_text_class="_text_class" |
|||
t-nocache-_item_class="_item_class" |
|||
t-nocache-_link_class="_link_class"> |
|||
<t t-set="website_sale_cart_quantity" |
|||
t-value="request.session['website_sale_cart_quantity'] if 'website_sale_cart_quantity' in request.session else website.sale_get_order().cart_quantity or 0"/> |
|||
<t t-set="show_cart" t-value="true"/> |
|||
<li t-attf-class="#{_item_class} divider d-none"/> <!-- Make sure the cart and related menus are not folded (see autohideMenu) --> |
|||
<li t-attf-class="o_wsale_my_cart #{not show_cart and 'd-none'} #{_item_class}"> |
|||
<a href="/shop/cart" t-attf-class="#{_link_class}"> |
|||
<div t-attf-class="#{_icon_wrap_class}"> |
|||
<img src="/theme_watchhut/static/src/images/icon/shopping-cart.svg" |
|||
style="width: 20px; height: 35px; margin: 0 5px;" /> |
|||
<sup t-attf-class="my_cart_quantity badge text-bg-primary #{_badge_class} #{'d-none' if (website_sale_cart_quantity == 0) else ''}" |
|||
t-esc="website_sale_cart_quantity" |
|||
t-att-data-order-id="request.session.get('sale_order_id', '')"/> |
|||
</div> |
|||
<span t-if="_text" t-attf-class="#{_text_class}">My |
|||
Cart |
|||
</span> |
|||
</a> |
|||
</li> |
|||
</t> |
|||
</xpath> |
|||
</template> |
|||
</odoo> |
@ -0,0 +1,136 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<odoo> |
|||
<template id="watchhut_product_view" name="WatchHut Product View" |
|||
inherit_id="website_sale.product"> |
|||
<!-- The template modifies the product view page on the WatchHut website. It replaces --> |
|||
<!-- certain elements and adds new sections, including a banner, preview images, product details, --> |
|||
<!-- quantity selection, and add-to-cart functionality. It also customizes the "Shop" link on the page.--> |
|||
<xpath expr="//div[hasclass('justify-content-between')]" position="replace"/> |
|||
<xpath expr="//div[hasclass('row')]" position="before"> |
|||
<section class="banner"> |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<h3 class="banner_head"> |
|||
Preview |
|||
</h3> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
</xpath> |
|||
<xpath expr="//div[contains(@t-attf-class, 'col-lg-#{image_cols[0]}')]" |
|||
position="replace"> |
|||
<section class="preview col-lg-6 col-12"> |
|||
<div class="pre_wrapper"> |
|||
<div class="row"> |
|||
<div class="col-12 mb-4"> |
|||
<div class="preview_img"> |
|||
<t t-set="product_images" |
|||
t-value="product_variant._get_images() if product_variant else product._get_images()"/> |
|||
<t t-foreach="product_images" |
|||
t-as="product_image"> |
|||
<span t-if="product_image" |
|||
t-field="product_image.image_1920" |
|||
t-options="{'widget': 'image'}"/> |
|||
</t> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
</xpath> |
|||
<xpath expr="//div[@id='product_details']" position="replace"> |
|||
<section class="preview col-lg-6 col-12"> |
|||
<div class="preview_left"> |
|||
<h2 itemprop="name" t-field="product.name">Product |
|||
Name |
|||
</h2> |
|||
<span itemprop="url" style="display:none;" |
|||
t-esc="product.website_url"/> |
|||
<p class="price"> |
|||
<t t-call="website_sale.product_price"/> |
|||
</p> |
|||
<p t-field="product.description_sale" class="details" |
|||
placeholder="A short description that will also appear on documents."/> |
|||
<div id="product_attributes_simple"> |
|||
<hr t-if="sum([(1 if len(l.value_ids)==1 else 0) for l in product.attribute_line_ids])"/> |
|||
<p class="text-muted"> |
|||
<t t-set="single_value_attributes" |
|||
t-value="product.valid_product_template_attribute_line_ids._prepare_single_value_for_display()"/> |
|||
<t t-foreach="single_value_attributes" |
|||
t-as="attribute"> |
|||
<span t-field="attribute.name"/>: |
|||
<t t-foreach="single_value_attributes[attribute]" |
|||
t-as="ptal"> |
|||
<span t-field="ptal.product_template_value_ids._only_active().name"/> |
|||
<t t-if="not ptal_last">,</t> |
|||
</t> |
|||
<br/> |
|||
</t> |
|||
</p> |
|||
</div> |
|||
<form t-if="product._is_add_to_cart_possible()" |
|||
action="/shop/cart/update" method="POST"> |
|||
<input type="hidden" name="csrf_token" |
|||
t-att-value="request.csrf_token()"/> |
|||
<div class="js_product js_main_product"> |
|||
<div class="quantity" style="display: flex; align-items: center;"> |
|||
<label class="mb-0" for="">Quantity</label> |
|||
<div t-attf-class="css_quantity input-group {{'d-none' if combination_info['prevent_zero_price_sale'] else 'd-inline-flex'}} me-2 mb-2 align-middle" contenteditable="false"> |
|||
<a t-attf-href="#" class="btn btn-link js_add_cart_json" aria-label="Remove one" title="Remove one"> |
|||
<i class="fa fa-minus"/> |
|||
</a> |
|||
<input type="text" class="form-control quantity text-center" data-min="1" name="add_qty" t-att-value="1"/> |
|||
<a t-attf-href="#" class="btn btn-link float_left js_add_cart_json" aria-label="Add one" title="Add one"> |
|||
<i class="fa fa-plus"/> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
<t t-placeholder="select"> |
|||
<input type="hidden" class="product_id" |
|||
name="product_id" |
|||
t-att-value="product_variant.id"/> |
|||
<input type="hidden" |
|||
class="product_template_id" |
|||
name="product_template_id" |
|||
t-att-value="product.id"/> |
|||
<input t-if="product.public_categ_ids.ids" |
|||
type="hidden" class="product_category_id" |
|||
name="product_category_id" |
|||
t-att-value="product.public_categ_ids.ids[0]" /> |
|||
|
|||
<t t-call="website_sale.variants"> |
|||
<t t-set="ul_class" t-valuef="flex-column" /> |
|||
<t t-set="parent_combination" t-value="None" /> |
|||
<t t-set="combination" t-value="combination_info['combination']"/> |
|||
</t> |
|||
</t> |
|||
<p t-if="True" |
|||
class="css_not_available_msg alert alert-warning"> |
|||
This combination does not exist. |
|||
</p> |
|||
<a role="button" id="add_to_cart" |
|||
class="btn btn-add js_check_product a-submit" |
|||
href="#">Add to Cart |
|||
</a> |
|||
<div id="product_option_block"/> |
|||
</div> |
|||
</form> |
|||
<p t-elif="not product.active" |
|||
class="alert alert-warning">This product is no longer |
|||
available. |
|||
</p> |
|||
<p t-else="" class="alert alert-warning">This product |
|||
has no valid combination. |
|||
</p> |
|||
</div> |
|||
<div id="o_product_terms_and_share" |
|||
class="d-flex justify-content-between flex-column flex-md-row align-items-md-end mb-3"> |
|||
</div> |
|||
</section> |
|||
</xpath> |
|||
<xpath expr="//a[@t-att-href='keep(category=0, attribute_value=0, tags=0)']" |
|||
position="replace"> |
|||
<a t-att-href="keep(category=0, attribute_value=0, tags=0)">Shop</a> |
|||
</xpath> |
|||
</template> |
|||
</odoo> |
@ -0,0 +1,137 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<odoo> |
|||
<template id="watchhut_shop" name="WatchHut Shop" |
|||
inherit_id="website_sale.products"> |
|||
<!-- The template modifies the shop page on the WatchHut website. It replaces --> |
|||
<!-- the products header section with a customized version that includes search functionality,--> |
|||
<!-- price list options, pagination, category navigation, grid/list view option, sorting, --> |
|||
<!-- and filter options. It enhances the user experience and provides additional features --> |
|||
<!-- for browsing and selecting products.--> |
|||
<xpath expr="//div[hasclass('products_header')]" position="replace"> |
|||
<div class="products_header products_pager btn-toolbar flex-nowrap align-items-center justify-content-between mb-3"> |
|||
<t t-call="website_sale.search"> |
|||
<t t-set="search" t-value="original_search or search"/> |
|||
<t t-set="_form_classes" |
|||
t-valuef="d-lg-inline {{'d-inline' if not category else 'd-none'}}"/> |
|||
</t> |
|||
<t t-call="website_sale.pricelist_list" t-cache="pricelist"> |
|||
<t t-set="_classes" |
|||
t-valuef="d-none d-lg-inline ms-3 btn-watchhut"/> |
|||
</t> |
|||
<t t-call="website.pager"/> |
|||
<div t-if="category" |
|||
class="d-flex align-items-center d-lg-none me-auto"> |
|||
<t t-if="not category.parent_id" t-set="backUrl" |
|||
t-valuef="/shop"/> |
|||
<t t-else="" t-set="backUrl" |
|||
t-value="keep('/shop/category/' + slug(category.parent_id), category=0)"/> |
|||
<a t-attf-class="btn btn-{{navClass}} me-2" |
|||
t-att-href="category.parent_id and keep('/shop/category/' + slug(category.parent_id), category=0) or '/shop'"> |
|||
<i class="fa fa-angle-left"/> |
|||
</a> |
|||
<h4 t-out="category.name" class="mb-0 me-auto"/> |
|||
</div> |
|||
<t t-if="is_view_active('website_sale.add_grid_or_list_option')" |
|||
t-call="website_sale.add_grid_or_list_option"> |
|||
<t t-set="_classes" t-valuef="d-flex ms-3"/> |
|||
</t> |
|||
<t t-if="is_view_active('website_sale.sort')" |
|||
t-call="website_sale.sort"> |
|||
<t t-set="_classes" |
|||
t-valuef="d-none d-lg-inline-block ms-3 btn-watchhut"/> |
|||
</t> |
|||
<button t-if="is_view_active('website_sale.sort') or opt_wsale_categories or opt_wsale_attributes or opt_wsale_attributes_top" |
|||
t-attf-class="btn btn-{{navClass}} position-relative ms-3 {{not opt_wsale_attributes_top and 'd-lg-none'}}" |
|||
data-bs-toggle="offcanvas" |
|||
data-bs-target="#o_wsale_offcanvas"> |
|||
<i class="fa fa-sliders"/> |
|||
<span t-if="isFilteringByPrice or attrib_set" |
|||
t-attf-class="position-absolute top-0 start-100 translate-middle badge border border-{{navClass}} rounded-circle bg-danger p-1"> |
|||
<span class="visually-hidden">filters active</span> |
|||
</span> |
|||
</button> |
|||
</div> |
|||
</xpath> |
|||
</template> |
|||
<!--Template inherited product_item and changed product image styles--> |
|||
<template id="watchhut_shop_images" name="WatchHut Shop Images" |
|||
inherit_id="website_sale.products_item"> |
|||
<xpath expr="//div[hasclass('oe_product_image')]" |
|||
position="replace"> |
|||
<div class="card-body p-1 oe_product_image overflow-hidden"> |
|||
<input type="hidden" name="csrf_token" |
|||
t-att-value="request.csrf_token()"/> |
|||
<a t-att-href="product_href" class="d-block h-100" |
|||
itemprop="url"> |
|||
<t t-set="image_holder" |
|||
t-value="product._get_image_holder()"/> |
|||
<div class="fix_height"> |
|||
<div class="img_wrapper"> |
|||
<span t-field="image_holder.image_1920" |
|||
t-options="{'widget': 'image', 'preview_image': 'image_1920'}" |
|||
class="h-100 "/> |
|||
</div> |
|||
</div> |
|||
<t t-set="bg_color" |
|||
t-value="td_product['ribbon'].bg_color"/> |
|||
<t t-set="text_color" |
|||
t-value="td_product['ribbon'].text_color"/> |
|||
<t t-set="bg_class" |
|||
t-value="td_product['ribbon']._get_position_class()"/> |
|||
<span |
|||
t-attf-class="o_ribbon o_not_editable #{bg_class}" |
|||
t-attf-style="#{text_color and ('color: %s;' % text_color)} #{bg_color and 'background-color:' + bg_color}" |
|||
t-out="td_product['ribbon'].name or ''" |
|||
/> |
|||
</a> |
|||
|
|||
</div> |
|||
</xpath> |
|||
</template> |
|||
<!--Template added Shop title in the website shop--> |
|||
<template id="watchhut_shop_title" name="WatchHut Shop Title" |
|||
inherit_id="theme_watchhut.watchhut_shop"> |
|||
<xpath expr="//div[hasclass('o_wsale_products_main_row')]" position="before"> |
|||
<section class="shop"> |
|||
<section class="banner"> |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<h3 class="banner_head"> |
|||
Shop |
|||
</h3> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
</section> |
|||
</xpath> |
|||
</template> |
|||
<!--Template inherited website sort and added changes to website shop pricelist dropdown--> |
|||
<template id="watchhut_pricelist_button" |
|||
name="Watchhut Pricelist Button" |
|||
inherit_id="website_sale.sort"> |
|||
<xpath expr="//div[contains(@t-attf-class, 'o_sortby_dropdown')]" |
|||
position="replace"> |
|||
<div t-attf-class="o_sortby_dropdown dropdown dropdown_sorty_by ms-lg-3 {{_classes}}"> |
|||
<a role="button" href="#" |
|||
t-attf-class="dropdown-toggle btn btn-{{navClass}}" |
|||
data-bs-toggle="dropdown"> |
|||
<span class="d-none d-lg-inline"> |
|||
<t t-if="isSortingBy" t-out="isSortingBy[0][1]"/> |
|||
<span t-else="1" |
|||
t-field="website.shop_default_sort"/> |
|||
</span> |
|||
<i class="fa fa-sort-amount-asc d-lg-none"/> |
|||
</a> |
|||
<div class="dropdown-menu dropdown-menu-end" role="menu"> |
|||
<t t-foreach="website_sale_sortable" t-as="sortby"> |
|||
<a role="menuitem" rel="noindex,nofollow" |
|||
t-att-href="keep('/shop', order=sortby[0])" |
|||
class="dropdown-item"> |
|||
<span t-out="sortby[1]"/> |
|||
</a> |
|||
</t> |
|||
</div> |
|||
</div> |
|||
</xpath> |
|||
</template> |
|||
</odoo> |
@ -0,0 +1,82 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<odoo> |
|||
<!--Template snippet Gallery banner added to website snippet--> |
|||
<template id="gallery_banner" inherit_id="website.snippets" |
|||
name="Gallery banner"> |
|||
<!-- The template adds a gallery banner snippet to the website. It inserts the --> |
|||
<!-- gallery snippet into the panel body section of the website's structure, allowing --> |
|||
<!-- users to showcase images in a visually appealing manner. The thumbnail specified--> |
|||
<!-- in the template is used as a representative image for the gallery.--> |
|||
<xpath expr="//snippets[@id='snippet_content']" position="inside"> |
|||
<t t-snippet="theme_watchhut.gallery" |
|||
t-thumbnail="/theme_watchhut/static/src/images/snippets/gallery.jpg"/> |
|||
</xpath> |
|||
</template> |
|||
<!--Template for snippet Gallery --> |
|||
<template id="gallery" name="Gallery"> |
|||
<!-- The template defines a gallery section for displaying multiple--> |
|||
<!-- images. It creates a responsive grid layout with two columns on --> |
|||
<!-- larger screens and a single column on smaller screens. The gallery--> |
|||
<!-- section allows users to showcase images using clickable thumbnails --> |
|||
<!-- that open in a lightbox view.--> |
|||
<!-- Section Gallery starts here --> |
|||
<section class="gallery images" id="gallery"> |
|||
<div class="container-fluid"> |
|||
<div class="gallery_content"> |
|||
<div class="row"> |
|||
<div class="col-lg-6 col-sm-12 col-12"> |
|||
<div class="col-12"> |
|||
<a href=""> |
|||
<div class="wrapper"> |
|||
<img src="/theme_watchhut/static/src/images/gallery/1.jpg" |
|||
alt="" |
|||
class="inline-photo show-on-scroll is-visible"/> |
|||
|
|||
</div> |
|||
</a> |
|||
</div> |
|||
<div class="col-12"> |
|||
<div class="wrapper"> |
|||
<img src="/theme_watchhut/static/src/images/gallery/2.jpg" |
|||
alt="" |
|||
class="inline-photo show-on-scroll"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-lg-6 col-sm-12 col-12"> |
|||
<div class="col-12"> |
|||
<div class="wrapper"> |
|||
<img src="/theme_watchhut/static/src/images/gallery/ww.jpg" |
|||
alt="" |
|||
class="inline-photo show-on-scroll is-visible"/> |
|||
</div> |
|||
</div> |
|||
<div class="col-12"> |
|||
<div class="wrapper"> |
|||
<img src="/theme_watchhut/static/src/images/gallery/4.jpg" |
|||
alt="" |
|||
class="inline-photo show-on-scroll"/> |
|||
</div> |
|||
</div> |
|||
<div class="col-12"> |
|||
<div class="wrapper"> |
|||
<img src="/theme_watchhut/static/src/images/gallery/5.jpg" |
|||
alt="" |
|||
class="inline-photo show-on-scroll"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-12"> |
|||
<div class="wrapper"> |
|||
<img src="/theme_watchhut/static/src/images/gallery/6.jpg" |
|||
alt="" |
|||
class="inline-photo show-on-scroll"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- Section Gallery ends here --> |
|||
</template> |
|||
</odoo> |
@ -0,0 +1,34 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<odoo> |
|||
<template id="gallery_heading_snippet" inherit_id="website.snippets" |
|||
name="Gallery heading"> |
|||
<!-- Gallery Heading banner--> |
|||
<!-- The template adds a gallery heading banner snippet to the website's snippets section. --> |
|||
<!-- It inserts a custom gallery heading component, along with its thumbnail image, into--> |
|||
<!-- the designated position within the snippet structure.--> |
|||
<xpath expr="//snippets[@id='snippet_content']" position="inside"> |
|||
<t t-snippet="theme_watchhut.gallery_heading" |
|||
t-thumbnail="/theme_watchhut/static/src/images/snippets/heading.jpg"/> |
|||
</xpath> |
|||
</template> |
|||
|
|||
<!--Template for snippet gallery heading--> |
|||
<template id="gallery_heading" name="Gallery Heading"> |
|||
<!-- The template represents a gallery heading component for the website.--> |
|||
<!-- It displays a banner section with a heading showcasing the "Men Watch Collection" --> |
|||
<!-- in a visually appealing manner.--> |
|||
<!-- Section banner starts here --> |
|||
<section class="banner"> |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<h3 class="banner_head"> |
|||
Men Watch |
|||
<br/> |
|||
Collection |
|||
</h3> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- Section Gallery ends here --> |
|||
</template> |
|||
</odoo> |
@ -0,0 +1,49 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<odoo> |
|||
|
|||
<template id="shop_button_banner" inherit_id="website.snippets" |
|||
name="Shop Button"> |
|||
<!-- The template represents a shop button banner component for the --> |
|||
<!-- website. It includes a shop button that is visually highlighted--> |
|||
<!-- and encourages users to explore and visit the shop section of the website.--> |
|||
<xpath expr="//snippets[@id='snippet_content']" position="inside"> |
|||
<t t-snippet="theme_watchhut.shop_button" |
|||
t-thumbnail="/theme_watchhut/static/src/images/snippets/shop_button.jpg"/> |
|||
</xpath> |
|||
</template> |
|||
|
|||
<!--Template for snippet shop button--> |
|||
<template id="shop_button" name="Shop Button"> |
|||
<!-- The "Shop Button" template represents a section on the website --> |
|||
<!-- that promotes a specific collection made from vegan leather.--> |
|||
<!-- It provides a brief description of the collection's features --> |
|||
<!-- and sustainability, along with a prominent "Shop Now" button --> |
|||
<!-- that directs users to the shop section for purchasing the products.--> |
|||
<!-- Section shop-button starts here --> |
|||
<section class="shop_button"> |
|||
<div class="container"> |
|||
<div class="wrapper"> |
|||
<div class="row"> |
|||
<div class="col-8 m-auto"> |
|||
<p> |
|||
Crafted from our exclusive “vegan” leather, |
|||
this cruelty-free collection is both chic |
|||
and sustainable. |
|||
Available in very limited quantities from |
|||
select |
|||
<br/> |
|||
stockists. |
|||
</p> |
|||
<div class="shop_b"> |
|||
<a href="/shop" class="btn btn-shop">Shop |
|||
Now |
|||
</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- Section shop-button starts here --> |
|||
</template> |
|||
</odoo> |