Result
| grid_id |
block_id |
content |
object_id |
object_type |
object_ids |
snapping_id |
wrapper |
user_class |
order |
status |
type |
properties |
company_id |
storefront_id |
lang_code |
name |
| 754 |
4 |
|
0 |
|
|
1200 |
blocks/wrappers/onclick_dropdown.tpl |
top-my-account |
0 |
A |
my_account |
a:1:{s:8:"template";s:21:"blocks/my_account.tpl";} |
0 |
1 |
en |
My Account |
| 753 |
5 |
|
0 |
|
|
1197 |
|
|
0 |
D |
template |
a:2:{s:8:"template";s:32:"blocks/static_templates/logo.tpl";s:11:"enable_link";s:1:"Y";} |
0 |
1 |
en |
Logo |
| 512 |
8 |
|
0 |
|
|
770 |
|
|
0 |
D |
cart_content |
a:4:{s:8:"template";s:23:"blocks/cart_content.tpl";s:22:"display_bottom_buttons";s:1:"Y";s:20:"display_delete_icons";s:1:"Y";s:19:"products_links_type";s:5:"thumb";} |
0 |
1 |
en |
Cart content |
| 756 |
8 |
|
0 |
|
|
1205 |
|
hidden-desktop top-cart-content |
0 |
D |
cart_content |
a:4:{s:8:"template";s:23:"blocks/cart_content.tpl";s:22:"display_bottom_buttons";s:1:"Y";s:20:"display_delete_icons";s:1:"Y";s:19:"products_links_type";s:5:"thumb";} |
0 |
1 |
en |
Cart content |
| 755 |
8 |
|
0 |
|
|
1202 |
|
top-cart-content |
0 |
A |
cart_content |
a:4:{s:8:"template";s:23:"blocks/cart_content.tpl";s:22:"display_bottom_buttons";s:1:"Y";s:20:"display_delete_icons";s:1:"Y";s:19:"products_links_type";s:5:"thumb";} |
0 |
1 |
en |
Cart content |
| 741 |
18 |
|
0 |
|
|
1170 |
|
|
0 |
A |
template |
a:1:{s:8:"template";s:37:"blocks/static_templates/copyright.tpl";} |
0 |
1 |
en |
Copyright |
| 513 |
126 |
a:1:{s:5:"items";a:3:{s:7:"filling";s:13:"full_tree_cat";s:18:"parent_category_id";s:0:"";s:7:"sort_by";s:8:"position";}} |
0 |
|
|
771 |
|
|
0 |
D |
categories |
a:3:{s:8:"template";s:52:"blocks/categories/categories_dropdown_horizontal.tpl";s:30:"dropdown_second_level_elements";s:2:"12";s:29:"dropdown_third_level_elements";s:1:"6";} |
0 |
1 |
en |
Main menu |
| 735 |
128 |
|
0 |
|
|
1164 |
blocks/wrappers/footer_general.tpl |
|
0 |
D |
template |
a:1:{s:8:"template";s:39:"blocks/static_templates/quick_links.tpl";} |
0 |
1 |
en |
My account |
| 736 |
130 |
a:1:{s:7:"content";s:611:"
<ul id="demo_store_links">
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=2"|fn_url}">About us</a></li>
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=30"|fn_url}">Contact us</a></li>
<li class="ty-footer-menu__item"><a href="{"gift_certificates.add"|fn_url}">Gift certificates</a></li>
<li class="ty-footer-menu__item"><a href="{"product_features.view_all?filter_id=10"|fn_url}">Our brands</a></li>
<li class="ty-footer-menu__item"><a href="{"sitemap.view"|fn_url}">Sitemap</a></li>
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=7"|fn_url}">Blog</a></li>
</ul>";} |
0 |
|
|
1166 |
blocks/wrappers/footer_general.tpl |
footer-no-wysiwyg |
0 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Quick Links |
| 737 |
131 |
a:1:{s:7:"content";s:705:"
<ul id="customer_service_links">
<li class="ty-footer-menu__item"><a href="{"orders.search"|fn_url}">About your order</a></li>
{if $addons.wishlist && $addons.wishlist.status == 'A'}
<li class="ty-footer-menu__item"><a href="{"wishlist.view"|fn_url}">Wishlist</a></li>
{/if}
{if $settings.General.enable_compare_products == 'Y'}
<li class="ty-footer-menu__item"><a href="{"product_features.compare"|fn_url}">Comparison list</a></li>
{/if}
</ul>";} |
0 |
|
|
1167 |
blocks/wrappers/footer_general.tpl |
footer-no-wysiwyg |
0 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Customer Service |
| 516 |
134 |
a:1:{s:5:"items";a:2:{s:7:"filling";s:8:"manually";s:8:"item_ids";s:1:"9";}} |
0 |
|
|
778 |
|
homepage-banners ty-banners-pickup |
0 |
D |
banners |
a:1:{s:8:"template";s:34:"addons/banners/blocks/original.tpl";} |
0 |
1 |
en |
Discount for pickup |
| 517 |
135 |
a:1:{s:5:"items";a:5:{s:7:"filling";s:6:"newest";s:6:"period";s:1:"A";s:9:"last_days";s:2:"10";s:5:"limit";s:1:"8";s:3:"cid";s:0:"";}} |
0 |
|
|
780 |
blocks/wrappers/mainbox_simple.tpl |
homepage-hotdeals |
0 |
D |
products |
a:11:{s:8:"template";s:37:"blocks/products/products_scroller.tpl";s:10:"show_price";s:1:"N";s:17:"enable_quick_view";s:1:"N";s:24:"not_scroll_automatically";s:1:"Y";s:15:"scroll_per_page";s:1:"Y";s:5:"speed";s:3:"400";s:11:"pause_delay";s:1:"3";s:13:"item_quantity";s:1:"4";s:15:"thumbnail_width";s:3:"320";s:18:"outside_navigation";s:1:"Y";s:23:"hide_add_to_cart_button";s:1:"Y";} |
0 |
1 |
en |
Hot deals |
| 519 |
136 |
a:1:{s:5:"items";a:3:{s:7:"filling";s:7:"on_sale";s:5:"limit";s:1:"8";s:3:"cid";s:0:"";}} |
0 |
|
|
783 |
blocks/wrappers/mainbox_simple.tpl |
homepage-on-sale |
0 |
D |
products |
a:4:{s:8:"template";s:41:"blocks/products/products_multicolumns.tpl";s:11:"item_number";s:1:"N";s:17:"number_of_columns";s:1:"4";s:23:"hide_add_to_cart_button";s:1:"Y";} |
0 |
1 |
en |
On Sale |
| 523 |
140 |
a:1:{s:5:"items";a:2:{s:7:"filling";s:8:"manually";s:8:"item_ids";s:1:"7";}} |
0 |
|
|
788 |
|
|
0 |
D |
banners |
a:1:{s:8:"template";s:34:"addons/banners/blocks/original.tpl";} |
0 |
1 |
en |
Footer banners |
| 515 |
167 |
a:1:{s:7:"content";s:3534:"<style>
.gonje-vendors-container {
font-family: Arial, sans-serif;
max-width: 800px;
padding: 16px;
text-align: center;
}
.gonje-vendors-heading {
font-size: 24px;
font-weight: bold;
margin-bottom: 20px;
color: #333;
}
.gonje-vendors-grid-container {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
max-width: 800px;
padding: 16px;
background-color: #fff;
border-radius: 10px;
margin-bottom: 30px;
}
.gonje-vendors-grid-item {
background-color: #fff;
border-radius: 5px;
padding: 20px;
display: flex;
justify-content: center;
align-items: center;
transition: transform 0.2s, box-shadow 0.2s;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.gonje-vendors-grid-item a {
display: flex;
flex-direction: column;
align-items: center;
color: black;
text-decoration: none;
}
.gonje-vendors-grid-item img {
width: 60px;
max-width: 100px;
margin-bottom: 10px;
}
.gonje-vendors-grid-item:hover {
transform: scale(1.05);
background-color: #F7D594;
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}
.gonje-vendors-grid-item a span {
font-weight: bold;
}
@media (max-width: 800px) {
.gonje-vendors-grid-container {
grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 600px) {
.gonje-vendors-grid-container {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 400px) {
.gonje-vendors-grid-container {
grid-template-columns: 1fr;
}
}
</style>
<div class="gonje-vendors-container">
<div class="gonje-vendors-heading">
Fresh Finds, Daily Essentials, and Gourmet Delights!
</div>
<div class="gonje-vendors-grid-container">
<div class="gonje-vendors-grid-item">
<a href="https://marketplace.gonje.com/fulfilment-by-gonje">
<img src="https://www.gonje.com.au/assets/images/shopping-basket.svg" alt="Groceries">
Fulfilment By Gonje
</a>
</div>
<div class="gonje-vendors-grid-item">
<a href="https://marketplace.gonje.com/fridge">
<img src="https://www.gonje.com.au/assets/images/fridge.svg" alt="Fridge">
Fridge
</a>
</div>
<div class="gonje-vendors-grid-item">
<a href="https://marketplace.gonje.com/meal-kits-en">
<img src="https://www.gonje.com.au/assets/images/kitchen-book.svg" alt="Meal Kits">
Meal Kits
</a>
</div>
<!-- <div class="gonje-vendors-grid-item">
<a href="https://marketplace.gonje.com/todays-sale">
<img src="https://www.gonje.com.au/assets/images/sale(1).svg" alt="Today's Sale">
Today's Sale
</a>
</div> -->
<!-- <div class="gonje-vendors-grid-item">
<a href="https://marketplace.gonje.com/gift-cards">
<img src="https://www.gonje.com.au/assets/images/gift-box.svg" alt="Gift Card">
Gift Card
</a>
</div> -->
<!-- <div class="gonje-vendors-grid-item">
<a href="https://marketplace.gonje.com/top-deals">
<img src="https://www.gonje.com.au/assets/images/offers.svg" alt="Top Deals">
Top Deals
</a>
</div> -->
<div class="gonje-vendors-grid-item">
<a href="https://marketplace.gonje.com/suppliers">
<img src="https://www.gonje.com.au/assets/images/project-launch.svg" alt="Suppliers">
Suppliers
</a>
</div>
<div class="gonje-vendors-grid-item">
<a href="https://marketplace.gonje.com/whats-new">
<img src="https://www.gonje.com.au/assets/images/new-items.svg" alt="What's New">
What's New
</a>
</div>
</div>
</div>";} |
0 |
|
|
775 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje Categories 1 |
| 739 |
178 |
a:1:{s:7:"content";s:3486:"<p> <title>Gonje Footer Quick Links</title></p>
<style>
.footer {
position: relative;
top: -50px;
font-family: Arial, sans-serif;
color: #333;
text-align: center;
font-size: 13px;
padding-bottom: 20px;
font-weight: normal; /* Or use 400 */
}
.footer .quick-links-container {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
max-width: 1200px;
margin: 0 auto;
text-align: left;
}
.footer .quick-links {
color: #fff;
list-style-type: none;
padding: 0;
margin: 0;
}
.footer .quick-links li {
color: #ffffff;
margin: 10px 0;
}
.footer .quick-links a {
color: #ffffff;
text-decoration: none;
transition: color 0.3s ease;
}
.footer .quick-links a:hover {
color: #70ab4b;
}
.footer h3 {
color: #bdc3c7;
margin-bottom: 10px;
}
.gonje-text-style {
color: #fff;
}
/* Media Queries for smaller screens */
@media (max-width: 768px) {
.footer {
position: relative;
top: -20px;
}
.footer .quick-links-container {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 480px) {
.footer .quick-links-container {
grid-template-columns: 1fr;
text-align: left;
}
.footer .quick-links {
text-align: left;
}
.footer .quick-links li {
margin: 5px 0;
}
}
</style>
<footer class="footer">
<br><br>
<div class="quick-links-container">
<div>
<h3>Gonje Market</h3>
<p class="gonje-text-style">We connect buyers and sellers of natural, organic, environmentally sound products.</p>
</div>
<div>
<h3>The Company</h3>
<ul class="quick-links">
<li><a href="https://gonje.com/aboutUs">About Us</a></li>
<li><a href="https://gonje.com/terms">Terms & Conditions</a></li>
<li><a href="https://gonje.com/terms#privacy">Privacy Policy</a></li>
<li><a href="https://gonje.com/terms#refunds">Refunds Policy</a></li>
</ul>
</div>
<div>
<h3>Customer Service</h3>
<ul class="quick-links">
<li><a href="https://gonje.com/contactUs">Help & Contact Us</a></li>
<li><a href="https://gonje.com/faq">FAQ</a></li>
</ul>
</div>
<div>
<h3>Address</h3>
<p class="gonje-text-style">ABN - 46 649 251 007<br>
Unit 12, 442 Geelong Road, West Footscray, Victoria, 3013<br>
Parcel Collect 10143 43082, 341 Barry Road, Campbellfield VIC 3061<br>
Tel – 0399692891<br>
Email – operations@gonje.com</p>
</div>
</div>
</footer>";} |
0 |
|
|
1169 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje Footer |
| 513 |
353 |
a:1:{s:7:"content";s:32765:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vendor Search with Modal</title>
<!-- Add Font Awesome CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
/* Custom Google Autocomplete Dropdown Styling */
.pac-container {
font-family: 'Poppins', sans-serif;
background-color: #fff;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
border: none;
margin-top: 5px;
z-index: 1002 !important;
overflow: hidden;
}
.pac-item {
padding: 12px 16px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.2s ease;
cursor: pointer;
font-size: 14px;
}
.pac-item:hover {
background-color: #f8f9fa;
}
.pac-item-query {
font-size: 15px;
color: #333;
font-weight: 500;
font-family: 'Poppins', sans-serif;
}
.pac-matched {
font-weight: 600;
color: #28A745;
}
.pac-icon {
margin-right: 10px;
color: #666;
}
.pac-item:last-child {
border-bottom: none;
}
.pac-item-selected {
background-color: #e8f5e9;
}
.pac-logo:after {
display: none;
}
/* Hero section styling */
.hero-section {
background-image: url('https://marketplace.gonje.com/images/gonje-experience-2.png');
background-size: cover;
background-position: center;
border-radius: 20px;
padding: 30px 30px 60px 20px;
margin: 20px auto;
max-width: 1200px;
position: relative;
opacity: 0.95;
box-shadow: 0 0 8px rgba(40, 167, 69, 0.5);
}
.hero-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(255, 255, 255, 0.1);
border-radius: 20px;
z-index: 0;
}
.hero-content {
position: relative;
z-index: 1;
}
/* Prevent body scrolling when modal is open */
body.modal-open {
overflow: hidden;
position: fixed;
width: 100%;
}
/* Hero text styling */
.hero-text {
font-family: 'Poppins', sans-serif;
font-size: 42px;
font-weight: 700;
color: #000000;
text-align: center;
margin: 0 0;
line-height: 1.3;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}
/* Animated arrow styling */
.arrow-down {
text-align: center;
margin: 15px 0;
color: #28A745;
}
.arrow-down i {
font-size: 30px;
animation: bounce 2s infinite;
cursor: pointer;
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {
transform: translateY(0);
}
40% {
transform: translateY(-15px);
}
60% {
transform: translateY(-7px);
}
}
/* Modal and search input styling */
.shopnow-gonje-top-vendor-search-container {
width: 100%;
max-width: 600px;
position: relative;
text-align: center;
margin: 10px auto 0;
}
.shopnow-gonje-top-vendor-search-input,
.shopnow-gonje-top-vendor-search-div {
width: 90%;
padding: 16px;
border: 2px solid #ccc;
border-radius: 20px;
font-size: 18px;
font-family: 'Poppins', sans-serif;
outline: none;
transition: border-color 0.3s ease;
margin: 0 auto 0 auto;
text-align: center;
cursor: pointer;
background-color: white;
}
/* No vendors link styling */
.no-vendors-link {
font-family: 'Poppins', sans-serif;
font-size: 12px;
color: #666;
text-decoration: underline;
display: block;
margin-bottom: 20px;
}
.no-vendors-link:hover {
color: #28A745;
text-decoration: underline;
}
/* Center placeholder text on larger screens */
@media (min-width: 992px) {
.shopnow-gonje-top-vendor-search-input::placeholder,
.shopnow-location-input::placeholder {
text-align: center;
}
}
.shopnow-gonje-top-vendor-search-input:hover,
.shopnow-gonje-top-vendor-search-div:hover {
border-color: #70ab4b;
}
.shopnow-gonje-top-vendor-search-input:focus,
.shopnow-gonje-top-vendor-search-div:focus {
border-color: #0056b3;
}
.shopnow-gonje-top-vendor-search-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
justify-content: center;
align-items: center;
transition: opacity 0.3s ease;
z-index: 1000;
overflow-y: auto;
}
.shopnow-gonje-top-vendor-search-modal-content {
background: white;
padding: 20px;
border-radius: 10px;
width: 90%;
max-width: 500px;
text-align: center;
position: relative;
z-index: 1001;
max-height: 90vh;
margin: 20px 0;
overflow-y: auto;
}
.shopnow-gonje-top-vendor-search-close-btn {
position: absolute;
top: 10px;
right: 15px;
font-size: 18px;
cursor: pointer;
}
/* Vendor search container styling */
.shopnow-search-container {
margin: 20px;
text-align: center;
width: calc(100% - 40px);
}
.shopnow-search-container input,
.shopnow-search-container button {
padding: 12px;
margin: 5px;
font-size: 16px;
width: 100%;
border: 1px solid #28A745;
border-radius: 8px;
transition: all 0.3s ease-in-out;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
box-sizing: border-box;
}
.shopnow-search-container input {
background-color: #f9fcf5;
outline: none;
}
.shopnow-search-container input:focus {
border-color: #28A745;
box-shadow: 0 0 8px rgba(40, 167, 69, 0.5);
}
.shopnow-search-container button {
background-color: #28A745;
color: white;
border: none;
cursor: pointer;
font-weight: bold;
}
.shopnow-search-container button:hover {
background-color: #1e7e34;
box-shadow: 0 3px 8px rgba(30, 126, 52, 0.3);
}
/* Loading spinner styles */
.loading-spinner {
display: inline-block;
width: 20px;
height: 20px;
border: 3px solid rgba(255,255,255,.3);
border-radius: 50%;
border-top-color: #fff;
animation: spin 1s ease-in-out infinite;
margin-right: 10px;
vertical-align: middle;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
.loading-text {
text-align: center;
color: #666;
font-style: italic;
}
/* Vendor item styling - make entire item clickable */
.shopnow-vendor-item {
border: 1px solid #ddd;
padding: 15px;
margin: 10px 0;
border-radius: 8px;
background-color: #ffffff;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
width: calc(100% - 30px);
transition: all 0.2s ease;
display: block;
text-decoration: none;
color: inherit;
}
.shopnow-vendor-item:hover {
background-color: #f8f9fa;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
transform: translateY(-2px);
}
.shopnow-vendor-content {
display: flex;
align-items: center;
}
.shopnow-vendor-logo {
width: 50px;
height: 50px;
object-fit: cover;
border-radius: 50%;
margin-right: 15px;
border: 2px solid #28A745;
}
.shopnow-vendor-details h3 {
color: #28A745;
margin-bottom: 5px;
}
.shopnow-search-container input[type="range"] {
width: 100%;
height: 8px;
background: #ddd;
border-radius: 5px;
border: none;
-webkit-appearance: none;
appearance: none;
outline: none;
}
.shopnow-search-container input[type="range"]::-webkit-slider-runnable-track {
height: 8px;
background: #28A745;
border-radius: 5px;
}
.shopnow-search-container input[type="range"]::-moz-range-track {
height: 8px;
background: #28A745;
border-radius: 5px;
}
.shopnow-search-container input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
width: 20px;
height: 20px;
background: #28A745;
border-radius: 50%;
cursor: pointer;
border: 2px solid white;
margin-top: -6px;
}
.shopnow-search-container input[type="range"]::-moz-range-thumb {
width: 20px;
height: 20px;
background: #28A745;
border-radius: 50%;
cursor: pointer;
border: 2px solid white;
}
.shopnow-radius-label {
font-weight: bold;
color: #28A745;
display: block;
margin: 10px 0;
}
/* Mailchimp Modal Styling */
.mailchimp-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
justify-content: center;
align-items: center;
z-index: 1000;
overflow-y: auto;
}
.mailchimp-modal-content {
background: white;
padding: 30px;
border-radius: 10px;
width: 90%;
max-width: 500px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
position: relative;
margin: 20px 0;
max-height: 90vh;
overflow-y: auto;
}
.mailchimp-close-btn {
position: absolute;
top: 15px;
right: 20px;
font-size: 24px;
cursor: pointer;
color: #666;
background: none;
border: none;
}
#mc_embed_signup {
background: transparent;
font-family: 'Poppins', sans-serif;
width: 100%;
}
#mc_embed_signup h2 {
font-size: 24px;
font-weight: 600;
color: #28A745;
margin-bottom: 20px;
text-align: center;
}
#mc_embed_signup .indicates-required {
text-align: right;
font-size: 12px;
color: #666;
margin-bottom: 15px;
}
#mc_embed_signup .asterisk {
color: #e74c3c;
}
#mc_embed_signup .mc-field-group {
margin-bottom: 20px;
width: 100%;
}
#mc_embed_signup label {
display: block;
font-size: 14px;
margin-bottom: 8px;
color: #333;
font-weight: 500;
}
#mc_embed_signup input {
width: 100%;
padding: 12px 15px;
border: 1px solid #ddd;
border-radius: 8px;
font-size: 16px;
transition: border-color 0.3s;
box-sizing: border-box;
}
#mc_embed_signup input:focus {
border-color: #28A745;
outline: none;
box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.2);
}
#mc_embed_signup .button {
background-color: #28A745;
color: white;
border: none;
padding: 14px 20px;
border-radius: 8px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
width: 100%;
transition: background-color 0.3s;
margin-top: 10px;
}
#mc_embed_signup .button:hover {
background-color: #1e7e34;
}
#mc_embed_signup .response {
margin: 15px 0;
padding: 10px;
border-radius: 5px;
font-size: 14px;
}
#mc_embed_signup #mce-error-response {
color: #e74c3c;
background-color: #fdecea;
}
#mc_embed_signup #mce-success-response {
color: #28A745;
background-color: #e8f5e9;
}
@media (max-width: 768px) {
.hero-text {
font-size: 32px;
}
.shopnow-gonje-top-vendor-search-div,
.shopnow-location-input {
font-size: 16px;
padding: 14px;
}
.shopnow-gonje-top-vendor-search-modal-content,
.mailchimp-modal-content {
padding: 20px;
width: 85%;
}
#mc_embed_signup h2 {
font-size: 20px;
}
.arrow-down i {
font-size: 24px;
}
}
</style>
</head>
<body>
<!-- Hero Section -->
<div class="hero-section">
<div class="hero-content">
<!-- Hero Text -->
<div class="hero-text">
Begin Your Gonje Journey Today! Shop Now
</div>
<!-- Animated Arrow -->
<div class="arrow-down" onclick="document.getElementById('shopNowButton').click()">
<i class="fas fa-arrow-down"></i>
</div>
<!-- Search Input -->
<div class="shopnow-gonje-top-vendor-search-container">
<div class="shopnow-gonje-top-vendor-search-div" id="shopNowButton">Enter address to find vendors near by 🌎</div>
<a href="#" class="no-vendors-link" style="font-weight:bold;color:#000" id="noVendorsLink">Click here if you don't find any vendors nearby</a>
</div>
</div>
</div>
<!-- Vendor Search Modal -->
<div class="shopnow-gonje-top-vendor-search-modal">
<div class="shopnow-gonje-top-vendor-search-modal-content">
<span class="shopnow-gonje-top-vendor-search-close-btn">×</span>
<h2>Search for vendors</h2>
<div class="shopnow-search-container">
<input type="text" class="shopnow-location-input" placeholder="Enter address to find vendors near by 🌎">
<input type="range" class="shopnow-radius-slider" min="1" max="50" value="10" oninput="updateRadiusLabel(this.value)">
<span class="shopnow-radius-label">10 km</span>
<button onclick="fetchCompanies(1)">Search</button>
</div>
<div class="shopnow-company-list"></div>
<a href="#" class="no-vendors-link" id="modalNoVendorsLink" style="display: none;">Click here if you don't find any vendors nearby</a>
</div>
</div>
<!-- Mailchimp Form Modal -->
<div class="mailchimp-modal" id="mailchimpModal">
<div class="mailchimp-modal-content">
<span class="mailchimp-close-btn" id="mailchimpCloseBtn">×</span>
<div id="mc_embed_signup">
<form action="https://gonje.us20.list-manage.com/subscribe/post?u=8293c49fe797c04b3b9f52c23&id=b040c42304&f_id=00d3c7f1f0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
<div id="mc_embed_signup_scroll">
<h2>Get Notified When Vendors Are Available</h2>
<div class="indicates-required"><span class="asterisk">*</span> indicates required</div>
<div class="mc-field-group">
<label for="mce-EMAIL">Email Address <span class="asterisk">*</span></label>
<input type="email" name="EMAIL" class="required email" id="mce-EMAIL" required placeholder="your@email.com">
</div>
<div class="mc-field-group">
<label for="mce-POSTCODE">Postal Code <span class="asterisk">*</span></label>
<input type="text" name="POSTCODE" class="required text" id="mce-POSTCODE" required placeholder="e.g. 90210">
</div>
<div id="mce-responses" class="clear">
<div class="response" id="mce-error-response" style="display:none"></div>
<div class="response" id="mce-success-response" style="display:none"></div>
</div>
<div aria-hidden="true" style="position: absolute; left: -5000px;">
<input type="text" name="b_8293c49fe797c04b3b9f52c23_b040c42304" tabindex="-1" value="">
</div>
<div class="clear">
<input type="submit" name="subscribe" id="mc-embedded-subscribe" class="button" value="Subscribe">
</div>
</div>
</form>
</div>
</div>
</div>
<script>
// Vendor search modal functionality
document.getElementById('shopNowButton').addEventListener('click', function(event) {
event.preventDefault();
document.body.classList.add('modal-open');
document.querySelector('.shopnow-gonje-top-vendor-search-modal').style.display = 'flex';
});
document.querySelector('.shopnow-gonje-top-vendor-search-close-btn').addEventListener('click', function() {
document.body.classList.remove('modal-open');
document.querySelector('.shopnow-gonje-top-vendor-search-modal').style.display = 'none';
});
// Mailchimp modal functionality
function showMailchimpModal() {
document.body.classList.add('modal-open');
document.getElementById('mailchimpModal').style.display = 'flex';
// Pre-fill the postal code if we have it
if (userPostcode) {
document.getElementById('mce-POSTCODE').value = userPostcode;
}
}
document.getElementById('noVendorsLink').addEventListener('click', function(event) {
event.preventDefault();
showMailchimpModal();
});
document.getElementById('modalNoVendorsLink').addEventListener('click', function(event) {
event.preventDefault();
showMailchimpModal();
});
document.getElementById('mailchimpCloseBtn').addEventListener('click', function() {
document.body.classList.remove('modal-open');
document.getElementById('mailchimpModal').style.display = 'none';
});
// Close modals when clicking outside
window.addEventListener('click', function(event) {
if (event.target === document.querySelector('.shopnow-gonje-top-vendor-search-modal')) {
document.body.classList.remove('modal-open');
document.querySelector('.shopnow-gonje-top-vendor-search-modal').style.display = 'none';
}
if (event.target === document.getElementById('mailchimpModal')) {
document.body.classList.remove('modal-open');
document.getElementById('mailchimpModal').style.display = 'none';
}
});
// Vendor search functionality
let userLatitude = null;
let userLongitude = null;
let userPostcode = null;
let userState = null;
let userAddress = null;
function updateRadiusLabel(value) {
document.querySelector('.shopnow-radius-label').innerText = value + " km";
}
function fetchCompanies(page = 1) {
const radius = document.querySelector('.shopnow-radius-slider').value;
const searchButton = document.querySelector('.shopnow-search-container button');
if (!userLatitude || !userLongitude) {
alert("Please enter a valid address.");
return;
}
// Show loading state
searchButton.innerHTML = '<span class="loading-spinner"></span> Searching...';
searchButton.disabled = true;
const companyList = document.querySelector('.shopnow-company-list');
companyList.innerHTML = '<p class="loading-text">Searching for vendors...</p>';
// Include all collected data in the request
const url = new URL('https://marketplace.gonje.com/vendor_search.php');
url.searchParams.append('page', page);
url.searchParams.append('lat', userLatitude);
url.searchParams.append('lng', userLongitude);
url.searchParams.append('radius', radius);
if (userPostcode) url.searchParams.append('postcode', userPostcode);
if (userState) url.searchParams.append('state', userState);
if (userAddress) url.searchParams.append('address', userAddress);
fetch(url)
.then(response => response.json())
.then(data => {
companyList.innerHTML = '';
// Show/hide the no vendors link based on results
const noVendorsLink = document.getElementById('modalNoVendorsLink');
if (data.status !== 'ok' || !data.data || data.data.length === 0) {
companyList.innerHTML = '<p>No vendors found.</p>';
noVendorsLink.style.display = 'block';
return;
}
noVendorsLink.style.display = 'none';
data.data.forEach(company => {
const vendorItem = document.createElement('a');
vendorItem.href = company.storefront_url;
vendorItem.classList.add('shopnow-vendor-item');
vendorItem.innerHTML = `
<div class="shopnow-vendor-content">
<img src="${company.logo_url}" alt="Logo" class="shopnow-vendor-logo">
<div class="shopnow-vendor-details">
<h3>${company.company_name}</h3>
<p>Description: ${company.company_description}</p>
<p>Distance: ${company.distance} km</p>
</div>
</div>
`;
companyList.appendChild(vendorItem);
});
})
.catch(error => {
console.error('Error fetching companies:', error);
companyList.innerHTML = '<p>An error occurred while fetching companies. Please try again later.</p>';
})
.finally(() => {
// Reset button state
searchButton.innerHTML = 'Search';
searchButton.disabled = false;
});
}
function initAutocomplete() {
const input = document.querySelector('.shopnow-location-input');
const autocomplete = new google.maps.places.Autocomplete(input, {
types: ['geocode'],
fields: ['geometry', 'address_components', 'formatted_address'],
componentRestrictions: { country: 'au' } // This restricts results to Australia
});
autocomplete.addListener('place_changed', function () {
const place = autocomplete.getPlace();
if (!place.geometry) {
alert("No location found. Please select from the dropdown.");
return;
}
// Store all location data
userLatitude = place.geometry.location.lat();
userLongitude = place.geometry.location.lng();
userAddress = place.formatted_address;
// Reset these values before checking components
userPostcode = '';
userState = '';
// Extract address components
place.address_components.forEach(component => {
if (component.types.includes('postal_code')) {
userPostcode = component.long_name;
}
if (component.types.includes('administrative_area_level_1')) {
userState = component.short_name;
}
});
console.log('Location data collected:', {
address: userAddress,
postcode: userPostcode,
state: userState,
coordinates: { lat: userLatitude, lng: userLongitude }
});
});
}
// Enhanced Mailchimp form handling
document.getElementById('mc-embedded-subscribe-form').addEventListener('submit', function(e) {
e.preventDefault();
// Get form data
const formData = new FormData(this);
const email = formData.get('EMAIL');
const postcode = formData.get('POSTCODE') || userPostcode;
// Validate required fields
if (!email || !postcode) {
alert('Please fill in all required fields');
return;
}
// Prepare Mailchimp submission data
const mailchimpData = {
u: '8293c49fe797c04b3b9f52c23',
id: 'b040c42304',
EMAIL: email,
POSTCODE: postcode,
STATE: userState || '',
ADDRESS: userAddress || '',
SOURCE: 'Vendor Search',
'b_8293c49fe797c04b3b9f52c23_b040c42304': '' // Hidden field
};
// Show loading state
const submitBtn = document.getElementById('mc-embedded-subscribe');
submitBtn.disabled = true;
submitBtn.value = 'Sending...';
// Submit to Mailchimp
fetch('https://gonje.us20.list-manage.com/subscribe/post-json', {
method: 'POST',
body: new URLSearchParams(mailchimpData),
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
mode: 'no-cors'
})
.then(response => {
if (!response.ok) throw new Error('Network response was not ok');
return response.json();
})
.then(data => {
if (data.result === 'success') {
// Show success message
document.getElementById('mce-success-response').style.display = 'block';
document.getElementById('mce-success-response').innerHTML = 'Thank you for subscribing!';
document.getElementById('mce-error-response').style.display = 'none';
// Close modal after 2 seconds
setTimeout(() => {
document.body.classList.remove('modal-open');
document.getElementById('mailchimpModal').style.display = 'none';
}, 2000);
} else {
throw new Error(data.msg || 'Subscription failed');
}
})
.catch(error => {
console.error('Mailchimp submission error:', error);
document.getElementById('mce-error-response').style.display = 'block';
document.getElementById('mce-error-response').innerHTML = 'Subscription failed: ' + error.message;
document.getElementById('mce-success-response').style.display = 'none';
})
.finally(() => {
submitBtn.disabled = false;
submitBtn.value = 'Subscribe';
});
});
// Load Google Maps API
const script = document.createElement('script');
script.src = "https://maps.googleapis.com/maps/api/js?key=AIzaSyCxMO0g5Vv0ZtSthhrrXMVOYVBcjf4G1hw&libraries=places&callback=initAutocomplete";
script.async = true;
script.defer = true;
document.body.appendChild(script);
// Load Mailchimp validation script
const mailchimpScript = document.createElement('script');
mailchimpScript.src = "//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js";
mailchimpScript.async = true;
document.body.appendChild(mailchimpScript);
// Mailchimp configuration
(function($) {
window.fnames = new Array();
window.ftypes = new Array();
fnames[0]='EMAIL';
ftypes[0]='email';
fnames[6]='POSTCODE';
ftypes[6]='text';
fnames[7]='STATE';
ftypes[7]='text';
fnames[8]='ADDRESS';
ftypes[8]='text';
}(jQuery));
var $mcj = jQuery.noConflict(true);
</script>
</body>
</html>";} |
0 |
|
|
1160 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Homepage Vendor Search Banner |
| 742 |
356 |
a:1:{s:7:"content";s:9408:"<script>
// Mobile Bottom Navigation Script with CS-Cart auth check
document.addEventListener('DOMContentLoaded', function() {
// Check if user is logged in (CS-Cart specific check)
if (typeof Tygh === 'undefined' || !Tygh.$('.cm-auth-container').length || Tygh.$('.cm-auth-container').hasClass('logged-in')) {
// Only proceed if user is logged in
// First, ensure Font Awesome is loaded
if (!document.querySelector('link[href*="font-awesome"]')) {
const faLink = document.createElement('link');
faLink.rel = 'stylesheet';
faLink.href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css';
document.head.appendChild(faLink);
}
// Create the navigation container
const mobileNav = document.createElement('div');
mobileNav.className = 'g-bottom-nav';
// Create the navigation items container
const navItems = document.createElement('ul');
navItems.className = 'g-bottom-nav__items';
navItems.style.listStyle = 'none';
navItems.style.margin = '0';
navItems.style.padding = '0';
// Navigation items data with CS-Cart URLs
const navLinks = [
{
url: fn_url('companies.apply_for_vendor'),
faIcon: 'fas fa-store',
fallbackIcon: '🏪',
text: 'Vendor',
show: true
},
{
url: fn_url('orders.search'),
faIcon: 'fas fa-clipboard-list',
fallbackIcon: '📋',
text: 'Orders',
show: typeof Tygh !== 'undefined' && Tygh.auth.orders_count > 0
},
{
url: fn_url('wishlist.view'),
faIcon: 'fas fa-heart',
fallbackIcon: '♥',
text: 'Planner',
show: true
},
{
url: fn_url('checkout.cart'),
faIcon: 'fas fa-shopping-cart',
fallbackIcon: '🛒',
text: 'Cart',
show: true,
badge: typeof Tygh !== 'undefined' && Tygh.cart.amount > 0 ? Tygh.cart.amount : null
},
{
url: fn_url('pages.view?page_id=XX'), // Replace XX with actual page ID
faIcon: 'fas fa-hands-helping',
fallbackIcon: '🤝',
text: 'Initiative',
show: true
}
];
// Get current URL and clean it for comparison
const currentUrl = new URL(window.location.href);
const currentPath = currentUrl.pathname + currentUrl.search;
// Create navigation items
navLinks.forEach(link => {
if (!link.show) return;
const navItem = document.createElement('li');
navItem.className = 'g-bottom-nav__li';
navItem.style.listStyle = 'none';
navItem.style.margin = '0';
navItem.style.padding = '0';
const navLink = document.createElement('a');
navLink.href = link.url;
// Check if this link matches current page
const linkUrl = new URL(link.url);
const linkPath = linkUrl.pathname + linkUrl.search;
const isActive = currentPath === linkPath ||
(currentPath.startsWith(linkPath) && linkPath !== '/');
navLink.className = `g-bottom-nav__item ${isActive ? 'active' : ''}`;
// Create icon container
const iconContainer = document.createElement('span');
iconContainer.className = 'g-bottom-nav__icon';
// Create Font Awesome icon
const faIcon = document.createElement('i');
faIcon.className = link.faIcon;
faIcon.style.display = 'inline-block';
// Create fallback with HTML entity
const fallback = document.createElement('span');
fallback.className = 'g-bottom-nav__icon-fallback';
fallback.innerHTML = link.fallbackIcon;
fallback.style.display = 'none';
// Add both to container
iconContainer.appendChild(faIcon);
iconContainer.appendChild(fallback);
// Create text label
const text = document.createElement('span');
text.className = 'g-bottom-nav__text';
text.textContent = link.text;
navLink.appendChild(iconContainer);
navLink.appendChild(text);
// Add badge if needed
if (link.badge) {
const badge = document.createElement('span');
badge.className = 'g-bottom-nav__badge';
badge.textContent = link.badge;
navLink.appendChild(badge);
}
navItem.appendChild(navLink);
navItems.appendChild(navItem);
// Check if Font Awesome loaded properly
setTimeout(() => {
if (faIcon.offsetWidth === 0 && faIcon.offsetHeight === 0) {
faIcon.style.display = 'none';
fallback.style.display = 'inline-block';
}
}, 100);
});
// Add items to navigation
mobileNav.appendChild(navItems);
// Add navigation to body
document.body.appendChild(mobileNav);
// Add CSS styles
const style = document.createElement('style');
style.textContent = `
.g-bottom-nav {
display: none;
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: white;
box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
z-index: 1000;
padding: 8px 0;
}
.g-bottom-nav__items {
display: flex;
justify-content: space-around;
align-items: center;
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
}
.g-bottom-nav__li {
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
}
.g-bottom-nav__item {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
color: #555;
font-size: 10px;
padding: 5px 8px;
border-radius: 8px;
transition: all 0.2s ease;
position: relative;
}
.g-bottom-nav__icon {
display: inline-block;
width: 20px;
height: 20px;
text-align: center;
margin-bottom: 4px;
font-size: 20px;
line-height: 1;
}
.g-bottom-nav__item i {
font-size: 20px;
display: inline-block;
width: 100%;
height: 100%;
}
.g-bottom-nav__icon-fallback {
font-size: 20px;
display: none;
width: 100%;
height: 100%;
}
.g-bottom-nav__item.active {
color: #28A745;
background: rgba(40, 167, 69, 0.1);
}
.g-bottom-nav__item.active i,
.g-bottom-nav__item.active .g-bottom-nav__icon-fallback {
color: #28A745;
}
.g-bottom-nav__item:hover {
background: rgba(40, 167, 69, 0.1);
}
.g-bottom-nav__badge {
position: absolute;
top: -5px;
right: -5px;
background: #28A745;
color: white;
border-radius: 50%;
width: 16px;
height: 16px;
font-size: 10px;
display: flex;
align-items: center;
justify-content: center;
}
@media (max-width: 768px) {
.g-bottom-nav {
display: block;
}
body {
padding-bottom: 70px;
}
}
`;
document.head.appendChild(style);
// Add click handler to set active state
document.querySelectorAll('.g-bottom-nav__item').forEach(item => {
item.addEventListener('click', function(e) {
document.querySelectorAll('.g-bottom-nav__item').forEach(navItem => {
navItem.classList.remove('active');
});
this.classList.add('active');
});
});
}
});
</script>";} |
0 |
|
|
1188 |
|
|
0 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Smarty Bottom Nav |
| 742 |
358 |
a:1:{s:7:"content";s:7210:"<script>
// Mobile Bottom Navigation Script with Font Awesome + HTML entity fallbacks
document.addEventListener('DOMContentLoaded', function() {
// First, ensure Font Awesome is loaded
if (!document.querySelector('link[href*="font-awesome"]')) {
const faLink = document.createElement('link');
faLink.rel = 'stylesheet';
faLink.href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css';
document.head.appendChild(faLink);
}
// Create the navigation container
const mobileNav = document.createElement('div');
mobileNav.className = 'mobile-bottom-nav';
// Create the navigation items container
const navItems = document.createElement('ul');
navItems.className = 'mobile-nav-items';
// Navigation items data with both Font Awesome and HTML entity fallbacks
const navLinks = [
{
url: 'https://marketplace.gonje.com/index.php?dispatch=companies.catalog',
faIcon: 'fas fa-store',
fallbackIcon: '🏪', // ????
text: 'Vendor',
active: false
},
{
url: 'https://marketplace.gonje.com/orders/',
faIcon: 'fas fa-clipboard-list',
fallbackIcon: '📋', // ????
text: 'Orders',
active: false
},
{
url: 'https://marketplace.gonje.com/wishlist/',
faIcon: 'fas fa-heart',
fallbackIcon: '♥', // ♥
text: 'Planner',
active: false
},
{
url: 'https://marketplace.gonje.com/cart',
faIcon: 'fas fa-shopping-cart',
fallbackIcon: '🛒', // ????
text: 'Cart',
active: false
},
{
url: 'https://marketplace.gonje.com/what-we-do',
faIcon: 'fas fa-hands-helping',
fallbackIcon: '🤝', // ????
text: 'What we do',
active: false
}
];
// Get current URL and clean it for comparison
const currentUrl = new URL(window.location.href);
const currentPath = currentUrl.pathname + currentUrl.search;
// Create navigation items with both icon types
navLinks.forEach(link => {
const navItem = document.createElement('li');
const navLink = document.createElement('a');
navLink.href = link.url;
// Check if this link matches current page
const linkUrl = new URL(link.url);
const linkPath = linkUrl.pathname + linkUrl.search;
// Compare paths to determine if this is the active link
const isActive = currentPath === linkPath ||
(currentPath.startsWith(linkPath) && linkPath !== '/');
navLink.className = `mobile-nav-item ${isActive ? 'active' : ''}`;
// Create icon container
const iconContainer = document.createElement('span');
iconContainer.className = 'nav-icon';
// Create Font Awesome icon
const faIcon = document.createElement('i');
faIcon.className = link.faIcon;
faIcon.style.display = 'inline-block';
// Create fallback with HTML entity
const fallback = document.createElement('span');
fallback.className = 'icon-fallback';
fallback.innerHTML = link.fallbackIcon; // Using innerHTML for entities
fallback.style.display = 'none';
// Add both to container
iconContainer.appendChild(faIcon);
iconContainer.appendChild(fallback);
// Create text label
const text = document.createElement('span');
text.className = 'nav-text';
text.textContent = link.text;
navLink.appendChild(iconContainer);
navLink.appendChild(text);
navItem.appendChild(navLink);
navItems.appendChild(navItem);
// Check if Font Awesome loaded properly
setTimeout(() => {
if (faIcon.offsetWidth === 0 && faIcon.offsetHeight === 0) {
faIcon.style.display = 'none';
fallback.style.display = 'inline-block';
}
}, 100);
});
// Add items to navigation
mobileNav.appendChild(navItems);
// Add navigation to body
document.body.appendChild(mobileNav);
// Add CSS styles
const style = document.createElement('style');
style.textContent = `
.mobile-bottom-nav {
display: none;
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: white;
box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
z-index: 1000;
padding: 8px 0;
}
.mobile-nav-items {
display: flex;
justify-content: space-around;
align-items: center;
list-style: none;
margin: 0;
padding: 0;
}
.mobile-nav-item {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
color: #555;
font-size: 10px;
padding: 5px 8px;
border-radius: 8px;
transition: all 0.2s ease;
}
.nav-icon {
display: inline-block;
width: 20px;
height: 20px;
text-align: center;
margin-bottom: 4px;
font-size: 20px;
line-height: 1;
}
.mobile-nav-item i {
font-size: 20px;
display: inline-block;
width: 100%;
height: 100%;
}
.icon-fallback {
font-size: 20px;
display: none;
width: 100%;
height: 100%;
}
.mobile-nav-item.active {
color: #28A745;
background: rgba(40, 167, 69, 0.1);
}
.mobile-nav-item.active i,
.mobile-nav-item.active .icon-fallback {
color: #28A745;
}
.mobile-nav-item:hover {
background: rgba(40, 167, 69, 0.1);
}
@media (max-width: 768px) {
.mobile-bottom-nav {
display: block;
}
body {
padding-bottom: 70px;
}
}
`;
// Add styles to head
document.head.appendChild(style);
// Add click handler to set active state
document.querySelectorAll('.mobile-nav-item').forEach(item => {
item.addEventListener('click', function(e) {
document.querySelectorAll('.mobile-nav-item').forEach(navItem => {
navItem.classList.remove('active');
});
this.classList.add('active');
});
});
});
</script>";} |
0 |
|
|
1245 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
HTML BOTTOM NAV |
| 742 |
359 |
a:1:{s:7:"content";s:8402:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gonje Page Loader</title>
<style>
/* Page Loader Styles */
#gonje-loading-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.98);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 9999;
transition: opacity 0.5s ease;
}
.gonje-loading-container {
text-align: center;
max-width: 600px;
padding: 30px;
}
.gonje-loading-image {
max-width: 180px;
margin-bottom: 30px;
}
.gonje-loading-text {
font-size: 1.2rem;
color: #28a745;
margin-bottom: 25px;
line-height: 1.6;
font-weight: 500;
}
.gonje-loading-progress {
width: 100%;
height: 8px;
background: #e0e0e0;
border-radius: 4px;
overflow: hidden;
margin: 20px 0;
}
.gonje-loading-progress-bar {
height: 100%;
width: 0%;
background: linear-gradient(90deg, #28A745, #70ab4b);
border-radius: 4px;
transition: width 0.4s ease;
}
.gonje-loading-tip {
font-size: 1rem;
color: #6c757d;
font-style: italic;
margin-top: 25px;
}
.gonje-loading-fact {
font-size: 1.1rem;
color: #333;
padding: 15px;
background: #f8fff8;
border-radius: 8px;
border-left: 4px solid #28a745;
margin: 15px 0;
text-align: center;
}
.gonje-loading-countdown {
font-size: 0.9rem;
color: #6c757d;
margin-top: 10px;
}
@media (max-width: 768px) {
.gonje-loading-container {
padding: 20px;
}
.gonje-loading-text {
font-size: 1.1rem;
}
.gonje-loading-fact {
font-size: 1rem;
}
}
</style>
</head>
<body>
<!-- Page Loader -->
<div id="gonje-loading-overlay">
<div class="gonje-loading-container">
<img src="https://marketplace.gonje.com/images/fruitloader.gif" alt="Loading..." class="gonje-loading-image">
<div class="gonje-loading-text">Preparing the freshest experience for you...</div>
<div class="gonje-loading-fact" id="gonje-loading-fact">
Did you know? Eating seasonal produce ensures you get the most flavorful and nutrient-rich foods.
</div>
<div class="gonje-loading-progress">
<div class="gonje-loading-progress-bar" id="gonje-loading-progress-bar"></div>
</div>
<div class="gonje-loading-countdown" id="gonje-loading-countdown">Loading your content...</div>
<div class="gonje-loading-tip">Gonje Tip: Ordering in advance helps ensure you get the best delivery slots!</div>
</div>
</div>
<!-- Your page content would go here -->
<script>
document.addEventListener('DOMContentLoaded', function() {
const loadingOverlay = document.getElementById('gonje-loading-overlay');
const progressBar = document.getElementById('gonje-loading-progress-bar');
const factElement = document.getElementById('gonje-loading-fact');
const countdownElement = document.getElementById('gonje-loading-countdown');
// Food and grocery facts
const facts = [
"Eating seasonal produce ensures you get the most flavorful and nutrient-rich foods.",
"Frozen vegetables can be just as nutritious as fresh ones, as they're frozen at peak ripeness.",
"Meal planning can reduce food waste by up to 15% and save the average family $1,500 per year.",
"Local food often travels less than 100 miles from farm to table, reducing carbon footprint.",
"Properly stored, apples can stay fresh for up to 4 months in the refrigerator.",
"Leafy greens like spinach and kale are most nutritious when consumed within 1-2 days of purchase.",
"Buying in bulk reduces packaging waste and can save up to 20% on grocery bills.",
"Herbs stay fresh longer when stored like flowers - stems in water, covered with a plastic bag.",
"Food delivery services reduce individual car trips to grocery stores, helping the environment.",
"Planning meals around sales and seasonal items can cut grocery costs by 25% or more."
];
let currentFact = 0;
let progress = 0;
// Change fact every 5 seconds
setInterval(() => {
currentFact = (currentFact + 1) % facts.length;
factElement.textContent = facts[currentFact];
}, 5000);
// Simulate loading progress based on actual page loading
function updateProgress() {
// Get the actual page load progress (this is an approximation)
const resources = window.performance.getEntriesByType("resource");
const totalResources = resources.length;
if (totalResources > 0) {
// Calculate progress based on loaded resources
const loadedResources = resources.filter(r => r.duration > 0).length;
progress = Math.min(100, Math.round((loadedResources / totalResources) * 100));
} else {
// Fallback: Increment progress gradually if we can't track resources
progress = Math.min(100, progress + Math.random() * 15);
}
progressBar.style.width = progress + '%';
// Update countdown text
countdownElement.textContent = `Loading: ${progress}% complete`;
// Continue updating until page is fully loaded
if (progress < 100) {
setTimeout(updateProgress, 300);
}
}
// Start tracking progress
updateProgress();
// Hide loader when page is fully loaded
window.addEventListener('load', function() {
progress = 100;
progressBar.style.width = '100%';
countdownElement.textContent = "Loading complete!";
// Hide loading overlay
setTimeout(() => {
loadingOverlay.style.opacity = '0';
setTimeout(() => {
loadingOverlay.style.display = 'none';
}, 500);
}, 500);
});
// Fallback: If load event doesn't fire within 15 seconds, hide the loader
setTimeout(function() {
if (progress < 100) {
progress = 100;
progressBar.style.width = '100%';
countdownElement.textContent = "Loading complete!";
setTimeout(() => {
loadingOverlay.style.opacity = '0';
setTimeout(() => {
loadingOverlay.style.display = 'none';
}, 500);
}, 500);
}
}, 15000);
});
</script>
</body>
</html>";} |
0 |
|
|
1246 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje animated loader |
| 742 |
360 |
a:1:{s:7:"content";s:588:"<style>
.ty-pagination__selected {
color: black;
}
.mobile-bottom-nav {
z-index: 100;
}
.ty-control-group input[type="text"], .ty-control-group input[type="email"], .ty-control-group input[type="password"], .ty-control-group input[type="number"], .ty-control-group input[type="date"], .ty-control-group input[type="search"], .ty-control-group input[type="url"], .ty-control-group input[type="tel"], .ty-control-group textarea, .ty-control-group select {
background-color: #f3f2e9;
border: 1px solid #b5b4af;
color: #000;
border-radius: 4px;
}
</style>";} |
0 |
|
|
1247 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
CUSTOM STYLES |
| 742 |
361 |
a:1:{s:7:"content";s:6474:"<script>
// Create and insert the promo banner as the first element in body
function createPromoBanner() {
// Create banner element
const banner = document.createElement('div');
banner.id = 'promo-banner';
banner.innerHTML = `
<div class="promo-content">
<span class="promo-text">🎉 Celebrate with us! Get a FREE pack of premium beverages with orders of $150 or more from <a href="https://marketplace.gonje.com/adonai-foods" class="promo-link">Adonai Foods</a>. Limited time offer!</span>
<button class="promo-close" aria-label="Close promo banner">×</button>
</div>
`;
// Apply styles to the banner
const styles = `
#promo-banner {
width: 100%;
height: 60px;
background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
color: white;
display: flex;
align-items: center;
justify-content: center;
position: fixed;
top: 0;
left: 0;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
z-index: 1000;
}
.promo-content {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
max-width: 1200px;
padding: 0 20px;
position: relative;
margin: 0 auto;
}
.promo-text {
font-size: 14px;
font-weight: 500;
text-align: center;
padding: 0 30px;
}
.promo-link {
color: #fff;
font-weight: 700;
text-decoration: underline;
transition: all 0.2s ease;
}
.promo-link:hover {
color: #ffeb3b;
text-decoration: none;
}
.promo-close {
position: absolute;
right: 20px;
background: rgba(255,255,255,0.2);
border: none;
color: white;
width: 24px;
height: 24px;
border-radius: 50%;
cursor: pointer;
font-size: 16px;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.2s ease;
}
.promo-close:hover {
background: rgba(255,255,255,0.3);
}
/* Style for navigation when banner is visible */
.tygh-top-panel.clearfix.banner-visible {
top: 60px;
position: relative;
}
@media (max-width: 768px) {
#promo-banner {
height: auto;
min-height: 60px;
padding: 10px 0;
}
.promo-text {
font-size: 13px;
padding: 0 40px 0 20px;
}
.promo-close {
right: 10px;
}
.tygh-top-panel.clearfix.banner-visible {
top: 70px;
position: relative;
}
}
`;
// Create style element and add styles
const styleSheet = document.createElement('style');
styleSheet.textContent = styles;
document.head.appendChild(styleSheet);
// Insert the banner as the first element in the body
document.body.insertBefore(banner, document.body.firstChild);
// Function to toggle navigation style
function toggleNavStyle(show) {
const navElement = document.querySelector('.tygh-top-panel.clearfix');
if (navElement) {
if (show) {
navElement.classList.add('banner-visible');
} else {
navElement.classList.remove('banner-visible');
}
}
}
// Apply the style to navigation
toggleNavStyle(true);
// Scroll to the top of the page
window.scrollTo({
top: 0,
behavior: 'smooth'
});
// Add close functionality
const closeButton = banner.querySelector('.promo-close');
closeButton.addEventListener('click', function() {
banner.style.display = 'none';
// Remove the style from navigation
toggleNavStyle(false);
// Store dismissal in localStorage for 24 hours
localStorage.setItem('promoBannerDismissed', 'true');
localStorage.setItem('promoBannerDismissedTime', Date.now());
});
// Check if banner was previously dismissed
const isDismissed = localStorage.getItem('promoBannerDismissed');
const dismissedTime = localStorage.getItem('promoBannerDismissedTime');
if (isDismissed && dismissedTime) {
const twentyFourHours = 10 * 1000;
const now = Date.now();
// Show banner again if 24 hours have passed
if (now - dismissedTime > twentyFourHours) {
localStorage.removeItem('promoBannerDismissed');
localStorage.removeItem('promoBannerDismissedTime');
banner.style.display = 'flex';
// Apply the style to navigation
toggleNavStyle(true);
} else {
banner.style.display = 'none';
// Don't apply the style to navigation
toggleNavStyle(false);
}
}
}
// Initialize the banner when DOM is loaded
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', function() {
createPromoBanner();
});
} else {
createPromoBanner();
}
</script>";} |
0 |
|
|
1249 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Nav Popup Script |
| 742 |
365 |
a:1:{s:7:"content";s:7269:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Support Our Mission ❤️</title>
<!-- Load PayPal SDK (Live) -->
<script src="https://www.paypal.com/sdk/js?client-id=BAAMI9QJMUdgcOrd78yELKz-CQZ7A-1gOFHjXEVOv_XdigjkjcZl6qGLL8BVMWHZTZsjbVvZm2YMTCUqko¤cy=USD"></script>
<style>
/* Floating Widget Styles */
.gonje-donations-widget {
position: fixed;
bottom: 320px;
right: 30px;
width: 53px;
height: 53px;
background: linear-gradient(135deg, #635BFF, #635BFF);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 20px rgba(0, 112, 186, 0.4);
cursor: pointer;
z-index: 1000;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.gonje-donations-widget:hover {
transform: scale(1.1);
box-shadow: 0 6px 25px rgba(0, 112, 186, 0.6);
}
.gonje-donations-widget span {
color: white;
font-size: 24px;
}
/* Modal Styles */
.gonje-donations-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 1001;
align-items: center;
justify-content: center;
}
.gonje-donations-modal.gonje-donations-active {
display: flex;
}
.gonje-donations-modal-content {
background: white;
border-radius: 16px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
width: 90%;
max-width: 500px;
padding: 30px;
position: relative;
animation: gonje-donations-modalFadeIn 0.3s ease;
}
@keyframes gonje-donations-modalFadeIn {
from {
opacity: 0;
transform: translateY(-20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.gonje-donations-close-modal {
position: absolute;
top: 15px;
right: 15px;
font-size: 24px;
cursor: pointer;
color: #888;
background: none;
border: none;
}
.gonje-donations-close-modal:hover {
color: #333;
}
/* Container styles */
.gonje-donations-container {
max-width: 100%;
margin: 0;
background: #fff;
border-radius: 16px;
text-align: center;
}
.gonje-donations-title {
color: #0070ba;
font-weight: 600;
margin-bottom: 10px;
}
.gonje-donations-description {
color: #555;
font-size: 1.1rem;
margin-bottom: 30px;
}
.gonje-donations-input {
width: 100%;
padding: 12px;
font-size: 1.2rem;
border-radius: 10px;
border: 2px solid #e5e7eb;
margin-bottom: 20px;
text-align: center;
}
.gonje-donations-paypal-container {
margin-top: 20px;
}
.gonje-donations-footer {
margin-top: 20px;
color: #888;
font-size: 0.9rem;
}
</style>
</head>
<body>
<!-- Page content (for demonstration) -->
<!-- Floating Donation Widget -->
<div class="gonje-donations-widget" id="gonjeDonationsWidget" style="display: none;">
<span>❤️</span>
</div>
<!-- Modal -->
<div class="gonje-donations-modal" id="gonjeDonationsModal">
<div class="gonje-donations-modal-content">
<button class="gonje-donations-close-modal" id="gonjeCloseModal">×</button>
<div class="gonje-donations-container">
<h1 class="gonje-donations-title">Support Our Mission ❤</h1>
<p class="gonje-donations-description">Your donation helps us continue making an impact.</p>
<input type="number" id="gonjeAmount" class="gonje-donations-input" placeholder="Enter amount (AUD)" min="1" step="0.01" />
<div id="gonje-paypal-button-container" class="gonje-donations-paypal-container"></div>
<footer class="gonje-donations-footer">Powered by PayPal · Secure and Trusted</footer>
</div>
</div>
</div>
<script>
// Check if /amcf is in the URL
function isAmcfInUrl() {
return window.location.href.includes('/amcf');
}
// Initialize the widget only if /amcf is detected
function initializeDonationWidget() {
if (!isAmcfInUrl()) {
return; // Exit if /amcf is not in the URL
}
// Show the widget
const donationWidget = document.getElementById("gonjeDonationsWidget");
donationWidget.style.display = 'flex';
// Get other DOM elements
const donationModal = document.getElementById("gonjeDonationsModal");
const closeModal = document.getElementById("gonjeCloseModal");
const amountInput = document.getElementById("gonjeAmount");
// Open modal when widget is clicked
donationWidget.addEventListener("click", function() {
donationModal.classList.add("gonje-donations-active");
});
// Close modal when X is clicked
closeModal.addEventListener("click", function() {
donationModal.classList.remove("gonje-donations-active");
});
// Close modal when clicking outside the content
donationModal.addEventListener("click", function(e) {
if (e.target === donationModal) {
donationModal.classList.remove("gonje-donations-active");
}
});
// Initialize PayPal buttons
paypal.Buttons({
style: {
shape: "pill",
color: "blue",
layout: "vertical",
label: "paypal",
},
// Create the order with dynamic user amount
createOrder: function (data, actions) {
const amount = parseFloat(amountInput.value);
if (!amount || amount < 1) {
alert("Please enter a valid amount (minimum $1)");
throw new Error("Invalid amount");
}
return actions.order.create({
purchase_units: [{
description: "Donation to Support Our Mission",
amount: {
value: amount.toFixed(2),
},
}],
});
},
// On successful approval
onApprove: function (data, actions) {
return actions.order.capture().then(function (details) {
alert(`???? Thank you, ${details.payer.name.given_name}! Your donation of $${details.purchase_units[0].amount.value} was successful.`);
amountInput.value = "";
donationModal.classList.remove("gonje-donations-active"); // Close modal after donation
});
},
// Handle payment errors
onError: function (err) {
console.error(err);
alert("❌ An error occurred while processing your payment. Please try again.");
},
}).render("#gonje-paypal-button-container");
}
// Initialize the widget when the page loads
document.addEventListener('DOMContentLoaded', initializeDonationWidget);
</script>
</body>
</html>";} |
0 |
|
|
1282 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Donations AMCF |
| 742 |
368 |
a:1:{s:7:"content";s:28326:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gonje Widgets</title>
<link rel="stylesheet" href="https://cdn-uicons.flaticon.com/2.1.0/uicons-regular-rounded/css/uicons-regular-rounded.css">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
<style>
/* ---------- Base Reset ---------- */
/* ---------- Hamburger – bottom-right ---------- */
.gonje-hamburger-btn{
position:fixed;bottom:100px;right:20px;width:56px;height:56px;background:#999;border-radius:50%;
display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;
box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:9999;transition:transform .3s;
}
.gonje-hamburger-btn:hover{transform:scale(1.08)}
.gonje-hamburger-bar{width:22px;height:3px;background:#fff;margin:3px 0;border-radius:2px;transition:all .3s}
.gonje-hamburger-btn.open .gonje-hamburger-bar:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.gonje-hamburger-btn.open .gonje-hamburger-bar:nth-child(2){opacity:0}
.gonje-hamburger-btn.open .gonje-hamburger-bar:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
/* ---------- Modern Modal (compact) ---------- */
.gonje-modern-modal{
position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:10000;display:none;
align-items:center;justify-content:center;padding:12px;
animation:fadeIn .3s ease;
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.gonje-modern-modal-content{
background:#fff;width:100%;max-width:420px;border-radius:12px;
box-shadow:0 10px 40px rgba(0,0,0,.25);
animation:slideUp .35s ease;
display:flex;flex-direction:column;
max-height:calc(100vh - 24px); /* prevent cutoff */
}
@keyframes slideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.gonje-modern-modal-header{
flex-shrink:0;display:flex;align-items:center;justify-content:space-between;
padding:14px 16px 12px;border-bottom:1px solid #e5e5e5;
}
.gonje-modern-modal-title{font-size:16px;font-weight:600;color:#222}
.gonje-modern-modal-close{
background:none;border:none;font-size:22px;color:#777;cursor:pointer;transition:color .2s;
}
.gonje-modern-modal-close:hover{color:#000}
.gonje-modern-modal-body{
padding:12px 16px 16px;flex:1 1 auto;overflow-y:auto; /* scroll if content tall */
display:flex;flex-direction:column;gap:14px
}
/* Section titles */
.gonje-modal-section-title{font-size:13px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px}
/* Icon grid */
.gonje-icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gonje-icon-item{
background:#28A745;border-radius:8px;display:flex;flex-direction:column;
align-items:center;justify-content:center;padding:10px 6px;color:#fff;
text-decoration:none;font-size:11px;font-weight:500;transition:background .2s,transform .2s;
text-align:center;line-height:1.2
}
.gonje-icon-item:hover{background:#218838;transform:scale(1.05)}
.gonje-icon-item i{font-size:20px;margin-bottom:4px}
/* Quick links */
.gonje-quick-links{display:flex;flex-direction:column;gap:8px}
.gonje-quick-link{
display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;
background:#f7f7f7;color:#222;text-decoration:none;font-size:13px;font-weight:500;
transition:background .2s;
}
.gonje-quick-link:hover{background:#ececec}
.gonje-quick-link i{font-size:16px;width:18px;text-align:center;color:#28A745}
</style>
</head>
<body>
<!-- Hamburger -->
<div class="gonje-hamburger-btn" id="gonjeHamburgerBtn" aria-label="Open menu" aria-expanded="false">
<div class="gonje-hamburger-bar"></div>
<div class="gonje-hamburger-bar"></div>
<div class="gonje-hamburger-bar"></div>
</div>
<!-- Modern Modal -->
<div class="gonje-modern-modal" id="gonjeModernModal" aria-hidden="true">
<div class="gonje-modern-modal-content">
<div class="gonje-modern-modal-header">
<span class="gonje-modern-modal-title">Gonje Hub</span>
<button class="gonje-modern-modal-close" id="gonjeModalClose" aria-label="Close modal">×</button>
</div>
<div class="gonje-modern-modal-body">
<!-- Utilities Section -->
<div class="gonje-modal-section">Utilities</div>
<div class="gonje-icon-grid">
<a href="#" class="gonje-icon-item" id="utilCamera">
<i class="fi fi-rr-camera"></i>
<span>QR Code Scanner</span>
</a>
<a href="https://marketplace.gonje.com/support" class="gonje-icon-item">
<i class="fas fa-headset"></i>
<span>Support</span>
</a>
<a href="#" class="gonje-icon-item" id="utilSustainable">
<i class="fas fa-leaf"></i>
<span>Eco</span>
</a>
</div>
<!-- Quick Links Section -->
<div class="gonje-modal-section">Quick Links</div>
<div class="gonje-quick-links">
<a href="https://marketplace.gonje.com/suppliers" class="gonje-quick-link">
<i class="fas fa-truck"></i>
<span>Suppliers</span>
</a>
<a href="https://marketplace.gonje.com/index.php?dispatch=companies.apply_for_vendor" class="gonje-quick-link">
<i class="fas fa-store"></i>
<span>Become a Seller</span>
</a>
<a href="https://marketplace.gonje.com/gift-cards" class="gonje-quick-link">
<i class="fas fa-gift"></i>
<span>Gift Cards</span>
</a>
<a href="https://marketplace.gonje.com/elevate-your-shopping-experience-with-gonjes-b2c-module/" class="gonje-quick-link">
<i class="fas fa-blog"></i>
<span>Blog</span>
</a>
<a href="https://marketplace.gonje.com/welcome-to-gonje-marketplace/" class="gonje-quick-link">
<i class="fas fa-question-circle"></i>
<span>How To</span>
</a>
<a href="https://marketplace.gonje.com/what-we-do" class="gonje-quick-link">
<i class="fas fa-info-circle"></i>
<span>What We Do</span>
</a>
<a href="https://marketplace.gonje.com/orders" class="gonje-quick-link">
<i class="fas fa-receipt"></i>
<span>Orders</span>
</a>
<a href="https://marketplace.gonje.com/wishlist/" class="gonje-quick-link">
<i class="fas fa-calendar-alt"></i>
<span>Grocery Planner</span>
</a>
</div>
</div>
</div>
</div>
<!-- Camera status message -->
<div class="gonje-camera-status-message" id="gonjeCameraStatusMessage"></div>
<script>
/* ---------- Modal Toggle ---------- */
const hamburger = document.getElementById('gonjeHamburgerBtn');
const modal = document.getElementById('gonjeModernModal');
const closeBtn = document.getElementById('gonjeModalClose');
let open = false;
function toggleModal(){
open = !open;
modal.style.display = open ? 'flex' : 'none';
hamburger.classList.toggle('open', open);
hamburger.setAttribute('aria-expanded', open);
modal.setAttribute('aria-hidden', !open);
}
hamburger.addEventListener('click', toggleModal);
closeBtn.addEventListener('click', toggleModal);
modal.addEventListener('click', e => { if(e.target === modal) toggleModal() });
document.addEventListener('keydown', e => { if(e.key === 'Escape' && open) toggleModal() });
/* ---------- Camera Utility ---------- */
const cameraStatus = document.getElementById('gonjeCameraStatusMessage');
document.getElementById('utilCamera').addEventListener('click', e => {
e.preventDefault();
cameraStatus.textContent = 'Opening camera...';
cameraStatus.className = 'gonje-camera-status-message';
const fileInput = document.createElement('input');
fileInput.type = 'file';
fileInput.accept = 'image/*';
fileInput.capture = 'environment';
fileInput.click();
fileInput.addEventListener('change', (ev) => {
if (ev.target.files && ev.target.files.length > 0) {
const file = ev.target.files[0];
if (file.type.startsWith('image/')) {
cameraStatus.textContent = 'Camera opened successfully!';
cameraStatus.className = 'gonje-camera-status-message success';
setTimeout(() => { cameraStatus.textContent = ''; cameraStatus.className = 'gonje-camera-status-message'; }, 3000);
} else {
cameraStatus.textContent = 'Please select an image file.';
cameraStatus.className = 'gonje-camera-status-message error';
}
} else {
cameraStatus.textContent = 'Camera access was cancelled.';
cameraStatus.className = 'gonje-camera-status-message error';
}
toggleModal(); // close modal after action
});
});
/* ---------- Sustainable Utility ---------- */
document.getElementById('utilSustainable').addEventListener('click', e => {
e.preventDefault();
toggleModal(); // close quick modal first
// Inject large sustainable modal
const sustainableModal = document.createElement('div');
sustainableModal.className = 'gonje-sustainable-modal';
sustainableModal.innerHTML = `
<div class="gonje-sustainable-modal-content">
<div class="gonje-sustainable-modal-header">
<h2 class="gonje-sustainable-modal-title" style="color:#fff;">
<i class="fas fa-leaf"></i>
Our Sustainable Packaging
</h2>
<button class="gonje-sustainable-modal-close" aria-label="Close modal">×</button>
</div>
<div class="gonje-sustainable-modal-body">
<div class="gonje-sustainable-modal-intro">
<p class="gonje-sustainable-modal-description">
At our company, we're committed to sustainable packaging solutions that minimize environmental impact
while protecting your products. Our comprehensive approach covers every aspect of packaging, from
material selection to end-of-life disposal.
</p>
</div>
<div class="gonje-sustainable-modal-image">
<img src="https://marketplace.gonje.com/images/gonje-sustainable-sm.jpeg" alt="Sustainable Packaging">
</div>
<div class="gonje-sustainable-impact-statement">
<strong>Overall Impact:</strong> Reduced packaging waste by 45% and eliminated 12 tons of plastic annually
through our sustainable packaging initiatives.
</div>
<div class="gonje-sustainable-practices-container">
<!-- Item 1 -->
<div class="gonje-sustainable-practice-item">
<div class="gonje-sustainable-practice-header">
<div class="gonje-sustainable-practice-icon"><i class="fas fa-recycle"></i></div>
Material Selection
</div>
<div class="gonje-sustainable-practice-details">
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>100% recycled cardboard boxes</span></div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>FSC-certified paper materials</span></div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>Plant-based coatings</span></div>
<div class="gonje-sustainable-impact-statement"><strong>Result:</strong> 92% recycled/compostable materials</div>
</div>
</div>
<!-- Item 2 -->
<div class="gonje-sustainable-practice-item">
<div class="gonje-sustainable-practice-header">
<div class="gonje-sustainable-practice-icon"><i class="fas fa-box-open"></i></div>
Box Design
</div>
<div class="gonje-sustainable-practice-details">
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>AI-optimized sizing</span></div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>Soy-based inks</span></div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>Reusable designs</span></div>
<div class="gonje-sustainable-impact-statement"><strong>Result:</strong> 28% less material used</div>
</div>
</div>
<!-- Item 3 -->
<div class="gonje-sustainable-practice-item">
<div class="gonje-sustainable-practice-header">
<div class="gonje-sustainable-practice-icon"><i class="fas fa-shield-alt"></i></div>
Protection
</div>
<div class="gonje-sustainable-practice-details">
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>Recycled paper padding</span></div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>Starch-based cool packs</span></div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>Compostable fiber trays</span></div>
<div class="gonje-sustainable-impact-statement"><strong>Result:</strong> 3.5 tons plastic eliminated</div>
</div>
</div>
<!-- Item 4 -->
<div class="gonje-sustainable-practice-item">
<div class="gonje-sustainable-practice-header">
<div class="gonje-sustainable-practice-icon"><i class="fas fa-tape"></i></div>
Sealing
</div>
<div class="gonje-sustainable-practice-details">
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>Plastic-free paper tape</span></div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>Recyclable labels</span></div>
<div class="gonje-sustainable-impact-statement"><strong>Result:</strong> 100% plastic-free sealing</div>
</div>
</div>
<!-- Item 5 -->
<div class="gonje-sustainable-practice-item">
<div class="gonje-sustainable-practice-header">
<div class="gonje-sustainable-practice-icon"><i class="fas fa-undo"></i></div>
Reusability
</div>
<div class="gonje-sustainable-practice-details">
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>Return discounts</span></div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>Collapsible crates</span></div>
<div class="gonje-sustainable-impact-statement"><strong>Result:</strong> 62% container return rate</div>
</div>
</div>
<!-- Item 6 -->
<div class="gonje-sustainable-practice-item">
<div class="gonje-sustainable-practice-header">
<div class="gonje-sustainable-practice-icon"><i class="fas fa-trash-alt"></i></div>
Waste Reduction
</div>
<div class="gonje-sustainable-practice-details">
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>Clear recycling guides</span></div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i><span>Paper void fill</span></div>
<div class="gonje-sustainable-impact-statement"><strong>Result:</strong> 89% proper recycling</div>
</div>
</div>
</div>
</div>
</div>
`;
document.body.appendChild(sustainableModal);
const closeBtn = sustainableModal.querySelector('.gonje-sustainable-modal-close');
closeBtn.addEventListener('click', () => {
sustainableModal.style.display = 'none';
document.body.style.overflow = 'auto';
});
sustainableModal.addEventListener('click', e => {
if (e.target === sustainableModal) {
sustainableModal.style.display = 'none';
document.body.style.overflow = 'auto';
}
});
document.addEventListener('keydown', e => {
if (e.key === 'Escape' && sustainableModal.style.display === 'block') {
sustainableModal.style.display = 'none';
document.body.style.overflow = 'auto';
}
});
sustainableModal.style.display = 'block';
sustainableModal.setAttribute('aria-hidden', 'false');
document.body.style.overflow = 'hidden';
});
/* ---------- Sustainable Modal Styles ---------- */
const sustainableStyles = document.createElement('style');
sustainableStyles.textContent = `
.gonje-sustainable-modal {
display: none;
position: fixed;
inset: 0;
background: rgba(0,0,0,.7);
z-index: 20000;
overflow-y: auto;
padding: 10px;
}
.gonje-sustainable-modal-content {
background: #fff;
max-width: 900px;
margin: 20px auto;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 5px 20px rgba(0,0,0,.2);
animation: gonje-sustainable-modalFadeIn .3s ease-out;
}
@keyframes gonje-sustainable-modalFadeIn {
from { opacity: 0; transform: translateY(-20px); }
to { opacity: 1; transform: translateY(0); }
}
.gonje-sustainable-modal-header {
background: #1B5E20;
color: #fff;
padding: 15px;
text-align: center;
position: relative;
}
.gonje-sustainable-modal-title {
font-size: 20px;
font-weight: 600;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
}
.gonje-sustainable-modal-close {
position: absolute;
top: 10px;
right: 10px;
background: none;
border: none;
color: #fff;
font-size: 24px;
cursor: pointer;
transition: transform .2s;
}
.gonje-sustainable-modal-close:hover {
transform: rotate(90deg);
}
.gonje-sustainable-modal-body {
display: flex;
flex-direction: column;
padding: 0;
}
.gonje-sustainable-modal-intro {
padding: 15px;
box-sizing: border-box;
order: 1;
}
.gonje-sustainable-modal-description {
font-size: 15px;
line-height: 1.6;
color: #555;
margin-bottom: 15px;
}
.gonje-sustainable-modal-image {
padding: 0 15px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
order: 2;
}
.gonje-sustainable-modal-image img {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 10px rgba(0,0,0,.1);
object-fit: contain;
}
.gonje-sustainable-impact-statement {
font-size: 13px;
background: #E8F5E9;
padding: 10px;
border-radius: 6px;
margin: 15px;
color: #1B5E20;
border-left: 3px solid #2E8B57;
order: 3;
}
.gonje-sustainable-practices-container {
width: 100%;
padding: 0 15px 15px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 15px;
order: 4;
}
.gonje-sustainable-practice-item {
background: #fff;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0,0,0,.05);
border: 1px solid #e0e0e0;
min-width: 0;
width: 100%;
box-sizing: border-box;
}
.gonje-sustainable-practice-header {
background: #1B5E20;
color: #fff;
padding: 10px 12px;
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
font-weight: 600;
}
.gonje-sustainable-practice-icon {
font-size: 16px;
width: 28px;
height: 28px;
background: rgba(255,255,255,.2);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.gonje-sustainable-practice-details {
padding: 12px;
}
.gonje-sustainable-practice-point {
display: flex;
align-items: flex-start;
margin-bottom: 8px;
font-size: 13px;
line-height: 1.5;
gap: 8px;
}
.gonje-sustainable-point-icon {
color: #2E8B57;
font-size: 12px;
margin-top: 3px;
flex-shrink: 0;
}
@media (min-width: 768px) {
.gonje-sustainable-modal-content {
margin: 40px auto;
}
.gonje-sustainable-modal-header {
padding: 20px;
}
.gonje-sustainable-modal-title {
font-size: 24px;
}
.gonje-sustainable-modal-body {
flex-direction: row;
flex-wrap: wrap;
}
.gonje-sustainable-modal-intro {
flex: 1;
min-width: 300px;
padding: 20px;
order: 1;
}
.gonje-sustainable-modal-image {
flex: 1;
min-width: 300px;
padding: 20px;
order: 2;
}
.gonje-sustainable-impact-statement {
width: 100%;
margin: 0 20px 20px;
order: 3;
}
.gonje-sustainable-modal-description {
font-size: 16px;
}
.gonje-sustainable-practices-container {
padding: 0 20px 20px;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
order: 4;
}
.gonje-sustainable-practice-header {
font-size: 15px;
padding: 12px 15px;
}
.gonje-sustainable-practice-point {
font-size: 14px;
}
}
`;
document.head.appendChild(sustainableStyles);
</script>
</body>
</html>";} |
0 |
|
|
1285 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje Hub |
| 513 |
369 |
a:1:{s:7:"content";s:31108:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vendor Search with Modal</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
/* Custom Google Autocomplete Dropdown Styling dev */
.pac-container {
font-family: 'Poppins', sans-serif;
background-color: #fff;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
border: none;
margin-top: 5px;
z-index: 1002 !important;
overflow: hidden;
}
.pac-item {
padding: 12px 16px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.2s ease;
cursor: pointer;
font-size: 14px;
}
.pac-item:hover {
background-color: #f8f9fa;
}
.pac-item-query {
font-size: 15px;
color: #333;
font-weight: 500;
font-family: 'Poppins', sans-serif;
}
.pac-matched {
font-weight: 600;
color: #28A745;
}
.pac-icon {
margin-right: 10px;
color: #666;
}
.pac-item:last-child {
border-bottom: none;
}
.pac-item-selected {
background-color: #e8f5e9;
}
.pac-logo:after {
display: none;
}
/* Hero section styling */
.hero-section {
background-image: url('https://marketplace.gonje.com/images/gonje-experience-homepage.png');
background-size: cover;
background-position: center;
border-radius: 20px;
padding: 30px 30px 60px 20px;
margin: 20px auto;
max-width: 1200px;
position: relative;
top: -30px;
opacity: 0.95;
box-shadow: 0 0 8px rgba(40, 167, 69, 0.5);
}
.hero-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(255, 255, 255, 0.1);
border-radius: 20px;
z-index: 0;
}
.hero-content {
position: relative;
z-index: 1;
}
/* Prevent body scrolling when modal is open */
body.modal-open {
overflow: hidden;
position: fixed;
width: 100%;
}
/* Hero text styling */
.hero-text {
font-family: 'Poppins', sans-serif;
font-size: 42px;
font-weight: 700;
color: #000000;
text-align: center;
margin: 0 0;
line-height: 1.3;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}
/* Modal and search input styling */
.shopnow-gonje-top-vendor-search-container {
width: 100%;
max-width: 600px;
position: relative;
text-align: center;
margin: 10px auto 0;
}
.shopnow-gonje-top-vendor-search-input,
.shopnow-gonje-top-vendor-search-div {
width: 90%;
padding: 16px;
border: 2px solid #ccc;
border-radius: 20px;
font-size: 18px;
font-family: 'Poppins', sans-serif;
outline: none;
transition: border-color 0.3s ease;
margin: 0 auto 0 auto;
text-align: center;
cursor: pointer;
background-color: white;
}
/* No vendors link styling */
.no-vendors-link {
font-family: 'Poppins', sans-serif;
font-size: 12px;
color: #666;
text-decoration: underline;
display: block;
margin-bottom: 20px;
}
.no-vendors-link:hover {
color: #28A745;
text-decoration: underline;
}
/* Center placeholder text on larger screens */
@media (min-width: 992px) {
.shopnow-gonje-top-vendor-search-input::placeholder,
.shopnow-location-input::placeholder {
text-align: center;
}
}
.shopnow-gonje-top-vendor-search-input:hover,
.shopnow-gonje-top-vendor-search-div:hover {
border-color: #70ab4b;
}
.shopnow-gonje-top-vendor-search-input:focus,
.shopnow-gonje-top-vendor-search-div:focus {
border-color: #0056b3;
}
.shopnow-gonje-top-vendor-search-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
justify-content: center;
align-items: center;
transition: opacity 0.3s ease;
z-index: 1000;
overflow-y: auto;
}
.shopnow-gonje-top-vendor-search-modal-content {
background: white;
padding: 20px;
border-radius: 10px;
width: 90%;
max-width: 500px;
text-align: center;
position: relative;
z-index: 1001;
max-height: 90vh;
margin: 20px 0;
overflow-y: auto;
}
.shopnow-gonje-top-vendor-search-close-btn {
position: absolute;
top: 10px;
right: 15px;
font-size: 18px;
cursor: pointer;
}
/* Vendor search container styling */
.shopnow-search-container {
margin: 20px;
text-align: center;
width: calc(100% - 40px);
}
.shopnow-search-container input,
.shopnow-search-container button {
padding: 12px;
margin: 5px;
font-size: 16px;
width: 100%;
border: 1px solid #28A745;
border-radius: 8px;
transition: all 0.3s ease-in-out;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
box-sizing: border-box;
}
.shopnow-search-container input {
background-color: #f9fcf5;
outline: none;
}
.shopnow-search-container input:focus {
border-color: #28A745;
box-shadow: 0 0 8px rgba(40, 167, 69, 0.5);
}
.shopnow-search-container button {
background-color: #28A745;
color: white;
border: none;
cursor: pointer;
font-weight: bold;
}
.shopnow-search-container button:hover {
background-color: #1e7e34;
box-shadow: 0 3px 8px rgba(30, 126, 52, 0.3);
}
/* Loading spinner styles */
.loading-spinner {
display: inline-block;
width: 20px;
height: 20px;
border: 3px solid rgba(255,255,255,.3);
border-radius: 50%;
border-top-color: #fff;
animation: spin 1s ease-in-out infinite;
margin-right: 10px;
vertical-align: middle;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
.loading-text {
text-align: center;
color: #666;
font-style: italic;
}
/* Vendor item styling - make entire item clickable */
.shopnow-vendor-item {
border: 1px solid #ddd;
padding: 15px;
margin: 10px 0;
border-radius: 8px;
background-color: #ffffff;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
width: calc(100% - 30px);
transition: all 0.2s ease;
display: block;
text-decoration: none;
color: inherit;
}
.shopnow-vendor-item:hover {
background-color: #f8f9fa;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
transform: translateY(-2px);
}
.shopnow-vendor-content {
display: flex;
align-items: center;
}
.shopnow-vendor-logo {
width: 18%;
height: auto;
object-fit: cover;
margin-right: 15px;
}
.shopnow-vendor-details {
width: 100%;
text-align: left;
}
.shopnow-vendor-details h3 {
color: #28A745;
margin-bottom: 5px;
}
.shopnow-search-container input[type="range"] {
width: 100%;
height: 8px;
background: #ddd;
border-radius: 5px;
border: none;
-webkit-appearance: none;
appearance: none;
outline: none;
}
.shopnow-search-container input[type="range"]::-webkit-slider-runnable-track {
height: 8px;
background: #28A745;
border-radius: 5px;
}
.shopnow-search-container input[type="range"]::-moz-range-track {
height: 8px;
background: #28A745;
border-radius: 5px;
}
.shopnow-search-container input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
width: 20px;
height: 20px;
background: #28A745;
border-radius: 50%;
cursor: pointer;
border: 2px solid white;
margin-top: -6px;
}
.shopnow-search-container input[type="range"]::-moz-range-thumb {
width: 20px;
height: 20px;
background: #28A745;
border-radius: 50%;
cursor: pointer;
border: 2px solid white;
}
.shopnow-radius-label {
font-weight: bold;
color: #28A745;
display: block;
margin: 10px 0;
}
/* Mailchimp Modal Styling */
.mailchimp-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
justify-content: center;
align-items: center;
z-index: 1000;
overflow-y: auto;
}
.mailchimp-modal-content {
background: white;
padding: 30px;
border-radius: 10px;
width: 90%;
max-width: 500px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
position: relative;
margin: 20px 0;
max-height: 90vh;
overflow-y: auto;
}
.mailchimp-close-btn {
position: absolute;
top: 15px;
right: 20px;
font-size: 24px;
cursor: pointer;
color: #666;
background: none;
border: none;
}
#mc_embed_signup {
background: transparent;
font-family: 'Poppins', sans-serif;
width: 100%;
}
#mc_embed_signup h2 {
font-size: 24px;
font-weight: 600;
color: #28A745;
margin-bottom: 20px;
text-align: center;
}
#mc_embed_signup .indicates-required {
text-align: right;
font-size: 12px;
color: #666;
margin-bottom: 15px;
}
#mc_embed_signup .asterisk {
color: #e74c3c;
}
#mc_embed_signup .mc-field-group {
margin-bottom: 20px;
width: 100%;
}
#mc_embed_signup label {
display: block;
font-size: 14px;
margin-bottom: 8px;
color: #333;
font-weight: 500;
}
#mc_embed_signup input {
width: 100%;
padding: 12px 15px;
border: 1px solid #ddd;
border-radius: 8px;
font-size: 16px;
transition: border-color 0.3s;
box-sizing: border-box;
}
#mc_embed_signup input:focus {
border-color: #28A745;
outline: none;
box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.2);
}
#mc_embed_signup .button {
background-color: #28A745;
color: white;
border: none;
padding: 14px 20px;
border-radius: 8px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
width: 100%;
transition: background-color 0.3s;
margin-top: 10px;
}
#mc_embed_signup .button:hover {
background-color: #1e7e34;
}
#mc_embed_signup .response {
margin: 15px 0;
padding: 10px;
border-radius: 5px;
font-size: 14px;
}
#mc_embed_signup #mce-error-response {
color: #e74c3c;
background-color: #fdecea;
}
#mc_embed_signup #mce-success-response {
color: #28A745;
background-color: #e8f5e9;
}
@media (max-width: 768px) {
.hero-text {
font-size: 32px;
}
.shopnow-gonje-top-vendor-search-div,
.shopnow-location-input {
font-size: 16px;
padding: 14px;
}
.shopnow-gonje-top-vendor-search-modal-content,
.mailchimp-modal-content {
padding: 20px;
width: 85%;
}
#mc_embed_signup h2 {
font-size: 20px;
}
}
</style>
</head>
<body>
<!-- Hero Section -->
<div class="hero-section">
<div class="hero-content">
<!-- Hero Text -->
<div class="hero-text">
Begin Your Gonje Journey Today! Shop Now
</div>
<!-- Search Input -->
<div class="shopnow-gonje-top-vendor-search-container">
<div class="shopnow-gonje-top-vendor-search-div" id="shopNowButton">Enter address to find vendors near by 🌎</div>
<a href="#" class="no-vendors-link" id="noVendorsLink">Click here if you don't find any vendors nearby</a>
</div>
</div>
</div>
<!-- Vendor Search Modal -->
<div class="shopnow-gonje-top-vendor-search-modal">
<div class="shopnow-gonje-top-vendor-search-modal-content">
<span class="shopnow-gonje-top-vendor-search-close-btn">×</span>
<h2>Search for vendors</h2>
<div class="shopnow-search-container">
<input type="text" class="shopnow-location-input" placeholder="Enter address to find vendors near by 🌎">
<input type="range" class="shopnow-radius-slider" min="1" max="50" value="10" oninput="updateRadiusLabel(this.value)">
<span class="shopnow-radius-label">10 km</span>
<button onclick="fetchCompanies(1)">Search</button>
</div>
<div class="shopnow-company-list"></div>
<a href="#" class="no-vendors-link" id="modalNoVendorsLink" style="display: none;">Click here if you don't find any vendors nearby</a>
</div>
</div>
<!-- Mailchimp Form Modal marketplace.gonje.com -->
<div class="mailchimp-modal" id="mailchimpModal">
<div class="mailchimp-modal-content">
<span class="mailchimp-close-btn" id="mailchimpCloseBtn">×</span>
<div id="mc_embed_signup">
<form action="https://gonje.us20.list-manage.com/subscribe/post?u=8293c49fe797c04b3b9f52c23&id=b040c42304&f_id=00d3c7f1f0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
<div id="mc_embed_signup_scroll">
<h2>Get Notified When Vendors Are Available</h2>
<div class="indicates-required"><span class="asterisk">*</span> indicates required</div>
<div class="mc-field-group">
<label for="mce-EMAIL">Email Address <span class="asterisk">*</span></label>
<input type="email" name="EMAIL" class="required email" id="mce-EMAIL" required placeholder="your@email.com">
</div>
<div class="mc-field-group">
<label for="mce-POSTCODE">Postal Code <span class="asterisk">*</span></label>
<input type="text" name="POSTCODE" class="required text" id="mce-POSTCODE" required placeholder="e.g. 90210">
</div>
<div id="mce-responses" class="clear">
<div class="response" id="mce-error-response" style="display:none"></div>
<div class="response" id="mce-success-response" style="display:none"></div>
</div>
<div aria-hidden="true" style="position: absolute; left: -5000px;">
<input type="text" name="b_8293c49fe797c04b3b9f52c23_b040c42304" tabindex="-1" value="">
</div>
<div class="clear">
<input type="submit" name="subscribe" id="mc-embedded-subscribe" class="button" value="Subscribe">
</div>
</div>
</form>
</div>
</div>
</div>
<script>
// Vendor search modal functionality
document.getElementById('shopNowButton').addEventListener('click', function(event) {
event.preventDefault();
document.body.classList.add('modal-open');
document.querySelector('.shopnow-gonje-top-vendor-search-modal').style.display = 'flex';
});
document.querySelector('.shopnow-gonje-top-vendor-search-close-btn').addEventListener('click', function() {
document.body.classList.remove('modal-open');
document.querySelector('.shopnow-gonje-top-vendor-search-modal').style.display = 'none';
});
// Mailchimp modal functionality
function showMailchimpModal() {
document.body.classList.add('modal-open');
document.getElementById('mailchimpModal').style.display = 'flex';
// Pre-fill the postal code if we have it
if (userPostcode) {
document.getElementById('mce-POSTCODE').value = userPostcode;
}
}
document.getElementById('noVendorsLink').addEventListener('click', function(event) {
event.preventDefault();
showMailchimpModal();
});
document.getElementById('modalNoVendorsLink').addEventListener('click', function(event) {
event.preventDefault();
showMailchimpModal();
});
document.getElementById('mailchimpCloseBtn').addEventListener('click', function() {
document.body.classList.remove('modal-open');
document.getElementById('mailchimpModal').style.display = 'none';
});
// Close modals when clicking outside
window.addEventListener('click', function(event) {
if (event.target === document.querySelector('.shopnow-gonje-top-vendor-search-modal')) {
document.body.classList.remove('modal-open');
document.querySelector('.shopnow-gonje-top-vendor-search-modal').style.display = 'none';
}
if (event.target === document.getElementById('mailchimpModal')) {
document.body.classList.remove('modal-open');
document.getElementById('mailchimpModal').style.display = 'none';
}
});
// Vendor search functionality
let userLatitude = null;
let userLongitude = null;
let userPostcode = null;
let userState = null;
let userAddress = null;
function updateRadiusLabel(value) {
document.querySelector('.shopnow-radius-label').innerText = value + " km";
}
function fetchCompanies(page = 1) {
const radius = document.querySelector('.shopnow-radius-slider').value;
const searchButton = document.querySelector('.shopnow-search-container button');
if (!userLatitude || !userLongitude) {
alert("Please enter a valid address.");
return;
}
// Show loading state
searchButton.innerHTML = '<span class="loading-spinner"></span> Searching...';
searchButton.disabled = true;
const companyList = document.querySelector('.shopnow-company-list');
companyList.innerHTML = '<p class="loading-text">Searching for vendors...</p>';
// Include all collected data in the request
const url = new URL('https://ecartifymarketplace.gonje.com/vendor_search.php');
url.searchParams.append('page', page);
url.searchParams.append('lat', userLatitude);
url.searchParams.append('lng', userLongitude);
url.searchParams.append('radius', radius);
if (userPostcode) url.searchParams.append('postcode', userPostcode);
if (userState) url.searchParams.append('state', userState);
if (userAddress) url.searchParams.append('address', userAddress);
fetch(url)
.then(response => response.json())
.then(data => {
companyList.innerHTML = '';
// Show/hide the no vendors link based on results
const noVendorsLink = document.getElementById('modalNoVendorsLink');
if (data.status !== 'ok' || !data.data || data.data.length === 0) {
companyList.innerHTML = '<p>No vendors found.</p>';
noVendorsLink.style.display = 'block';
return;
}
noVendorsLink.style.display = 'none';
data.data.forEach(company => {
const vendorItem = document.createElement('a');
vendorItem.href = company.storefront_url;
const cleanDesc = (company.company_description || '')
.replace(/<p>/gi, '') // remove opening <p>
.replace(/<\/p>/gi, ' ') // remove closing </p>
.trim();
vendorItem.classList.add('shopnow-vendor-item');
vendorItem.innerHTML = `
<div class="shopnow-vendor-content">
<img src="${company.logo_url}" alt="Logo" class="shopnow-vendor-logo">
<div class="shopnow-vendor-details">
<h3>${company.company_name}</h3>
<p>Description: ${cleanDesc}</p>
<p>Distance: ${company.distance} km</p>
</div>
</div>
`;
companyList.appendChild(vendorItem);
});
})
.catch(error => {
console.error('Error fetching companies:', error);
companyList.innerHTML = '<p>An error occurred while fetching companies. Please try again later.</p>';
})
.finally(() => {
// Reset button state
searchButton.innerHTML = 'Search';
searchButton.disabled = false;
});
}
function initAutocomplete() {
const input = document.querySelector('.shopnow-location-input');
const autocomplete = new google.maps.places.Autocomplete(input, {
types: ['geocode'],
fields: ['geometry', 'address_components', 'formatted_address'],
componentRestrictions: { country: 'au' } // This restricts results to Australia
});
autocomplete.addListener('place_changed', function () {
const place = autocomplete.getPlace();
if (!place.geometry) {
alert("No location found. Please select from the dropdown.");
return;
}
// Store all location data
userLatitude = place.geometry.location.lat();
userLongitude = place.geometry.location.lng();
userAddress = place.formatted_address;
// Reset these values before checking components
userPostcode = '';
userState = '';
// Extract address components
place.address_components.forEach(component => {
if (component.types.includes('postal_code')) {
userPostcode = component.long_name;
}
if (component.types.includes('administrative_area_level_1')) {
userState = component.short_name;
}
});
console.log('Location data collected:', {
address: userAddress,
postcode: userPostcode,
state: userState,
coordinates: { lat: userLatitude, lng: userLongitude }
});
});
}
// Enhanced Mailchimp form handling
document.getElementById('mc-embedded-subscribe-form').addEventListener('submit', function(e) {
e.preventDefault();
// Get form data
const formData = new FormData(this);
const email = formData.get('EMAIL');
const postcode = formData.get('POSTCODE') || userPostcode;
// Validate required fields
if (!email || !postcode) {
alert('Please fill in all required fields');
return;
}
// Prepare Mailchimp submission data
const mailchimpData = {
u: '8293c49fe797c04b3b9f52c23',
id: 'b040c42304',
EMAIL: email,
POSTCODE: postcode,
STATE: userState || '',
ADDRESS: userAddress || '',
SOURCE: 'Vendor Search',
'b_8293c49fe797c04b3b9f52c23_b040c42304': '' // Hidden field
};
// Show loading state
const submitBtn = document.getElementById('mc-embedded-subscribe');
submitBtn.disabled = true;
submitBtn.value = 'Sending...';
// Submit to Mailchimp
fetch('https://gonje.us20.list-manage.com/subscribe/post-json', {
method: 'POST',
body: new URLSearchParams(mailchimpData),
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
mode: 'no-cors'
})
.then(response => {
if (!response.ok) throw new Error('Network response was not ok');
return response.json();
})
.then(data => {
if (data.result === 'success') {
// Show success message
document.getElementById('mce-success-response').style.display = 'block';
document.getElementById('mce-success-response').innerHTML = 'Thank you for subscribing!';
document.getElementById('mce-error-response').style.display = 'none';
// Close modal after 2 seconds
setTimeout(() => {
document.body.classList.remove('modal-open');
document.getElementById('mailchimpModal').style.display = 'none';
}, 2000);
} else {
throw new Error(data.msg || 'Subscription failed');
}
})
.catch(error => {
console.error('Mailchimp submission error:', error);
document.getElementById('mce-error-response').style.display = 'block';
document.getElementById('mce-error-response').innerHTML = 'Subscription failed: ' + error.message;
document.getElementById('mce-success-response').style.display = 'none';
})
.finally(() => {
submitBtn.disabled = false;
submitBtn.value = 'Subscribe';
});
});
// Load Google Maps API
const script = document.createElement('script');
script.src = "https://maps.googleapis.com/maps/api/js?key=AIzaSyCxMO0g5Vv0ZtSthhrrXMVOYVBcjf4G1hw&libraries=places&callback=initAutocomplete";
script.async = true;
script.defer = true;
document.body.appendChild(script);
// Load Mailchimp validation script
const mailchimpScript = document.createElement('script');
mailchimpScript.src = "//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js";
mailchimpScript.async = true;
document.body.appendChild(mailchimpScript);
// Mailchimp configuration
(function($) {
window.fnames = new Array();
window.ftypes = new Array();
fnames[0]='EMAIL';
ftypes[0]='email';
fnames[6]='POSTCODE';
ftypes[6]='text';
fnames[7]='STATE';
ftypes[7]='text';
fnames[8]='ADDRESS';
ftypes[8]='text';
}(jQuery));
var $mcj = jQuery.noConflict(true);
</script>
</body>
</html>";} |
0 |
|
|
1286 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
VENDOR SEARCH HOME |
| 753 |
393 |
a:1:{s:7:"content";s:700:"{** block-description:tmpl_logo **}
<div class="ty-logo-container">
{$logo_link = $block.properties.enable_link|default:"Y" == "Y"}
{if $logo_link}
<a href="https://marketplace.gonje.com/" title="{$logos.theme.image.alt}">
{/if}
{include file="common/image.tpl"
images=$logos.theme.image
class="ty-logo-container__image"
image_additional_attrs=["width" => $logos.theme.image.image_x, "height" => $logos.theme.image.image_y]
obj_id=false
show_no_image=false
show_detailed_link=false
capture_image=false
}
{if $logo_link}
</a>
{/if}
</div>
";} |
0 |
|
|
1356 |
|
|
0 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
modify blog for logo |
| 756 |
394 |
a:1:{s:7:"content";s:54:"<style>
.tygh-top-panel{
padding:unset;
}
</style>";} |
0 |
|
|
1357 |
|
|
0 |
A |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Header style points |
| 754 |
3 |
a:1:{s:4:"menu";s:1:"1";} |
0 |
|
|
1201 |
|
top-quick-links |
1 |
A |
menu |
a:2:{s:8:"template";s:26:"blocks/menu/text_links.tpl";s:18:"show_items_in_line";s:1:"Y";} |
0 |
1 |
en |
Quick links |
| 509 |
6 |
|
0 |
|
|
769 |
|
|
1 |
D |
call_request |
a:1:{s:8:"template";s:44:"addons/call_requests/blocks/call_request.tpl";} |
0 |
1 |
en |
Call Request |
| 514 |
11 |
|
0 |
|
|
773 |
|
|
1 |
D |
main |
|
0 |
1 |
en |
Main Content |
| 738 |
17 |
a:1:{s:7:"content";s:340:"
<ul id="about_cs_cart_links">
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=1"|fn_url}">Our team</a></li>
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=3"|fn_url}">Privacy policy</a></li>
</ul>";} |
0 |
|
|
1168 |
blocks/wrappers/footer_general.tpl |
footer-no-wysiwyg |
1 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
About us |
| 519 |
17 |
a:1:{s:7:"content";s:340:"
<ul id="about_cs_cart_links">
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=1"|fn_url}">Our team</a></li>
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=3"|fn_url}">Privacy policy</a></li>
</ul>";} |
0 |
|
|
784 |
|
|
1 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
About us |
| 517 |
21 |
a:1:{s:5:"items";a:1:{s:7:"filling";s:3:"all";}} |
0 |
|
|
781 |
blocks/wrappers/mainbox_simple.tpl |
ty-homepage-vendors |
1 |
D |
vendors |
a:7:{s:8:"template";s:49:"blocks/vendor_list_templates/featured_vendors.tpl";s:17:"number_of_columns";s:1:"5";s:13:"show_location";s:1:"Y";s:11:"show_rating";s:1:"Y";s:18:"show_vendor_rating";s:1:"Y";s:19:"show_products_count";s:1:"Y";s:17:"displayed_vendors";s:1:"5";} |
0 |
1 |
en |
Featured Vendors |
| 735 |
129 |
a:1:{s:7:"content";s:261:"
<ul id="demo_store_links">
<li class="ty-footer-menu__item"><a href="{"companies.apply_for_vendor"|fn_url}">Apply for a seller account</a></li>
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=15"|fn_url}">Vendor terms & conditions</a></li>
</ul>";} |
0 |
|
|
1165 |
blocks/wrappers/footer_general.tpl |
footer-no-wysiwyg |
1 |
A |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Become a seller |
| 515 |
133 |
a:1:{s:5:"items";a:2:{s:7:"filling";s:8:"manually";s:8:"item_ids";s:1:"6";}} |
0 |
|
|
776 |
|
homepage-banners ty-banners-free-ship |
1 |
D |
banners |
a:1:{s:8:"template";s:34:"addons/banners/blocks/original.tpl";} |
0 |
1 |
en |
Free shipping |
| 742 |
165 |
a:1:{s:7:"content";s:136:"<p><br></p>
<figure><img src="https://backendapi.gonje.com/public/gonje-storage/public/images/payment-methods.png"></figure>
<p><br></p>";} |
0 |
|
|
1171 |
|
|
1 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje Payment methods |
| 516 |
189 |
a:1:{s:7:"content";s:343:"<style>
.hero-banner {
width: 100%;
max-width: 100%;
overflow: hidden;
margin-bottom: 30px;
}
.hero-banner img {
width: 100%;
height: auto;
display: block;
}
</style>
<div class="hero-banner">
<a href="/ready-made-food"><img src="https://backendapi.gonje.com/public/Food-Instagram-Story-08-new.jpg" alt="Hero Banner"> </a>
</div>";} |
0 |
|
|
779 |
|
|
1 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Side banner |
| 756 |
190 |
a:1:{s:7:"content";s:1154:"<style>
.marquee {
width: 100%;
overflow: hidden;
background: linear-gradient(90deg, #ff6f61, #d5a6a1);
color: white;
padding: 10px;
font-size: 24px;
font-weight: bold;
white-space: nowrap;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.marquee-content {
display: inline-block;
padding-left: 100%;
animation: marquee 35s linear infinite; /* Increased duration to slow down */
}
@keyframes marquee {
from {
transform: translateX(100%);
}
to {
transform: translateX(-100%);
}
}
</style>
<div class="marquee">
<div class="marquee-content" style="color:#fff;font-size:20px;">
Welcome to Our Marketplace! Explore a wide range of fresh groceries, exclusive deals, and special offers just for you. Don’t miss out on our limited-time discounts and seasonal promotions. Shop now and enjoy the best quality products delivered right to your door!
</div>
</div>";} |
0 |
|
|
1206 |
|
|
1 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Page Marquee Ad |
| 753 |
221 |
a:1:{s:7:"content";s:475:"<script>
function hideNotifications() {
document.querySelectorAll(".notification-content").forEach(function (element) {
element.style.display = "none";
});
}
// Run once on initial load
setTimeout(hideNotifications, 3000);
// Set up MutationObserver to handle AJAX-loaded elements
const observer = new MutationObserver(function (mutations) {
hideNotifications();
});
observer.observe(document.body, {
childList: true,
subtree: true,
});
</script>";} |
0 |
|
|
1198 |
|
|
1 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Notification timer control |
| 523 |
235 |
a:1:{s:7:"content";s:909:"<script>
// Find the button by its name attribute
const addToCartButton = document.querySelector('button[name="dispatch[checkout.add..8]"]');
// Function to replace text in the specified classes
function replaceTextInClasses() {
const elements = document.querySelectorAll('.ty-minicart-title, .ty-hand');
elements.forEach(element => {
element.textContent = '';
});
console.log('Text replaced in .ty-minicart-title and .ty-hand');
}
// Add click event listener to the button
if (addToCartButton) {
addToCartButton.addEventListener('click', function(event) {
// Optional: Prevent default button behavior if needed
// event.preventDefault();
// Execute the text replacement
replaceTextInClasses();
// Optional: Add a delay if the content appears dynamically
// setTimeout(replaceTextInClasses, 1000);
});
} else {
console.log('Button not found');
}
</script>";} |
0 |
|
|
789 |
|
|
1 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Replace cart title with empty string |
| 513 |
324 |
a:1:{s:7:"content";s:32748:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vendor Search with Modal</title>
<!-- Add Font Awesome CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
/* Custom Google Autocomplete Dropdown Styling */
.pac-container {
font-family: 'Poppins', sans-serif;
background-color: #fff;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
border: none;
margin-top: 5px;
z-index: 1002 !important;
overflow: hidden;
}
.pac-item {
padding: 12px 16px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.2s ease;
cursor: pointer;
font-size: 14px;
}
.pac-item:hover {
background-color: #f8f9fa;
}
.pac-item-query {
font-size: 15px;
color: #333;
font-weight: 500;
font-family: 'Poppins', sans-serif;
}
.pac-matched {
font-weight: 600;
color: #28A745;
}
.pac-icon {
margin-right: 10px;
color: #666;
}
.pac-item:last-child {
border-bottom: none;
}
.pac-item-selected {
background-color: #e8f5e9;
}
.pac-logo:after {
display: none;
}
/* Hero section styling */
.hero-section {
background-image: url('https://marketplace.gonje.com/images/gonje-experience-2.png');
background-size: cover;
background-position: center;
border-radius: 20px;
padding: 30px 30px 60px 20px;
margin: 20px auto;
max-width: 1200px;
position: relative;
opacity: 0.95;
box-shadow: 0 0 8px rgba(40, 167, 69, 0.5);
}
.hero-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(255, 255, 255, 0.1);
border-radius: 20px;
z-index: 0;
}
.hero-content {
position: relative;
z-index: 1;
}
/* Prevent body scrolling when modal is open */
body.modal-open {
overflow: hidden;
position: fixed;
width: 100%;
}
/* Hero text styling */
.hero-text {
font-family: 'Poppins', sans-serif;
font-size: 42px;
font-weight: 700;
color: #000000;
text-align: center;
margin: 0 0;
line-height: 1.3;
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}
/* Animated arrow styling */
.arrow-down {
text-align: center;
margin: 15px 0;
color: #28A745;
}
.arrow-down i {
font-size: 30px;
animation: bounce 2s infinite;
cursor: pointer;
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {
transform: translateY(0);
}
40% {
transform: translateY(-15px);
}
60% {
transform: translateY(-7px);
}
}
/* Modal and search input styling */
.shopnow-gonje-top-vendor-search-container {
width: 100%;
max-width: 600px;
position: relative;
text-align: center;
margin: 10px auto 0;
}
.shopnow-gonje-top-vendor-search-input,
.shopnow-gonje-top-vendor-search-div {
width: 90%;
padding: 16px;
border: 2px solid #ccc;
border-radius: 20px;
font-size: 18px;
font-family: 'Poppins', sans-serif;
outline: none;
transition: border-color 0.3s ease;
margin: 0 auto 0 auto;
text-align: center;
cursor: pointer;
background-color: white;
}
/* No vendors link styling */
.no-vendors-link {
font-family: 'Poppins', sans-serif;
font-size: 12px;
color: #666;
text-decoration: underline;
display: block;
margin-bottom: 20px;
}
.no-vendors-link:hover {
color: #28A745;
text-decoration: underline;
}
/* Center placeholder text on larger screens */
@media (min-width: 992px) {
.shopnow-gonje-top-vendor-search-input::placeholder,
.shopnow-location-input::placeholder {
text-align: center;
}
}
.shopnow-gonje-top-vendor-search-input:hover,
.shopnow-gonje-top-vendor-search-div:hover {
border-color: #70ab4b;
}
.shopnow-gonje-top-vendor-search-input:focus,
.shopnow-gonje-top-vendor-search-div:focus {
border-color: #0056b3;
}
.shopnow-gonje-top-vendor-search-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
justify-content: center;
align-items: center;
transition: opacity 0.3s ease;
z-index: 1000;
overflow-y: auto;
}
.shopnow-gonje-top-vendor-search-modal-content {
background: white;
padding: 20px;
border-radius: 10px;
width: 90%;
max-width: 500px;
text-align: center;
position: relative;
z-index: 1001;
max-height: 90vh;
margin: 20px 0;
overflow-y: auto;
}
.shopnow-gonje-top-vendor-search-close-btn {
position: absolute;
top: 10px;
right: 15px;
font-size: 18px;
cursor: pointer;
}
/* Vendor search container styling */
.shopnow-search-container {
margin: 20px;
text-align: center;
width: calc(100% - 40px);
}
.shopnow-search-container input,
.shopnow-search-container button {
padding: 12px;
margin: 5px;
font-size: 16px;
width: 100%;
border: 1px solid #28A745;
border-radius: 8px;
transition: all 0.3s ease-in-out;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
box-sizing: border-box;
}
.shopnow-search-container input {
background-color: #f9fcf5;
outline: none;
}
.shopnow-search-container input:focus {
border-color: #28A745;
box-shadow: 0 0 8px rgba(40, 167, 69, 0.5);
}
.shopnow-search-container button {
background-color: #28A745;
color: white;
border: none;
cursor: pointer;
font-weight: bold;
}
.shopnow-search-container button:hover {
background-color: #1e7e34;
box-shadow: 0 3px 8px rgba(30, 126, 52, 0.3);
}
/* Loading spinner styles */
.loading-spinner {
display: inline-block;
width: 20px;
height: 20px;
border: 3px solid rgba(255,255,255,.3);
border-radius: 50%;
border-top-color: #fff;
animation: spin 1s ease-in-out infinite;
margin-right: 10px;
vertical-align: middle;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
.loading-text {
text-align: center;
color: #666;
font-style: italic;
}
/* Vendor item styling - make entire item clickable */
.shopnow-vendor-item {
border: 1px solid #ddd;
padding: 15px;
margin: 10px 0;
border-radius: 8px;
background-color: #ffffff;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
width: calc(100% - 30px);
transition: all 0.2s ease;
display: block;
text-decoration: none;
color: inherit;
}
.shopnow-vendor-item:hover {
background-color: #f8f9fa;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
transform: translateY(-2px);
}
.shopnow-vendor-content {
display: flex;
align-items: center;
}
.shopnow-vendor-logo {
width: 50px;
height: 50px;
object-fit: cover;
border-radius: 50%;
margin-right: 15px;
border: 2px solid #28A745;
}
.shopnow-vendor-details h3 {
color: #28A745;
margin-bottom: 5px;
}
.shopnow-search-container input[type="range"] {
width: 100%;
height: 8px;
background: #ddd;
border-radius: 5px;
border: none;
-webkit-appearance: none;
appearance: none;
outline: none;
}
.shopnow-search-container input[type="range"]::-webkit-slider-runnable-track {
height: 8px;
background: #28A745;
border-radius: 5px;
}
.shopnow-search-container input[type="range"]::-moz-range-track {
height: 8px;
background: #28A745;
border-radius: 5px;
}
.shopnow-search-container input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
width: 20px;
height: 20px;
background: #28A745;
border-radius: 50%;
cursor: pointer;
border: 2px solid white;
margin-top: -6px;
}
.shopnow-search-container input[type="range"]::-moz-range-thumb {
width: 20px;
height: 20px;
background: #28A745;
border-radius: 50%;
cursor: pointer;
border: 2px solid white;
}
.shopnow-radius-label {
font-weight: bold;
color: #28A745;
display: block;
margin: 10px 0;
}
/* Mailchimp Modal Styling */
.mailchimp-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
justify-content: center;
align-items: center;
z-index: 1000;
overflow-y: auto;
}
.mailchimp-modal-content {
background: white;
padding: 30px;
border-radius: 10px;
width: 90%;
max-width: 500px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
position: relative;
margin: 20px 0;
max-height: 90vh;
overflow-y: auto;
}
.mailchimp-close-btn {
position: absolute;
top: 15px;
right: 20px;
font-size: 24px;
cursor: pointer;
color: #666;
background: none;
border: none;
}
#mc_embed_signup {
background: transparent;
font-family: 'Poppins', sans-serif;
width: 100%;
}
#mc_embed_signup h2 {
font-size: 24px;
font-weight: 600;
color: #28A745;
margin-bottom: 20px;
text-align: center;
}
#mc_embed_signup .indicates-required {
text-align: right;
font-size: 12px;
color: #666;
margin-bottom: 15px;
}
#mc_embed_signup .asterisk {
color: #e74c3c;
}
#mc_embed_signup .mc-field-group {
margin-bottom: 20px;
width: 100%;
}
#mc_embed_signup label {
display: block;
font-size: 14px;
margin-bottom: 8px;
color: #333;
font-weight: 500;
}
#mc_embed_signup input {
width: 100%;
padding: 12px 15px;
border: 1px solid #ddd;
border-radius: 8px;
font-size: 16px;
transition: border-color 0.3s;
box-sizing: border-box;
}
#mc_embed_signup input:focus {
border-color: #28A745;
outline: none;
box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.2);
}
#mc_embed_signup .button {
background-color: #28A745;
color: white;
border: none;
padding: 14px 20px;
border-radius: 8px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
width: 100%;
transition: background-color 0.3s;
margin-top: 10px;
}
#mc_embed_signup .button:hover {
background-color: #1e7e34;
}
#mc_embed_signup .response {
margin: 15px 0;
padding: 10px;
border-radius: 5px;
font-size: 14px;
}
#mc_embed_signup #mce-error-response {
color: #e74c3c;
background-color: #fdecea;
}
#mc_embed_signup #mce-success-response {
color: #28A745;
background-color: #e8f5e9;
}
@media (max-width: 768px) {
.hero-text {
font-size: 32px;
}
.shopnow-gonje-top-vendor-search-div,
.shopnow-location-input {
font-size: 16px;
padding: 14px;
}
.shopnow-gonje-top-vendor-search-modal-content,
.mailchimp-modal-content {
padding: 20px;
width: 85%;
}
#mc_embed_signup h2 {
font-size: 20px;
}
.arrow-down i {
font-size: 24px;
}
}
</style>
</head>
<body>
<!-- Hero Section -->
<div class="hero-section">
<div class="hero-content">
<!-- Hero Text -->
<div class="hero-text">
Begin Your Gonje Journey Today! Shop Now
</div>
<!-- Animated Arrow -->
<div class="arrow-down" onclick="document.getElementById('shopNowButton').click()">
<i class="fas fa-arrow-down"></i>
</div>
<!-- Search Input -->
<div class="shopnow-gonje-top-vendor-search-container">
<div class="shopnow-gonje-top-vendor-search-div" id="shopNowButton">Enter address to find vendors near by 🌎</div>
<a href="#" class="no-vendors-link" style="color:#fff" id="noVendorsLink">Click here if you don't find any vendors nearby</a>
</div>
</div>
</div>
<!-- Vendor Search Modal -->
<div class="shopnow-gonje-top-vendor-search-modal">
<div class="shopnow-gonje-top-vendor-search-modal-content">
<span class="shopnow-gonje-top-vendor-search-close-btn">×</span>
<h2>Search for vendors</h2>
<div class="shopnow-search-container">
<input type="text" class="shopnow-location-input" placeholder="Enter address to find vendors near by 🌎">
<input type="range" class="shopnow-radius-slider" min="1" max="50" value="10" oninput="updateRadiusLabel(this.value)">
<span class="shopnow-radius-label">10 km</span>
<button onclick="fetchCompanies(1)">Search</button>
</div>
<div class="shopnow-company-list"></div>
<a href="#" class="no-vendors-link" id="modalNoVendorsLink" style="display: none;">Click here if you don't find any vendors nearby</a>
</div>
</div>
<!-- Mailchimp Form Modal -->
<div class="mailchimp-modal" id="mailchimpModal">
<div class="mailchimp-modal-content">
<span class="mailchimp-close-btn" id="mailchimpCloseBtn">×</span>
<div id="mc_embed_signup">
<form action="https://gonje.us20.list-manage.com/subscribe/post?u=8293c49fe797c04b3b9f52c23&id=b040c42304&f_id=00d3c7f1f0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
<div id="mc_embed_signup_scroll">
<h2>Get Notified When Vendors Are Available</h2>
<div class="indicates-required"><span class="asterisk">*</span> indicates required</div>
<div class="mc-field-group">
<label for="mce-EMAIL">Email Address <span class="asterisk">*</span></label>
<input type="email" name="EMAIL" class="required email" id="mce-EMAIL" required placeholder="your@email.com">
</div>
<div class="mc-field-group">
<label for="mce-POSTCODE">Postal Code <span class="asterisk">*</span></label>
<input type="text" name="POSTCODE" class="required text" id="mce-POSTCODE" required placeholder="e.g. 90210">
</div>
<div id="mce-responses" class="clear">
<div class="response" id="mce-error-response" style="display:none"></div>
<div class="response" id="mce-success-response" style="display:none"></div>
</div>
<div aria-hidden="true" style="position: absolute; left: -5000px;">
<input type="text" name="b_8293c49fe797c04b3b9f52c23_b040c42304" tabindex="-1" value="">
</div>
<div class="clear">
<input type="submit" name="subscribe" id="mc-embedded-subscribe" class="button" value="Subscribe">
</div>
</div>
</form>
</div>
</div>
</div>
<script>
// Vendor search modal functionality
document.getElementById('shopNowButton').addEventListener('click', function(event) {
event.preventDefault();
document.body.classList.add('modal-open');
document.querySelector('.shopnow-gonje-top-vendor-search-modal').style.display = 'flex';
});
document.querySelector('.shopnow-gonje-top-vendor-search-close-btn').addEventListener('click', function() {
document.body.classList.remove('modal-open');
document.querySelector('.shopnow-gonje-top-vendor-search-modal').style.display = 'none';
});
// Mailchimp modal functionality
function showMailchimpModal() {
document.body.classList.add('modal-open');
document.getElementById('mailchimpModal').style.display = 'flex';
// Pre-fill the postal code if we have it
if (userPostcode) {
document.getElementById('mce-POSTCODE').value = userPostcode;
}
}
document.getElementById('noVendorsLink').addEventListener('click', function(event) {
event.preventDefault();
showMailchimpModal();
});
document.getElementById('modalNoVendorsLink').addEventListener('click', function(event) {
event.preventDefault();
showMailchimpModal();
});
document.getElementById('mailchimpCloseBtn').addEventListener('click', function() {
document.body.classList.remove('modal-open');
document.getElementById('mailchimpModal').style.display = 'none';
});
// Close modals when clicking outside
window.addEventListener('click', function(event) {
if (event.target === document.querySelector('.shopnow-gonje-top-vendor-search-modal')) {
document.body.classList.remove('modal-open');
document.querySelector('.shopnow-gonje-top-vendor-search-modal').style.display = 'none';
}
if (event.target === document.getElementById('mailchimpModal')) {
document.body.classList.remove('modal-open');
document.getElementById('mailchimpModal').style.display = 'none';
}
});
// Vendor search functionality
let userLatitude = null;
let userLongitude = null;
let userPostcode = null;
let userState = null;
let userAddress = null;
function updateRadiusLabel(value) {
document.querySelector('.shopnow-radius-label').innerText = value + " km";
}
function fetchCompanies(page = 1) {
const radius = document.querySelector('.shopnow-radius-slider').value;
const searchButton = document.querySelector('.shopnow-search-container button');
if (!userLatitude || !userLongitude) {
alert("Please enter a valid address.");
return;
}
// Show loading state
searchButton.innerHTML = '<span class="loading-spinner"></span> Searching...';
searchButton.disabled = true;
const companyList = document.querySelector('.shopnow-company-list');
companyList.innerHTML = '<p class="loading-text">Searching for vendors...</p>';
// Include all collected data in the request
const url = new URL('https://marketplace.gonje.com/vendor_search.php');
url.searchParams.append('page', page);
url.searchParams.append('lat', userLatitude);
url.searchParams.append('lng', userLongitude);
url.searchParams.append('radius', radius);
if (userPostcode) url.searchParams.append('postcode', userPostcode);
if (userState) url.searchParams.append('state', userState);
if (userAddress) url.searchParams.append('address', userAddress);
fetch(url)
.then(response => response.json())
.then(data => {
companyList.innerHTML = '';
// Show/hide the no vendors link based on results
const noVendorsLink = document.getElementById('modalNoVendorsLink');
if (data.status !== 'ok' || !data.data || data.data.length === 0) {
companyList.innerHTML = '<p>No vendors found.</p>';
noVendorsLink.style.display = 'block';
return;
}
noVendorsLink.style.display = 'none';
data.data.forEach(company => {
const vendorItem = document.createElement('a');
vendorItem.href = company.storefront_url;
vendorItem.classList.add('shopnow-vendor-item');
vendorItem.innerHTML = `
<div class="shopnow-vendor-content">
<img src="${company.logo_url}" alt="Logo" class="shopnow-vendor-logo">
<div class="shopnow-vendor-details">
<h3>${company.company_name}</h3>
<p>Description: ${company.company_description}</p>
<p>Distance: ${company.distance} km</p>
</div>
</div>
`;
companyList.appendChild(vendorItem);
});
})
.catch(error => {
console.error('Error fetching companies:', error);
companyList.innerHTML = '<p>An error occurred while fetching companies. Please try again later.</p>';
})
.finally(() => {
// Reset button state
searchButton.innerHTML = 'Search';
searchButton.disabled = false;
});
}
function initAutocomplete() {
const input = document.querySelector('.shopnow-location-input');
const autocomplete = new google.maps.places.Autocomplete(input, {
types: ['geocode'],
fields: ['geometry', 'address_components', 'formatted_address'],
componentRestrictions: { country: 'au' } // This restricts results to Australia
});
autocomplete.addListener('place_changed', function () {
const place = autocomplete.getPlace();
if (!place.geometry) {
alert("No location found. Please select from the dropdown.");
return;
}
// Store all location data
userLatitude = place.geometry.location.lat();
userLongitude = place.geometry.location.lng();
userAddress = place.formatted_address;
// Reset these values before checking components
userPostcode = '';
userState = '';
// Extract address components
place.address_components.forEach(component => {
if (component.types.includes('postal_code')) {
userPostcode = component.long_name;
}
if (component.types.includes('administrative_area_level_1')) {
userState = component.short_name;
}
});
console.log('Location data collected:', {
address: userAddress,
postcode: userPostcode,
state: userState,
coordinates: { lat: userLatitude, lng: userLongitude }
});
});
}
// Enhanced Mailchimp form handling
document.getElementById('mc-embedded-subscribe-form').addEventListener('submit', function(e) {
e.preventDefault();
// Get form data
const formData = new FormData(this);
const email = formData.get('EMAIL');
const postcode = formData.get('POSTCODE') || userPostcode;
// Validate required fields
if (!email || !postcode) {
alert('Please fill in all required fields');
return;
}
// Prepare Mailchimp submission data
const mailchimpData = {
u: '8293c49fe797c04b3b9f52c23',
id: 'b040c42304',
EMAIL: email,
POSTCODE: postcode,
STATE: userState || '',
ADDRESS: userAddress || '',
SOURCE: 'Vendor Search',
'b_8293c49fe797c04b3b9f52c23_b040c42304': '' // Hidden field
};
// Show loading state
const submitBtn = document.getElementById('mc-embedded-subscribe');
submitBtn.disabled = true;
submitBtn.value = 'Sending...';
// Submit to Mailchimp
fetch('https://gonje.us20.list-manage.com/subscribe/post-json', {
method: 'POST',
body: new URLSearchParams(mailchimpData),
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
mode: 'no-cors'
})
.then(response => {
if (!response.ok) throw new Error('Network response was not ok');
return response.json();
})
.then(data => {
if (data.result === 'success') {
// Show success message
document.getElementById('mce-success-response').style.display = 'block';
document.getElementById('mce-success-response').innerHTML = 'Thank you for subscribing!';
document.getElementById('mce-error-response').style.display = 'none';
// Close modal after 2 seconds
setTimeout(() => {
document.body.classList.remove('modal-open');
document.getElementById('mailchimpModal').style.display = 'none';
}, 2000);
} else {
throw new Error(data.msg || 'Subscription failed');
}
})
.catch(error => {
console.error('Mailchimp submission error:', error);
document.getElementById('mce-error-response').style.display = 'block';
document.getElementById('mce-error-response').innerHTML = 'Subscription failed: ' + error.message;
document.getElementById('mce-success-response').style.display = 'none';
})
.finally(() => {
submitBtn.disabled = false;
submitBtn.value = 'Subscribe';
});
});
// Load Google Maps API
const script = document.createElement('script');
script.src = "https://maps.googleapis.com/maps/api/js?key=AIzaSyCxMO0g5Vv0ZtSthhrrXMVOYVBcjf4G1hw&libraries=places&callback=initAutocomplete";
script.async = true;
script.defer = true;
document.body.appendChild(script);
// Load Mailchimp validation script
const mailchimpScript = document.createElement('script');
mailchimpScript.src = "//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js";
mailchimpScript.async = true;
document.body.appendChild(mailchimpScript);
// Mailchimp configuration
(function($) {
window.fnames = new Array();
window.ftypes = new Array();
fnames[0]='EMAIL';
ftypes[0]='email';
fnames[6]='POSTCODE';
ftypes[6]='text';
fnames[7]='STATE';
ftypes[7]='text';
fnames[8]='ADDRESS';
ftypes[8]='text';
}(jQuery));
var $mcj = jQuery.noConflict(true);
</script>
</body>
</html>";} |
0 |
|
|
1127 |
|
|
1 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
vendor search title |
| 753 |
2 |
a:1:{s:4:"text";s:0:"";} |
0 |
|
|
1199 |
|
|
2 |
A |
currencies |
a:3:{s:8:"template";s:21:"blocks/currencies.tpl";s:6:"format";s:6:"symbol";s:14:"dropdown_limit";s:1:"3";} |
0 |
1 |
en |
Currencies |
| 732 |
13 |
a:1:{s:7:"content";s:1004:"<div class="ty-social-link-block"><h3 class="ty-social-link__title" >{__("get_social")}</h3>
<div class="ty-social-link facebook">
<a href="https://web.facebook.com/p/Gonje-100071509825420/?_rdc=1&_rdr"><span class="ty-icon ty-icon-facebook"></span>Facebook </a>
</div>
<div class="ty-social-link">
<a href="https://www.tiktok.com/@gonjeapp?_t=ZS-8srMJxBImeY&_r=1"><img src="https://backendapi.gonje.com/public/tiktok-logo.png" /></span> Tiktok </a>
</div>
<div class="ty-social-link instagram">
<a href="https://www.instagram.com/gonjeapp"><span class="ty-icon ty-icon-instagram"></span>Instagram </a>
</div>
<!--
<div class="ty-social-link twitter">
<a href="https://www.x.com/"><img src="https://backendapi.gonje.com/public/twitter-x-logo.png" /></span>X</a></div>
-->
<div class="ty-social-link youtube">
<a href="https://www.youtube.com/@gonjeapp"><span class="ty-icon ty-icon-youtube"></span>Youtube </a>
</div></div>
";} |
0 |
|
|
1163 |
|
|
2 |
A |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Social links |
| 517 |
53 |
a:1:{s:5:"items";a:3:{s:7:"filling";s:13:"full_tree_cat";s:18:"parent_category_id";s:0:"";s:7:"sort_by";s:8:"position";}} |
0 |
|
|
782 |
|
|
2 |
D |
vendor_categories |
a:2:{s:8:"template";s:50:"blocks/categories/categories_dropdown_vertical.tpl";s:25:"right_to_left_orientation";s:1:"N";} |
0 |
1 |
en |
Vendor categories |
| 515 |
132 |
a:1:{s:5:"items";a:2:{s:7:"filling";s:8:"manually";s:8:"item_ids";s:11:"16,17,18,19";}} |
0 |
|
|
777 |
|
homepage-banners |
2 |
D |
banners |
a:3:{s:8:"template";s:34:"addons/banners/blocks/carousel.tpl";s:10:"navigation";s:1:"P";s:5:"delay";s:3:"333";} |
0 |
1 |
en |
Main banners |
| 520 |
137 |
|
0 |
|
|
785 |
blocks/wrappers/mainbox_simple.tpl |
homepage-our-brands |
2 |
D |
our_brands |
a:9:{s:8:"template";s:21:"blocks/our_brands.tpl";s:24:"not_scroll_automatically";s:1:"Y";s:5:"speed";s:3:"400";s:15:"scroll_per_page";s:1:"Y";s:11:"pause_delay";s:1:"3";s:13:"item_quantity";s:1:"7";s:11:"total_items";s:2:"14";s:15:"thumbnail_width";s:2:"75";s:18:"outside_navigation";s:1:"Y";} |
0 |
1 |
en |
Our brands |
| 521 |
138 |
a:1:{s:5:"items";a:3:{s:7:"filling";s:26:"blog.recent_posts_scroller";s:14:"parent_page_id";s:1:"7";s:6:"period";s:1:"A";}} |
0 |
|
|
786 |
blocks/wrappers/mainbox_simple.tpl |
|
2 |
D |
blog |
a:7:{s:8:"template";s:44:"addons/blog/blocks/recent_posts_scroller.tpl";s:5:"limit";s:2:"10";s:24:"not_scroll_automatically";s:1:"Y";s:5:"speed";s:3:"400";s:11:"pause_delay";s:1:"3";s:13:"item_quantity";s:1:"1";s:18:"outside_navigation";s:1:"Y";} |
0 |
1 |
en |
Blog |
| 522 |
139 |
|
0 |
|
|
787 |
blocks/wrappers/mainbox_simple.tpl |
|
2 |
D |
testimonials |
a:8:{s:8:"template";s:41:"addons/discussion/blocks/testimonials.tpl";s:5:"limit";s:2:"10";s:6:"random";s:1:"N";s:24:"not_scroll_automatically";s:1:"Y";s:5:"speed";s:3:"400";s:11:"pause_delay";s:1:"3";s:13:"item_quantity";s:1:"2";s:18:"outside_navigation";s:1:"Y";} |
0 |
1 |
en |
Reviews |
| 513 |
173 |
a:1:{s:7:"content";s:63:"<img src="https://backendapi.gonje.com/public/home-banner.png">";} |
0 |
|
|
772 |
|
|
2 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje Home Banner |
| 523 |
203 |
a:1:{s:7:"content";s:434:"<!--Start of Tawk.to Script-->
<script type="text/javascript">
var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
(function(){
var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
s1.async=true;
s1.src='https://embed.tawk.to/6582623e07843602b803d081/1hi2kvi4u';
s1.charset='UTF-8';
s1.setAttribute('crossorigin','*');
s0.parentNode.insertBefore(s1,s0);
})();
</script>
<!--End of Tawk.to Script-->";} |
0 |
|
|
790 |
|
|
2 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Tawkto Block |
| 514 |
216 |
a:1:{s:7:"content";s:15758:"<p> <title>Gonje Marketplace ???? Fresh Food Fast</title></p>
<style>
/* ---------- Root Variables ---------- */
:root {
--gonje-green: #28A745;
--gonje-gold: #F7D594;
--gonje-dark: #1e1e1e;
--radius: 16px;
}
body {
font-family: 'Inter', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Poppins', sans-serif;
font-weight: 600;
}
h1 {
font-size: 32px;
}
h2 {
font-size: 30px;
}
h3 {
font-size: 28px;
}
a {
text-decoration: none;
color: inherit;
}
/* ---------- Modern Button ---------- */
.modern-btn {
display: inline-block;
padding: 12px 28px;
background: var(--gonje-green);
color: #fff;
font-weight: 700;
border-radius: 50px;
transition: .3s ease;
box-shadow: 0 4px 10px rgba(0, 0, 0, .12);
border: 2px solid transparent;
}
.modern-btn:hover {
background: #218838;
transform: translateY(-2px);
box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
}
.modern-btn.outline {
background: transparent;
border-color: var(--gonje-green);
color: var(--gonje-green);
}
.modern-btn.outline:hover {
background: var(--gonje-green);
color: #fff;
}
/* ---------- Vendor Carousel ---------- */
.gonje-vendors-container {
max-width: 100%;
padding: 16px;
text-align: center;
position: relative;
}
.gonje-vendors-heading {
font-size: 32px;
font-weight: bold;
margin-bottom: 20px;
color: #333;
}
.gonje-vendors-scroll-container {
display: flex;
overflow-x: auto;
gap: 16px;
padding: 16px;
background: #fff;
border-radius: 10px;
scroll-snap-type: x mandatory;
}
.gonje-vendors-carousel {
display: flex;
}
.gonje-vendors-grid-item {
background: #fff;
border-radius: 5px;
padding: 20px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-width: 150px;
flex: 0 0 auto;
scroll-snap-align: start;
box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
transition: .25s;
}
.gonje-vendors-grid-item:hover {
transform: scale(1.05);
background: var(--gonje-gold);
box-shadow: 0 8px 16px rgba(0, 0, 0, .2);
}
.gonje-vendors-grid-item img {
width: 60px;
margin-bottom: 10px;
}
.gonje-vendors-nav-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(255, 255, 255, .85);
border: none;
border-radius: 50%;
width: 40px;
height: 40px;
font-size: 1.2rem;
cursor: pointer;
box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
z-index: 10;
}
.gonje-vendors-prev {
left: 10px;
}
.gonje-vendors-next {
right: 10px;
}
@media (max-width: 768px) {
.gonje-vendors-nav-btn {
display: none;
}
}
/* ---------- Food Banner ---------- */
.food-banner {
position: relative;
width: 100%;
height: 260px;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
color: #fff;
isolation: isolate;
border-radius: 15px;
}
.food-banner::before {
content: '';
position: absolute;
inset: 0;
background: rgba(0, 0, 0, .45);
z-index: 1;
}
.food-banner__img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
z-index: 0;
}
.food-banner__title {
font-size: 32px;
margin: 0 0 12px;
letter-spacing: .5px;
}
.food-banner__cta {
position: relative;
z-index: 2;
}
/* ---------- Skewed Background Decoration ---------- */
.skew-decor {
pointer-events: none;
position: absolute;
width: 220px;
height: 220px;
border-radius: 12px;
opacity: .08;
transform: rotate(-12deg);
z-index: -1;
}
.skew-decor img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: inherit;
}
.skew-decor--1 {
top: 10%;
left: 5%;
}
.skew-decor--2 {
bottom: 10%;
right: 5%;
transform: rotate(8deg);
}
.skew-decor--3 {
top: 20%;
right: 2%;
transform: rotate(-20deg);
}
.skew-decor--4 {
bottom: 15%;
left: 2%;
transform: rotate(15deg);
}
/* ---------- Quick-Links Grid ---------- */
.section-title {
font-size: 30px;
margin: 50px auto 30px;
text-align: center;
width: fit-content;
padding: 10px 30px;
background: rgba(255, 255, 255, .8);
border-radius: 50px;
box-shadow: 0 5px 15px rgba(0, 0, 0, .05);
position: relative;
}
.section-title::after {
content: '';
position: absolute;
bottom: -8px;
left: 30px;
width: calc(100% - 60px);
height: 3px;
background: linear-gradient(90deg, var(--gonje-green), #70ab4b);
}
.resource-links {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 25px;
padding: 0 20px;
max-width: 1200px;
margin: 0 auto 60px;
}
.resource-card {
background: #fff;
border-radius: var(--radius);
padding: 30px;
text-align: center;
box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
transition: .3s ease;
position: relative;
overflow: hidden;
}
.resource-card:hover {
transform: translateY(-6px);
box-shadow: 0 15px 35px rgba(0, 0, 0, .1);
}
.resource-card h4 {
margin: 15px 0 8px;
font-size: 28px;
color: var(--gonje-green);
}
.resource-card p {
margin: 0 0 20px;
font-size: .95rem;
color: #555;
}
.contact-icon {
font-size: 48px;
color: var(--gonje-green);
margin-bottom: 15px;
}
/* ---------- Responsive ---------- */
@media (max-width: 600px) {
.resource-links {
grid-template-columns: 1fr;
}
}
</style>
<p> <!-- ================= VENDOR CAROUSEL ================= --></p>
<section class="gonje-vendors-container">
<h1 class="gonje-vendors-heading">???? Fresh Finds, Daily Essentials & Gourmet Delights! ????</h1>
<div class="gonje-vendors-scroll-container">
<div class="gonje-vendors-carousel">
<div class="gonje-vendors-grid-item">
<a href="https://ecartifymarketplace.gonje.com/fulfilment-by-gonje">
<img src="https://ecartifymarketplace.gonje.com/assets/images/shopping-basket.svg" alt="Groceries">
Fulfilment By Gonje
</a>
</div>
<div class="gonje-vendors-grid-item">
<a href="https://ecartifymarketplace.gonje.com/fridge">
<img src="https://ecartifymarketplace.gonje.com/assets/images/fridge.svg" alt="Fridge">
Fridge
</a>
</div>
<div class="gonje-vendors-grid-item">
<a href="https://ecartifymarketplace.gonje.com/meal-kits-en">
<img src="https://ecartifymarketplace.gonje.com/assets/images/kitchen-book.svg" alt="Meal Kits">
Meal Kits
</a>
</div>
<div class="gonje-vendors-grid-item">
<a href="https://ecartifymarketplace.gonje.com/suppliers">
<img src="https://ecartifymarketplace.gonje.com/assets/images/project-launch.svg" alt="Suppliers">
Suppliers
</a>
</div>
<div class="gonje-vendors-grid-item">
<a href="https://ecartifymarketplace.gonje.com/whats-new">
<img src="https://ecartifymarketplace.gonje.com/assets/images/new-items.svg" alt="What's New">
What's New
</a>
</div>
</div>
</div>
<button class="gonje-vendors-nav-btn gonje-vendors-prev">❮</button>
<button class="gonje-vendors-nav-btn gonje-vendors-next">❯</button>
</section>
<p> <!-- ================= FOOD BANNER 1 ================= --></p>
<section class="food-banner">
<img src="https://images.unsplash.com/photo-1490818387583-1baba5e638af?auto=format&fit=crop&w=1200&q=80" class="food-banner__img" alt="Fresh produce">
<div class="food-banner__cta">
<h1 class="food-banner__title" style="color:#fff;">???? Farm-Fresh Groceries Delivered Fast ????</h1>
<a href="https://ecartifymarketplace.gonje.com/index.php?dispatch=companies.catalog" class="modern-btn">Shop Vendors</a>
</div>
<div class="skew-decor skew-decor--1">
<img src="https://images.pexels.com/photos/1640777/pexels-photo-1640777.jpeg?auto=compress&cs=tinysrgb&w=400" alt="veggies">
</div>
<div class="skew-decor skew-decor--2">
<img src="https://images.pexels.com/photos/2641886/pexels-photo-2641886.jpeg?auto=compress&cs=tinysrgb&w=400" alt="fruits">
</div>
<div class="skew-decor skew-decor--3">
<img src="https://images.pexels.com/photos/1132047/pexels-photo-1132047.jpeg?auto=compress&cs=tinysrgb&w=400" alt="bread">
</div>
<div class="skew-decor skew-decor--4">
<img src="https://images.pexels.com/photos/2253643/pexels-photo-2253643.jpeg?auto=compress&cs=tinysrgb&w=400" alt="berries">
</div>
</section>
<p> <!-- ================= QUICK-LINKS SECTION ================= --></p>
<h2 class="section-title">???? Explore Gonje ????</h2>
<div class="resource-links">
<!-- Vendors -->
<div class="resource-card">
<i class="fa-solid fa-store contact-icon"></i>
<h3>Vendors</h3>
<p>Browse trusted sellers and discover unique products across every category.</p>
<a href="https://ecartifymarketplace.gonje.com/index.php?dispatch=companies.catalog" class="modern-btn outline">???? View Vendors</a>
</div>
<!-- Start Selling -->
<div class="resource-card">
<i class="fa-solid fa-handshake contact-icon"></i>
<h3>Start Selling Today</h3>
<p>Join our vendor community and reach thousands of eager customers.</p>
<a href="https://ecartifymarketplace.gonje.com/index.php?dispatch=companies.apply_for_vendor" class="modern-btn outline">???? Apply Now</a>
</div>
<!-- Blog -->
<div class="resource-card">
<i class="fa-solid fa-blog contact-icon"></i>
<h3>Get to Know More</h3>
<p>Stories, updates, and insights from the Gonje universe.</p>
<a href="https://ecartifymarketplace.gonje.com/elevate-your-shopping-experience-with-gonjes-b2c-module/" class="modern-btn outline">???? Read Blog</a>
</div>
<!-- How-To -->
<div class="resource-card">
<i class="fa-solid fa-graduation-cap contact-icon"></i>
<h3>Learn New Stuff</h3>
<p>Step-by-step guides to make the most of your marketplace experience.</p>
<a href="https://ecartifymarketplace.gonje.com/welcome-to-gonje-marketplace/how-to-signup-as-a-customer-on-the-gonje-marketplace" class="modern-btn outline">???? Learn How-To</a>
</div>
<!-- Orders -->
<div class="resource-card">
<i class="fa-solid fa-box-archive contact-icon"></i>
<h3>Keep Track</h3>
<p>Monitor orders, shipping, and delivery updates in real time.</p>
<a href="https://ecartifymarketplace.gonje.com/orders" class="modern-btn outline">???? Track Orders</a>
</div>
<!-- Wishlist -->
<div class="resource-card">
<i class="fa-solid fa-heart contact-icon"></i>
<h3>Don't Forget to Buy</h3>
<p>Save favourites and grab them before they're gone.</p>
<a href="https://ecartifymarketplace.gonje.com/wishlist/" class="modern-btn outline">❤️ Grocery Planner</a>
</div>
</div>
<p> <!-- ================= FOOD BANNER 2 ================= --></p>
<section class="food-banner">
<img src="https://images.pexels.com/photos/376464/pexels-photo-376464.jpeg?auto=compress&cs=tinysrgb&w=1200" class="food-banner__img" alt="Meal kit ingredients">
<div class="food-banner__cta">
<h1 class="food-banner__title" style="color:#fff;">???? Cook Quality Meals at Home ????</h1>
<a href="https://ecartifymarketplace.gonje.com/meal-kits-en" class="modern-btn">???? Explore Meal Kits</a>
</div>
<div class="skew-decor skew-decor--1">
<img src="https://images.pexels.com/photos/1640770/pexels-photo-1640770.jpeg?auto=compress&cs=tinysrgb&w=400" alt="tomatoes">
</div>
<div class="skew-decor skew-decor--2">
<img src="https://images.pexels.com/photos/1435735/pexels-photo-1435735.jpeg?auto=compress&cs=tinysrgb&w=400" alt="herbs">
</div>
<div class="skew-decor skew-decor--3">
<img src="https://images.pexels.com/photos/2097090/pexels-photo-2097090.jpeg?auto=compress&cs=tinysrgb&w=400" alt="pasta">
</div>
<div class="skew-decor skew-decor--4">
<img src="https://images.pexels.com/photos/5638603/pexels-photo-5638603.jpeg?auto=compress&cs=tinysrgb&w=400" alt="spices">
</div>
</section>
<p> <!-- ================= VENDOR CAROUSEL JS ================= --></p>
<script> document.addEventListener('DOMContentLoaded', () => {
const container = document.querySelector('.gonje-vendors-scroll-container');
const carousel = document.querySelector('.gonje-vendors-carousel');
const items = document.querySelectorAll('.gonje-vendors-grid-item');
const prevBtn = document.querySelector('.gonje-vendors-prev');
const nextBtn = document.querySelector('.gonje-vendors-next');
let currentIndex = 0;
const itemWidth = items[0].offsetWidth + 16;
const totalItems = items.length;
let autoScrollInterval;
const scrollInterval = 3000;
let isUserInteracting = false;
let interactionTimeout;
function updateCarousel() {
container.scrollTo({ left: currentIndex * itemWidth, behavior: 'smooth' });
}
function moveToIndex(index) {
currentIndex = (index + totalItems) % totalItems;
updateCarousel();
}
function startAutoScroll() {
if (isUserInteracting) return;
autoScrollInterval = setInterval(() => moveToIndex(currentIndex + 1), scrollInterval);
}
function stopAutoScroll() {
clearInterval(autoScrollInterval);
}
function handleUserInteraction() {
isUserInteracting = true;
stopAutoScroll();
clearTimeout(interactionTimeout);
interactionTimeout = setTimeout(() => {
isUserInteracting = false;
startAutoScroll();
}, 3000);
}
nextBtn.addEventListener('click', e => {
e.preventDefault();
handleUserInteraction();
moveToIndex(currentIndex + 1);
});
prevBtn.addEventListener('click', e => {
e.preventDefault();
handleUserInteraction();
moveToIndex(currentIndex - 1);
});
container.addEventListener('mouseenter', handleUserInteraction);
container.addEventListener('touchstart', handleUserInteraction);
container.addEventListener('scroll', handleUserInteraction);
window.addEventListener('resize', updateCarousel);
startAutoScroll();
updateCarousel();
});
</script>";} |
0 |
|
|
774 |
|
|
2 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Horizontal Gonje Categories |
| 755 |
238 |
a:1:{s:7:"content";s:1304:"{* File: themes/your_theme/templates/blocks/realtime_cart_count.tpl *}
{* Unique classes/IDs to prevent conflicts *}
{$cart_count = $cart.amount|default:$smarty.session.cart.amount|default:0}
<style>
.realtime-cart-count {
position: relative;
top: 25px;
display: inline-block;
z-index: 1000;
}
.realtime-cart-badge {
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
background: #808080;
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 14px;
}
</style>
<div class="realtime-cart-count">
<span class="realtime-cart-badge" id="realtime_cart_counter">
{$cart_count}
</span>
</div>
<script>
(function(_, $) {
// Update immediately when cart changes (add/remove)
$.ceEvent('on', 'ce.cart.changed', function(data) {
if (typeof data.amount !== 'undefined') {
$('#realtime_cart_counter').text(data.amount);
}
});
// Handle edge cases (e.g., cart emptied via bulk action)
$.ceEvent('on', 'ce.ajaxdone', function(response) {
if (response.cart_amount === 0) {
$('#realtime_cart_counter').text('0');
}
});
})(Tygh, Tygh.$);
</script>";} |
0 |
|
|
1203 |
|
|
2 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Cart count block for new style |
| 742 |
247 |
a:1:{s:7:"content";s:2945:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Back to Top Widget</title>
<style>
.back-to-top {
position: fixed;
bottom: 250px;
right: 30px;
width: 50px;
height: 50px;
background-color: rgba(74, 107, 255, 0.85); /* Added transparency */
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
box-shadow: 0 4px 12px rgba(74, 107, 255, 0.3);
transition: all 0.3s ease;
opacity: 0;
visibility: hidden;
transform: translateY(20px);
z-index: 1000;
backdrop-filter: blur(2px); /* Adds a subtle blur effect to elements behind */
border: 1px solid rgba(255, 255, 255, 0.2); /* Subtle border */
}
.back-to-top.active {
opacity: 0.85; /* Matches the background transparency */
visibility: visible;
transform: translateY(0);
}
.back-to-top:hover {
background-color: rgba(58, 86, 212, 0.9); /* Slightly less transparent on hover */
box-shadow: 0 6px 16px rgba(74, 107, 255, 0.4);
transform: translateY(-3px);
opacity: 1; /* Fully opaque on hover */
}
.back-to-top::after {
content: "";
width: 16px;
height: 16px;
border-top: 3px solid #fff;
border-right: 3px solid #fff;
transform: rotate(-45deg);
margin-top: 6px;
}
@media (max-width: 768px) {
.back-to-top {
width: 44px;
height: 44px;
bottom: 250px;
right: 20px;
}
}
</style>
</head>
<body>
<!-- Back to Top Widget -->
<div class="back-to-top" id="backToTop"></div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const backToTopButton = document.getElementById('backToTop');
// Show/hide the button based on scroll position
window.addEventListener('scroll', function() {
if (window.pageYOffset > 300) {
backToTopButton.classList.add('active');
} else {
backToTopButton.classList.remove('active');
}
});
// Smooth scroll to top when clicked
backToTopButton.addEventListener('click', function(e) {
e.preventDefault();
window.scrollTo({
top: 0,
behavior: 'smooth'
});
});
});
</script>
</body>
</html>";} |
0 |
|
|
1172 |
|
|
2 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Scroll Widget HTML |
| 523 |
221 |
a:1:{s:7:"content";s:475:"<script>
function hideNotifications() {
document.querySelectorAll(".notification-content").forEach(function (element) {
element.style.display = "none";
});
}
// Run once on initial load
setTimeout(hideNotifications, 3000);
// Set up MutationObserver to handle AJAX-loaded elements
const observer = new MutationObserver(function (mutations) {
hideNotifications();
});
observer.observe(document.body, {
childList: true,
subtree: true,
});
</script>";} |
0 |
|
|
791 |
|
|
3 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Notification timer control |
| 755 |
241 |
a:1:{s:7:"content";s:1833:"<div class="realtime-cart-count">
<span class="realtime-cart-badge" id="realtime_cart_counter">0</span>
</div>
<style>
.realtime-cart-count {
position: relative;
top: 25px;
display: inline-block;
z-index: 1000;
}
.realtime-cart-badge {
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
background: #808080;
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 14px;
transition: all 0.3s ease;
}
.realtime-cart-badge.update-flash {
transform: scale(1.3);
background: #ff6b6b;
}
</style>
<script>
(function(_, $) {
// Flash effect when the cart count updates
function flashCounter() {
var $counter = $('#realtime_cart_counter');
$counter.addClass('update-flash');
setTimeout(function() {
$counter.removeClass('update-flash');
}, 300);
}
// Function to update the cart count
function updateCartCount(newCount) {
$('#realtime_cart_counter').text(newCount);
flashCounter();
}
// Listen for CS-Cart AJAX events (including the add-to-cart modal)
$.ceEvent('on', 'ce.ajaxdone', function(response) {
if (response.current_amount !== undefined) {
updateCartCount(response.current_amount); // Update count with CS-Cart's own response data
}
});
// Update cart count on page load
$(document).ready(function() {
$.ceAjax('request', fn_url('checkout.cart'), {
callback: function(data) {
if (data.cart_amount !== undefined) {
updateCartCount(data.cart_amount);
}
}
});
});
})(Tygh, Tygh.$);
</script>
";} |
0 |
|
|
1204 |
|
|
3 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Cart count html block |
| 742 |
248 |
a:1:{s:7:"content";s:342:"<script>// Find all span elements with both classes
// Find all span elements with both classes
const elements = document.querySelectorAll('span.ty-icon.ty-icon-short-list');
// Loop through each found element and apply the style
elements.forEach(element => {
element.style.top = '-20px';
element.style.background = 'none';
});
</script>";} |
0 |
|
|
1173 |
|
|
3 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Script to target sorting icon on product page and restyle |
| 523 |
234 |
a:1:{s:7:"content";s:721:"<script>
document.addEventListener('DOMContentLoaded', function() {
// Find all elements with the specified classes
const elements = document.querySelectorAll('.ty-minicart-title.ty-hand, .ty-block');
// Loop through each element found
elements.forEach(element => {
// Clear the existing text content and add with a dropdown icon
element.innerHTML = ' <span class="dropdown-icon">▼</span>';
// Style the dropdown icon for mobile
const dropdownIcon = element.querySelector('.dropdown-icon');
dropdownIcon.style.fontSize = '8px'; // Mobile-friendly size
dropdownIcon.style.verticalAlign = 'middle';
dropdownIcon.style.display = 'none';
});
});
</script>";} |
0 |
|
|
792 |
|
|
4 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Remodel and remove text from cart |
| 742 |
236 |
a:1:{s:7:"content";s:890:"// Find the button by its name attribute
const addToCartButton = document.querySelector('button[name="dispatch[checkout.add..8]"]');
// Function to replace text in the specified classes
function replaceTextInClasses() {
const elements = document.querySelectorAll('.ty-minicart-title, .ty-hand');
elements.forEach(element => {
element.textContent = '';
});
console.log('Text replaced in .ty-minicart-title and .ty-hand');
}
// Add click event listener to the button
if (addToCartButton) {
addToCartButton.addEventListener('click', function(event) {
// Optional: Prevent default button behavior if needed
// event.preventDefault();
// Execute the text replacement
replaceTextInClasses();
// Optional: Add a delay if the content appears dynamically
// setTimeout(replaceTextInClasses, 1000);
});
} else {
console.log('Button not found');
}";} |
0 |
|
|
1174 |
|
|
4 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Script to clear cart text after adding item |
| 742 |
237 |
a:1:{s:7:"content";s:569:"<script>
// Wait for the DOM to be fully loaded
document.addEventListener('DOMContentLoaded', function() {
// Find all elements with the class 'ty-minicart-title'
var minicartTitles = document.querySelectorAll('.ty-minicart-title');
// Loop through each element found
minicartTitles.forEach(function(element) {
// Add 10 to the element's content
element.innerHTML = ' ' + element.innerHTML;
// Set the display to none
element.style.display = 'none';
});
});
</script>";} |
0 |
|
|
1175 |
|
|
5 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Replace title with non breaking space in cart content |
| 523 |
351 |
a:1:{s:7:"content";s:8232:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gonje - Help & Support</title>
<!-- Font Awesome -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
<style>
/* Chat Widget Styles */
.chat-widget {
position: fixed;
right: 30px;
bottom: 5px;
width: 60px;
height: 60px;
background: linear-gradient(135deg, #28A745, #70ab4b);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 24px;
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
cursor: pointer;
z-index: 9999;
transition: all 0.3s ease;
opacity: 0;
}
.chat-widget.visible {
opacity: 1;
}
.chat-widget:hover {
transform: scale(1.1);
box-shadow: 0 8px 20px rgba(0,0,0,0.3);
}
.chat-widget i {
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.1); }
100% { transform: scale(1); }
}
/* Chat Widget Tooltip Styles */
.chat-widget-tooltip {
position: fixed;
right: 100px;
bottom: 20px;
z-index: 10000;
background-color: white;
color: #333;
padding: 12px 15px;
border-radius: 8px;
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
max-width: 250px;
display: none;
animation: chat-tooltip-fade 0.3s ease-out;
border: 1px solid #e0e0e0;
font-family: Arial, sans-serif;
}
.chat-widget-tooltip::after {
content: '';
position: absolute;
right: -10px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 10px solid white;
}
.chat-widget-tooltip-close {
position: absolute;
top: 5px;
right: 5px;
background: none;
border: none;
color: #888;
font-size: 14px;
cursor: pointer;
padding: 0;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: all 0.2s ease;
}
.chat-widget-tooltip-close:hover {
color: #555;
background-color: #f0f0f0;
}
.chat-widget-tooltip-content {
font-size: 14px;
line-height: 1.4;
margin-right: 15px;
}
@keyframes chat-tooltip-fade {
from { opacity: 0; transform: translateX(10px); }
to { opacity: 1; transform: translateX(0); }
}
/* Mobile positioning */
@media (max-width: 768px) {
.chat-widget {
bottom: 71px;
right: 20px;
width: 50px;
height: 50px;
font-size: 20px;
}
/* Hide tooltip on mobile */
.chat-widget-tooltip {
display: none !important;
}
}
</style>
</head>
<body>
<!-- Your page content goes here -->
<!-- Floating Chat Widget -->
<div class="chat-widget" id="supportChatWidget">
<i class="fas fa-headset"></i>
</div>
<!-- Chat Widget Tooltip -->
<div class="chat-widget-tooltip" id="chatWidgetTooltip">
<button class="chat-widget-tooltip-close" id="chatWidgetTooltipClose" aria-label="Close tooltip">×</button>
<div class="chat-widget-tooltip-content">
Need help? Click here to contact our support team for quick assistance.
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const chatWidget = document.getElementById('supportChatWidget');
const tooltip = document.getElementById('chatWidgetTooltip');
const tooltipClose = document.getElementById('chatWidgetTooltipClose');
let tooltipTimeout;
// Make widget visible after delay
setTimeout(() => {
if (chatWidget) {
chatWidget.classList.add('visible');
}
}, 1000);
if (chatWidget) {
// Click handler for widget
chatWidget.addEventListener('click', function() {
// Navigate to support page
window.location.href = 'https://marketplace.gonje.com/support';
});
// Show tooltip function
const showTooltip = () => {
if (window.innerWidth > 768) {
// Clear any pending timeout
clearTimeout(tooltipTimeout);
// Show tooltip
tooltip.style.display = 'block';
// Set timeout to hide after 8 seconds
tooltipTimeout = setTimeout(() => {
if (tooltip.style.display === 'block') {
tooltip.style.display = 'none';
}
}, 60000);
}
};
// Show tooltip on hover
chatWidget.addEventListener('mouseenter', showTooltip);
// Show tooltip after page load (with delay)
setTimeout(showTooltip, 2000);
// Hide tooltip when mouse leaves widget (unless hovering tooltip)
chatWidget.addEventListener('mouseleave', () => {
if (!tooltip.matches(':hover')) {
tooltip.style.display = 'none';
clearTimeout(tooltipTimeout);
}
});
// Keep tooltip visible when hovering it
tooltip.addEventListener('mouseenter', () => {
clearTimeout(tooltipTimeout);
});
// Hide tooltip when mouse leaves
tooltip.addEventListener('mouseleave', () => {
tooltip.style.display = 'none';
clearTimeout(tooltipTimeout);
});
// Close tooltip when X is clicked
tooltipClose.addEventListener('click', (e) => {
e.stopPropagation();
tooltip.style.display = 'none';
clearTimeout(tooltipTimeout);
// Prevent this from affecting other tooltips
e.preventDefault();
return false;
});
// Close tooltip when clicking outside (for touch devices)
document.addEventListener('click', (e) => {
if (!chatWidget.contains(e.target) && !tooltip.contains(e.target)) {
tooltip.style.display = 'none';
clearTimeout(tooltipTimeout);
}
});
}
});
</script>
</body>
</html>";} |
0 |
|
|
1158 |
|
|
5 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Support Widget |
| 742 |
239 |
a:1:{s:7:"content";s:494:"<script>
// Wait for the DOM to be fully loaded
document.addEventListener('DOMContentLoaded', function() {
// Find the element with both classes
const emptyCartElement = document.querySelector('.ty-cart-items__empty.ty-center');
// If the element exists, insert the text
if (emptyCartElement) {
emptyCartElement.textContent = 'The cart is empty';
} else {
console.log('Element with class "ty-cart-items__empty ty-center" not found');
}
});
</script>";} |
0 |
|
|
1176 |
|
|
6 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Add cart is empty text |
| 523 |
343 |
a:1:{s:7:"content";s:21422:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Our Sustainable Packaging</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
<style>
:root {
--gonje-sustainable-green: #2E8B57;
--gonje-sustainable-light: #E8F5E9;
--gonje-sustainable-dark: #1B5E20;
}
/* Reset for CS-Cart environment */
.gonje-sustainable-section-container {
margin: 0;
padding: 0;
width: 100%;
box-sizing: border-box;
}
/* Eco Widget Styles */
.gonje-sustainable-widget {
position: fixed;
left: 20px;
bottom: 70px;
z-index: 1000;
background-color: var(--gonje-sustainable-green);
color: white;
width: 50px;
height: 50px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
transition: all 0.3s ease;
animation: gonje-sustainable-pulse 2s infinite;
}
.gonje-sustainable-widget:hover {
transform: scale(1.1);
background-color: var(--gonje-sustainable-dark);
}
.gonje-sustainable-widget i {
font-size: 24px;
}
@keyframes gonje-sustainable-pulse {
0% { transform: scale(1); }
50% { transform: scale(1.05); }
100% { transform: scale(1); }
}
/* Modal Styles */
.gonje-sustainable-modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.7);
z-index: 2000;
overflow-y: auto;
padding: 10px;
box-sizing: border-box;
}
.gonje-sustainable-modal-content {
background-color: white;
width: calc(100% - 20px);
max-width: 900px;
margin: 20px auto;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 5px 20px rgba(0,0,0,0.2);
animation: gonje-sustainable-modalFadeIn 0.3s ease-out;
}
@keyframes gonje-sustainable-modalFadeIn {
from { opacity: 0; transform: translateY(-20px); }
to { opacity: 1; transform: translateY(0); }
}
.gonje-sustainable-modal-header {
background-color: var(--gonje-sustainable-dark);
color: white;
padding: 15px;
text-align: center;
position: relative;
}
.gonje-sustainable-modal-title {
font-size: 20px;
font-weight: 600;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
padding: 0 20px;
word-break: break-word;
}
.gonje-sustainable-modal-close {
position: absolute;
top: 10px;
right: 10px;
background: none;
border: none;
color: white;
font-size: 24px;
cursor: pointer;
transition: transform 0.2s;
}
.gonje-sustainable-modal-close:hover {
transform: rotate(90deg);
}
.gonje-sustainable-modal-body {
display: flex;
flex-direction: column;
padding: 0;
}
.gonje-sustainable-modal-intro {
padding: 15px;
box-sizing: border-box;
order: 1;
}
.gonje-sustainable-modal-description {
font-size: 15px;
line-height: 1.6;
color: #555;
margin-bottom: 15px;
word-break: break-word;
}
.gonje-sustainable-modal-image {
padding: 0 15px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
order: 2;
}
.gonje-sustainable-modal-image img {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
object-fit: contain;
}
.gonje-sustainable-impact-statement {
font-size: 13px;
background-color: var(--gonje-sustainable-light);
padding: 10px;
border-radius: 6px;
margin: 15px;
color: var(--gonje-sustainable-dark);
border-left: 3px solid var(--gonje-sustainable-green);
order: 3;
}
.gonje-sustainable-practices-container {
width: 100%;
padding: 0 15px 15px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 15px;
order: 4;
}
.gonje-sustainable-practice-item {
background: white;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
border: 1px solid #e0e0e0;
min-width: 0;
width: 100%;
box-sizing: border-box;
}
.gonje-sustainable-practice-header {
background-color: var(--gonje-sustainable-dark);
color: white;
padding: 10px 12px;
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
font-weight: 600;
}
.gonje-sustainable-practice-icon {
font-size: 16px;
width: 28px;
height: 28px;
background: rgba(255,255,255,0.2);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.gonje-sustainable-practice-details {
padding: 12px;
}
.gonje-sustainable-practice-point {
display: flex;
align-items: flex-start;
margin-bottom: 8px;
font-size: 13px;
line-height: 1.5;
gap: 8px;
word-break: break-word;
}
.gonje-sustainable-point-icon {
color: var(--gonje-sustainable-green);
font-size: 12px;
margin-top: 3px;
flex-shrink: 0;
}
@media (min-width: 768px) {
.gonje-sustainable-modal-content {
margin: 40px auto;
}
.gonje-sustainable-modal-header {
padding: 20px;
}
.gonje-sustainable-modal-title {
font-size: 24px;
}
.gonje-sustainable-modal-body {
flex-direction: row;
flex-wrap: wrap;
}
.gonje-sustainable-modal-intro {
flex: 1;
min-width: 300px;
padding: 20px;
order: 1;
}
.gonje-sustainable-modal-image {
flex: 1;
min-width: 300px;
padding: 20px;
order: 2;
}
.gonje-sustainable-impact-statement {
width: 100%;
margin: 0 20px 20px;
order: 3;
}
.gonje-sustainable-modal-description {
font-size: 16px;
}
.gonje-sustainable-practices-container {
padding: 0 20px 20px;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
order: 4;
}
.gonje-sustainable-practice-header {
font-size: 15px;
padding: 12px 15px;
}
.gonje-sustainable-practice-point {
font-size: 14px;
}
}
@media (min-width: 992px) {
.gonje-sustainable-practices-container {
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 15px;
}
}
</style>
</head>
<body>
<!-- Eco-Friendly Floating Widget -->
<div class="gonje-sustainable-widget" id="gonjeSustainableWidget" title="Our Sustainability Practices">
<i class="fas fa-leaf"></i>
</div>
<!-- Modal Section -->
<div id="gonjeSustainableModal" class="gonje-sustainable-modal">
<div class="gonje-sustainable-modal-content">
<div class="gonje-sustainable-modal-header">
<h2 style="color:white;" class="gonje-sustainable-modal-title">
<i class="fas fa-leaf"></i>
Our Sustainable Packaging
</h2>
<button class="gonje-sustainable-modal-close">×</button>
</div>
<div class="gonje-sustainable-modal-body">
<div class="gonje-sustainable-modal-intro">
<p class="gonje-sustainable-modal-description">
At our company, we're committed to sustainable packaging solutions that minimize environmental impact
while protecting your products. Our comprehensive approach covers every aspect of packaging, from
material selection to end-of-life disposal.
</p>
</div>
<div class="gonje-sustainable-modal-image">
<img src="https://marketplace.gonje.com/images/gonje-sustainable-sm.jpeg" alt="Sustainable Packaging">
</div>
<div class="gonje-sustainable-impact-statement">
<strong>Overall Impact:</strong> Reduced packaging waste by 45% and eliminated 12 tons of plastic annually
through our sustainable packaging initiatives.
</div>
<div class="gonje-sustainable-practices-container">
<!-- Item 1 -->
<div class="gonje-sustainable-practice-item">
<div class="gonje-sustainable-practice-header">
<div class="gonje-sustainable-practice-icon">
<i class="fas fa-recycle"></i>
</div>
Material Selection
</div>
<div class="gonje-sustainable-practice-details">
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>100% recycled cardboard boxes</span>
</div>
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>FSC-certified paper materials</span>
</div>
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>Plant-based coatings</span>
</div>
<div class="gonje-sustainable-impact-statement">
<strong>Result:</strong> 92% recycled/compostable materials
</div>
</div>
</div>
<!-- Item 2 -->
<div class="gonje-sustainable-practice-item">
<div class="gonje-sustainable-practice-header">
<div class="gonje-sustainable-practice-icon">
<i class="fas fa-box-open"></i>
</div>
Box Design
</div>
<div class="gonje-sustainable-practice-details">
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>AI-optimized sizing</span>
</div>
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>Soy-based inks</span>
</div>
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>Reusable designs</span>
</div>
<div class="gonje-sustainable-impact-statement">
<strong>Result:</strong> 28% less material used
</div>
</div>
</div>
<!-- Item 3 -->
<div class="gonje-sustainable-practice-item">
<div class="gonje-sustainable-practice-header">
<div class="gonje-sustainable-practice-icon">
<i class="fas fa-shield-alt"></i>
</div>
Protection
</div>
<div class="gonje-sustainable-practice-details">
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>Recycled paper padding</span>
</div>
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>Starch-based cool packs</span>
</div>
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>Compostable fiber trays</span>
</div>
<div class="gonje-sustainable-impact-statement">
<strong>Result:</strong> 3.5 tons plastic eliminated
</div>
</div>
</div>
<!-- Item 4 -->
<div class="gonje-sustainable-practice-item">
<div class="gonje-sustainable-practice-header">
<div class="gonje-sustainable-practice-icon">
<i class="fas fa-tape"></i>
</div>
Sealing
</div>
<div class="gonje-sustainable-practice-details">
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>Plastic-free paper tape</span>
</div>
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>Recyclable labels</span>
</div>
<div class="gonje-sustainable-impact-statement">
<strong>Result:</strong> 100% plastic-free sealing
</div>
</div>
</div>
<!-- Item 5 -->
<div class="gonje-sustainable-practice-item">
<div class="gonje-sustainable-practice-header">
<div class="gonje-sustainable-practice-icon">
<i class="fas fa-undo"></i>
</div>
Reusability
</div>
<div class="gonje-sustainable-practice-details">
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>Return discounts</span>
</div>
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>Collapsible crates</span>
</div>
<div class="gonje-sustainable-impact-statement">
<strong>Result:</strong> 62% container return rate
</div>
</div>
</div>
<!-- Item 6 -->
<div class="gonje-sustainable-practice-item">
<div class="gonje-sustainable-practice-header">
<div class="gonje-sustainable-practice-icon">
<i class="fas fa-trash-alt"></i>
</div>
Waste Reduction
</div>
<div class="gonje-sustainable-practice-details">
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>Clear recycling guides</span>
</div>
<div class="gonje-sustainable-practice-point">
<i class="fas fa-check gonje-sustainable-point-icon"></i>
<span>Paper void fill</span>
</div>
<div class="gonje-sustainable-impact-statement">
<strong>Result:</strong> 89% proper recycling
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Modal functionality
const ecoWidget = document.getElementById('gonjeSustainableWidget');
const modal = document.getElementById('gonjeSustainableModal');
const closeBtn = document.querySelector('.gonje-sustainable-modal-close');
// Open modal when widget is clicked
ecoWidget.addEventListener('click', function() {
modal.style.display = 'block';
document.body.style.overflow = 'hidden';
});
// Close modal when X is clicked
closeBtn.addEventListener('click', function() {
modal.style.display = 'none';
document.body.style.overflow = 'auto';
});
// Close modal when clicking outside content
window.addEventListener('click', function(event) {
if (event.target === modal) {
modal.style.display = 'none';
document.body.style.overflow = 'auto';
}
});
// Close modal with Escape key
document.addEventListener('keydown', function(event) {
if (event.key === 'Escape' && modal.style.display === 'block') {
modal.style.display = 'none';
document.body.style.overflow = 'auto';
}
});
});
</script>
</body>
</html>";} |
0 |
|
|
1159 |
|
|
6 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje sustainable |
| 742 |
240 |
a:1:{s:7:"content";s:1746:"<script>
(function(_, $) {
// Visual feedback function
function flashCounter() {
var $counter = $('#realtime_cart_counter');
$counter.addClass('update-flash');
setTimeout(function() {
$counter.removeClass('update-flash');
}, 300);
}
// Function to fetch the latest cart data from the server
function updateCartCount() {
$.ceAjax('request', fn_url('checkout.cart'), {
method: 'POST',
callback: function(data) {
if (data.cart_amount !== undefined) {
$('#realtime_cart_counter').text(data.cart_amount);
flashCounter();
}
}
});
}
// 1. TRACK ALL ADD TO CART BUTTONS
$(document).on('click', '[id^="button_cart_"], .ty-btn__add-to-cart', function(e) {
updateCartCount();
});
// 2. TRACK ALL REMOVE ITEM LINKS
$(document).on('click', 'a[href*="checkout.delete"], a[href*="cart.delete"], a[href*="wishlist.delete"]', function(e) {
updateCartCount();
});
// 3. HANDLE AJAX RESPONSE EVENTS
$.ceEvent('on', 'ce.ajaxdone', function(response) {
if (response.cart_amount !== undefined) {
$('#realtime_cart_counter').text(response.cart_amount);
flashCounter();
}
});
// 4. HANDLE CART CHANGES (e.g., quantity updates)
$.ceEvent('on', 'ce.cart.changed', function(data) {
if (data.amount !== undefined) {
$('#realtime_cart_counter').text(data.amount);
flashCounter();
}
});
// 5. INITIAL CART COUNT UPDATE ON PAGE LOAD
$(document).ready(function() {
updateCartCount();
});
})(Tygh, Tygh.$);
</script>";} |
0 |
|
|
1177 |
|
|
7 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Cart count tpl script |
| 742 |
242 |
a:1:{s:7:"content";s:3195:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cart Indicator</title>
<style>
/* Base styles */
.ty-dropdown-box {
}
/* Cart icon styles */
.ty-icon.ty-icon-cart.ty-minicart__icon.filled {
display: inline-block;
width: 40px;
height: 40px;
background-color: #f7f5f0;
margin: 10px;
position: relative;
}
/* Green dot indicator */
.ty-icon.ty-icon-cart.ty-minicart__icon.filled.has-indicator::after {
content: '';
position: absolute;
top: -5px;
right: -5px;
width: 12px;
height: 12px;
background-color: #2ecc71;
border-radius: 50%;
border: 2px solid white;
z-index: 10;
}
/* Button styles */
.ty-btn__add-to-cart {
}
.ty-btn__add-to-cart:hover {
}
</style>
</head>
<body>
<script>
document.addEventListener('DOMContentLoaded', function() {
const addToCartButton = document.querySelector('.ty-btn__add-to-cart');
function containsCartText(element) {
const textContent = element.textContent || element.innerText;
return textContent.toLowerCase().includes('cart');
}
function getTargetIcons() {
const allDropdowns = document.querySelectorAll('.ty-dropdown-box');
const targetIcons = [];
allDropdowns.forEach(dropdown => {
if (containsCartText(dropdown)) {
const icon = dropdown.querySelector('.ty-icon.ty-icon-cart.ty-minicart__icon.filled');
if (icon) {
targetIcons.push({
icon: icon,
container: dropdown
});
}
}
});
return targetIcons;
}
// Add green dot when clicking the button
addToCartButton.addEventListener('click', function() {
const targetIcons = getTargetIcons();
targetIcons.forEach(item => {
item.icon.classList.add('has-indicator');
});
});
// Remove green dot when clicking the container
document.addEventListener('click', function(e) {
const dropdown = e.target.closest('.ty-dropdown-box');
if (dropdown && containsCartText(dropdown)) {
const icon = dropdown.querySelector('.ty-icon.ty-icon-cart.ty-minicart__icon.filled');
if (icon) {
icon.classList.remove('has-indicator');
}
}
});
});
</script>
</body>
</html>";} |
0 |
|
|
1178 |
|
|
8 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Cart Update Indicator |
| 742 |
243 |
a:1:{s:7:"content";s:861:"<script>
(function() {
// Function to hide the error message
const hideCountryError = () => {
const notifications = document.querySelectorAll('.cm-notification-content.notification-content.alert-error');
notifications.forEach(notification => {
if (notification.textContent.includes("The 'Country' field is required.")) {
notification.style.display = 'none'; // Hide it
// notification.remove(); // Or remove it completely
}
});
};
// Run immediately when the script loads
hideCountryError();
// Set up a MutationObserver to detect dynamically loaded errors
const observer = new MutationObserver(hideCountryError);
observer.observe(document.body, {
childList: true,
subtree: true
});
})();
</script>";} |
0 |
|
|
1179 |
|
|
9 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Remove country required notification |
| 742 |
244 |
a:1:{s:7:"content";s:2123:"<script>
// Function to fetch country from IPinfo and update both select and flag
function setCountryBasedOnIP() {
const selectElement = document.getElementById('litecheckout_country');
const flagSpan = document.querySelector('.ty-icon.ty-flag.ty-select-block__a-flag');
if (!selectElement || !flagSpan) {
console.error('Required elements not found');
return;
}
// Fetch country information from IPinfo
fetch('https://ipinfo.io/json?token=801609ba6b01eb')
.then(response => response.json())
.then(data => {
const countryCode = data.country; // Get the 2-letter country code
if (!countryCode) {
console.error('Could not determine country from IP');
return;
}
// Update the select dropdown
const optionToSelect = selectElement.querySelector(`option[value="${countryCode}"]`);
if (optionToSelect) {
optionToSelect.selected = true;
// Update the flag span
// First remove all existing flag classes
flagSpan.className = flagSpan.className.replace(/\bty-flag-\w+\b/g, '');
// Add the new flag class
flagSpan.classList.add(`ty-flag-${countryCode.toLowerCase()}`);
// Trigger change event
const event = new Event('change');
selectElement.dispatchEvent(event);
console.log(`Country set to ${optionToSelect.textContent} (${countryCode})`);
} else {
console.warn(`No option found for country code: ${countryCode}`);
}
})
.catch(error => {
console.error('Error fetching IP info:', error);
});
}
// Run when page loads
document.addEventListener('DOMContentLoaded', setCountryBasedOnIP);
// Also handle dynamic loading
const observer = new MutationObserver(() => {
if (document.getElementById('litecheckout_country') &&
document.querySelector('.ty-icon.ty-flag.ty-select-block__a-flag')) {
setCountryBasedOnIP();
observer.disconnect();
}
});
observer.observe(document.body, { childList: true, subtree: true });
</script>";} |
0 |
|
|
1180 |
|
|
10 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Target and autofill country input field |
| 742 |
19 |
|
0 |
|
|
1181 |
|
|
11 |
D |
template |
a:1:{s:8:"template";s:41:"blocks/static_templates/payment_icons.tpl";} |
0 |
1 |
en |
Payment icons |
| 742 |
221 |
a:1:{s:7:"content";s:475:"<script>
function hideNotifications() {
document.querySelectorAll(".notification-content").forEach(function (element) {
element.style.display = "none";
});
}
// Run once on initial load
setTimeout(hideNotifications, 3000);
// Set up MutationObserver to handle AJAX-loaded elements
const observer = new MutationObserver(function (mutations) {
hideNotifications();
});
observer.observe(document.body, {
childList: true,
subtree: true,
});
</script>";} |
0 |
|
|
1182 |
|
|
12 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Notification timer control |
| 742 |
234 |
a:1:{s:7:"content";s:721:"<script>
document.addEventListener('DOMContentLoaded', function() {
// Find all elements with the specified classes
const elements = document.querySelectorAll('.ty-minicart-title.ty-hand, .ty-block');
// Loop through each element found
elements.forEach(element => {
// Clear the existing text content and add with a dropdown icon
element.innerHTML = ' <span class="dropdown-icon">▼</span>';
// Style the dropdown icon for mobile
const dropdownIcon = element.querySelector('.dropdown-icon');
dropdownIcon.style.fontSize = '8px'; // Mobile-friendly size
dropdownIcon.style.verticalAlign = 'middle';
dropdownIcon.style.display = 'none';
});
});
</script>";} |
0 |
|
|
1183 |
|
|
13 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Remodel and remove text from cart |
| 742 |
235 |
a:1:{s:7:"content";s:909:"<script>
// Find the button by its name attribute
const addToCartButton = document.querySelector('button[name="dispatch[checkout.add..8]"]');
// Function to replace text in the specified classes
function replaceTextInClasses() {
const elements = document.querySelectorAll('.ty-minicart-title, .ty-hand');
elements.forEach(element => {
element.textContent = '';
});
console.log('Text replaced in .ty-minicart-title and .ty-hand');
}
// Add click event listener to the button
if (addToCartButton) {
addToCartButton.addEventListener('click', function(event) {
// Optional: Prevent default button behavior if needed
// event.preventDefault();
// Execute the text replacement
replaceTextInClasses();
// Optional: Add a delay if the content appears dynamically
// setTimeout(replaceTextInClasses, 1000);
});
} else {
console.log('Button not found');
}
</script>";} |
0 |
|
|
1184 |
|
|
14 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Replace cart title with empty string |
| 742 |
245 |
a:1:{s:7:"content";s:619:"<script>
const shopNowLink = Array.from(document.querySelectorAll('a')).find(a =>
a.textContent.trim() === 'Shop now' &&
a.href === 'https://marketplace.gonje.com/fulfilment-by-gonje/'
);
if (shopNowLink) {
// Add the onclick attribute
shopNowLink.setAttribute('onclick', "document.getElementById('mod-sn-modal').style.display = 'flex'");
// Remove the href attribute to disable linking
shopNowLink.removeAttribute('href');
// Prevent default behavior if someone tries to click it
shopNowLink.addEventListener('click', (e) => {
e.preventDefault();
});
}
</script>";} |
0 |
|
|
1185 |
|
|
15 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Script for shop now vendor location link |
| 742 |
233 |
a:1:{s:7:"content";s:946:"<script>
// Wait for DOM to be fully loaded before executing
document.addEventListener('DOMContentLoaded', function() {
try {
// Hide elements with any attribute containing 'wk_aramex_delivery_datetime'
const elementsToHide = document.querySelectorAll('[id*="wk_aramex_delivery_datetime"], [name*="wk_aramex_delivery_datetime"], [class*="wk_aramex_delivery_datetime"]');
elementsToHide.forEach(element => {
if (element && element.style) {
element.style.display = 'none';
}
});
// Hide labels containing these elements
document.querySelectorAll('label').forEach(label => {
if (label && label.innerHTML && label.innerHTML.includes('wk_aramex_delivery_datetime')) {
label.style.display = 'none';
}
});
} catch (error) {
console.error('Error hiding elements:', error);
}
});
</script>";} |
0 |
|
|
1187 |
|
|
16 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Hide Webkul Date and Time |