feat: implement theme_prime and theme_vibrant_marketplace with comprehensive assets, custom snippets, and core frontend logic.(ver 17 not upgrate yet)

This commit is contained in:
hoangvv
2026-08-13 15:07:18 +07:00
parent e7e005e11e
commit 860cf9cb0f
658 changed files with 45849 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
# sphinx build directories
_build/
# dotfiles
.*
!.gitignore
!.github
!.mailmap
# compiled python files
*.py[co]
__pycache__/
.vscode/
# setup.py egg_info
*.egg-info
# emacs backup files
*~
# hg stuff
*.orig
status
# odoo filestore
odoo/filestore
# maintenance migration scripts
odoo/addons/base/maintenance
# generated for windows installer?
install/win32/*.bat
install/win32/meta.py
# needed only when building for win32
setup/win32/static/less/
setup/win32/static/wkhtmltopdf/
setup/win32/static/postgresql*.exe
# js tooling
node_modules
jsconfig.json
tsconfig.json
package-lock.json
package.json
.husky
# various virtualenv
/bin/
/build/
/dist/
/include/
/lib/
/man/
/share/
/src/
+398
View File
@@ -0,0 +1,398 @@
SOFTWARE LICENCE AGREEMENT
==========================
This AGREEMENT is made effective on the date of the purchase of the software
between Webkul Software Pvt. Ltd.,Company incorporated under the Companies
Act, 1956 (hereinafter referred to as “Licensor"), and the purchaser of the
software/ product (hereinafter referred to as "Licensee").
Preamble
--------
Licensor is a web and mobile product based organization engaged in the
business of developing and marketing software for enterprise level e-commerce
businesses. It is an ISO and NSR (NASSCOM) certified organization having a
team of more than 150 creative engineers which come from different
backgrounds. It has developed more than 700 web extensions and apps in the
past few years for open source platforms which are used and trusted globally.
Licensee now wishes to obtain license, and Licensor wishes to grant a license,
to allow use of the software so purchased in developing the e-commerce
business website/ mobile app of the Licensee, subject to the terms and
conditions set forth herein.
THEREFORE, with the intent to be legally bound, the parties hereby agree as
follows:
Agreement
---------
1.DEFINITIONS.
As used in this Agreement, the following capitalized terms
shall have the definitions set forth below:
"Derivative Works" are works developed by Licensee, its officers, agents,
contractors or employees, which are based upon, in whole or in part, the
Source Code and/or the Documentation and may also be based upon and/or
incorporate one or more other preexisting works of the Licensor. Derivative
Works may be any improvement, revision, modification, translation (including
compilation or recapitulation by computer), abridgment, condensation,
expansion, or any other form in which such a preexisting work may be recast,
transformed, or adapted. For purposes hereof, a Derivative Work shall also
include any compilation that incorporates such a preexisting work.
"Documentation" is written, printed or otherwise recorded or stored (digital
or paper) material relating to the Software and/or Source Code, including
technical specifications and instructions for its use including Software/
Source Code annotations and other descriptions of the principles of its
operation and instructions for its use.
"Improvements" shall mean, with respect to the Software, all modifications and
changes made, developed, acquired or conceived after the date hereof and
during the entire term of this Agreement.
"Source Code" is the computer programming source code form of the Software in
the form maintained by the Licensor, and includes all non-third-party
executables, libraries, components, and Documentation created or used in the
creation, development, maintenance, and support of the Software as well as all
updates, error corrections and revisions thereto provided by Licensor, in
whole or in part.
2.SOFTWARE LICENSE.
(a)Grant of License. For the consideration set forth below, Licensor hereby
grants to Licensee, and Licensee hereby accepts the worldwide, non-exclusive,
perpetual, royalty-free rights and licenses set forth below:
(i)The right and license to use and incorporate the software, in whole or in
part, to develop its website/ mobile app (including the integration of all or
part of the Licensors software into Licensee's own software) on one domain (
Except Joomla modules , listed on store are entitled to be used on unlimited
domain as per the standard guidelines ) only, solely for the own personal or
business use of the Licensee. However, the License does not authorize the
Licensee to compile, copy or distribute the said Software or its Derivative
Works.
(ii)The right and license does not authorize the Licensee to share any backup
or archival copies of the Software and / or the Source Code and Documentation
on any public internet space including github , stackoverflow etc . The
Licensee must ensure that the backup are not accessible to any other person
and the Licensee must prevent copying / use of source code by any unauthorized
persons.
(iii)The right and license does not authorize the Licensee to migrate the
domain license to another domain.
(iv)Our Joomla extensions are published under the GNU/GPL.
(b)Scope; Rights and Responsibilities.
(i)Licensor shall enable the Licensee to download one complete copy of the
Software.
(ii)The Software is intended for the sole use of the Licensee in development
of its own website/ mobile app.
(iii)Licensee does not have the right to hand over, sell, distribute,
sub-license, rent, lease or lend any portion of the Software or Documentation,
whether modified or unmodified, to anyone. Licensee should not place the
Software on a server so that it becomes accessible via a public network such
as the Internet for distribution purposes. In case the Licensee is using any
source code management system like github, it can use the code there only when
it has paid subscription from such management system.
(iv) In case the Licensee purchases the module and allow the third party
development agency to customize as per its need, it is at liberty to do so
subject to the condition that the Licensee as well as the Agency are not
authorized to sell the modified version of the extension. Except for the
required customization purposes, Licensee is not authorized to release the
Source Code, Derivative Work source code and/or Documentation to any third
party, which shall be considered as violation of the Agreement, inter-alia
entailing forthwith termination and legal action.
(c)Ownership.
(i)Software and Source Code. All right, title, copyright, and interest in the
Software, Source Code, Software Modifications and Error corrections will be
and remain the property of Licensor.
(ii)Derivative Works. As creation of Derivative Works by the Licensee is
prohibited, thus, all right, title, copyright, and interest in any and/or all
Derivative Works and Improvements created by, or on behalf of, Licensee will
also be deemed to the property of Licensor. Licensor shall be entitled to
protect copyright / intellectual property in all such Derivative Works and
Improvements also in any country as it may deem fit including without
limitation seeking copyright and/or patent protection.
3.CONSIDERATION.
(a)Licensee shall pay to Licensor the amount as mentioned on the website from
where the order is placed, as one-time, upfront fees in consideration for the
licenses and rights granted hereunder (hereinafter referred to as the "License
Fee"). The License Fee to be paid by Licensee shall be paid upfront at the
time of placing the order, and no credit will be allowed under any
circumstances.
(b)Once paid, the License Fees shall be non-refundable. The Licensee has fully
satisfied itself about the Software and has seen the demonstration, and only
thereafter has placed the order. Thus, the License Fees or any part thereof is
non-refundable. No claim for refund of the Licence Fees shall be entertained
under any circumstances.
4.REPRESENTATIONS AND WARRANTIES.
(a)Mutual. Each of the parties represents and warrants to the other as
follows.
(i)such party is a legal entity duly organized, validly existing and in good
standing;
(ii)such party has the power and authority to conduct its business as
presently conducted and to enter into, execute, deliver and perform this
Agreement.
(iii)This Agreement has been duly and validly accepted by such party and
constitutes the legal, valid and binding obligations of such party
respectively, enforceable against such party in accordance with their
respective terms;
(iv)the acceptance, execution, delivery and performance of this Agreement does
not and will not violate such party's charter or by-laws; nor require any
consent, authorization, approval, exemption or other action by any third party
or governmental entity.
(b)Licensor warrants that, at the time of purchase of the Software:
the Software will function materially as set forth in the website or published
functionality provided by Licensor to customers and potential customers
describing the Software; and
Software add-ons, if purchased by the Licensee from the Licensor, will not
materially diminish the features or functions of or the specifications of the
Software as they existed as of the execution of this Agreement.
(c)Title. Licensor represents and warrants that it is the exclusive owner of
all copyright/ intellectual property in the Software (including the Source
Code) and has good and marketable title to the Software (including the Source
Code) free and clear of all liens, claims and encumbrances of any nature
whatsoever (collectively, "Liens"). Licensor's grant of license and rights to
Licensee hereunder does not, and will not infringe any third party's property,
intellectual property or personal rights.
5.TERM.
(a)Subject to Licensee's payment obligations, this Agreement shall commence as
on the date of making payment of the Software by the Licensee to the Licensor,
and shall continue until terminated by either party.
(b)The Licensor retains the right to terminate the license at any time, if the
Licensee is not abiding by any of the terms of the Agreement. The Licensee may
terminate the Agreement at any time at its own discretion by uninstalling the
Software and /or by destroying the said Software (or any copies thereof).
However, the Licensee shall not be entitled to seek any refund of the amount
paid by it to the Licensor, under any circumstances.
(c)Survival. In the event this Agreement is terminated for any reason, the
provisions set forth in Sections 2(a), 2(b), and 2(c) shall survive.
6.INDEMNIFICATION.
The Licensee release the Licensor from, and agree to indemnify, defend and
hold harmless the Licensor (and its officers, directors, employees, agents and
Affiliates) against, any claim, loss, damage, settlement, cost, taxes, expense
or other liability (including, without limitation, attorneys' fees) (each, a
"Claim") arising from or related to: (a) any actual or alleged breach of any
obligations in this Agreement; (b) any refund, adjustment, or return of
Software,(c) any claim for actual or alleged infringement of any Intellectual
Property Rights made by any third party or damages related thereto; or (d)
Taxes.
7.LIMITATION OF LIABILITY.
The Licensor will not be liable for any direct, indirect, incidental, special,
consequential or exemplary damages, including but not limited to, damages for
loss of profits, goodwill, use, data or other intangible losses arising out of
or in connection with the Software, whether in contract, warranty, tort etc. (
including negligence, software liability, any type of civil responsibility or
other theory or otherwise) to the Licensee or any other person for cost of
software, cover, recovery or recoupment of any investment made by the Licensee
or its affiliates in connection with this Agreement, or for any other loss of
profit, revenue, business, or data or punitive or consequential damages
arising out of or relating to this Agreement. Further, the aggregate liability
of the Licensor, arising out of or in connection with this Agreement or the
transactions contemplated hereby will not exceed at any time, or under any
circumstances, the total amounts received by the Licensor from the Licensee in
connection with the particular software giving rise to the claim.
8.FORCE MAJEURE.
The Licensor will not be liable for any delay or failure to perform any of its
obligations under this Agreement by reasons, events or other matters beyond
its reasonable control.
9.RELATIONSHIP OF PARTIES.
The Licensor and Licensee are independent legal entities, and nothing in this
Agreement will be construed to create a partnership, joint venture,
association of persons, agency, franchise, sales representative, or employment
relationship between the parties. The Licensee will have no authority to make
or accept any offers or representations on behalf of the Licensor. The
relationship between the parties is that of Licensor and Licensee only, and
the rights, duties, liabilities of each party shall be governed by this
Agreement.
10.MODIFICATION.
The Licensor may amend any of the terms and conditions contained in this
Agreement at any time and solely at its discretion. Any changes will be
effective upon the posting of such changes on the Portal/ website, and the
Licensee is responsible for reviewing these changes and informing itself of
all applicable changes or notices. The continued use of a software by the
Licensee after posting of any changes by the Licensor, will constitute the
acceptance of such changes or modifications by the Licensee.
11.MISCELLANEOUS.
(a)General Provisions. This Agreement: (i) may be amended only by a writing
signed by each of the parties; (ii) may be executed in several counterparts,
each of which shall be deemed an original but all of which shall constitute
one and the same instrument; (iii) contains the entire agreement of the
parties with respect to the transactions contemplated hereby and supersedes
all prior written and oral agreements, and all contemporaneous oral
agreements, relating to such transactions; (iv) shall be governed by, and
construed and enforced in accordance with, the laws of India; and (v) shall be
binding upon, and inure to the benefit of, the parties and their respective
successors and permitted assigns. Each of the parties hereby irrevocably
submits to the jurisdiction of the Courts at Delhi, India, for the purposes of
any action or proceeding arising out of or relating to this Agreement or the
subject matter hereof and brought by any other party.
(b)Assignment. Except for the purpose of customization as mentioned in clause
2(b)(iv) above, Licensee cannot assign, pledge or otherwise transfer, whether
by operation of law or otherwise, this Agreement, or any of its obligations
hereunder, without the prior written consent of Licensor, which consent shall
not be unreasonably withheld.
(c)Notices. Unless otherwise specifically provided herein, all notices,
consents, requests, demands and other communications required or permitted
hereunder:
(i)shall be in writing;
(ii)shall be sent by messenger, certified or registered mail/email, or
reliable express delivery service, to the appropriate address(es) set forth
below; and
(iii)shall be deemed to have been given on the date of receipt by the
addressee, as evidenced by a receipt executed by the addressee (or a
responsible person in his or her office), the records of the Party delivering
such communication or a notice to the effect that such addressee refused to
claim or accept such communication, if sent by messenger, mail or express
delivery service.
All such communications shall be sent to the following addresses or numbers,
or to such other addresses or numbers as any party may inform the others by
giving five days' prior notice:
If to Webkul Software Pvt. Ltd.:
Webkul Software Pvt. Ltd.
A-67, Sector 63, NOIDA 201301,
Uttar Pradesh, India
If to Licensee:
At the address mentioned by the Licensee
(at the time of placing order of generating Invoice)
(d)Severability. It is the intent of the parties that the provisions of this
Agreement be enforced to the fullest extent permissible under the laws and
public policies of India in which enforcement hereof is sought. In
furtherance of the foregoing, each provision hereof shall be severable from
each other provision, and any provision hereof which is/ becomes unenforceable
shall be subject to the following: (i) if such provision is contrary to or
conflicts with any requirement of any statute, rule or regulation in effect,
then such requirement shall be incorporated into, or substituted for, such
unenforceable provision to the minimum extent necessary to make such provision
enforceable; (ii) the court, agency or arbitrator considering the matter is
hereby authorized to (or, if such court, agency or arbitrator is unwilling or
fails to do so, then the parties shall) amend such provision to the minimum
extent necessary to make such provision enforceable, and the parties hereby
consent to the entry of an order so amending such provision; and (iii) if
any such provision cannot be or is not reformed and made enforceable pursuant
to clause (i) or (ii) above, then such provision shall be ineffective to the
minimum extent necessary to make the remainder of this Agreement enforceable.
Any application of the foregoing provisions to any provision hereof shall not
effect the validity or enforceability of any other provision hereof.
(e)By purchasing the Software, the Licensee acknowledge that it has read this
Agreement, and that it agrees to the content of the Agreement, its terms and
agree to use the Software in compliance with this Agreement.
(f)The Licensor holds the sole copyright of the Software. The Software or any
portion thereof is a copyrightable matter and is liable to be protected by the
applicable laws. Copyright infringement in any manner can lead to prosecution
according to the current law. The Licensor reserves the right to revoke the
license of any user who is not holding any license or is holding an invalid
license.
(g)This Agreement gives the right to use only one copy of the Software on one
domain solely for the own personal or business use of the Licensee, subject to
all the terms and conditions of this Agreement. A separate License has to be
purchased for each new Software installation. Any distribution of the Software
without the written consent of the Licensor (including non-commercial
distribution) is regarded as violation of this Agreement, and will entail
immediate termination of the Agreement and may invite liability, both civil
and criminal, as per applicable laws.
(h)The Licensor reserves the rights to publish a selected list of users/
Licensees of its Software, and no permission of any Licensee is needed in this
regard. The Licensee agrees that the Licensor may, in its sole discretion,
disclose or make available any information provided or submitted by the
Licensee or related to it under this Agreement to any judicial,
quasi-judicial, governmental, regulatory or any other authority as may be
required by the Licensor to co-operate and / or comply with any of their
orders, instructions or directions or to fulfill any requirements under
applicable Laws.
(i)If the Licensee continues to use the Software even after the sending of the
notice by the Licensor for termination, the Licensee agree to accept an
injunction to restrain itself from its further use, and to pay all costs (
including but not limited to reasonable attorney fees) to enforce injunction
or to revoke the License, and any damages suffered by the Licensor because of
the misuse of the Software by the Licensee.
12.ARBITRATION.
If any dispute arises between the Licensor and the Licensee at any time, in
connection with the validity, interpretation, implementation or alleged breach
of any provision of this Agreement, the same shall be referred to a sole
Arbitrator who shall be an independent and neutral third party appointed
exclusively by the Licensor. The Licensee shall not object to the appointment
of the Arbitrator so appointed by the Licensor. The place of arbitration shall
be Delhi, India. The Arbitration & Conciliation Act, 1996 as amended by The
Arbitration & Conciliation (Amendment) Act, 2015, shall govern the
arbitration proceedings. The arbitration proceedings shall be held in the
English language.
This document is an electronic record in terms of Information Technology Act,
2000 and the amended provisions pertaining to electronic records in various
statutes as amended by the Information Technology Act, 2000. This electronic
record is generated by a computer system and does not require any physical or
digital signatures.
+15
View File
@@ -0,0 +1,15 @@
# -*- coding: utf-8 -*-
#################################################################################
#
# Copyright (c) 2018-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>)
# See LICENSE URL <https://store.webkul.com/license.html/> for full copyright and licensing details.
#################################################################################
from . import models,controllers
def pre_init_check(cr):
from odoo.service import common
from odoo.exceptions import UserError
version_info = common.exp_version()
server_serie = version_info.get('server_serie')
if not 16.0 < float(server_serie) <= 17.0:
raise UserError(f'Module support Odoo series 17.0 but found {server_serie}.')
+57
View File
@@ -0,0 +1,57 @@
# -*- coding: utf-8 -*-
#################################################################################
# Author : Webkul Software Pvt. Ltd. (<https://webkul.com/>)
# Copyright(c): 2015-Present Webkul Software Pvt. Ltd.
# All Rights Reserved.
#
#
#
# This program is copyright property of the author mentioned above.
# You can`t redistribute it and/or modify it.
#
#
# You should have received a copy of the License along with this program.
# If not, see <https://store.webkul.com/license.html/>
#################################################################################
{
"name" : "Marketplace Theme Vibrant",
"summary" : """Theme Vibrant Marketplace consists wide range of things, such as font types, sizes, colors and other areas that affect the aesthetics of your site""",
"category" : "Theme/eCommerce",
"version" : "1.0.5",
"sequence" : 1,
"author" : "Webkul Software Pvt. Ltd.",
"license" : "Other proprietary",
"description" : """Theme Vibrant Marketplace. This Theme is depenedent on theme vibrant and odoo multivendor marketplace, this is aplicable for website only.""",
"live_test_url" : "https://marketplace_vibrant_14.odoothemes.webkul.in",
"depends" : [
'odoo_marketplace',
'theme_vibrant',
],
"data" : [
'security/ir.model.access.csv',
# 'view/frontend_assets.xml',
'view/templates.xml',
'view/snippets.xml',
'view/view.xml',
],
"images" : [
'static/description/Banner.png',
'static/description/vibrant_marketplace_screenshot.gif',
],
'assets' : {
'web.assets_frontend': [
"/theme_vibrant_marketplace/static/src/scss/product_page_seller.scss",
"/theme_vibrant_marketplace/static/src/scss/seller_shop_list.scss",
"/theme_vibrant_marketplace/static/src/scss/snippets.scss",
"/theme_vibrant_marketplace/static/src/scss/landing_page.scss",
"/theme_vibrant_marketplace/static/src/js/main.js",
"/theme_vibrant_marketplace/static/src/css/css2.css"
]
},
"application" : False,
"installable" : True,
"auto_install" : False,
"price" : 51,
"currency" : "USD",
"pre_init_hook" : "pre_init_check",
}
@@ -0,0 +1 @@
from . import main
@@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
#################################################################################
#
# Copyright (c) 2015-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>)
# See LICENSE file for full copyright and licensing details.
#################################################################################
from odoo import http,tools,api, _
from odoo.http import request
# from odoo.addons.http_routing.models.ir_http import slug
# from odoo.addons.website.controllers.main import QueryURL
# from odoo.addons.website_sale.controllers.main import WebsiteSale
import logging
_logger = logging.getLogger(__name__)
class VibrantWebsiteSale(http.Controller):
@http.route(['/our/brands'], type='http', auth="public", methods=["GET"], website=True)
def get_top_brands(self,**post):
vibrant_conf = request.env['theme.vibrant.fields'].search([('is_active','=','True'),('website_id','=',request.website.id)],limit=1)
return request.render("theme_vibrant_marketplace.brand_configuration",{"brands":vibrant_conf.brands})
@@ -0,0 +1 @@
from . import marketplace
@@ -0,0 +1,34 @@
# -*- coding: utf-8 -*-
#################################################################################
#
# Copyright (c) 2015-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>)
# See LICENSE file for full copyright and licensing details.
#################################################################################
from odoo import models, fields, api
import logging
_logger = logging.getLogger(__name__)
class MarketPlace(models.Model):
_inherit = "theme.vibrant.fields"
brands = fields.Many2many(comodel_name="vibrant.brands",string="Brands",help="Choose the brnads to show")
class VibrantBrands(models.Model):
_name = "vibrant.brands"
name = fields.Char("Name",help="Enter the name of Brand")
image = fields.Binary("Image",help="Choose an brand image")
# class ProductTemplate(models.Model):
# _inherit = "product.template"
# activate_deal = fields.Boolean("Activate Lightning Deal")
# original_price = fields.Float("Original Price")
# @api.onchange('activate_deal')
# def set_list_price(self):
# if self.activate_deal:
# self.original_price = self.list_price
# else:
# self.original_price = False
@@ -0,0 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_theme_vibrant_cards,access_theme_vibrant_cards,model_vibrant_brands,,1,0,0,0
access_theme_vibrant_designer_cards,access_theme_vibrant_cards,model_vibrant_brands,website.group_website_designer,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_theme_vibrant_cards access_theme_vibrant_cards model_vibrant_brands 1 0 0 0
3 access_theme_vibrant_designer_cards access_theme_vibrant_cards model_vibrant_brands website.group_website_designer 1 1 1 1
Binary file not shown.

After

Width:  |  Height:  |  Size: 318 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 51.3 (57544) - http://www.bohemiancoding.com/sketch -->
<title>support/booking-commerce</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="sticky-notes" transform="translate(-291.000000, -4463.000000)">
<g id="support" transform="translate(271.000000, 4375.000000)">
<g id="Support" transform="translate(0.000000, 67.000000)">
<g id="Booking-commerce" transform="translate(20.000000, 21.000000)">
<g id="support/booking-commerce">
<circle id="Oval" fill="#E9E9E9" cx="30" cy="30" r="30"></circle>
<rect id="bg-top-half-f" fill="#777777" fill-rule="nonzero" x="20" y="20" width="21" height="10"></rect>
<rect id="bg-bottom-half-f" fill="#6C6C6C" fill-rule="nonzero" x="20" y="30" width="21" height="11"></rect>
<path d="M45.991,32 L43.991,29 L44.991,29 L44.991,18.988 C44.9912653,18.1993381 44.6781565,17.442887 44.1205821,16.8851251 C43.5630077,16.3273631 42.8066619,16.014 42.018,16.014 L18.976,16.014 C18.1868184,16.0132036 17.4297016,16.3262152 16.8714781,16.8840635 C16.3132546,17.4419118 15.9997341,18.1988181 16,18.988 L16,20 C16,20.5522847 15.5522847,21 15,21 C14.4477153,21 14,20.5522847 14,20 C14,20 14,19.995 14,19.992 L14,17.836 C13.9999999,16.8182829 14.4044232,15.8422781 15.1242454,15.122831 C15.8440676,14.403384 16.8202831,13.9994694 17.838,14 L43.155,14 C45.2735643,14 46.991,15.7174357 46.991,17.836 L46.991,29 L47.991,29 L45.991,32 Z M40,17 L40,18 L41,18 C42.1045695,18 43,18.8954305 43,20 L43,41 C43,42.1045695 42.1045695,43 41,43 L20,43 C18.8954305,43 18,42.1045695 18,41 L18,20 C18,18.8954305 18.8954305,18 20,18 L21,18 L21,17 L25,17 L25,18 L36,18 L36,17 L40,17 Z M25,20 L20,20 L20,41 L41,41 L41,20 L25,20 Z M17,31.991 L16,31.991 L16,42.034 C15.9997347,42.8226619 16.3128435,43.579113 16.8704179,44.1368749 C17.4279923,44.6946369 18.1843381,45.008 18.973,45.008 L42.017,45.008 C42.8056619,45.008 43.5620077,44.6946369 44.1195821,44.1368749 C44.6771565,43.579113 44.9902653,42.8226619 44.99,42.034 L44.99,41 L45,41 C45,40.4477153 45.4477153,40 46,40 C46.5522847,40 47,40.4477153 47,41 C47,41.016 46.992,41.029 46.991,41.044 L46.991,43.155 C46.991,45.2735643 45.2735643,46.991 43.155,46.991 L17.838,46.991 C16.8204563,46.9915306 15.8443924,46.5877532 15.124599,45.8685224 C14.4048056,45.1492917 14.0002651,44.1735438 14,43.156 L14,31.991 L13,31.991 L15,28.991 L17,31.991 Z" id="black-lines-f" fill="#333333"></path>
<path d="M26,37 L30.939,37 C31.9955738,37.0551938 33.0384606,36.7412673 33.889,36.112 C34.5961294,35.5744822 35.0046951,34.7320941 34.989,33.844 C34.9945538,33.1225376 34.7318982,32.4247361 34.252,31.886 C33.7524197,31.3122483 33.0603091,30.9409412 32.306,30.842 C33.906,30.4166667 34.706,29.5313333 34.706,28.186 C34.7245398,27.306405 34.3381985,26.4669974 33.658,25.909 C32.8154629,25.2628981 31.7677136,24.9432457 30.708,25.009 L26,25.009 L26,37 Z M30.531,26.547 C31.0894085,26.5133722 31.6412987,26.6816011 32.086,27.021 C32.4643734,27.3486066 32.670912,27.8321281 32.646,28.332 C32.6715885,28.8288285 32.4646197,29.3092919 32.086,29.632 C31.6390381,29.9662439 31.0881196,30.1313423 30.531,30.098 L28.029,30.098 L28.029,26.548 L30.534,26.548 L30.531,26.547 Z M28.026,31.636 L30.691,31.636 C31.2870862,31.6063307 31.8738053,31.7931432 32.343,32.162 C32.7575602,32.5124261 32.9871066,33.0346257 32.965,33.577 C32.9927286,34.1053167 32.7767734,34.6171968 32.379,34.966 C31.918091,35.322516 31.3437011,35.5001258 30.762,35.466 L28.029,35.466 L28.029,31.637 L28.026,31.636 Z" id="b-f" fill="#FFFFFF"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 689 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 KiB

File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 890 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="60px" height="60px" viewBox="0 0 60 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 51.3 (57544) - http://www.bohemiancoding.com/sketch -->
<title>support/uvdesk</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="sticky-notes" transform="translate(-291.000000, -4577.000000)">
<g id="support" transform="translate(271.000000, 4375.000000)">
<g id="Support" transform="translate(0.000000, 67.000000)">
<g id="UVdesk" transform="translate(20.000000, 135.000000)">
<g id="support/uvdesk">
<circle id="Oval" fill="#E9E9E9" cx="30" cy="30" r="30"></circle>
<g id="uvdesk" transform="translate(16.000000, 14.000000)" fill="#575757">
<path d="M28.98,16.663 L28.98,16.44 C28.9741496,16.2310148 29.1142521,16.046013 29.317,15.995 L30.666,15.995 C30.886,15.995 31.003,16.073 31.003,16.218 L31.003,16.663 L28.98,16.663 Z M27.291,20.663 L25.618,20.663 L25.618,12.007 L27.291,12.007 C27.5590971,11.9698078 27.8294423,12.0576284 28.0245013,12.2452752 C28.2195603,12.4329219 28.3177832,12.6996639 28.291,12.969 L28.291,19.705 C28.3177832,19.9743361 28.2195603,20.2410781 28.0245013,20.4287248 C27.8294423,20.6163716 27.5590971,20.7041922 27.291,20.667 L27.291,20.663 Z M6.4,21.333 C5.55516536,21.3504938 4.76691072,20.9097876 4.33936257,20.1809157 C3.91181441,19.4520438 3.91181441,18.5489562 4.33936257,17.8200843 C4.76691072,17.0912124 5.55516536,16.6505062 6.4,16.668 C7.24483464,16.6505062 8.03308928,17.0912124 8.46063743,17.8200843 C8.88818559,18.5489562 8.88818559,19.4520438 8.46063743,20.1809157 C8.03308928,20.9097876 7.24483464,21.3504938 6.4,21.333 Z M22.473,14.349 C19.2569328,16.5704071 15.0970234,16.8978568 11.573,15.207 C10.2502614,14.6098427 9.04965321,13.7727058 8.032,12.738 C6.58967546,14.501886 4.54173171,15.664907 2.288,16 L2.288,19.52 C2.29784571,22.3188499 3.35443341,25.0127562 5.25,27.072 C6.33244248,28.2485896 7.66520977,29.1671739 9.15,29.76 L8.5,32 C6.60081885,31.2946599 4.91078793,30.1206164 3.587,28.587 C1.30225519,26.0624102 0.0255828499,22.7858433 6.66133815e-16,19.381 L6.66133815e-16,14.9 L0,12.16 C0.101266362,5.40153198 5.61879957,-0.0188270327 12.378,6.6610671e-16 C19.0177713,0.00846272136 24.4909491,5.20929946 24.838,11.84 C24.8569585,12.1597192 24.8569585,12.4802808 24.838,12.8 L22.473,14.349 Z M15.5,27.326 C16.2403525,27.3271042 16.8397352,27.9279784 16.8389993,28.6683313 C16.8382635,29.4086843 16.2376876,30.0083659 15.4973343,30.0079983 C14.7569811,30.0076308 14.1570008,29.4073533 14.157,28.667 C14.1572651,28.3110794 14.2989083,27.9698418 14.5507697,27.7183555 C14.8026311,27.4668692 15.1440794,27.3257347 15.5,27.326 Z M18.532,16.668 C19.8168525,16.6834216 20.8473569,17.7348736 20.8369229,19.0197763 C20.826489,20.304679 19.7790451,21.3392571 18.4941116,21.333811 C17.2091781,21.3283649 16.1705418,20.284945 16.171,19 C16.1744383,18.3780643 16.4248036,17.7829685 16.8670165,17.3456316 C17.3092294,16.9082947 17.9070645,16.6645426 18.529,16.668 L18.532,16.668 Z M29.032,17.335 L31,17.335 C31.383,26.919 20.8,29.435 17.517,29.328 C17.657156,29.0278906 17.657156,28.6811094 17.517,28.381 C30.633,27.774 29.031,17.335 29.031,17.335 L29.032,17.335 Z" id="Logo-Icon"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

@@ -0,0 +1,24 @@
/* vietnamese */
@font-face {
font-family: 'Rowdies';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/rowdies/v17/ptRJTieMYPNBAK21_r9DwdbZ.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Rowdies';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/rowdies/v17/ptRJTieMYPNBAK21_r5DwdbZ.woff2) format('woff2');
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Rowdies';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/rowdies/v17/ptRJTieMYPNBAK21_rBDwQ.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 629 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 984 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 KiB

@@ -0,0 +1,74 @@
/** @odoo-module **/
import publicWidget from "@web/legacy/js/public/public_widget";
publicWidget.registry.MarketPlaceInfo = publicWidget.Widget.extend({
selector: "#seller_other_info",
start: function () {
var element = $("#seller_other_info .fa-map-marker");
if (!(element.length == 0)) {
$("#seller_other_info>div:first-child").css("display", "block");
}
},
});
publicWidget.registry.MarketPlaceBrand = publicWidget.Widget.extend({
selector: ".vb_brands",
start: function () {
$.ajax({
url: "/our/brands",
type: "GET",
beforeSend: function () {
$(".vb_brands").html(
"<div class='text-center cp-spinner cp-balls outer_div'></div>"
);
// console.log($(".vb_brands"));
},
complete: function (data) {
$(".vb_brands .outer_div").replaceWith($(data.responseText));
$(".vb_brands .owl").owlCarousel({
loop: true,
dots: false,
nav: true,
autoplay: true,
animateIn: "fadeIn",
slideTransition: "linear",
autoplaySpeed: 2000,
autoplayHoverPause: true,
responsive: {
0: {
items: 4,
},
576: {
items: 4,
},
786: {
items: 5,
},
1024: {
items: 6,
},
},
});
},
});
},
});
publicWidget.registry.MarketPlaceSale = publicWidget.Widget.extend({
selector: "#pink_panther",
events: {
"click #recently_product_tab": "removeWebsiteSale",
},
start: function () {
this.removeWebsiteSale($(".oe_website_sale .oe_website_sale"));
},
removeWebsiteSale: function (ev) {
var element = $(document).find(".oe_website_sale .oe_website_sale");
setTimeout(function (ev) {
element.removeClass("oe_website_sale");
}, 1000);
},
});
@@ -0,0 +1,77 @@
#wrapwrap {
.promo {
.sell_page_main_div {
padding: 0;
h2 {
font-family: Poppins;
font-style: normal;
font-weight: bold !important;
font-size: 38px;
line-height: 165.7%;
text-align: center;
text-transform: capitalize;
color: #ffffff;
margin-top: 60px;
}
.tagline {
font-style: normal;
font-weight: 600 !important;
font-size: 16px;
line-height: 165.7%;
text-align: center;
text-transform: capitalize;
color: #ffffff;
}
a {
margin-top: 38px;
}
}
}
.leftContainer + .oe_structure {
& + .container-fluid {
.selling-title {
font-style: normal;
font-weight: 600 !important;
font-size: 22px;
line-height: 165.7%;
text-align: center;
text-transform: capitalize;
color: #3f4451;
}
.vb_notify {
font-style: normal;
font-weight: 500 !important;
font-size: 18px;
line-height: 165.7%;
text-transform: capitalize;
color: #554d4d;
width: 50%;
a {
color: $success !important;
}
}
}
}
.process_of_selling {
.shadow-sm {
background: #ffffff;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25);
border-radius: 20px;
}
}
.vb_perks {
.number {
font-style: normal;
font-weight: 600;
font-size: 54px;
line-height: 75.7%;
text-align: center;
text-transform: capitalize;
color: #a9c7fa;
}
}
}
@@ -0,0 +1,259 @@
$btn-background: #212121;
.oe_custom_bg {
background-size: cover !important;
}
#seller_info {
margin: 10px auto;
}
#wrapwrap {
#btn_seller_shop {
visibility: unset;
}
.all-seller-label + div.mt16 {
margin-top: 9px !important;
}
form[action="/sellers/list/"] {
background: #ffffff;
border: 1px solid #c6c6c6;
box-sizing: border-box;
box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.15);
border-radius: 4px;
.input-group {
align-items: center;
input {
height: 31px;
border: none;
}
.oe_search_button {
background-color: #ffffff !important;
border: 1.5px solid #808080;
box-shadow: none;
color: #c6c6c6;
margin: 0 !important;
}
}
}
.default-color {
background-color: transparent !important;
}
#btn-create-review {
width: 150px;
}
#shop-nav-tabs {
display: flex;
align-items: center;
border-bottom: 1px solid $primary;
li {
margin-right: 10px;
a {
color: #ffffff !important;
border: none;
background-color: $primary !important;
border-radius: 0;
transition: all 0.6s;
&:hover {
color: $success !important;
}
&.active {
background-color: $success !important;
&:hover {
color: #ffffff !important;
}
}
}
}
}
#profile_recently_product_tab {
display: none;
}
#seller_review_sort {
background: #ffffff !important;
padding: 0 !important;
nav {
&.navbar-light.bg-light {
background-color: #333333 !important;
.navbar-collapse {
color: #ffffff;
}
}
}
ul:not(.justify-content-end) {
li {
margin: 0 !important;
}
}
ul.justify-content-end {
li:last-child {
margin-right: 28px !important;
margin-top: 10px !important;
}
}
}
#sellers_grid {
.o_wsale_products_grid_table_wrapper {
tbody {
td {
border: none !important;
transition: 0.6s all;
padding: 1rem;
.view-profile {
font-style: normal;
font-weight: 600 !important;
font-size: 14px;
line-height: 17px;
color: #717171 !important;
&:hover {
color: $success !important;
}
}
&:hover {
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16),
0 2px 10px 0 rgba(0, 0, 0, 0.12);
}
}
}
}
}
#seller_name_and_rating {
b {
font-style: normal;
font-weight: 600 !important;
font-size: 38px;
line-height: 46px;
color: #000000;
}
}
}
#wrap {
& > .container:not(.mb16) {
.col-md-12 {
& > .row:nth-child(3) {
.col-md-2 {
padding: 0;
span {
font-style: normal;
font-weight: 600 !important;
font-size: 18px;
line-height: 22px;
color: #555555 !important;
background: none;
background-color: transparent !important;
box-shadow: none;
}
&:first-child {
span {
&:before {
content: "\f1b3";
}
}
}
}
}
& > .row:last-child {
align-items: center;
.col-md-6 {
order: 1;
}
.col-md-3:first-child {
order: 2;
.btn {
background-color: $success !important;
}
}
.col-md-3:last-child {
a {
float: none;
}
}
}
}
}
}
.active-sort-tab {
border-top: 2px solid #ffffff;
border-bottom: 2px solid #ffffff;
}
li > #most_helpful_tab:hover,
li > #most_recent_tab:hover {
cursor: pointer;
}
#pink_panther,
#tab22,
#seller_all_prod,
#seller-info-pannel {
.list-mode {
display: none;
}
box-shadow: none !important;
& > .card-header {
background-color: transparent;
}
.o_wsale_products_grid_table_wrapper {
tbody {
td.oe-height-2 {
height: 25rem;
.o_wsale_product_grid_wrapper {
height: 100%;
}
}
}
.oe_subdescription {
display: none;
}
}
.o_wsale_product_btn {
a {
&.btn-secondary {
display: none;
}
}
.product_price_list_view {
display: none;
}
& > a,
& > button {
background: $btn-background !important;
}
}
.o_website_rating_static {
margin-top: 4px;
}
.product_price {
margin-bottom: 4px;
}
.vt_list_price {
.product_price {
display: none;
}
.vt_css_quantity {
justify-content: center;
.input-group-prepend {
border: 1px solid rgba(0, 0, 0, 0.125);
}
input {
border: 1px solid rgba(0, 0, 0, 0.125);
}
.input-group-append {
border: 1px solid rgba(0, 0, 0, 0.125);
}
}
}
}
@include media-breakpoint-down(sm) {
#wrapwrap {
.divider.hidden-xs {
& + .nav-item {
display: none !important;
}
}
}
}
@@ -0,0 +1,304 @@
#wrapwrap {
.email-to-seller,
.profile-page-shop {
margin-right: 40px;
color: $primary !important;
font-style: normal;
font-weight: 600 !important;
font-size: 14px;
line-height: 17px;
text-align: center;
text-decoration-line: underline;
font-variant: small-caps;
}
.nav-tabs .nav-item {
margin-bottom: 0;
}
.divider.hidden-xs {
display: none;
&.hello {
display: none;
}
& + .nav-item {
display: flex;
align-items: center;
a {
color: #ffffff !important;
}
}
}
#seller_review {
& > div {
display: flex;
flex-flow: row nowrap;
align-items: center;
}
}
#seller_other_info {
display: flex;
flex-flow: row wrap;
justify-content: space-between;
& > div {
margin-top: 10px;
}
span {
font-style: normal;
font-weight: 500 !important;
font-size: 14px;
line-height: 21px;
color: #646464;
}
.fa {
font-weight: 500 !important;
font-size: 14px;
line-height: 21px;
color: #646464;
}
& > div:first-child {
display: none;
}
}
#seller_name {
.grid-seller-name {
font-family: $o-theme-headings-font;
font-style: normal;
font-weight: 600 !important;
font-size: 16px;
line-height: 20px;
color: #333333;
}
}
}
.col-md-3 {
form[action="/seller/shops/list/"] {
& > div {
align-items: center;
}
input {
height: 2rem;
}
}
}
.oe_website_sale {
& > ul {
border-bottom: 1px solid $secondary;
li {
box-shadow: none;
margin-right: 10px;
a {
color: #ffffff !important;
border: none;
background-color: $primary !important;
border-radius: 0;
&.active {
background-color: $success !important;
}
&:hover:not(.active) {
color: $success !important;
// border: none;
}
}
}
}
}
#products_grid {
.mp_seller {
border: none !important;
}
#seller_shop_table {
@include media-breakpoint-down(sm) {
.oe_mp_product {
padding-top: inherit !important;
}
}
.oe_mp_product {
padding-top: inherit;
& > div {
position: unset;
& > div {
text-align: left;
overflow: hidden;
img {
height: 207px;
width: 88%;
object-fit: cover;
transition: transform 0.6s;
&:hover{
transform: scale(1.1);
}
}
}
#vb_shop_content {
position: unset;
margin-top: 10px;
margin-bottom: 5px;
position: relative;
padding-left: 0;
#btn_seller_shop {
.col-md-12 {
width: 128px;
padding: 0;
float: left;
margin-top: 0 !important;
}
a {
width: 128px;
display: flex;
justify-content: center;
align-items: center;
border-radius: 0;
}
}
#shop_products_sales {
position: unset;
margin-bottom: 10px;
div {
padding: 0;
div {
background-color: #ffffff !important;
font-style: normal;
font-weight: 600 !important;
box-shadow: none;
font-size: 14px !important;
line-height: 17px;
color: #717171 !important;
}
&.pull-right {
.fa {
margin-right: 30px !important;
}
}
&.pull-left {
.fa {
&:before {
content: "\f1b3";
}
}
}
}
}
#seller-shop-name {
strong {
display: block;
margin-bottom: 5px;
}
a {
font-style: normal;
font-weight: 600 !important;
font-size: 16px;
line-height: 20px;
color: #333333;
margin-top: 5px;
}
div {
font-style: normal;
font-weight: 600 !important;
font-size: 14px;
line-height: 148%;
color: #9b9b9b;
}
}
.row.mb4 {
.col-md-12 {
text-align: left !important;
}
}
}
}
}
}
}
// #products_grid {
// .mp_seller {
// border: none !important;
// height: 25rem;
// #shop_products_sales {
// .badge-secondary {
// background-color: $primary;
// }
// }
// .oe_mp_product {
// height: 100%;
// & > div {
// & > div {
// height: 100%;
// }
// }
// .text-center {
// div {
// transition: box-shadow 0.6s;
// overflow: hidden;
// img {
// padding: 1rem;
// padding: 1rem;
// height: 25rem;
// width: 100%;
// object-fit: cover;
// transition: transform 0.6s;
// }
// &:hover {
// img {
// transform: scale(1.2);
// }
// }
// }
// }
// }
// }
// }
// #mp_shop_content {
// transition: all 0.6s;
// &:hover {
// opacity: 1;
// a {
// color: #ffffff !important;
// }
// }
// }
#pink_panther {
#shop_all_product {
justify-content: flex-end !important;
form {
background: #ffffff;
border: 1px solid #d8d8d8;
box-sizing: border-box;
height: 35px;
input {
border: none;
}
.oe_search_button {
margin: 0 !important;
box-shadow: none !important;
border: none;
background-color: #ffffff !important;
color: #333333;
font-weight: 300 !important;
}
}
.vibrant_pricelist {
margin: 2px 10px;
font-style: normal;
font-weight: normal;
font-size: 14px;
line-height: 17px;
color: #777777;
background-color: #ffffff !important;
box-shadow: none;
border: 1px solid #d8d8d8;
}
.vt_price_list_menu {
margin-right: 24px;
& > a {
width: 134px;
}
}
}
}
@@ -0,0 +1,644 @@
#wrapwrap {
#top_menu_collapse,
#top_menu_collapse_clone {
.header_group {
& + .divider.hidden-xs {
display: none;
}
& + li,
& + .divider.hidden-xs + li {
display: flex;
align-items: center;
a[href="/seller"] {
font-weight: 600 !important;
color: #ffffff;
}
}
}
}
}
.mp_title_view {
height: 30rem;
position: relative;
overflow: hidden;
background: #822f04;
.grid__item {
.grid__item-img {
transition: transform 0.6s;
border: 2px solid;
}
&.pos-1 {
.grid__item-img {
&:hover {
transform: translate(70px, 0);
}
}
}
&.pos-2 {
.grid__item-img {
&:hover {
transform: translate(0, 42px);
}
}
}
&.pos-3 {
.grid__item-img {
&:hover {
transform: translate(0, 42px);
}
}
}
&.pos-4 {
.grid__item-img {
&:hover {
transform: rotate(45deg);
}
}
}
&.pos-5 {
.grid__item-img {
&:hover {
transform: rotate(-45deg);
}
}
}
&.pos-6 {
.grid__item-img {
&:hover {
transform: translate(-100px, 0);
}
}
}
&.pos-7 {
.grid__item-img {
&:hover {
transform: translate(70px, -50px);
}
}
}
&.pos-8 {
.grid__item-img {
&:hover {
transform: rotate(-13deg);
}
}
}
&.pos-9 {
.grid__item-img {
&:hover {
transform: translate(0, -35px);
}
}
}
&.pos-10 {
.grid__item-img {
&:hover {
transform: rotate(10deg);
}
}
}
}
.demo-2 {
--color-text: #000000;
--color-bg: #832f05;
--color-link: #ffffff;
--color-link-hover: #000;
--color-content-title-sub: #ec9e34;
--cursor-stroke: #000000;
--cursor-fill: none;
--cursor-stroke-width: 1px;
}
a {
text-decoration: underline;
color: var(--color-link);
outline: none;
}
a:hover,
a:focus {
text-decoration: none;
color: var(--color-link-hover);
outline: none;
}
.message {
position: relative;
z-index: 100;
text-align: center;
background: var(--color-text);
color: var(--color-bg);
padding: 1rem;
font-size: 0.85rem;
position: relative;
}
.no-select {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
span {
font-family: "Rowdies", cursive !important;
}
}
.content {
display: flex;
flex-direction: column;
width: 100vw;
height: calc(100vh - 13rem);
position: relative;
align-items: center;
justify-content: center;
max-height: 300px;
}
.grid {
position: absolute;
width: 110%;
height: 110%;
top: -5%;
left: -5%;
display: grid;
grid-template-columns: repeat(50, 2%);
grid-template-rows: repeat(50, 2%);
}
.grid__item {
position: relative;
}
.grid--img .grid__item {
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
will-change: transform;
}
.grid__item-img {
position: relative;
width: 100%;
height: 100%;
background-size: cover;
background-position: 50% 50%;
}
.grid--img .grid__item-img {
flex: none;
width: calc(100% + 100px);
height: calc(100% + 100px);
will-change: transform;
}
/* Shorthand grid-area: grid-row-start / grid-column-start / grid-row-end / grid-column-end */
.pos-1 {
grid-area: 10 / 1 / 26 / 7;
}
.pos-2 {
grid-area: 1 / 18 / 9 / 27;
}
.pos-3 {
grid-area: 1 / 36 / 14 / 42;
}
.pos-4 {
grid-area: 13 / 11 / 32 / 18;
}
.pos-5 {
grid-area: 17 / 32 / 32 / 38;
}
.pos-6 {
grid-area: 20 / 46 / 28 / 51;
}
.pos-7 {
grid-area: 43 / 1 / 51 / 10;
}
.pos-8 {
grid-area: 38 / 14 / 46 / 22;
}
.pos-9 {
grid-area: 40 / 26 / 51 / 32;
}
.pos-10 {
grid-area: 37 / 39 / 48 / 47;
}
.content__title {
font-family: bely-display, sans-serif;
font-weight: 400;
font-size: 10vw;
margin: 0;
line-height: 1;
position: relative;
}
.content__title-sub {
color: var(--color-content-title-sub);
font-size: 4.5vw;
display: block;
margin-left: 3vw;
line-height: 0.5;
}
.cursor {
display: none;
}
}
.our_sponsors {
a {
text-decoration: none;
color: var(--color-link);
outline: none;
cursor: pointer;
}
a:hover,
a:focus {
color: var(--color-link-hover);
outline: none;
}
.menu {
// padding: 10rem 0 20vh 0;
width: 90vw;
position: relative;
display: flex;
flex-direction: column;
text-align: right;
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
counter-reset: menucounter;
}
.menu__item {
flex: none;
display: flex;
justify-content: flex-end;
position: relative;
padding-left: 5rem;
transition: padding-bottom 0.8s;
&:hover {
padding-bottom: 6rem;
.menu__item-img {
display: block !important;
height: 200px;
width: 100%;
object-fit: contain;
position: absolute;
top: 65px;
}
}
}
.menu__item::before {
counter-increment: menucounter;
content: counters(menucounter, ".", decimal-leading-zero);
position: absolute;
left: 0;
border-left: 3px solid currentColor;
top: 20%;
height: 60%;
padding-left: 1rem;
display: flex;
align-items: center;
line-height: 1;
font-weight: bold;
opacity: 0;
transform: translateX(-1rem);
transition: transform 0.3s, opacity 0.3s;
}
.menu__item:hover::before {
opacity: 1;
transform: translateX(0);
}
.menu__item-text {
position: relative;
cursor: pointer;
padding: 0.5rem;
display: block;
// overflow: hidden;
font-size: 6vw;
}
.menu__item-textinner {
display: block;
font-family: goldenbook, serif;
font-weight: 300;
text-transform: uppercase;
white-space: nowrap;
color: var(--color-menu);
}
.menu__item-img {
height: 200px;
width: 100%;
object-fit: contain;
}
.menu__item:hover .menu__item-textinner {
color: var(--color-menu-hover);
}
.menu__item-sub {
display: none;
text-transform: uppercase;
font-weight: bold;
white-space: nowrap;
align-items: center;
position: relative;
margin-left: 2rem;
padding-left: 3rem;
opacity: 0;
transform: translateX(-1rem);
transition: transform 0.3s, opacity 0.3s;
}
.menu__item:hover .menu__item-sub {
opacity: 1;
transform: translateX(0);
}
.menu__item-sub::before {
content: "";
position: absolute;
left: 0;
top: 15%;
width: 1px;
height: 70%;
background: currentColor;
transform-origin: 0 100%;
transform: rotate(22.5deg) scale3d(1, 0, 1);
transition: transform 0.3s;
}
.menu__item:hover .menu__item-sub::before {
transform: rotate(22.5deg) scale3d(1, 1, 1);
}
.hover-reveal {
position: absolute;
z-index: -1;
width: 220px;
height: 320px;
top: 0;
left: 0;
pointer-events: none;
opacity: 0;
}
.hover-reveal__inner {
overflow: hidden;
}
.hover-reveal__inner,
.hover-reveal__img {
width: 100%;
height: 100%;
position: relative;
}
.hover-reveal__img {
background-size: cover;
background-position: 50% 50%;
}
.cursor {
display: none;
}
.credits {
align-self: flex-start;
padding: 5rem 0 0 0;
}
.credits a {
text-decoration: underline;
}
/*! locomotive-scroll v3.5.4 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
html.has-scroll-smooth {
overflow: hidden;
}
html.has-scroll-dragging {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.has-scroll-smooth body {
overflow: hidden;
}
.has-scroll-smooth [data-scroll-container] {
min-height: 100vh;
}
.c-scrollbar {
position: absolute;
right: 0;
top: 0;
width: 11px;
height: 100vh;
transform-origin: center right;
transition: transform 0.3s, opacity 0.3s;
opacity: 0;
}
.c-scrollbar:hover {
transform: scaleX(1.45);
}
.c-scrollbar:hover,
.has-scroll-scrolling .c-scrollbar,
.has-scroll-dragging .c-scrollbar {
opacity: 1;
}
.c-scrollbar_thumb {
position: absolute;
top: 0;
right: 0;
background-color: black;
opacity: 0.5;
width: 7px;
border-radius: 10px;
margin: 2px;
cursor: -webkit-grab;
cursor: grab;
}
.has-scroll-dragging .c-scrollbar_thumb {
cursor: -webkit-grabbing;
cursor: grabbing;
}
}
@media screen and (min-width: 53em) {
.mp_title_view {
@media screen and (min-width: 53em) {
.message {
display: none;
}
.content {
height: 100%;
justify-content: center;
max-height: none;
}
}
}
.our_sponsors {
.menu {
margin-top: 3rem;
}
h2 {
font-style: normal;
font-weight: normal;
font-size: 44px;
line-height: 66px;
text-transform: capitalize;
}
.menu__item {
padding-left: 25vw;
justify-content: initial;
}
.menu__item-text {
padding: 1vh 0;
font-size: 4vw;
}
.menu__item-sub {
display: flex;
}
}
}
@media (any-pointer: fine) {
.mp_title_view {
.cursor {
position: fixed;
top: 0;
left: 0;
display: block;
pointer-events: none;
}
.cursor__inner {
fill: var(--cursor-fill);
stroke: var(--cursor-stroke);
stroke-width: var(--cursor-stroke-width);
}
}
.our_sponsors {
.cursor {
position: fixed;
top: 0;
left: 0;
display: block;
pointer-events: none;
}
.cursor__inner {
fill: var(--cursor-fill);
stroke: var(--cursor-stroke);
stroke-width: var(--cursor-stroke-width);
opacity: 0.3;
}
.credits {
padding-left: 25vw;
}
}
}
.vb_mp_landing_page {
img {
&:hover {
-webkit-animation: flip-vertical-right 0.4s
cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
animation: flip-vertical-right 0.4s
cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
}
}
}
.vb_brands {
overflow: hidden;
.inner_div {
img {
height: 200px;
width: 220px;
object-fit: contain;
}
}
}
#wk_mp {
.oe_login_buttons {
a {
&:hover {
color: $success !important;
}
}
button {
margin-left: 0 !important;
background-color: $success !important;
}
}
.seller-register {
background-color: $primary;
border: 1px solid $secondary;
color: #ffffff;
padding: 10px;
border-radius: 12px;
transition: all 0.6s;
&:hover {
color: $success;
}
}
}
.showcase_grid{
.text{
&:before,&:after{
display: none;
}
height: auto !important;
}
}
@-webkit-keyframes flip-vertical-right {
0% {
-webkit-transform: rotateY(0);
transform: rotateY(0);
}
100% {
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
}
}
@keyframes flip-vertical-right {
0% {
-webkit-transform: rotateY(0);
transform: rotateY(0);
}
100% {
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
}
}
+208
View File
@@ -0,0 +1,208 @@
<odoo>
<data>
<template id="vibrant_marketplace_snippets" inherit_id="website.snippets" name="Vibrant Marketplace">
<xpath expr="//div[@id='snippet_structure']" position="before">
<div id="vb_snippet_marketplace_home" class="o_panel">
<div class="o_panel_header">
<span>
<img id="snippet_icon" src="/theme_vibrant_marketplace/static/src/img/marketplace-snippet.png" alt="Image" />
</span>
</div>
<div class="o_panel_body">
<t t-snippet="theme_vibrant_marketplace.mp_title_view" t-thumbnail="/theme_vibrant/static/src/img/snippets/about/About-----TESTIMONIAL.png" />
<t t-snippet="theme_vibrant_marketplace.our_sponsors" t-thumbnail="/theme_vibrant/static/src/img/snippets/about/About-----TESTIMONIAL.png" />
<t t-snippet="theme_vibrant_marketplace.brand_configuration" t-thumbnail="/theme_vibrant/static/src/img/snippets/about/About-----TESTIMONIAL.png" />
</div>
</div>
</xpath>
</template>
<template id="brand_configuration" name="Brands">
<section class="vb_brands">
<div class="outer_div owl owl-carousel">
<t t-foreach="brands" t-as="brand">
<div class="inner_div">
<span t-field="brand.image" t-options="{'widget': 'image','class':'brand'}" />
</div>
</t>
</div>
</section>
</template>
<template id="mp_title_view" name="Marketplace Title">
<section class="mp_title_view">
<div class="content">
<div class="grid">
<div class="grid__item pos-1">
<section class="grid__item-img" style="background-image:url('/theme_vibrant_marketplace/static/src/img/1.png');"></section>
</div>
<div class="grid__item pos-2">
<section class="grid__item-img" style="background-image:url('/theme_vibrant_marketplace/static/src/img/2.png');"></section>
</div>
<div class="grid__item pos-3">
<section class="grid__item-img" style="background-image:url('/theme_vibrant_marketplace/static/src/img/3.png');"></section>
</div>
<div class="grid__item pos-4">
<section class="grid__item-img" style="background-image:url('/theme_vibrant_marketplace/static/src/img/4.png');"></section>
</div>
<div class="grid__item pos-5">
<section class="grid__item-img" style="background-image:url('/theme_vibrant_marketplace/static/src/img/5.png');"></section>
</div>
<div class="grid__item pos-6">
<section class="grid__item-img" style="background-image:url('/theme_vibrant_marketplace/static/src/img/6.png');"></section>
</div>
<div class="grid__item pos-7">
<section class="grid__item-img" style="background-image:url('/theme_vibrant_marketplace/static/src/img/7.png');"></section>
</div>
<div class="grid__item pos-8">
<section class="grid__item-img" style="background-image:url('/theme_vibrant_marketplace/static/src/img/8.png');"></section>
</div>
<div class="grid__item pos-9">
<section class="grid__item-img" style="background-image:url('/theme_vibrant_marketplace/static/src/img/9.png');"></section>
</div>
<div class="grid__item pos-10">
<section class="grid__item-img" style="background-image:url('/theme_vibrant_marketplace/static/src/img/10.png');"></section>
</div>
</div>
<h2 class="content__title no-select">
<span>Join</span>
<span class="content__title-sub">today</span>
</h2>
</div>
</section>
</template>
<template id="our_sponsors" name="Sponsors">
<section class="our_sponsors">
<h2 class="text-center">Meet Our Sponsors</h2>
<nav class="menu">
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Maria Costa</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/1.png" alt="img1" />
</span>
<span class="menu__item-sub">Style Reset 66 Berlin</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Lana Ferrari</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/2.png" alt="img1" />
</span>
<span class="menu__item-sub">Fashion Week Milano</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Franklin Roth</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/3.png" alt="img1" />
</span>
<span class="menu__item-sub">Amber Convention London</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Cristie Noe</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/4.png" alt="img1" />
</span>
<span class="menu__item-sub">Tokyo Summer Trends</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Wilma Quest</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/5.png" alt="img1" />
</span>
<span class="menu__item-sub">2021 West End New York</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Gary Winston</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/6.png" alt="img1" />
</span>
<span class="menu__item-sub">Sunset Festival Greenwich</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Nesta Freeman</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/7.png" alt="img1" />
</span>
<span class="menu__item-sub">Spirit Garments Jakarta</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Jolanda French</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/8.png" alt="img1" />
</span>
<span class="menu__item-sub">Bluehouse Fashion Toronto</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Samantha Dunne</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/9.png" alt="img1" />
</span>
<span class="menu__item-sub">Glamour Week Christchurch</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Tony Albert</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/10.png" alt="img1" />
</span>
<span class="menu__item-sub">Piu Bella Fashion Rome</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Jacky Speed</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/1.png" alt="img1" />
</span>
<span class="menu__item-sub">Sea Season Kuala Lumpur</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Carlton Holle</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/2.png" alt="img1" />
</span>
<span class="menu__item-sub">Inspire Fashion Casablanca</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Kylla Maushet</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/3.png" alt="img1" />
</span>
<span class="menu__item-sub">One to Ten Moscow</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Fernando Castello</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/4.png" alt="img1" />
</span>
<span class="menu__item-sub">Miksa Style Week Lisbon</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Sofie Henriette</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/5.png" alt="img1" />
</span>
<span class="menu__item-sub">Free Fashion Budapest</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Adelie Bisset</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/6.png" alt="img1" />
</span>
<span class="menu__item-sub">Couture Night Paris</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Takato Yang</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/7.png" alt="img1" />
</span>
<span class="menu__item-sub">Modern Touch Hong Kong</span>
</a>
<a class="menu__item">
<span class="menu__item-text">
<span class="menu__item-textinner">Hadrian Kaiser</span>
<img class="menu__item-img d-none" src="/theme_vibrant_marketplace/static/src/img/8.png" alt="img1" />
</span>
<span class="menu__item-sub">Neverland Fashion Madrid</span>
</a>
</nav>
</section>
</template>
</data>
</odoo>
@@ -0,0 +1,352 @@
<odoo>
<data>
<template id="mp_seller_profile_inherited" inherit_id="odoo_marketplace.mp_seller_profile">
<xpath expr="//div[hasclass('seller-profile-pic')]/.." position="attributes">
<attribute name="class">col-md-3</attribute>
</xpath>
<xpath expr="//div[hasclass('container')]//div[5]" position="replace">
<div class="row">
<div class="col-md-4">
<a t-if="website.mp_seller_contact_btn" t-attf-href="mailto:{{ seller.email }}" class="email-to-seller">
<i class="fa fa-envelope mr-2" />
Send email to seller
</a>
<t t-if="website.sudo().get_group_mp_shop_allow()">
<t t-if="mp_seller_shop_id and mp_seller_shop_id.website_published and mp_seller_shop_id.active">
<a class="profile-page-shop" target="_blank" t-attf-href="/seller/shop/#{mp_seller_shop_id.url_handler}">
<i class="fa fa-shopping-bag mr-2" />
Visit Shop
</a>
</t>
</t>
</div>
<div class="col-md-5">
<t t-foreach="seller.social_media_link_ids" t-as="social_media">
<t t-if="social_media.wk_website_published">
<div style='height:38px;width:38px;float:left;'>
<a t-attf-href="{{social_media.complete_url}}" target="_blank">
<span itemprop="image" t-field="social_media.social_media_id.image" t-options="{'widget': 'image'}" t-att-alt="social_media.social_media_id.name" t-attf-title="#{'Follow on ' + social_media.social_media_id.name}" />
</a>
</div>
</t>
</t>
</div>
<div class="col-md-3 text-right">
<a class="btn btn-success" target="_blank" href="/contactus">
Contact Us
</a>
</div>
</div>
</xpath>
</template>
<template id="custome_view3_shop_item_list_inherited" inherit_id="odoo_marketplace.custome_view3_shop_item_list">
<xpath expr="//div[@id='btn_seller_shop']//div[hasclass('col-md-6')]" position="attributes">
<attribute name="class">col-md-12</attribute>
</xpath>
<xpath expr="//div[@id='btn_seller_shop']//t[@t-if='seller_shop.sudo().active']//div[hasclass('col-md-6')]" position="attributes">
<attribute name="class">col-md-12 mt-2</attribute>
</xpath>
</template>
<template id="shop_recently_product_inherited" inherit_id="odoo_marketplace.shop_recently_product" priority="17">
<xpath expr="//div[hasclass('oe_website_sale')]" position="attributes">
<atrribute name="class">tab-pane active testt</atrribute>
</xpath>
</template>
<template id="mp_seller_shop_inherited" inherit_id="odoo_marketplace.mp_seller_shop">
<xpath expr="//div[@id='wrap']/div[4]" position="attributes">
<attribute name="class" add="oe_website_sale" separator=" " />
</xpath>
<xpath expr="//div[@t-if='website.mp_seller_contact_btn']//div[hasclass('col-md-2')]" position="replace">
<div class="col-md-12 text-right">
<a t-attf-href="mailto:{{ shop_obj.sudo().seller_id.email }}" class="btn btn-success">Contact Seller</a>
</div>
</xpath>
</template>
<template id="wk_mp_seller_landing_page_inherited" inherit_id="odoo_marketplace.wk_mp_seller_landing_page">
<xpath expr="//div[4]" position="attributes">
<attribute name="class" add="vb_mp_landing_page" separator=" " />
</xpath>
</template>
<template id="wk_mp_seller_landing_page_inherited" inherit_id="odoo_marketplace.wk_mp_seller_landing_page">
<xpath expr="//div[hasclass('promo')]/div[1]" position="replace">
<section>
<div class="view overlay zoom vibrant_lines shop_overlay">
<img src="/theme_vibrant_marketplace/static/src/img/store.png" class="img-fluid title_snippet_img" alt="smaple image" />
</div>
</section>
</xpath>
<xpath expr="//div[hasclass('promo')]/div[hasclass('sell_page_main_div')]/h2" position="after">
<p class="tagline">Selling Your Site, best opportunity for growth!!!</p>
</xpath>
<xpath expr="//div[hasclass('container-fluid')]//div[hasclass('row','mt64','justify-content-center')]" position="replace">
<h3 class="selling-title mt-4 text-center">Process of Selling With Us</h3>
<div class="row mt-4 justify-content-center process_of_selling">
<div class="col-md-3 col-md-offset-2 text-center shadow-sm p-4 mx-2">
<div class="image-title d-flex align-items-center">
<img src="/theme_vibrant_marketplace/static/src/img/icon-commission.png" alt="feature-a" />
<div class="feature-text mx-2">
<span>Open a New Shop</span>
</div>
</div>
<div class="text-left mt-4">
<span>By opening a shop at our marketplace you can expose more of your products to more potential customers. Your best opportunity for growth could be selling in our online marketplace.</span>
</div>
</div>
<div class="col-md-3 text-center shadow-sm p-4 mx-2">
<div class="image-title d-flex align-items-center">
<img src="/theme_vibrant_marketplace/static/src/img/icon-product.png" alt="feature-b" />
<div class="feature-text mx-2">
<span>Sell Products</span>
</div>
</div>
<div class="text-left mt-4">
<span>Business is all about trading. It's all about creating a product so good that people pay for it. Increase your sales figure from our high traffic channel.</span>
</div>
</div>
<div class="col-md-3 text-center shadow-sm p-4 mx-2">
<div class="image-title d-flex align-items-center">
<img src="/theme_vibrant_marketplace/static/src/img/icon-shop.png" alt="feature-c" />
<div class="feature-text mx-2">
<span>Get Quick Commission</span>
</div>
</div>
<div class="text-left mt-4">
<span>
Be smart and start earning the commission whenever a product of yours is sold through our website. Commission Management provides full transparency and flexibility for both buy-side and sell-side.
</span>
</div>
</div>
</div>
</xpath>
<xpath expr="//div[hasclass('container')]" position="replace">
<div class="container vb_perks" style="margin-bottom:35px;">
<div class="row mt16 mb32 justify-content-center">
<h2 class="text-center" style="padding:5px;">
Here are some great Facilities/Perks of our
<br />
Marketplace Store
</h2>
</div>
<div class="row mb32 justify-content-center">
<div class="col-md-6 text-center mt32 mb16 row">
<div class="col-md-1 mb16">
<div class="number">1</div>
</div>
<div class="col-md-11" style="padding-left:23px;">
<div class="feature-text text-left">Open a New Shop</div>
<div class="text-left">You can quickly start expanding your business and have a full-fledged online store without having to deal with the hassle of maintaining and investing in an e-commerce website for your products. So, start setting up your business in our marketplace.</div>
</div>
</div>
<div class="col-md-4 offset-2">
<img src="/theme_vibrant_marketplace/static/src/img/perk-1.png" class="w-100" alt="Perks" />
</div>
</div>
<div class="row mb32 justify-content-center">
<div class="col-md-4">
<img src="/theme_vibrant_marketplace/static/src/img/perk-2.png" class="w-100" alt="Perks" />
</div>
<div class="col-md-6 text-center mt32 mb16 row offset-2">
<div class="col-md-1 mb16">
<div class="number">2</div>
</div>
<div class="col-md-11" style="padding-left:23px;">
<div class="feature-text text-left">Multi Support</div>
<div class="text-left">Our company does not want to be in a single-vendor lock-in arrangement, Multi-vendor support setups bring a numerous of benefits thus we provide Multi-vendor/seller support.</div>
</div>
</div>
</div>
<div class="row mb32 justify-content-center">
<div class="col-md-6 text-center mt32 mb16 row">
<div class="col-md-1 mb16">
<div class="number">3</div>
</div>
<div class="col-md-11" style="padding-left:23px;">
<div class="feature-text text-left">Commission Management</div>
<div class="text-left">Since trust and transparency are an important aspect of a business hence we follow Commission Management that provides the full transparency that shows our sellers the commission charged when their product is sold from our website.</div>
</div>
</div>
<div class="col-md-4 offset-2">
<img src="/theme_vibrant_marketplace/static/src/img/perk-3.png" class="w-100" alt="Perks" />
</div>
</div>
<div class="row mb32 justify-content-center">
<div class="col-md-4">
<img src="/theme_vibrant_marketplace/static/src/img/perk-4.png" class="w-100" alt="Perks" />
</div>
<div class="col-md-6 text-center mt32 mb16 row offset-2">
<div class="col-md-1 mb16">
<div class="number">4</div>
</div>
<div class="col-md-11" style="padding-left:23px;">
<div class="feature-text text-left">Various Invoice Generation Option</div>
<div class="text-left">Having well presented and easy to understand invoices will make you look more professional, so we will provide various invoice generation option making sure that you are using the right invoicing tool.</div>
</div>
</div>
</div>
<div class="row mt128 mb32 justify-content-center">
<div class="col-md-6 text-center mt32 mb16 row">
<div class="col-md-1 mb16">
<div class="number">5</div>
</div>
<div class="col-md-11" style="padding-left:23px;">
<div class="feature-text text-left">Product Collection &amp; Management</div>
<div class="text-left">Consumers spend more time researching product purchases online before they buy. This makes quality product content on your eCommerce store more important than ever. It's all a part of a better customer experience, which can lead to an increase in your eCommerce sales.</div>
</div>
</div>
<div class="col-md-4 offset-2">
<img src="/theme_vibrant_marketplace/static/src/img/perk-5.png" class="w-100" alt="Perks" />
</div>
</div>
<div class="row mt128 mb32 hidden-xs justify-content-center">
<div class="col-md-4">
<img src="/theme_vibrant_marketplace/static/src/img/perk-6.png" class="w-100" alt="Perks" />
</div>
<div class="col-md-6 text-center mt32 mb16 row offset-2">
<div class="col-md-1 mb16">
<div class="number">6</div>
</div>
<div class="col-md-11" style="padding-left:23px;">
<div class="feature-text text-left">View Other Seller Profile</div>
<div class="text-left">The marketplace is made up of items offered by a variety of different merchants, both companies, and individuals. Now you can take a peek inside their seller profile and look at what other sellers are selling.</div>
</div>
</div>
</div>
</div>
</xpath>
<xpath expr="//div[hasclass('container-fluid')]/div[1]" position="replace">
<div class="row justify-content-center">
<h2 class="text-center p-2 vb_notify">
More than
<strong>5,000 Sellers</strong>
are part of our Marketplace Store,
<t t-set="wk_current_user" t-value="website.env.user" />
<t t-set="is_user_public" t-value="wk_current_user == request.website.user_id" />
<t t-if="wk_current_user._is_admin() or is_user_public">
<a t-if="signup_enabled" href="/seller/signup" class="text-link" style="font-weight:600;">Join Us</a>
</t>
<t t-else="">
<t t-if="wk_current_user.is_marketplace_user()">
<a href="/my/marketplace" class="text-link" style="font-weight:600;">Go to Marketplace Dashboard</a>
</t>
<t t-else="">
<a href="/my/marketplace/become_seller" class="text-link" style="font-weight:600;">Join Us</a>
</t>
</t>
today and get all the excited perks.
</h2>
</div>
</xpath>
</template>
<template id="seller_list_item_inherited" inherit_id="odoo_marketplace.seller_list_item" priority="1">
<xpath expr="//div[@itemscope='itemscope']" position="replace">
<div itemscope="itemscope">
<div class="wk_ribbon-wrapper">
<div class="wk_ribbon badge badge-danger p-1">Best Seller</div>
</div>
<div class="row col-xs-12 ml0 mr0" style="padding:10px;">
<div class="col-md-4 col-4" style="padding:0px">
<div style="">
<a itemprop="url" t-attf-href="/seller/profile/#{seller_obj.sudo().url_handler if seller_obj.sudo().url_handler else seller_obj.sudo().id}">
<span itemprop="image" t-field="seller_obj.sudo().profile_image" t-options="{'widget': 'image', 'style':'width: 100px;border: 5px solid;border-radius: 4px;border-color: rgb(73, 73, 73);', 'zoom': 'image', 'class':''}" t-att-alt="seller_obj.sudo().name" />
</a>
</div>
</div>
<div class="col-md-6 col-6 ml-3 p-0">
<div class="" style="padding-right: 0px;" id="seller_name">
<strong>
<a itemprop="name" class="grid-seller-name" t-attf-href="/seller/profile/#{seller_obj.sudo().url_handler if seller_obj.sudo().url_handler else seller_obj.sudo().id}" t-field="seller_obj.sudo().name" />
</strong>
</div>
<div id="seller_review"></div>
<div id="seller_other_info"></div>
</div>
</div>
<div class="row">
<t t-if="website.sudo().get_group_mp_shop_allow() ">
<t t-set="mp_seller_shop_id" t-value="seller_obj.sudo().seller_shop_id" />
<t t-if="mp_seller_shop_id and mp_seller_shop_id.website_published and mp_seller_shop_id.active">
<div class="col-md-6" id="seller_shop">
<div class="container-fluid">
<div>
<img class="mr-2" src="/theme_vibrant_marketplace/static/src/img/shop.png" alt="Shop" />
<span class="seller-shop-name">
<a t-attf-href="/seller/shop/#{mp_seller_shop_id.sudo().url_handler}">
<t t-esc="mp_seller_shop_id.name" />
</a>
</span>
</div>
<div class="mb4 shop-tag-line">
<t t-if="mp_seller_shop_id">
<span>
<t t-esc="mp_seller_shop_id.shop_tag_line" />
</span>
</t>
</div>
</div>
</div>
</t>
</t>
<div t-attf-class="text-left #{'col-md-6' if website.sudo().get_group_mp_shop_allow() else 'col-md-12'}">
<a class="view-profile" itemprop="name" t-attf-href="/seller/profile/#{seller_obj.sudo().url_handler if seller_obj.sudo().url_handler else seller_obj.sudo().id}">
<span>
<i class="fa fa-user mr-2" />
View Profile
</span>
</a>
</div>
</div>
</div>
</xpath>
</template>
<template id="seller_shop_list_item_inherited" inherit_id="odoo_marketplace.seller_shop_list_item" priority="1">
<xpath expr="//section[@id='mp_shop_content']" position="replace">
<section id="vb_shop_content" style="padding-bottom:5px;" class="text-center">
<div class="mb4 text-left" id="seller-shop-name">
<strong>
<a itemprop="name" t-att-href="keep('/seller/shop/%s' % seller_shop.url_handler, page=(pager['page']['num'] if pager['page']['num']&gt;1 else None))" t-field="seller_shop.name" />
</strong>
</div>
<div class="row" id="profile_and_shop">
<div class="col-md-6 text-center">
<a t-attf-href="/seller/profile/#{seller_shop.sudo().seller_id.url_handler if seller_shop.sudo().seller_id.url_handler else seller_shop.sudo().seller_id.id}" class="btn btn-sm btn-primary">
<span class="fa fa-user">
<![CDATA[&nbsp;]]>
Seller Profile
</span>
</a>
</div>
<t t-if="website.sudo().get_group_mp_shop_allow() ">
<t t-if="seller_shop.sudo().active">
<div class="col-md-6 text-center">
<a t-attf-href="/seller/shop/#{seller_shop.sudo().url_handler}" class="btn btn-sm btn-success mb4">
<span class="fa fa-home">
<![CDATA[&nbsp;]]>
Visit Shop
</span>
</a>
</div>
</t>
</t>
</div>
</section>
</xpath>
</template>
<!-- <template id="marketplace_dashboard_link" inherit_id="odoo_marketplace.marketplace_dashboard_link">
<xpath expr="//t[@t-if='website.env.user.sudo().partner_id.seller']" position="replace">
<t t-if="website.env.user.sudo().partner_id.seller">
<a class="dropdown-item" href="/my/marketplace" role="menuitem" groups="odoo_marketplace.marketplace_draft_seller_group">
<img class="mr-3 pull-left" src="/theme_vibrant_marketplace/static/src/img/compare_product.png" alt="marketplace" />
<span>Marketplace</span>
</a>
</t>
</xpath>
</template> -->
</data>
</odoo>
+56
View File
@@ -0,0 +1,56 @@
<!-- Copyright (c) 2015-Present Webkul Software Pvt. Ltd. (<https://webkul.com/>) -->
<!-- See LICENSE file for full copyright and licensing details. -->
<!-- "License URL : <https://store.webkul.com/license.html/>" -->
<odoo>
<data>
<record id="theme_vibrant_config_form_inherited" model="ir.ui.view">
<field name="name">Vibrant Configuration Form</field>
<field name="model">theme.vibrant.fields</field>
<field name="inherit_id" ref="theme_vibrant.theme_vibrant_config_form" />
<field name="arch" type="xml">
<xpath expr="//notebook" position="inside">
<page name="brand_config" string="Brands Configuration">
<group string="Choose Brands">
<field name="brands" />
</group>
</page>
</xpath>
</field>
</record>
<record id="brand_tag_form" model="ir.ui.view">
<field name="name">vibrant.brands</field>
<field name="model">vibrant.brands</field>
<field name="arch" type="xml">
<form string="Create a Brand">
<group col="4">
<field name="name" />
<field name="image" widget="image" class="oe_avatar" />
</group>
</form>
</field>
</record>
<record id="theme_vibrant_config_brand_tree" model="ir.ui.view">
<field name="name">Vibrant Brands Configuration Tree</field>
<field name="model">vibrant.brands</field>
<field name="arch" type="xml">
<tree string="Vibrant Brands Configuration" name="Theme Brand Configuration">
<field name="name" />
</tree>
</field>
</record>
<record id="theme_vibrant_config_brand_action" model="ir.actions.act_window">
<field name="name">Theme Vibrant Brand Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">vibrant.brands</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="theme_vibrant_marketplace.theme_vibrant_config_brand_tree" />
</record>
<menuitem name="Brands Configuration" id="vibrant_brand_config" parent="theme_vibrant.vibrant_config_main_menu" action="theme_vibrant_marketplace.theme_vibrant_config_brand_action" />
</data>
</odoo>