diff --git a/theme_medicate/README.rst b/theme_medicate/README.rst new file mode 100644 index 000000000..57ee699cf --- /dev/null +++ b/theme_medicate/README.rst @@ -0,0 +1,50 @@ +.. 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 Medicate +=================== +* Custom Designed Snippets for better user experience. Optimized Code Snippets +for Enhanced User Experience. + +Installation +============ +- www.odoo.com/documentation/18.0/setup/install.html +- Install our custom addon + +License +------- +General Public License, Version 3 (LGPL v3). +(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +* Developer: (V18) Amaya Aravind EV +* Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if +your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com + +Further information +=================== +HTML Description: ``__ diff --git a/theme_medicate/__init__.py b/theme_medicate/__init__.py new file mode 100644 index 000000000..b72c37ee5 --- /dev/null +++ b/theme_medicate/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@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 . +# +############################################################################# +from . import controllers + diff --git a/theme_medicate/__manifest__.py b/theme_medicate/__manifest__.py new file mode 100644 index 000000000..c47938264 --- /dev/null +++ b/theme_medicate/__manifest__.py @@ -0,0 +1,83 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@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 . +# +############################################################################# +{ + 'name': 'Theme Medicate', + 'version': '18.0.1.0.0', + 'category': 'Theme/eCommerce', + 'summary': 'Theme Medicate for Odoo Website and e-Commerce', + 'description': 'Custom Designed Snippets for better user experience. ' + 'Optimized Code Snippets for Enhanced User Experience.', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['base','website','website_blog'], + 'data': [ + 'views/header_templates.xml', + 'views/footer_templates.xml', + 'views/about_us_views.xml', + 'views/blog_views.xml', + 'views/services_views.xml', + 'views/blog_details.xml', + 'views/contactus_views.xml', + 'views/snippets/home_page_carousel_template.xml', + 'views/snippets/home_page_about_template.xml', + 'views/snippets/home_page_facility_provided_template.xml', + 'views/snippets/home_page_about_content_template.xml', + 'views/snippets/home_page_great_work_template.xml', + 'views/snippets/home_page_working_progress_template.xml', + 'views/snippets/home_page_heart_specialists_template.xml', + 'views/snippets/home_page_clients_template.xml', + 'views/snippets/about_us_banner_template.xml', + 'views/snippets/about_us_content_template.xml', + 'views/snippets/about_us_main_service_template.xml', + 'views/snippets/about_us_count_template.xml', + 'views/snippets/about_us_work_best_process_template.xml', + 'views/snippets/services_banner_template.xml', + 'views/snippets/services_container_template.xml', + 'views/snippets/blog_banner.xml', + 'views/snippets/blog_container_snippet.xml', + 'views/snippets/contactus_banner.xml', + 'views/snippets/contactus_snippet.xml', + 'views/snippets/contactus_map.xml', + 'views/snippets.xml', + 'views/homepage_snippets.xml', + ], + 'assets': { + 'web.assets_frontend': [ + "https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css", + "https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js", + "theme_medicate/static/src/js/swiper.js", + "theme_medicate/static/src/js/read_more.js", + "theme_medicate/static/src/css/main.css", + 'theme_medicate/static/src/js/blog_search.js', + ], + }, + 'images': [ + 'static/description/banner.jpg', + 'static/description/theme_screenshot.jpg', + ], + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/theme_medicate/controllers/__init__.py b/theme_medicate/controllers/__init__.py new file mode 100644 index 000000000..75a90b25f --- /dev/null +++ b/theme_medicate/controllers/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@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 . +# +############################################################################# +from . import blog_post +from . import main diff --git a/theme_medicate/controllers/blog_post.py b/theme_medicate/controllers/blog_post.py new file mode 100644 index 000000000..decfd601f --- /dev/null +++ b/theme_medicate/controllers/blog_post.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@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 . +# +############################################################################# +from odoo import http +from odoo.http import request +from odoo.addons.website_blog.controllers.main import WebsiteBlog + + +class CustomBlogController(WebsiteBlog): + @http.route([ '/blog', '/blog/page/' ], type='http', + auth="public", website=True) + def blog(self, page=1, **kwargs): + # Define domain for blog posts + domain = [('website_published', '=', True)] + + # Get blog posts + blog_post = request.env['blog.post'] + total_posts = blog_post.search_count(domain) + + # Pagination + pager = request.website.pager( + url='/blog', + total=total_posts, + page=page, + step=12 # Posts per page + ) + posts = blog_post.search( + domain, + limit=12, + offset=pager['offset'], + order='post_date desc' + ) + # Prepare values to pass to template + values = { + 'posts': posts, + 'pager': pager, + 'opt_blog_sidebar_show': True, # Optional: control sidebar visibility + } + return request.render('website_blog.blog_post_short', values) + + @http.route(['/blog/'], type='http', auth="public", website=True) + def blog_post(self, blog_post, **kwargs): + # Values for single blog post view + values = { + 'blog_post': blog_post, + 'opt_blog_post_sidebar': True, + } + return request.render('website_blog.blog_post_complete', values) + + +class BlogPostSearchRedirect(http.Controller): + @http.route('/product_info', auth='public', type='json') + def blog_post_search_match(self, query): + post = request.env['blog.post'].sudo().search( + [('name', 'ilike', query)], + limit=1) + if post: + return {'url': post.website_url} + return {} diff --git a/theme_medicate/controllers/main.py b/theme_medicate/controllers/main.py new file mode 100644 index 000000000..3a437cc67 --- /dev/null +++ b/theme_medicate/controllers/main.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@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 . +# +############################################################################# +import logging +from odoo import http +from odoo.http import request + + +_logger = logging.getLogger(__name__) + +class MenuController(http.Controller): + """Controller for handling redirections to various pages based on menu + clicks. This class defines several routes that redirect users to different + pages in the website based on the menus clicked. Each method corresponds to + a specific page in the 'theme_medicate' theme.""" + + @http.route('/home', website=True, type='http', auth='public', csrf=False) + def home_page(self): + """Redirect to the home page.""" + return request.render('theme_medicate.home_page_load_snippet') + + @http.route('/contact-us', website=True, type='http', auth='public', csrf=False) + def contact_us(self): + """Redirect to the contact us page.""" + return request.render('theme_medicate.contactus_template') + + @http.route('/about', website=True, type='http', auth='public', csrf=False) + def about_page(self): + """Redirect to the about page.""" + return request.render('theme_medicate.load_about_us_snippet') + + @http.route('/service', website=True, type='http', auth='public', csrf=False) + def service_page(self): + """Redirect to the about page.""" + return request.render('theme_medicate.load_services_snippet') + + @http.route('/read_more', website=True, type='http', auth='public', + csrf=False) + def blog_details(self): + """Redirect to the portfolio Another Action page.""" + return request.render('theme_medicate.blog_details_more') diff --git a/theme_medicate/doc/RELEASE_NOTES.md b/theme_medicate/doc/RELEASE_NOTES.md new file mode 100755 index 000000000..09239d283 --- /dev/null +++ b/theme_medicate/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 08.07.2025 +#### Version 18.0.1.0.0 +#### ADD +- Initial Commit Theme Medicate diff --git a/theme_medicate/static/src/css/main.css b/theme_medicate/static/src/css/main.css new file mode 100644 index 000000000..7ed958855 --- /dev/null +++ b/theme_medicate/static/src/css/main.css @@ -0,0 +1,646 @@ +.header-section { background-color:#024c80;} + +.poppins-thin { + font-family: "Poppins", sans-serif; + font-weight: 100; + font-style: normal; + } + + .poppins-extralight { + font-family: "Poppins", sans-serif; + font-weight: 200; + font-style: normal; + } + + .poppins-light { + font-family: "Poppins", sans-serif; + font-weight: 300; + font-style: normal; + } + + .poppins-regular { + font-family: "Poppins", sans-serif; + font-weight: 400; + font-style: normal; + } + + .poppins-medium { + font-family: "Poppins", sans-serif; + font-weight: 500; + font-style: normal; + } + + .poppins-semibold { + font-family: "Poppins", sans-serif; + font-weight: 600; + font-style: normal; + } + + .poppins-bold { + font-family: "Poppins", sans-serif; + font-weight: 700; + font-style: normal; + } + + .poppins-extrabold { + font-family: "Poppins", sans-serif; + font-weight: 800; + font-style: normal; + } + + .poppins-black { + font-family: "Poppins", sans-serif; + font-weight: 900; + font-style: normal; + } + + .poppins-thin-italic { + font-family: "Poppins", sans-serif; + font-weight: 100; + font-style: italic; + } + + .poppins-extralight-italic { + font-family: "Poppins", sans-serif; + font-weight: 200; + font-style: italic; + } + + .poppins-light-italic { + font-family: "Poppins", sans-serif; + font-weight: 300; + font-style: italic; + } + + .poppins-regular-italic { + font-family: "Poppins", sans-serif; + font-weight: 400; + font-style: italic; + } + + .poppins-medium-italic { + font-family: "Poppins", sans-serif; + font-weight: 500; + font-style: italic; + } + + .poppins-semibold-italic { + font-family: "Poppins", sans-serif; + font-weight: 600; + font-style: italic; + } + + .poppins-bold-italic { + font-family: "Poppins", sans-serif; + font-weight: 700; + font-style: italic; + } + + .poppins-extrabold-italic { + font-family: "Poppins", sans-serif; + font-weight: 800; + font-style: italic; + } + + .poppins-black-italic { + font-family: "Poppins", sans-serif; + font-weight: 900; + font-style: italic; + } + + .contact-us-form-container input::placeholder{ + color: #000 !important; + } + .contact-us-form-container textarea::placeholder{ + color: #000 !important; + } + + + .call-section img{ width:18px; } + + .email-section img{ width:18px; + margin-left: 20px;} + + .social-media-icons img { width:18px; margin: 10px; } + + .navbar-brand img { width: 160px;} + .carousel-item{ position: relative; } + + .carousel-content{ position: absolute; z-index:999; top: 187px; left: 227px; } + .carousel-inner{ height: 484px; } + + .container-24-hours{ background-color:#0480e1; font-size:22px; height:287px; } + + .container-24-hours img{ width: 255px; } + + .container-24-hours span img{ width: 50px; } + + .container-doctors-time-table{background-color:#13457a; } + + .container-doctors-time-table img{ width:75px; } + + .btn-timetable{ background-color:#0480e1; } + .container-doctors-time-table { height: 287px; } + .a-time-table{ border-radius:4px; font-size: 14px; } + + .opening-time{ background-color:#0480e1; height: 287px; } + + .opening-time img { width:75px; } + .opening-time p{ font-size: 22px; } + + .opening-time table{ font-size: 13px; } + + .navbar-expand-lg .navbar-nav .nav-link { font-size: 14px; font-weight: 600; } + .navbar .navbar-collapse { + margin-left: 30%; + } +.section-service{ position: relative; top:-72px;} +.about-container ul li{ list-style:none; } +.about-container ul li img{ width:20px; } +.about-container ul li { margin-bottom:18px; font-size: 16px; } + +.swiper { + width: 100%; + height: 100%; +} + +.swiper-slide { + text-align: center; + font-size: 18px; + background: #fff; + display: flex; + justify-content: center; + align-items: center; +} + +.swiper-slide img { + display: block; + width: 100%; + height: 100%; + object-fit: cover; +} + +.facilities-container{ background-color:#e7e9eb; } + +.facilities-content{ font-size: 16px; color: #0480e1; } + +.facilities-header{ font-size:18px; } + +.about-content-right-side{ + background-image: url(/theme_medicate/static/src/img/pharma-theme-about-content.png); + background-repeat: no-repeat; + height: 500px; + background-size:contain; + background-position:right; } + +.about-count{ width: 40%; text-align: center; float: right; } + +.section-great-work{ + background-image: url(/theme_medicate/static/src/img/pharma-theme-greate-work-do.jpg); + background-repeat: no-repeat; + background-size: contain; + background-position: top; } + +.great-work-container img:hover { opacity:.5 ; } + +.great-work-container{ background-color:#333; } + +.btn-great-work{ position: absolute; + z-index: 999; + bottom: 21%; + left: 104px; + padding: 16px; background-color: #fff; display: none; } + + .btn-great-work a{ color:#0480e1; } + + .great-work-container:hover .btn-great-work{ display: block; } + + .container-working-progress h3 { font-size: 18px; } + + .container-working-progress p { font-size:14px; color:#717171; } +.container-heart-speclist-name{ + + position: absolute; + background-color: #fff; + width: 62%; + bottom: -18px; + left: 66px; + padding: 9px; + +} + +.section-footer{ background-color:#13457a; } +.about-footer ul li{ list-style:none; display: contents; } + +.about-footer ul li img{ width:13%; } +.container-our-courses{ padding-left: 55px; } +.container-our-courses h3{ font-size:24px; line-height: 72px; } +.container-our-courses ul li{ list-style:none; } + +.recent-post-img img{ width:82% ; } +.recent-post-img{ float: left; width: 40%; } + +.recent-post{ border-bottom:1px solid #1d5782 ; } +.phone-icon img{ width:15%; } + +.phone-icon span { font-size:16px; padding-left: 4px; } + +.copyright-container{ font-size: 14px; border-top:1px solid #155187; } + +.container-newsletter{ background-color: #0480e1; + width:100%; + margin: auto; + top: -139px; + position: relative; } + + .btn-submit{ text-align: center; } + + .section-clients{ margin-bottom: 90px; } + + .container-newsletter img { width:18%; padding-top: 12px; } + + .container-newsletter span{ font-size: 26px; + padding-left: 16px; + display: block; + float: right; + width: 80%; } + + .btn-submit { background-color:#ffffff; padding: 20px 63px; } + + .input-email-submit{ width:284px; height:65px ; background-color: #0e8be2; border: none; outline: none; } + + + /* About us Page */ + + + .sub-page-banner{ + background-image: url(/theme_medicate/static/src/img/pharma-theme-about-us-banner.jpg); + background-repeat: no-repeat; + height: 400px; + background-size: cover; } + +.abouts-banner-content h3{ font-size:38px; } + +.abouts-banner-content { height: 400px; display: table-cell; vertical-align: middle; } + +.ul-about-page li{ list-style: none; } + +.ul-about-page li img{ width:16px; margin-right:5px; } + +.p-about-number{ font-size:32px; } + +.phone-number-container span { color: #0e8be2; font-size: 23px; } + +.about-service-container { background-color: #ffffff; } + +.section-our-main-serice{ background-color:#f4f6f9; } + +.about-service-container{ background-color:#fff; } + +.about-service-container p{ color: #666666; } + +.section-our-main-serice{ padding-bottom: 90px; } + +.section-counts{ background-color:#0480df; } + +.section-counts h2{ font-size:52px; } + +.section-work-best-process{ + background-color:#14457b; + background-size:100%; + background-image: url(/theme_medicate/static/src/img/bg-work-process.jpg); + background-repeat: no-repeat; + background-position: bottom; } + +/* Services page */ + +.service-container .nav{ float: left; + display: block; + width:30%; + text-align: center; + background-color: #f1f3f6; + padding: 27px;} + +.service-container .tab-content{ float: right; width: 65%; } + +.service-container .nav-pills .nav-link{ text-align: left; + background-color: #fff; + margin-top: 12px; + padding: 13px; color: #333333; border: 1px solid #fff; font-size: 15px; } + + .service-container .nav-pills .nav-link.active, .nav-pills .show > .nav-link { + background-color: #fff; + color: #000; + border: 1px solid #0480df; } + + .tab-content-service h3{ font-size: 34px; } + + .tab-content-service p{ font-size: 14px; color: #333; } + + .tab-content-service ul li{ list-style: none; } + + .tab-content-service ul li span img{ width:18px; } + + .ul-tab-contents{ margin-right: 110px; } + + .container-service-eyecare img { width:90%; } + + .service-container { margin-bottom:146px !important; } + + /* contact us */ + + .contact-us-container p{ color:#6E6E6E; font-size: 16px; } + + .section-contact-us { margin-bottom:80px; } + +.container-get-in-touch{ +padding:100px; +-webkit-box-shadow: 1px -2px 13px -3px rgba(0,0,0,0.25); +-moz-box-shadow: 1px -2px 13px -3px rgba(0,0,0,0.25); +box-shadow: 1px -2px 13px -3px rgba(0,0,0,0.25); + } + + .btn-send-message{ background-color: #2490eb; border-radius:8px; } + + .container-send-message-btn{ display: block; margin-top: 46px;} + + /* blog page */ + + .icons-container{ border-bottom: 1px solid #d4d3d3; } + + .icons-container span{ color: #7e7e7e; font-size: 14px; } + + .blog-container{ -webkit-box-shadow: 1px -2px 13px -3px rgba(0,0,0,0.25); + -moz-box-shadow: 1px -2px 13px -3px rgba(0,0,0,0.25); + box-shadow: 1px -2px 13px -3px rgba(0,0,0,0.25); position: relative; } + + .blog-month-date{ background-color: #2490eb ; position: absolute; border-radius: 8px; top:471px; + left: 26px; } + + .blog-search-container{ background-color:#047fdc; } + + .blog-search-container button { width: 48px; height:38px; + background-color:#14457b; + box-shadow: none; border: none; + background-image: url(/theme_medicate/static/src/img/images/seach-icon-blog.png); + background-repeat: no-repeat; + background-position: center; } + + .right-side-menus h3{ font-weight:600; } + + .right-side-menus{ background-color:#ececec; } + + .right-side-menus ul li{ list-style: none; } + + .right-side-menus ul li a{ display: block; } + + + input::placeholder { + color:#fff; + opacity: 0.5; + } + + .navbar-toggler{ + background-image: url(/theme_medicate/static/src/img/menu.png); + background-repeat: no-repeat; + background-size: 58%; } + + .section-heart-specilits { margin-top: 30px; } + .section-great-work { margin-top: 82px !important; } + .section-about-content{ margin-top: 82px !important; } + .section-what-facilities-provided{ margin-top: 82px !important; } + .section-about{ margin-top: 42px; } + + .container-newsletter{ top:-54px !important; } + .icons-container img{ width: 4% !important; } + + + @media (max-width:1200px) { + + .blog-month-date{ top:384px; } + .btn-submit { + padding: 20px 44px; + } + .container-our-courses ul{ margin-left: 0px !important; } + .section-about-page-content h3{ margin-top: 12px; } + + .icons-container img{ width: 4% !important; } + + } + + @media (max-width:991px) { + + .section-footer .footer-contact-us{ padding-left: 0px !important; } + +.blog-month-date{ top:384px; } +.container-service-eyecare img{ margin-top: 12px; } +.blog-img{ margin: 15px 0px; } + +.container-newsletter{ top:-54px !important; } +.container-our-courses ul{ margin-left:0px !important; } +.container-our-courses{ padding-left: 0px !important; } +.container-our-courses h3 { text-align: left; } +.container-newsletter img{ padding-bottom: 26px; width: 12% !important; } +.container-doctors-time-table{ margin:12px 0px; } +.about-container{ padding-top: 12px; } +.about-content .a-time-table{ margin:11px 0px !important; } +.carousel-control-prev, .carousel-control-next{ height: 67%; } + +.about-footer img { width:50% !important ; } + +.about-footer ul li a img{ width: 8% !important; } +.phone-icon img { width: 5% !important; } +.recent-post-img { width: 18% !important; } +.navbar-nav .nav-item { margin-left: 0px !important; } + + } + + @media (max-width: 768px) { + + .carousel-control-prev{ height: 62%; } + .carousel-control-next{ height: 62%; } + .container-doctors-time-table { margin:20px 0px; } + .about-container { margin-top: 35px; } + .about-content{ padding-top: 0px !important; } + .about-content a { margin-top: 10px !important; + margin-bottom: 22px; } + + .section-footer .container-our-courses { + padding-left: 0px !important; + } + + .container-our-courses ul{ margin-left: 0px !important; } + + .container-our-courses h3{ text-align: left; } + + .container-email-form{ margin-top: 30px; float: left; width: 100%; } + + .navbar-nav .nav-item { margin-left: 0px !important; } + .btn-great-work{ left: 4px; } + .section-about-page-content h3{ margin-top: 12px; } + + .section-about-page-content .ul-about-page { margin-top: 0px !important; } + .container-best-process { margin-top: 15px !important; } + .container-service-eyecare img{ margin-top: 20px; } + + .service-container .nav{ width: 100%; } + .service-container .tab-content{ width: 100%; } + + .container-service-eyecare img { width: 100%; } + .input-email-submit{ width: 100%; } + .container-email-form .btn-submit{ + width: 100%; margin-left: 0px !important; margin-top: 12px;} + .ul-tab-contents{ width: 100%; margin-right: 0px; } + .service-container .tab-pane{ padding: 0px !important;margin-top: 12px; } + .container-newsletter{ top:-49px !important; } + .contact-textarea { width: 50.5% !important; } + + .blog-month-date{ top:270px; } + + .blog-img{ margin: 15px 0px;} + + .about-footer img { width:50% !important ; } + + .about-footer ul li a img{ width: 8% !important; } + .phone-icon img { width: 5% !important; } + .recent-post-img { width: 18% !important; } + + } + + @media (max-width:568px) { + .btn-great-work{ left:7px; } + .blog-month-date { + top:272px; + } + .container-email-form .btn-submit { margin-left: 50px ; width: 100%; margin-top:0px; text-align: center;} + + .input-email-submit{ width: 100%; } + + .section-about-page-content h3{ margin-top: 12px; } + .about-service-container .ul-about-page { margin-top: 0px !important; } + + .container-best-process { margin-top: 15px !important; } + .container-newsletter{ top:-54px !important; } + .contact-textarea{ width: 110% !important; } + + } + + @media (max-width: 468px) { + .blog-month-date { + top: 164px; + } + } + .container-email-form .btn-submit { margin-left: 20px ; width: 100%; margin-top: 14px; text-align: center; } + + .py-2 { + padding-top: 0.0rem !important; + padding-bottom: 0.0rem !important; +} + +.p-4 { + padding: 1.5rem!important; +} + +.mt-5, .my-5 { + margin-top: 3rem!important; +} +.w-100 { + width: 100%!important; +} +.float-left { + float: left!important; +} +.blog-search-container { + background-color: #047fdc; +} +*, ::after, ::before { + box-sizing: border-box; +} +user agent stylesheet +div { + display: block; +text-white { + color: #fff!important; +} + +.pl-3, .px-3 { + padding-left: 1rem!important; +} +.pr-3, .px-3 { + padding-right: 1rem!important; +} +.pb-2, .py-2 { + padding-bottom: 0.5rem!important; +} +.pt-2, .py-2 { + padding-top: 0.5rem!important; +} +@media (max-width: 1200px) +.blog-month-date { + top: 384px; +} +.blog-month-date { + background-color: #2490eb; + position: absolute; + border-radius: 8px; + border-top-left-radius: 8px; + border-top-right-radius: 8px; + border-bottom-right-radius: 8px; + border-bottom-left-radius: 8px; + top: 471px; + left: 26px; +} +text-uppercase { + text-transform: uppercase!important; +} + +.w-100 { + width: 100%!important; +} +.float-left { + float: left!important; +} +.icons-container { + border-bottom: 1px solid #d4d3d3; +} +.icons-container img { + width: 4% !important; +} + +.mr-2, .mx-2 { + margin-right: 0.5rem!important; +} +img { + vertical-align: middle; + border-style: none; +} +.font-weight-bold { + font-weight: 700!important; +} +.a-time-table { + border-radius: 4px; + font-size: 14px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; + font-size: 14px; +} + +.btn-timetable { + background-color: #0480e1; +} +.mb-2, .my-2 { +margin-bottom: 0.5rem!important; +} + +.mt-2, .my-2 { + margin-top: 0.5rem!important; +} +.pl-0, .px-0 { + padding-left: 0!important; +} + +.mt-4, .my-4 { + margin-top: 1.5rem!important; +} diff --git a/theme_medicate/static/src/description/banner.jpg b/theme_medicate/static/src/description/banner.jpg new file mode 100644 index 000000000..2c034c702 Binary files /dev/null and b/theme_medicate/static/src/description/banner.jpg differ diff --git a/theme_medicate/static/src/description/icon.png b/theme_medicate/static/src/description/icon.png new file mode 100644 index 000000000..0880a6779 Binary files /dev/null and b/theme_medicate/static/src/description/icon.png differ diff --git a/theme_medicate/static/src/description/images/arrows-repeat.svg b/theme_medicate/static/src/description/images/arrows-repeat.svg new file mode 100644 index 000000000..94fb8f7f9 --- /dev/null +++ b/theme_medicate/static/src/description/images/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme_medicate/static/src/description/images/check.svg b/theme_medicate/static/src/description/images/check.svg new file mode 100644 index 000000000..8bc79333d --- /dev/null +++ b/theme_medicate/static/src/description/images/check.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme_medicate/static/src/description/images/clean-code.svg b/theme_medicate/static/src/description/images/clean-code.svg new file mode 100644 index 000000000..ce0417772 --- /dev/null +++ b/theme_medicate/static/src/description/images/clean-code.svg @@ -0,0 +1,3 @@ + + + diff --git a/theme_medicate/static/src/description/images/feature-star.svg b/theme_medicate/static/src/description/images/feature-star.svg new file mode 100644 index 000000000..a913270e8 --- /dev/null +++ b/theme_medicate/static/src/description/images/feature-star.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/theme_medicate/static/src/description/images/font.svg b/theme_medicate/static/src/description/images/font.svg new file mode 100644 index 000000000..59e8d4cac --- /dev/null +++ b/theme_medicate/static/src/description/images/font.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/theme_medicate/static/src/description/images/gear.svg b/theme_medicate/static/src/description/images/gear.svg new file mode 100644 index 000000000..ce383059d --- /dev/null +++ b/theme_medicate/static/src/description/images/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme_medicate/static/src/description/images/hire-odoo.svg b/theme_medicate/static/src/description/images/hire-odoo.svg new file mode 100644 index 000000000..9cfec4e44 --- /dev/null +++ b/theme_medicate/static/src/description/images/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/theme_medicate/static/src/description/images/life-ring-icon.svg b/theme_medicate/static/src/description/images/life-ring-icon.svg new file mode 100644 index 000000000..b6c797ba1 --- /dev/null +++ b/theme_medicate/static/src/description/images/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/theme_medicate/static/src/description/images/medicate-about-banner.png b/theme_medicate/static/src/description/images/medicate-about-banner.png new file mode 100644 index 000000000..1508f4097 Binary files /dev/null and b/theme_medicate/static/src/description/images/medicate-about-banner.png differ diff --git a/theme_medicate/static/src/description/images/medicate-banner.png b/theme_medicate/static/src/description/images/medicate-banner.png new file mode 100644 index 000000000..35d49e24e Binary files /dev/null and b/theme_medicate/static/src/description/images/medicate-banner.png differ diff --git a/theme_medicate/static/src/description/images/medicate-blog-banner.png b/theme_medicate/static/src/description/images/medicate-blog-banner.png new file mode 100644 index 000000000..85aa682a3 Binary files /dev/null and b/theme_medicate/static/src/description/images/medicate-blog-banner.png differ diff --git a/theme_medicate/static/src/description/images/medicate-facility-banner.png b/theme_medicate/static/src/description/images/medicate-facility-banner.png new file mode 100644 index 000000000..54f363962 Binary files /dev/null and b/theme_medicate/static/src/description/images/medicate-facility-banner.png differ diff --git a/theme_medicate/static/src/description/images/medicate-feature-banner.png b/theme_medicate/static/src/description/images/medicate-feature-banner.png new file mode 100644 index 000000000..09918f238 Binary files /dev/null and b/theme_medicate/static/src/description/images/medicate-feature-banner.png differ diff --git a/theme_medicate/static/src/description/images/medicate-logo-banner.png b/theme_medicate/static/src/description/images/medicate-logo-banner.png new file mode 100644 index 000000000..13a388fe4 Binary files /dev/null and b/theme_medicate/static/src/description/images/medicate-logo-banner.png differ diff --git a/theme_medicate/static/src/description/images/medicate-product-banner-2.png b/theme_medicate/static/src/description/images/medicate-product-banner-2.png new file mode 100644 index 000000000..c6269a921 Binary files /dev/null and b/theme_medicate/static/src/description/images/medicate-product-banner-2.png differ diff --git a/theme_medicate/static/src/description/images/medicate-product-banner.png b/theme_medicate/static/src/description/images/medicate-product-banner.png new file mode 100644 index 000000000..8e3fc8138 Binary files /dev/null and b/theme_medicate/static/src/description/images/medicate-product-banner.png differ diff --git a/theme_medicate/static/src/description/images/medicate-responsive-banner.png b/theme_medicate/static/src/description/images/medicate-responsive-banner.png new file mode 100644 index 000000000..a880b0d8a Binary files /dev/null and b/theme_medicate/static/src/description/images/medicate-responsive-banner.png differ diff --git a/theme_medicate/static/src/description/images/medicate-service-banner.png b/theme_medicate/static/src/description/images/medicate-service-banner.png new file mode 100644 index 000000000..4fb08cc04 Binary files /dev/null and b/theme_medicate/static/src/description/images/medicate-service-banner.png differ diff --git a/theme_medicate/static/src/description/images/odoo-consultancy.svg b/theme_medicate/static/src/description/images/odoo-consultancy.svg new file mode 100644 index 000000000..c2c27e608 --- /dev/null +++ b/theme_medicate/static/src/description/images/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/theme_medicate/static/src/description/images/odoo-licencing.svg b/theme_medicate/static/src/description/images/odoo-licencing.svg new file mode 100644 index 000000000..8a520b40f --- /dev/null +++ b/theme_medicate/static/src/description/images/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/theme_medicate/static/src/description/images/pages.svg b/theme_medicate/static/src/description/images/pages.svg new file mode 100644 index 000000000..74f5354a9 --- /dev/null +++ b/theme_medicate/static/src/description/images/pages.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/theme_medicate/static/src/description/images/patter.svg b/theme_medicate/static/src/description/images/patter.svg new file mode 100644 index 000000000..9b7b0d7cd --- /dev/null +++ b/theme_medicate/static/src/description/images/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/theme_medicate/static/src/description/images/puzzle-piece-icon.svg b/theme_medicate/static/src/description/images/puzzle-piece-icon.svg new file mode 100644 index 000000000..ab5e56fa7 --- /dev/null +++ b/theme_medicate/static/src/description/images/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme_medicate/static/src/description/images/resposnive.svg b/theme_medicate/static/src/description/images/resposnive.svg new file mode 100644 index 000000000..f778c8cd6 --- /dev/null +++ b/theme_medicate/static/src/description/images/resposnive.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/theme_medicate/static/src/description/images/screenshot-1.svg b/theme_medicate/static/src/description/images/screenshot-1.svg new file mode 100644 index 000000000..72eeb921b --- /dev/null +++ b/theme_medicate/static/src/description/images/screenshot-1.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/theme_medicate/static/src/description/images/support.svg b/theme_medicate/static/src/description/images/support.svg new file mode 100644 index 000000000..869dcfe33 --- /dev/null +++ b/theme_medicate/static/src/description/images/support.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/theme_medicate/static/src/description/images/translate.svg b/theme_medicate/static/src/description/images/translate.svg new file mode 100644 index 000000000..eea729542 --- /dev/null +++ b/theme_medicate/static/src/description/images/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme_medicate/static/src/description/images/typography.svg b/theme_medicate/static/src/description/images/typography.svg new file mode 100644 index 000000000..cb337fce8 --- /dev/null +++ b/theme_medicate/static/src/description/images/typography.svg @@ -0,0 +1,4 @@ + + + + diff --git a/theme_medicate/static/src/description/images/wrench-icon.svg b/theme_medicate/static/src/description/images/wrench-icon.svg new file mode 100644 index 000000000..4e0ce1d01 --- /dev/null +++ b/theme_medicate/static/src/description/images/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme_medicate/static/src/description/index.html b/theme_medicate/static/src/description/index.html new file mode 100644 index 000000000..cced2c19b --- /dev/null +++ b/theme_medicate/static/src/description/index.html @@ -0,0 +1,414 @@ + + + + + + + app index + + + + + + + + + + +
+ + + +
+
+
+
+ +
+
+
+
+ +
+ Supports: +
+ Community +
+ +
+
+
+
+ Availability: +
+ Odoo Online +
+
+ Odoo.sh +
+
+ On Premise +
+
+
+
+
+
+ + + + +
+ +
+ + + + +
+ +
+ + + + +
+ +
+ + + + + +
+
+
+
+
+

Our Features

+
+
+
+
+
+
+
+ +

Custom Designed Snippets for better user experience

+

Optimized Code Snippets for Enhanced User Experience.

+
+ +
+
+
+
+
+ + +

Fully Customized AboutUs page

+

Key information about the Hospital and includes sections dedicated to showcasing Facilities, giving visitors insight into the qualities.

+
+ +
+
+
+
+
+ +

Contains Location and Services by Default

+

Showcases services or items in an elegant and visually appealing layout.

+
+ + +
+
+
+
+
+ +

Features dynamic elements

+

Features dynamic elements like sliders and testimonials.

+
+ +
+
+
+
+
+ +

A Clean layout and Style

+

Modern, Clean Interface with Premium Typography.

+
+ +
+
+
+
+
+ +

Fully Responsive Theme with a Premium Design

+

Premium Responsive Design for All Devices

+
+ +
+
+
+
+
+ + +
+ +
+ + + +
+
+
+ +
+
+ +
+
+
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + +
+ +
+ + + + + +
+ + + + \ No newline at end of file diff --git a/theme_medicate/static/src/description/theme_screenshot.jpg b/theme_medicate/static/src/description/theme_screenshot.jpg new file mode 100644 index 000000000..b16e8e2fd Binary files /dev/null and b/theme_medicate/static/src/description/theme_screenshot.jpg differ diff --git a/theme_medicate/static/src/img/Angio-plasty-about-services.png b/theme_medicate/static/src/img/Angio-plasty-about-services.png new file mode 100644 index 000000000..408b07af6 Binary files /dev/null and b/theme_medicate/static/src/img/Angio-plasty-about-services.png differ diff --git a/theme_medicate/static/src/img/Entocronology-about-services.png b/theme_medicate/static/src/img/Entocronology-about-services.png new file mode 100644 index 000000000..e5d115fdc Binary files /dev/null and b/theme_medicate/static/src/img/Entocronology-about-services.png differ diff --git a/theme_medicate/static/src/img/about-page-content-img.jpg b/theme_medicate/static/src/img/about-page-content-img.jpg new file mode 100644 index 000000000..0c799651d Binary files /dev/null and b/theme_medicate/static/src/img/about-page-content-img.jpg differ diff --git a/theme_medicate/static/src/img/about-us-tick.png b/theme_medicate/static/src/img/about-us-tick.png new file mode 100644 index 000000000..2f86d2916 Binary files /dev/null and b/theme_medicate/static/src/img/about-us-tick.png differ diff --git a/theme_medicate/static/src/img/arrow-about-pharma.png b/theme_medicate/static/src/img/arrow-about-pharma.png new file mode 100644 index 000000000..d10f8bdbd Binary files /dev/null and b/theme_medicate/static/src/img/arrow-about-pharma.png differ diff --git a/theme_medicate/static/src/img/bg-work-process.jpg b/theme_medicate/static/src/img/bg-work-process.jpg new file mode 100644 index 000000000..713d3e0df Binary files /dev/null and b/theme_medicate/static/src/img/bg-work-process.jpg differ diff --git a/theme_medicate/static/src/img/blog-detail-img01.png b/theme_medicate/static/src/img/blog-detail-img01.png new file mode 100644 index 000000000..0e621ca27 Binary files /dev/null and b/theme_medicate/static/src/img/blog-detail-img01.png differ diff --git a/theme_medicate/static/src/img/blog-detail-img02.png b/theme_medicate/static/src/img/blog-detail-img02.png new file mode 100644 index 000000000..385a2fe59 Binary files /dev/null and b/theme_medicate/static/src/img/blog-detail-img02.png differ diff --git a/theme_medicate/static/src/img/blog-img-01.jpg b/theme_medicate/static/src/img/blog-img-01.jpg new file mode 100644 index 000000000..40303bc1e Binary files /dev/null and b/theme_medicate/static/src/img/blog-img-01.jpg differ diff --git a/theme_medicate/static/src/img/blog-img-02.jpg b/theme_medicate/static/src/img/blog-img-02.jpg new file mode 100644 index 000000000..6cde0d9dd Binary files /dev/null and b/theme_medicate/static/src/img/blog-img-02.jpg differ diff --git a/theme_medicate/static/src/img/call-footer-icon.png b/theme_medicate/static/src/img/call-footer-icon.png new file mode 100644 index 000000000..5d2ff9194 Binary files /dev/null and b/theme_medicate/static/src/img/call-footer-icon.png differ diff --git a/theme_medicate/static/src/img/cardiology-about-services.png b/theme_medicate/static/src/img/cardiology-about-services.png new file mode 100644 index 000000000..e117a4de4 Binary files /dev/null and b/theme_medicate/static/src/img/cardiology-about-services.png differ diff --git a/theme_medicate/static/src/img/contact-us-call.png b/theme_medicate/static/src/img/contact-us-call.png new file mode 100644 index 000000000..cca56dcb7 Binary files /dev/null and b/theme_medicate/static/src/img/contact-us-call.png differ diff --git a/theme_medicate/static/src/img/contact-us-location.png b/theme_medicate/static/src/img/contact-us-location.png new file mode 100644 index 000000000..0321347e6 Binary files /dev/null and b/theme_medicate/static/src/img/contact-us-location.png differ diff --git a/theme_medicate/static/src/img/contact-us-mail.png b/theme_medicate/static/src/img/contact-us-mail.png new file mode 100644 index 000000000..09a9cb850 Binary files /dev/null and b/theme_medicate/static/src/img/contact-us-mail.png differ diff --git a/theme_medicate/static/src/img/email-footer-icon.png b/theme_medicate/static/src/img/email-footer-icon.png new file mode 100644 index 000000000..03307ab37 Binary files /dev/null and b/theme_medicate/static/src/img/email-footer-icon.png differ diff --git a/theme_medicate/static/src/img/eye-care-about-services.png b/theme_medicate/static/src/img/eye-care-about-services.png new file mode 100644 index 000000000..5d9309c44 Binary files /dev/null and b/theme_medicate/static/src/img/eye-care-about-services.png differ diff --git a/theme_medicate/static/src/img/facility-img-cardiology-care.jpg b/theme_medicate/static/src/img/facility-img-cardiology-care.jpg new file mode 100644 index 000000000..ecded3193 Binary files /dev/null and b/theme_medicate/static/src/img/facility-img-cardiology-care.jpg differ diff --git a/theme_medicate/static/src/img/facility-img-dental-services.jpg b/theme_medicate/static/src/img/facility-img-dental-services.jpg new file mode 100644 index 000000000..b643c231e Binary files /dev/null and b/theme_medicate/static/src/img/facility-img-dental-services.jpg differ diff --git a/theme_medicate/static/src/img/facility-img-eye-care.jpg b/theme_medicate/static/src/img/facility-img-eye-care.jpg new file mode 100644 index 000000000..ec84d9936 Binary files /dev/null and b/theme_medicate/static/src/img/facility-img-eye-care.jpg differ diff --git a/theme_medicate/static/src/img/fb-social-media.png b/theme_medicate/static/src/img/fb-social-media.png new file mode 100644 index 000000000..304086e47 Binary files /dev/null and b/theme_medicate/static/src/img/fb-social-media.png differ diff --git a/theme_medicate/static/src/img/footer-logo.png b/theme_medicate/static/src/img/footer-logo.png new file mode 100644 index 000000000..19b50ce6f Binary files /dev/null and b/theme_medicate/static/src/img/footer-logo.png differ diff --git a/theme_medicate/static/src/img/footer-recent-post-2.jpg b/theme_medicate/static/src/img/footer-recent-post-2.jpg new file mode 100644 index 000000000..54e6e4351 Binary files /dev/null and b/theme_medicate/static/src/img/footer-recent-post-2.jpg differ diff --git a/theme_medicate/static/src/img/footer-recent-post.jpg b/theme_medicate/static/src/img/footer-recent-post.jpg new file mode 100644 index 000000000..06e590a2b Binary files /dev/null and b/theme_medicate/static/src/img/footer-recent-post.jpg differ diff --git a/theme_medicate/static/src/img/gplus-social-media.png b/theme_medicate/static/src/img/gplus-social-media.png new file mode 100644 index 000000000..a35cfde38 Binary files /dev/null and b/theme_medicate/static/src/img/gplus-social-media.png differ diff --git a/theme_medicate/static/src/img/header-call-icon.png b/theme_medicate/static/src/img/header-call-icon.png new file mode 100644 index 000000000..2c90040b2 Binary files /dev/null and b/theme_medicate/static/src/img/header-call-icon.png differ diff --git a/theme_medicate/static/src/img/header-email-icon.png b/theme_medicate/static/src/img/header-email-icon.png new file mode 100644 index 000000000..2c3e675c8 Binary files /dev/null and b/theme_medicate/static/src/img/header-email-icon.png differ diff --git a/theme_medicate/static/src/img/header-fb-icon.png b/theme_medicate/static/src/img/header-fb-icon.png new file mode 100644 index 000000000..3f7dae8ab Binary files /dev/null and b/theme_medicate/static/src/img/header-fb-icon.png differ diff --git a/theme_medicate/static/src/img/header-insta-icon.png b/theme_medicate/static/src/img/header-insta-icon.png new file mode 100644 index 000000000..31f998550 Binary files /dev/null and b/theme_medicate/static/src/img/header-insta-icon.png differ diff --git a/theme_medicate/static/src/img/header-tweet-icon.png b/theme_medicate/static/src/img/header-tweet-icon.png new file mode 100644 index 000000000..da2e5f5cb Binary files /dev/null and b/theme_medicate/static/src/img/header-tweet-icon.png differ diff --git a/theme_medicate/static/src/img/icon-bloger-name.jpg b/theme_medicate/static/src/img/icon-bloger-name.jpg new file mode 100644 index 000000000..bb6c4911b Binary files /dev/null and b/theme_medicate/static/src/img/icon-bloger-name.jpg differ diff --git a/theme_medicate/static/src/img/icon-comments.jpg b/theme_medicate/static/src/img/icon-comments.jpg new file mode 100644 index 000000000..ba93c5620 Binary files /dev/null and b/theme_medicate/static/src/img/icon-comments.jpg differ diff --git a/theme_medicate/static/src/img/image-time-table.png b/theme_medicate/static/src/img/image-time-table.png new file mode 100644 index 000000000..be0c69deb Binary files /dev/null and b/theme_medicate/static/src/img/image-time-table.png differ diff --git a/theme_medicate/static/src/img/img-24hours.png b/theme_medicate/static/src/img/img-24hours.png new file mode 100644 index 000000000..18112c82c Binary files /dev/null and b/theme_medicate/static/src/img/img-24hours.png differ diff --git a/theme_medicate/static/src/img/img-about.jpg b/theme_medicate/static/src/img/img-about.jpg new file mode 100644 index 000000000..6cc624867 Binary files /dev/null and b/theme_medicate/static/src/img/img-about.jpg differ diff --git a/theme_medicate/static/src/img/img-doctors-time-table.png b/theme_medicate/static/src/img/img-doctors-time-table.png new file mode 100644 index 000000000..a00920ecd Binary files /dev/null and b/theme_medicate/static/src/img/img-doctors-time-table.png differ diff --git a/theme_medicate/static/src/img/img-map.jpg b/theme_medicate/static/src/img/img-map.jpg new file mode 100644 index 000000000..bc3407a24 Binary files /dev/null and b/theme_medicate/static/src/img/img-map.jpg differ diff --git a/theme_medicate/static/src/img/insta-social-media.png b/theme_medicate/static/src/img/insta-social-media.png new file mode 100644 index 000000000..c1f433cd3 Binary files /dev/null and b/theme_medicate/static/src/img/insta-social-media.png differ diff --git a/theme_medicate/static/src/img/location-footer-icon.png b/theme_medicate/static/src/img/location-footer-icon.png new file mode 100644 index 000000000..d2baccfa6 Binary files /dev/null and b/theme_medicate/static/src/img/location-footer-icon.png differ diff --git a/theme_medicate/static/src/img/menu.png b/theme_medicate/static/src/img/menu.png new file mode 100644 index 000000000..76b3ee401 Binary files /dev/null and b/theme_medicate/static/src/img/menu.png differ diff --git a/theme_medicate/static/src/img/neourology-about-services.png b/theme_medicate/static/src/img/neourology-about-services.png new file mode 100644 index 000000000..a79508d39 Binary files /dev/null and b/theme_medicate/static/src/img/neourology-about-services.png differ diff --git a/theme_medicate/static/src/img/newsletter-icon.png b/theme_medicate/static/src/img/newsletter-icon.png new file mode 100644 index 000000000..a9094a5e9 Binary files /dev/null and b/theme_medicate/static/src/img/newsletter-icon.png differ diff --git a/theme_medicate/static/src/img/orthopedics-about-services.png b/theme_medicate/static/src/img/orthopedics-about-services.png new file mode 100644 index 000000000..57d37a529 Binary files /dev/null and b/theme_medicate/static/src/img/orthopedics-about-services.png differ diff --git a/theme_medicate/static/src/img/pharma-banner.jpg b/theme_medicate/static/src/img/pharma-banner.jpg new file mode 100644 index 000000000..b915453ff Binary files /dev/null and b/theme_medicate/static/src/img/pharma-banner.jpg differ diff --git a/theme_medicate/static/src/img/pharma-logo.png b/theme_medicate/static/src/img/pharma-logo.png new file mode 100644 index 000000000..1498d0331 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-logo.png differ diff --git a/theme_medicate/static/src/img/pharma-theme-about-content.png b/theme_medicate/static/src/img/pharma-theme-about-content.png new file mode 100644 index 000000000..b0de43c3e Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-about-content.png differ diff --git a/theme_medicate/static/src/img/pharma-theme-about-us-banner.jpg b/theme_medicate/static/src/img/pharma-theme-about-us-banner.jpg new file mode 100644 index 000000000..12b1c4308 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-about-us-banner.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-best-process-1.png b/theme_medicate/static/src/img/pharma-theme-best-process-1.png new file mode 100644 index 000000000..3a9edeedb Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-best-process-1.png differ diff --git a/theme_medicate/static/src/img/pharma-theme-best-process-2.png b/theme_medicate/static/src/img/pharma-theme-best-process-2.png new file mode 100644 index 000000000..1b084405e Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-best-process-2.png differ diff --git a/theme_medicate/static/src/img/pharma-theme-best-process-3.png b/theme_medicate/static/src/img/pharma-theme-best-process-3.png new file mode 100644 index 000000000..e7ba92470 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-best-process-3.png differ diff --git a/theme_medicate/static/src/img/pharma-theme-client-01.jpg b/theme_medicate/static/src/img/pharma-theme-client-01.jpg new file mode 100644 index 000000000..b22008eb4 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-client-01.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-client-02.jpg b/theme_medicate/static/src/img/pharma-theme-client-02.jpg new file mode 100644 index 000000000..97507eb95 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-client-02.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-client-03.jpg b/theme_medicate/static/src/img/pharma-theme-client-03.jpg new file mode 100644 index 000000000..2cb9cee22 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-client-03.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-greate-work-do-1.jpg b/theme_medicate/static/src/img/pharma-theme-greate-work-do-1.jpg new file mode 100644 index 000000000..f827cc525 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-greate-work-do-1.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-greate-work-do-2.jpg b/theme_medicate/static/src/img/pharma-theme-greate-work-do-2.jpg new file mode 100644 index 000000000..2ef97f8bd Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-greate-work-do-2.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-greate-work-do-3.jpg b/theme_medicate/static/src/img/pharma-theme-greate-work-do-3.jpg new file mode 100644 index 000000000..504b4f965 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-greate-work-do-3.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-greate-work-do-4.jpg b/theme_medicate/static/src/img/pharma-theme-greate-work-do-4.jpg new file mode 100644 index 000000000..b58ca0523 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-greate-work-do-4.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-greate-work-do.jpg b/theme_medicate/static/src/img/pharma-theme-greate-work-do.jpg new file mode 100644 index 000000000..2deced3a1 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-greate-work-do.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-heart-specilists-01.jpg b/theme_medicate/static/src/img/pharma-theme-heart-specilists-01.jpg new file mode 100644 index 000000000..171f90567 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-heart-specilists-01.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-heart-specilists-02.jpg b/theme_medicate/static/src/img/pharma-theme-heart-specilists-02.jpg new file mode 100644 index 000000000..be0a16033 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-heart-specilists-02.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-heart-specilists-03.jpg b/theme_medicate/static/src/img/pharma-theme-heart-specilists-03.jpg new file mode 100644 index 000000000..d99f1a915 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-heart-specilists-03.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-services-img-1.jpg b/theme_medicate/static/src/img/pharma-theme-services-img-1.jpg new file mode 100644 index 000000000..cc521ae44 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-services-img-1.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-services-img-2.jpg b/theme_medicate/static/src/img/pharma-theme-services-img-2.jpg new file mode 100644 index 000000000..638121e67 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-services-img-2.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-services-img-3.jpg b/theme_medicate/static/src/img/pharma-theme-services-img-3.jpg new file mode 100644 index 000000000..b2533514a Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-services-img-3.jpg differ diff --git a/theme_medicate/static/src/img/pharma-theme-working-process-01.png b/theme_medicate/static/src/img/pharma-theme-working-process-01.png new file mode 100644 index 000000000..c98dc982b Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-working-process-01.png differ diff --git a/theme_medicate/static/src/img/pharma-theme-working-process-02.png b/theme_medicate/static/src/img/pharma-theme-working-process-02.png new file mode 100644 index 000000000..602cb01fd Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-working-process-02.png differ diff --git a/theme_medicate/static/src/img/pharma-theme-working-process-03.png b/theme_medicate/static/src/img/pharma-theme-working-process-03.png new file mode 100644 index 000000000..50651546c Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-working-process-03.png differ diff --git a/theme_medicate/static/src/img/pharma-theme-working-process-04.png b/theme_medicate/static/src/img/pharma-theme-working-process-04.png new file mode 100644 index 000000000..f2d069165 Binary files /dev/null and b/theme_medicate/static/src/img/pharma-theme-working-process-04.png differ diff --git a/theme_medicate/static/src/img/phone-icon.png b/theme_medicate/static/src/img/phone-icon.png new file mode 100644 index 000000000..c55d12be8 Binary files /dev/null and b/theme_medicate/static/src/img/phone-icon.png differ diff --git a/theme_medicate/static/src/img/seach-icon-blog.png b/theme_medicate/static/src/img/seach-icon-blog.png new file mode 100644 index 000000000..cceb8721c Binary files /dev/null and b/theme_medicate/static/src/img/seach-icon-blog.png differ diff --git a/theme_medicate/static/src/js/blog_search.js b/theme_medicate/static/src/js/blog_search.js new file mode 100644 index 000000000..3a77ce347 --- /dev/null +++ b/theme_medicate/static/src/js/blog_search.js @@ -0,0 +1,38 @@ +/** @odoo-module **/ + +import PublicWidget from "@web/legacy/js/public/public_widget"; +import { rpc } from "@web/core/network/rpc"; + +PublicWidget.registry.ProductInfoWidget = PublicWidget.Widget.extend({ + selector: '#blog_search_form', + events: { + 'click': '_onBlogInfoClick', + }, + + _onBlogInfoClick: function(ev) { + ev.preventDefault(); + const query = this.$el.find('input[name="search"]').val().trim(); + + if (!query) { + return; // Don't search if query is empty + } + + rpc('/product_info', { // This should be renamed to match the route purpose + query: query + }).then((response) => { + if (response.url) { + // Redirect to the found blog post + window.location.href = response.url; + } else { + // Show a message that no post was found + alert("No matching blog post found"); + // Or show in your modal if you prefer: + // const modalBody = $("#modal-content-placeholder"); + // modalBody.html("

No matching blog post found

"); + // $("#product_info_model").modal("show"); + } + }).catch((error) => { + alert("Error searching for blog post"); + }); + }, +}); diff --git a/theme_medicate/static/src/js/read_more.js b/theme_medicate/static/src/js/read_more.js new file mode 100644 index 000000000..1043ae0ec --- /dev/null +++ b/theme_medicate/static/src/js/read_more.js @@ -0,0 +1,42 @@ +/** @odoo-module **/ + +import { Component } from "@odoo/owl"; +import { patch } from "@web/core/utils/patch"; +import publicWidget from '@web/legacy/js/public/public_widget'; + +publicWidget.registry.AboutSection = publicWidget.Widget.extend({ + selector: '.section-about, .section-about-content, .section-our-main-service', + + events: { + 'click .read-more-toggle': '_onToggleReadMore', + }, + + start: function () { + // Select all read more toggles and additional services within this section + this.$readMoreToggles = this.$('.read-more-toggle'); + this.$additionalServices = this.$('.additional-services'); + this.$readMoreTexts = this.$('.read-more-text'); + + return this._super.apply(this, arguments); + }, + + _onToggleReadMore: function (ev) { + ev.preventDefault(); + + // Find the closest additional services div and read more text + const $toggle = $(ev.currentTarget); + const $additionalServices = $toggle.siblings('.additional-services'); + const $readMoreText = $toggle.find('.read-more-text'); + + // Toggle visibility + if ($additionalServices.css('display') === 'none') { + $additionalServices.css('display', 'block'); + $readMoreText.text('\u00A0\u00A0Read less\u00A0\u00A0 - \u00A0\u00A0'); + } else { + $additionalServices.css('display', 'none'); + $readMoreText.text('\u00A0\u00A0Read more\u00A0\u00A0 +\u00A0\u00A0'); + } + }, +}); + +export default publicWidget.registry.AboutSection; \ No newline at end of file diff --git a/theme_medicate/static/src/js/subscription_email.js b/theme_medicate/static/src/js/subscription_email.js new file mode 100644 index 000000000..01bdc7190 --- /dev/null +++ b/theme_medicate/static/src/js/subscription_email.js @@ -0,0 +1,122 @@ +/** @odoo-module **/ +import { _t } from "@web/core/l10n/translation"; +import publicWidget from "@web/legacy/js/public/public_widget"; +import { ReCaptcha } from "@google_recaptcha/js/recaptcha"; +import { rpc } from "@web/core/network/rpc"; +import { registry } from "@web/core/registry"; +import { notificationService } from "@web/core/notifications/notification_service"; +import { useService } from "@web/core/utils/hooks"; + +publicWidget.registry.newsletterSubscription = publicWidget.Widget.extend({ + selector: ".container-newsletter", + disabledInEditableMode: false, + events: { + 'click .btn-submit': '_onSubscribeClick', + 'keypress .input-email-submit': '_onEnterKey' + }, + + /** + * @constructor + */ + init: function (parent, options) { + this._super.apply(this, arguments); + this._recaptcha = new ReCaptcha(); + // Get notification service from the registry + this.notification = useService("notification"); + }, + + /** + * @override + */ + willStart: function () { + return Promise.all([ + this._super.apply(this, arguments), + this._recaptcha.loadLibs() + ]); + }, + + /** + * Handle Enter key press on email input + * @private + */ + _onEnterKey: function (event) { + if (event.which === 13) { // Enter key + event.preventDefault(); + this._onSubscribeClick(); + } + }, + + /** + * Validate email and handle subscription + * @private + */ + _onSubscribeClick: async function () { + const $input = this.$('.input-email-submit'); + const email = $input.val().trim(); + + // Email validation + if (!email.match(/.+@.+/)) { + this._showNotification(_t("Please enter a valid email address."), 'danger'); + $input.addClass('is-invalid'); + return false; + } + + // Remove any previous error states + $input.removeClass('is-invalid'); + + try { + // Get reCAPTCHA token + const tokenObj = await this._recaptcha.getToken('website_mass_mailing_subscribe'); + + if (tokenObj.error) { + this._showNotification(tokenObj.error, 'danger'); + return false; + } + + // Perform subscription RPC + const result = await rpc('/website_mass_mailing/subscribe', { + 'list_id': 1, // You might want to make this dynamic + 'value': email, + 'subscription_type': 'email', + 'recaptcha_token_response': tokenObj.token, + }); + + // Handle subscription result + const toastType = result.toast_type || 'danger'; + + this._showNotification(result.toast_content, toastType); + + // If successful, disable input and potentially hide/show elements + if (toastType === 'success') { + $input.prop('disabled', true); + this.$('.btn-submit').addClass('disabled'); + } + + } catch (error) { + // Handle any unexpected errors + this._showNotification(_t("An unexpected error occurred."), 'danger'); + } + }, + + /** + * Show notification in UI + * @private + */ + _showNotification: function (message, type) { + // Ensure we have a notification service + if (!this.notificationService) { + return; + } + + // Add notification to UI + this.notification.add({ + type: type, // 'success', 'danger', 'warning', 'info' + message: message, + title: type === 'success' ? _t('Success') : _t('Error'), + sticky: false, // Set to true if you want the notification to stay until manually closed + timeout: 5000 // Notification will disappear after 5 seconds + }); + } +}); + +export default publicWidget.registry.newsletterSubscription; diff --git a/theme_medicate/static/src/js/swiper.js b/theme_medicate/static/src/js/swiper.js new file mode 100644 index 000000000..07ba8acc6 --- /dev/null +++ b/theme_medicate/static/src/js/swiper.js @@ -0,0 +1,49 @@ +/** @odoo-module **/ +import { Component, useRef} from "@odoo/owl"; +import publicWidget from '@web/legacy/js/public/public_widget'; + +publicWidget.registry.Swiper = publicWidget.Widget.extend({ + selector: '.swiper', + + start: function () { + // Ensure Swiper is available before initializing + if (typeof Swiper === 'undefined') { + return; + } + // Initialize Swiper on the element with class '.mySwiper-1' when the component is mounted + var swiper1 = new Swiper(".mySwiper-1", { + slidesPerView: 3, + spaceBetween: 30, + pagination: { + el: ".swiper-pagination", + clickable: true, + }, + }); + var swiper6 = new Swiper(".mySwiper-6", { + slidesPerView: 3, + spaceBetween: 30, + pagination: { + el: ".swiper-pagination", + clickable: true, + }, + }); + + var swiper = new Swiper(".mySwiper-5", { + slidesPerView: 3, + spaceBetween: 30, + pagination: { + el: ".swiper-pagination", + clickable: true, + }, + }); + var swiper = new Swiper(".mySwiper-4", { + slidesPerView: 3, + spaceBetween: 30, + freeMode: true, + pagination: { + el: ".swiper-pagination", + clickable: true, + }, + }); + }, +}); diff --git a/theme_medicate/static/src/js/welcome_message.js b/theme_medicate/static/src/js/welcome_message.js new file mode 100644 index 000000000..46aad927e --- /dev/null +++ b/theme_medicate/static/src/js/welcome_message.js @@ -0,0 +1,21 @@ +/** @odoo-module **/ +import { Component } from '@odoo/owl'; +import { WebsitePreview } from '@website/client_actions/website_preview/website_preview'; +import { patch } from "@web/core/utils/patch"; +import { renderToElement } from "@web/core/utils/render"; + + +patch(WebsitePreview.prototype, { + addWelcomeMessage() { + if (this.websiteService.isRestrictedEditor) { + const wrap = this.iframe.el.contentDocument.querySelector('#wrapwrap.homepage #wrap'); + if (wrap && !wrap.innerHTML.trim()) { + this.welcomeMessage = renderToElement('website.homepage_editor_welcome_message'); + this.welcomeMessage.classList.add('o_homepage_editor_welcome_message', 'h-100'); + while (wrap.firstChild) { + wrap.removeChild(wrap.lastChild); + } + } + } + } +}); diff --git a/theme_medicate/views/about_us_views.xml b/theme_medicate/views/about_us_views.xml new file mode 100644 index 000000000..49747fbd8 --- /dev/null +++ b/theme_medicate/views/about_us_views.xml @@ -0,0 +1,32 @@ + + + + About Us + qweb + /about + + True + theme_medicate.about_us + + + +
+
+
+
+
+
+
+
+ + +
diff --git a/theme_medicate/views/blog_details.xml b/theme_medicate/views/blog_details.xml new file mode 100644 index 000000000..b9c353ec4 --- /dev/null +++ b/theme_medicate/views/blog_details.xml @@ -0,0 +1,163 @@ + + + + diff --git a/theme_medicate/views/blog_views.xml b/theme_medicate/views/blog_views.xml new file mode 100644 index 000000000..947738b89 --- /dev/null +++ b/theme_medicate/views/blog_views.xml @@ -0,0 +1,233 @@ + + + + + + diff --git a/theme_medicate/views/contactus_views.xml b/theme_medicate/views/contactus_views.xml new file mode 100644 index 000000000..334de145d --- /dev/null +++ b/theme_medicate/views/contactus_views.xml @@ -0,0 +1,106 @@ + + +