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 |
| 569 |
4 |
|
0 |
|
|
889 |
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 |
| 568 |
5 |
|
0 |
|
|
885 |
|
top-logo |
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 |
| 570 |
8 |
|
0 |
|
|
891 |
|
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 |
| 791 |
10 |
|
0 |
|
|
1354 |
|
|
0 |
A |
breadcrumbs |
a:1:{s:8:"template";s:22:"common/breadcrumbs.tpl";} |
0 |
1 |
en |
Breadcrumbs |
| 805 |
10 |
|
0 |
|
|
1355 |
|
|
0 |
A |
breadcrumbs |
a:1:{s:8:"template";s:22:"common/breadcrumbs.tpl";} |
0 |
1 |
en |
Breadcrumbs |
| 789 |
18 |
|
0 |
|
|
1306 |
|
|
0 |
A |
template |
a:1:{s:8:"template";s:37:"blocks/static_templates/copyright.tpl";} |
0 |
1 |
en |
Copyright |
| 573 |
48 |
a:1:{s:7:"content";s:24:"<h2> {__("stores")}</h2>";} |
0 |
|
|
897 |
|
|
0 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Stores |
| 571 |
49 |
|
0 |
|
|
892 |
|
|
0 |
D |
vendor_logo |
a:1:{s:8:"template";s:30:"blocks/vendors/vendor_logo.tpl";} |
0 |
1 |
en |
Vendor logo |
| 577 |
51 |
|
0 |
|
|
900 |
|
|
0 |
D |
vendor_information |
a:1:{s:8:"template";s:37:"blocks/vendors/vendor_information.tpl";} |
0 |
1 |
en |
Vendor information |
| 578 |
52 |
a:1:{s:5:"items";a:1:{s:7:"filling";s:8:"manually";}} |
0 |
|
|
901 |
|
|
0 |
A |
product_filters |
a:1:{s:8:"template";s:43:"blocks/product_filters/selected_filters.tpl";} |
0 |
1 |
en |
Selected product filters |
| 783 |
128 |
|
0 |
|
|
1300 |
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 |
| 784 |
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 |
|
|
1302 |
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 |
| 785 |
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 |
|
|
1303 |
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 |
| 787 |
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 |
|
|
1305 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje Footer |
| 579 |
180 |
a:1:{s:7:"content";s:4374:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Collapsible Navigation</title>
<style>
.gonje-vendors-container {
font-family: Arial, sans-serif;
max-width: 300px;
padding: 16px;
text-align: left;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.gonje-vendors-heading {
font-size: 24px;
font-weight: bold;
margin-bottom: 20px;
color: #333;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
}
.gonje-vendors-heading::after {
content: "▼";
font-size: 16px;
transition: transform 0.2s;
}
.gonje-vendors-heading.collapsed::after {
transform: rotate(-90deg);
}
.gonje-vendors-list {
display: flex;
flex-direction: column;
}
.gonje-vendors-grid-item {
background-color: #fff;
border-radius: 5px;
padding: 10px;
display: flex;
justify-content: flex-start;
align-items: center;
transition: background-color 0.2s, box-shadow 0.2s, transform 0.2s;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
margin-bottom: 10px;
}
.gonje-vendors-grid-item a {
display: flex;
flex-direction: row;
align-items: center;
color: black;
text-decoration: none;
width: 100%;
}
.gonje-vendors-grid-item img {
width: 40px;
margin-right: 10px;
}
.gonje-vendors-grid-item:hover {
background-color: #F7D594;
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
transform: scale(1.05);
}
.gonje-vendors-grid-item a span {
font-weight: bold;
}
@media (max-width: 400px) {
.gonje-vendors-container {
max-width: 100%;
padding: 10px;
}
.gonje-vendors-heading {
font-size: 20px;
margin-bottom: 15px;
}
.gonje-vendors-grid-item {
padding: 8px;
margin-bottom: 8px;
}
.gonje-vendors-grid-item img {
width: 30px;
margin-right: 8px;
}
}
</style>
</head>
<body>
<div class="gonje-vendors-container">
<div class="gonje-vendors-heading" onclick="toggleVendorsList()">
Vendor Categories
</div>
<div class="gonje-vendors-list" id="vendors-list">
<div class="gonje-vendors-grid-item">
<a href="https://marketplace.gonje.com/groceries">
<img src="https://www.gonje.com.au/assets/images/shopping-basket.svg" alt="Groceries">
<span>Groceries</span>
</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">
<span>Fridge</span>
</a>
</div>
<div class="gonje-vendors-grid-item">
<a href="https://marketplace.gonje.com/meal-kits">
<img src="https://www.gonje.com.au/assets/images/kitchen-book.svg" alt="Meal Kits">
<span>Meal Kits</span>
</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">
<span>Today's Sale</span>
</a>
</div>
<div class="gonje-vendors-grid-item">
<a href="https://marketplace.gonje.com/gift-card">
<img src="https://www.gonje.com.au/assets/images/gift-box.svg" alt="Gift Card">
<span>Gift Card</span>
</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">
<span>Top Deals</span>
</a>
</div>
<div class="gonje-vendors-grid-item">
<a href="https://marketplace.gonje.com/go-club">
<img src="https://www.gonje.com.au/assets/images/project-launch.svg" alt="Go Club">
<span>Go Club</span>
</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">
<span>What's New</span>
</a>
</div>
</div>
</div>
<script>
function toggleVendorsList() {
var vendorsList = document.getElementById('vendors-list');
var heading = document.querySelector('.gonje-vendors-heading');
vendorsList.style.display = vendorsList.style.display === 'none' ? 'flex' : 'none';
heading.classList.toggle('collapsed');
}
</script>
</body>
</html>
";} |
0 |
|
|
904 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje Vendor Categories Vertical |
| 568 |
197 |
a:1:{s:7:"content";s:679:"{** 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 |
|
|
886 |
|
|
0 |
A |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Modified logo for href linking |
| 572 |
223 |
a:1:{s:7:"content";s:12172:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ecommerce Links</title>
<style>
.gonje-nav-buttons-container {
position: relative;
width: 100%;
max-width: 100%;
overflow: hidden;
background-color: #f7f5f0;
border-radius: 20px;
padding: 5px 0;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
margin: 0 auto;
z-index: 1;
}
.gonje-nav-buttons-list {
display: flex;
gap: 8px;
padding: 10px;
scroll-behavior: smooth;
overflow-x: auto;
scrollbar-width: none;
-ms-overflow-style: none;
white-space: nowrap;
position: relative;
z-index: 2;
-webkit-overflow-scrolling: touch; /* Better scrolling on iOS */
}
.gonje-nav-buttons-list::-webkit-scrollbar {
display: none;
}
.gonje-nav-buttons-button {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: white;
border-radius: 20px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
text-decoration: none;
color: #333;
font-size: 14px;
font-weight: bold;
transition: all 0.3s ease;
flex-shrink: 0;
position: relative;
z-index: 3;
}
.gonje-nav-buttons-button:hover {
background: #70ab4b;
color: white;
transform: scale(1.05);
}
.gonje-nav-buttons-button img {
width: 18px;
height: 18px;
object-fit: contain;
}
.gonje-nav-buttons-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(0, 0, 0, 0.5);
color: white;
border: none;
padding: 6px;
border-radius: 50%;
cursor: pointer;
font-size: 12px;
opacity: 0;
transition: opacity 0.3s ease;
z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
width: 26px;
height: 26px;
}
.gonje-nav-buttons-left-arrow { left: 5px; }
.gonje-nav-buttons-right-arrow { right: 5px; }
.gonje-nav-buttons-container:hover .gonje-nav-buttons-arrow {
opacity: 1;
}
.gonje-nav-buttons-arrow:hover {
background: rgba(0, 0, 0, 0.8);
}
/* Mobile styles */
@media (max-width: 768px) {
.gonje-nav-buttons-arrow {
display: none !important;
}
.gonje-nav-buttons-list {
gap: 6px;
padding: 8px 10px;
}
.gonje-nav-buttons-button {
padding: 5px 10px;
font-size: 11px;
}
.gonje-nav-buttons-button img {
width: 18px;
height: 18px;
}
}
/* Extra small mobile devices */
@media (max-width: 480px) {
.gonje-nav-buttons-button {
padding: 4px 8px;
font-size: 12px;
border-radius: 15px;
}
.gonje-nav-buttons-button img {
width: 12px;
height: 12px;
}
.gonje-nav-buttons-list {
gap: 4px;
padding: 6px 8px;
}
}
</style>
</head>
<body class="gonje-nav-buttons-body">
<div class="gonje-nav-buttons-container" id="gonjeNavButtonsScrollContainer">
<button class="gonje-nav-buttons-arrow gonje-nav-buttons-left-arrow" onclick="gonjeNavButtonsScrollList(-200)">׀</button>
<div class="gonje-nav-buttons-list" id="gonjeNavButtonsList">
<a href="https://marketplace.gonje.com/fulfilment-by-gonje/" class="gonje-nav-buttons-button">
<img src="https://backendapi.gonje.com/public/gonje-storage/public/images/cheers-in-love.svg" alt="Beverages">
<span>Beverages</span>
</a>
<a href="https://marketplace.gonje.com/fulfilment-by-gonje/" class="gonje-nav-buttons-button">
<img src="https://backendapi.gonje.com/public/gonje-storage/public/images/cherry.svg" alt="Fresh Fruits">
<span>Fresh Fruits</span>
</a>
<a href="https://marketplace.gonje.com/fulfilment-by-gonje/" class="gonje-nav-buttons-button">
<img src="https://backendapi.gonje.com/public/gonje-storage/public/images/grocery.svg" alt="Daily Groceries">
<span>Daily Groceries</span>
</a>
<a href="https://marketplace.gonje.com/fulfilment-by-gonje/" class="gonje-nav-buttons-button">
<img src="https://backendapi.gonje.com/public/gonje-storage/public/images/ice-cream.svg" alt="Cool Desserts">
<span>Cool Desserts</span>
</a>
<a href="https://marketplace.gonje.com/fulfilment-by-gonje/" class="gonje-nav-buttons-button">
<img src="https://backendapi.gonje.com/public/gonje-storage/public/images/fridge-items.svg" alt="Fresh Items">
<span>Fresh Items</span>
</a>
<a href="https://marketplace.gonje.com/fulfilment-by-gonje/" class="gonje-nav-buttons-button">
<img src="https://backendapi.gonje.com/public/gonje-storage/public/images/fridge-sushi.svg" alt="Sushi">
<span>Sushi</span>
</a>
<a href="https://marketplace.gonje.com/fulfilment-by-gonje/" class="gonje-nav-buttons-button">
<img src="https://backendapi.gonje.com/public/gonje-storage/public/images/fridge-pasta.svg" alt="Pasta">
<span>Pasta</span>
</a>
<a href="https://marketplace.gonje.com/fulfilment-by-gonje/" class="gonje-nav-buttons-button">
<img src="https://backendapi.gonje.com/public/gonje-storage/public/images/fridge-meal.svg" alt="Meals">
<span>Meals</span>
</a>
<a href="https://marketplace.gonje.com/fulfilment-by-gonje/" class="gonje-nav-buttons-button">
<img src="https://backendapi.gonje.com/public/gonje-storage/public/images/handbag.svg" alt="Accessories">
<span>Accessories</span>
</a>
<a href="https://marketplace.gonje.com/fulfilment-by-gonje/" class="gonje-nav-buttons-button">
<img src="https://backendapi.gonje.com/public/kosher.jpg" alt="Kosher">
<span>Kosher</span>
</a>
<a href="https://marketplace.gonje.com/fulfilment-by-gonje/" class="gonje-nav-buttons-button">
<img src="https://backendapi.gonje.com/public/halal.webp" alt="Halal">
<span>Halal</span>
</a>
<a href="https://marketplace.gonje.com/fulfilment-by-gonje/" class="gonje-nav-buttons-button">
<img src="https://backendapi.gonje.com/public/gonje-storage/public/images/fridge-meals.svg" alt="Ready-to-Eat">
<span>Ready-to-Eat</span>
</a>
</div>
<button class="gonje-nav-buttons-arrow gonje-nav-buttons-right-arrow" onclick="gonjeNavButtonsScrollList(200)">ֶ</button>
</div>
<script>
const gonjeNavButtonsContainer = document.getElementById('gonjeNavButtonsScrollContainer');
const gonjeNavButtonsList = document.getElementById('gonjeNavButtonsList');
let autoScrollInterval;
let isHovering = false;
let isTouching = false;
let scrollAmount = 200;
let scrollDelay = 3000;
function gonjeNavButtonsScrollList(amount) {
gonjeNavButtonsList.scrollBy({ left: amount, behavior: 'smooth' });
}
function calculateScrollAmount() {
// Adjust scroll amount based on screen size
if (window.innerWidth <= 480) {
return 150; // Smaller scroll for very small devices
} else if (window.innerWidth <= 768) {
return 180; // Medium scroll for tablets
}
return 200; // Default for desktop
}
function startAutoScroll() {
// Only start autoscroll if not on mobile and not touching
if (window.innerWidth > 768 && !isTouching) {
scrollAmount = calculateScrollAmount();
autoScrollInterval = setInterval(() => {
if (!isHovering && !isTouching) {
// Check if we've reached the end
if (gonjeNavButtonsList.scrollLeft + gonjeNavButtonsList.clientWidth >= gonjeNavButtonsList.scrollWidth - 10) {
// Scroll back to start smoothly
gonjeNavButtonsList.scrollTo({
left: 0,
behavior: 'smooth'
});
} else {
// Scroll right
gonjeNavButtonsList.scrollBy({
left: scrollAmount,
behavior: 'smooth'
});
}
}
}, scrollDelay);
}
}
function stopAutoScroll() {
clearInterval(autoScrollInterval);
}
// Handle touch events to pause auto-scroll on mobile
gonjeNavButtonsList.addEventListener('touchstart', () => {
isTouching = true;
stopAutoScroll();
});
gonjeNavButtonsList.addEventListener('touchend', () => {
isTouching = false;
// Restart autoscroll after a delay if not on mobile
if (window.innerWidth > 768) {
setTimeout(startAutoScroll, scrollDelay);
}
});
// Handle hover events to pause auto-scroll
gonjeNavButtonsContainer.addEventListener('mouseenter', () => {
isHovering = true;
// Show arrows on hover
const arrows = document.querySelectorAll('.gonje-nav-buttons-arrow');
arrows.forEach(arrow => arrow.style.opacity = '1');
});
gonjeNavButtonsContainer.addEventListener('mouseleave', () => {
isHovering = false;
// Hide arrows when not hovering (only on desktop)
if (window.innerWidth > 768) {
const arrows = document.querySelectorAll('.gonje-nav-buttons-arrow');
arrows.forEach(arrow => arrow.style.opacity = '0');
}
});
// Initialize
function initCarousel() {
// Hide arrows on mobile, show on desktop (initially hidden)
const arrows = document.querySelectorAll('.gonje-nav-buttons-arrow');
if (window.innerWidth <= 768) {
arrows.forEach(arrow => arrow.style.display = 'none');
} else {
arrows.forEach(arrow => {
arrow.style.display = 'flex';
arrow.style.opacity = '0';
});
}
// Adjust scroll delay based on screen size
scrollDelay = window.innerWidth <= 480 ? 4000 : 3000;
// Start auto-scroll
stopAutoScroll();
startAutoScroll();
}
// Initial setup
initCarousel();
// Re-initialize on resize
window.addEventListener('resize', () => {
initCarousel();
});
// Pause auto-scroll when window loses focus
window.addEventListener('blur', stopAutoScroll);
window.addEventListener('focus', startAutoScroll);
</script>
</body>
</html>";} |
0 |
|
|
894 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Horizontal Nav Button list |
| 790 |
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 |
|
|
1323 |
|
|
0 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Smarty Bottom Nav |
| 790 |
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 |
|
|
1324 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
HTML BOTTOM NAV |
| 790 |
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 |
|
|
1325 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje animated loader |
| 790 |
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 |
|
|
1326 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
CUSTOM STYLES |
| 790 |
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 |
|
|
1327 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Nav Popup Script |
| 790 |
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 |
|
|
1328 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Donations AMCF |
| 790 |
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 |
|
|
1329 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje Hub |
| 780 |
381 |
a:1:{s:7:"content";s:90:"<style>
h3.ty-social-link__title {
margin: 0px 15px 0px 0px !important;
}
</style>
";} |
0 |
|
|
1330 |
|
|
0 |
A |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Social link text adjustment on vendor page |
| 801 |
387 |
|
0 |
|
|
1347 |
|
|
0 |
A |
sg_vendor_store_detail |
a:1:{s:8:"template";s:33:"blocks/sg_vendor_store_detail.tpl";} |
0 |
1 |
en |
Vendor Detail |
| 803 |
388 |
a:1:{s:5:"items";a:3:{s:7:"filling";s:12:"most_popular";s:5:"limit";s:2:"10";s:3:"cid";s:0:"";}} |
0 |
|
|
1348 |
blocks/wrappers/sidebox_important.tpl |
product-scroller-div |
0 |
A |
products |
a:11:{s:8:"template";s:37:"blocks/products/products_scroller.tpl";s:10:"show_price";s:1:"Y";s:17:"enable_quick_view";s:1:"N";s:24:"not_scroll_automatically";s:1:"N";s:15:"scroll_per_page";s:1:"N";s:5:"speed";s:3:"400";s:11:"pause_delay";s:1:"3";s:13:"item_quantity";s:1:"5";s:15:"thumbnail_width";s:2:"80";s:18:"outside_navigation";s:1:"Y";s:23:"hide_add_to_cart_button";s:1:"N";} |
0 |
1 |
en |
Trending Product |
| 801 |
392 |
a:1:{s:7:"content";s:1314:"<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="323.781px" height="305.875px" viewBox="0 0 323.781 305.875" enable-background="new 0 0 323.781 305.875" xml:space="preserve"><path fill-rule="evenodd" clip-rule="evenodd" d="M162.124,0.019c42.604,0.001,85.21-0.058,127.814,0.028 c19.579,0.04,34.694,15.873,33.806,35.247c-0.38,8.289-3.611,15.453-9.199,21.595c-35.228,38.719-70.378,77.509-105.747,116.1 c-3.649,3.982-5.157,7.847-5.075,13.214c0.301,19.485,0.073,38.979,0.152,58.47c0.019,4.735-1.668,8.434-5.355,11.374 c-19.53,15.575-38.99,31.238-58.564,46.758c-7.748,6.144-18.059,2.629-19.866-6.615c-0.307-1.573-0.228-3.234-0.228-4.854 c-0.012-36.107-0.044-72.216,0.053-108.323c0.008-3.08-0.801-5.344-2.898-7.642C81.141,136.056,45.356,96.661,9.541,57.295 C-7.383,38.694-0.959,10.279,22.228,2.141c4.141-1.453,8.789-2.02,13.206-2.035C77.664-0.042,119.894,0.018,162.124,0.019z"/></svg> Filter
<script>
jQuery(document).ready(function ($) {
$('.mobile-filter .ty-wysiwyg-content').on('click', function () {
$('.cm-warehouse-block-depends-by-location').addClass('open');
});
$('.filter-head').on('click', function () {
$('.cm-warehouse-block-depends-by-location').removeClass('open');
});
});
</script>";} |
0 |
|
|
1353 |
|
hidden-tablet hidden-desktop mobile-filter |
0 |
A |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
mobile-filter |
| 571 |
395 |
a:1:{s:7:"content";s:54:"<style>
.tygh-top-panel{
padding:unset;
}
</style>";} |
0 |
|
|
1358 |
|
|
0 |
A |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Header issue style |
| 569 |
3 |
a:1:{s:4:"menu";s:1:"1";} |
0 |
|
|
890 |
|
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 |
| 571 |
5 |
|
0 |
|
|
893 |
|
top-logo |
1 |
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 |
| 805 |
11 |
|
0 |
|
|
906 |
blocks/wrappers/mainbox_general.tpl |
|
1 |
A |
main |
|
0 |
1 |
en |
Main Content |
| 786 |
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 |
|
|
1304 |
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 |
| 783 |
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 |
|
|
1301 |
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 |
| 790 |
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 |
|
|
1307 |
|
|
1 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje Payment methods |
| 573 |
219 |
a:1:{s:7:"content";s:3825:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>QR Code Generator</title>
<style>
.gonje-qr-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.8);
justify-content: center;
align-items: center;
text-align: center;
z-index: 1000;
}
.gonje-qr-overlay canvas {
max-width: 90%;
max-height: 90%;
}
.gonje-qr-overlay-buttons {
margin-top: 10px;
}
.gonje-qr-button {
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
margin: 5px;
border-radius: 10px;
background-color: #70ab4b;
color: #ffffff;
}
.center-text {
text-align: center;
margin-top: 20px;
}
@media (min-width: 768px) {
.center-text, .gonje-qr-overlay {
display: none !important;
}
}
</style>
</head>
<body>
<div class="center-text">
<button class="gonje-qr-button" id="show-qr-btn">Click here to get QR code</button>
</div>
<div class="gonje-qr-overlay" id="qr-overlay">
<div>
<canvas class="gonje-qr-fullscreen-canvas" id="qr-canvas"></canvas>
<br>
<div class="gonje-qr-overlay-buttons">
<button class="gonje-qr-button" id="print-btn">Print</button>
<button class="gonje-qr-button" id="download-btn">Download</button>
<button class="gonje-qr-button" id="close-btn">Close</button>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/qrcode/build/qrcode.min.js"></script>
<script>
const showQrBtn = document.getElementById('show-qr-btn');
const overlay = document.getElementById('qr-overlay');
const fullscreenCanvas = document.getElementById('qr-canvas');
const closeBtn = document.getElementById('close-btn');
const printBtn = document.getElementById('print-btn');
const downloadBtn = document.getElementById('download-btn');
// Check if screen width is less than 768px (mobile)
if (window.innerWidth < 768) {
showQrBtn.addEventListener('click', () => {
QRCode.toCanvas(fullscreenCanvas, window.location.href, {
errorCorrectionLevel: 'H',
width: 400
}, (error) => {
if (error) {
console.error(error);
alert('Failed to generate QR code');
} else {
overlay.style.display = 'flex';
}
});
});
}
// Close the overlay
closeBtn.addEventListener('click', () => {
overlay.style.display = 'none';
});
// Print the QR code
printBtn.addEventListener('click', () => {
const printWindow = window.open('', '_blank');
printWindow.document.write('<html><body><img src="' + fullscreenCanvas.toDataURL() + '" style="width:100%"></body></html>');
printWindow.document.close();
printWindow.print();
});
// Download the QR code
downloadBtn.addEventListener('click', () => {
const link = document.createElement('a');
link.href = fullscreenCanvas.toDataURL();
link.download = 'qrcode.png';
link.click();
});
</script>
</body>
</html>
";} |
0 |
|
|
898 |
|
|
1 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
QR code Download Button |
| 579 |
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 |
|
|
905 |
|
|
1 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Notification timer control |
| 572 |
225 |
a:1:{s:7:"content";s:15881:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vendor Store</title>
<!-- Font Awesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Inter:wght@300;400;500&display=swap" rel="stylesheet">
<style>
/* Base Styles */
body {
font-family: 'Inter', sans-serif;
line-height: 1.6;
color: #333;
overflow-x: hidden;
background-color: #f9f9f9;
margin: 0;
padding: 0;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Poppins', sans-serif;
font-weight: 600;
}
.modern-btn {
display: inline-block;
padding: 12px 24px;
background: #28A745;
color: white;
font-weight: bold;
text-decoration: none;
border-radius: 50px;
border: none;
cursor: pointer;
font-size: 16px;
transition: all 0.3s ease;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
margin: 10px auto;
display: block;
width: fit-content;
max-width: 100%;
white-space: nowrap;
}
.modern-btn:hover {
background: #218838;
transform: translateY(-2px);
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}
.section-bg-shape {
position: absolute;
border-radius: 50%;
opacity: 0.1;
z-index: 1;
}
/* Hero Section */
.hero-section {
position: relative;
width: 90%;
max-height: 100vh;
background-size: cover;
background-position: center;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 40px 20px;
text-align: center;
overflow: hidden;
border-radius: 40px;
margin: 0 auto;
background-image: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url('https://images.unsplash.com/photo-1546069901-ba9599a7e63c?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1800&q=80');
}
.hero-content {
position: relative;
z-index: 2;
width: 100%;
max-width: 800px;
margin: 0 auto;
padding: 0 15px;
box-sizing: border-box;
}
.hero-content img {
border-radius: 10px;
max-width: 200px;
height: auto;
margin-bottom: 20px;
border: 3px solid white;
box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.hero-content h1 {
font-family: 'Poppins', sans-serif;
font-size: 2.5rem;
color: white;
margin-bottom: 15px;
text-shadow: 0 2px 4px rgba(0,0,0,0.3);
word-wrap: break-word;
}
.hero-content p {
font-size: 1.1rem;
color: rgba(255,255,255,0.9);
margin-bottom: 30px;
text-shadow: 0 1px 2px rgba(0,0,0,0.2);
padding: 0 10px;
}
.hero-buttons {
display: flex;
gap: 15px;
justify-content: center;
flex-wrap: wrap;
margin-top: 30px;
}
/* Store Card Section */
.store-card {
position: relative;
z-index: 2;
max-width: 1200px;
width: 95%;
margin: -50px auto 50px;
background: rgba(255,255,255,0.95);
border-radius: 16px;
padding: 30px;
box-shadow: 0 15px 35px rgba(0,0,0,0.1);
box-sizing: border-box;
}
.store-card-header {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 5px;
background: linear-gradient(90deg, #28A745, #70ab4b);
}
.store-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 30px;
align-items: flex-start;
}
.store-info {
word-wrap: break-word;
}
.store-info h2 {
font-family: 'Poppins', sans-serif;
font-size: 1.5rem;
margin: 0 0 5px 0;
color: #333;
}
.gonje-card-badge {
display: flex;
align-items: center;
gap: 8px;
background-color: #dcfce7;
color: #166534;
padding: 5px 15px;
border-radius: 50px;
width: fit-content;
font-size: 0.875rem;
font-weight: 500;
}
.gonje-card-rating {
display: flex;
align-items: center;
gap: 5px;
font-size: 0.875rem;
}
.gonje-card-rating span:first-child {
font-size: 1.2rem;
color: #facc15;
}
/* Table Info Display */
.table-info {
margin: 20px 0;
padding: 15px;
background-color: #e9f5ec;
border-radius: 8px;
text-align: center;
display: none;
}
.table-info h4 {
margin: 0 0 8px 0;
color: #166534;
font-weight: 600;
}
.table-number {
font-size: 1.5rem;
font-weight: bold;
color: #28A745;
}
/* Responsive Fixes */
@media (max-width: 768px) {
.hero-content h1 {
font-size: 2rem;
}
.hero-content p {
font-size: 1rem;
padding: 0 5px;
}
.modern-btn {
font-size: 0.9rem;
padding: 10px 20px;
}
.store-info h2 {
font-size: 1.25rem;
}
}
@media (max-width: 480px) {
.hero-content h1 {
font-size: 1.75rem;
}
.hero-content p {
font-size: 0.95rem;
}
.modern-btn {
width: 100%;
text-align: center;
white-space: normal;
}
}
</style>
</head>
<body>
<!-- Hero Section -->
<div class="hero-section">
<!-- Decorative Elements -->
<div class="section-bg-shape" style="width: 90%; height: 600px; background: linear-gradient(135deg, rgba(40, 167, 69, 0.1), rgba(112, 171, 75, 0.1)); border-radius: 50%; top: -300px; right: -300px;"></div>
<div class="section-bg-shape" style="width: 90%; height: 400px; background: linear-gradient(135deg, rgba(40, 167, 69, 0.1), rgba(112, 171, 75, 0.1)); border-radius: 50%; bottom: -200px; left: -200px;"></div>
<!-- Dynamic Header Content -->
<div class="hero-content">
<img id="dynamic-store-logo" src="https://marketplace.gonje.com/images/logos/8/gonje-text-2_2vlm-mu.png" alt="Gonje Logo">
<h1 id="dynamic-store-name">Gonje</h1>
<p id="dynamic-store-tagline">Fulfilment and delivery of food/groceries</p>
<!-- CTA Buttons -->
<div class="hero-buttons">
<a href="https://marketplace.gonje.com/profiles-add/" class="modern-btn" style="background: white; color: #28A745;">
<i class="fas fa-user"></i> Join as Customer
</a>
<a href="https://marketplace.gonje.com/index.php?dispatch=companies.apply_for_vendor" class="modern-btn" style="background: transparent; border: 2px solid white; color: white;">
<i class="fas fa-store"></i> Sell With Us
</a>
</div>
</div>
</div>
<!-- Store Card Section -->
<div class="store-card">
<div class="store-card-header"></div>
<div class="store-card-grid">
<!-- Store Info -->
<div class="store-info">
<div style="display: flex; align-items: center; gap: 20px; margin-bottom: 20px; flex-wrap: wrap;">
<img id="gonje-card-store-logo" src="" alt="Store Logo" style="width: 70px; height: 70px; object-fit: cover; border-radius: 12px; border: 2px solid white; box-shadow: 0 5px 15px rgba(0,0,0,0.1);">
<div>
<h2 id="gonje-card-store-name">Store Name</h2>
<div class="gonje-card-badge">✅ Open for Business</div>
</div>
</div>
<div style="display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 15px;">
<p id="gonje-card-store-category" style="margin: 0; color: #4b5563; font-size: 1rem; background: #f3f4f6; padding: 5px 12px; border-radius: 50px;">Category</p>
<div class="gonje-card-rating">
<span>★★★★★</span>
<span class="gonje-card-rating-text">(5.0)</span>
</div>
</div>
<p id="gonje-card-store-address" style="color: #6b7280; font-size: 1rem; margin: 5px 0 15px 0;">Address will appear here</p>
<div style="margin-bottom: 20px;">
<p style="font-weight: bold; color: #333; margin-bottom: 5px;">About:</p>
<p id="gonje-card-store-description" style="color: #374151; line-height: 1.6;">Store description will appear here</p>
</div>
<!-- Table Information -->
<!-- <div id="table-info" class="table-info">
<h4>Your Table Number</h4>
<div id="table-number" class="table-number"></div>
</div> -->
<a id="gonje-card-store-url" href="https://marketplace.gonje.com/index.php?dispatch=companies.catalog" class="modern-btn" style="width: fit-content; padding: 10px 25px; font-size: 1rem; display: flex; align-items: center; gap: 8px;">
Visit Marketplace <i class="fas fa-arrow-right"></i>
</a>
</div>
<!-- QR Code Section -->
<div style="text-align: center;">
<h3 style="font-family: 'Poppins', sans-serif; font-size: 1.25rem; color: #333; margin-bottom: 20px;">Scan to Visit Store</h3>
<canvas id="gonje-card-qrcode" style="width: 160px; height: 160px; margin: 0 auto; background: white; padding: 10px; border-radius: 12px;"></canvas>
<p style="margin-top: 15px; color: #4b5563; font-size: 0.85rem;">Scan this QR code with your mobile device to visit our store instantly</p>
<p id="qr-code-description" style="margin-top: 15px; color: #4b5563; display: none; font-size: 0.85rem;">Scan this QR code with your mobile device to visit our store instantly</p>
</div>
</div>
</div>
<!-- Error Message -->
<div id="gonje-card-error-message" role="alert" style="max-width: 1200px; width: 90%; background-color: #fee2e2; border: 1px solid #fca5a5; color: #dc2626; padding: 1rem; border-radius: 0.375rem; margin: 0 auto 50px; display: none;">
<strong>Error!</strong>
<span id="gonje-card-error-text" style="display: block; margin-top: 5px;"></span>
</div>
<script src="https://cdn.jsdelivr.net/npm/qrious@4.0.2/dist/qrious.min.js"></script>
<script>
// Function to strip HTML tags from a string
const stripHtmlTags = (str) => {
if (!str) return ''; // Handle null or undefined values
return str.replace(/<[^>]*>/g, ''); // Remove all HTML tags
};
// Extract SEO name from the URL, handling trailing slashes
let path = window.location.pathname;
// Remove trailing slash if present
if (path.endsWith('/')) {
path = path.slice(0, -1);
}
const seoName = path.split('/').pop();
// Set fallback values first
document.getElementById('gonje-card-store-name').textContent = 'Gonje';
document.getElementById('gonje-card-store-logo').src = 'https://marketplace.gonje.com/images/logos/8/gonje-text-2_2vlm-mu.png';
// Store fetched data for later use
let storeData = null;
let qrCodeInstance = null;
// Function to generate QR code
function generateQRCode(url, tableNumber = null) {
try {
if (qrCodeInstance) {
// Update existing QR code
qrCodeInstance.set({
value: url
});
} else {
// Create new QR code
qrCodeInstance = new QRious({
element: document.getElementById('gonje-card-qrcode'),
value: url,
size: 160,
foreground: '#28A745'
});
}
// Update QR code description
if (tableNumber) {
document.getElementById('qr-code-description').textContent =
`Scan this QR code to visit our store for table ${tableNumber}`;
// Show table information
document.getElementById('table-info').style.display = 'block';
document.getElementById('table-number').textContent = tableNumber;
} else {
document.getElementById('qr-code-description').textContent =
'Scan this QR code with your mobile device to visit our store instantly';
// Hide table information
document.getElementById('table-info').style.display = 'none';
}
} catch (error) {
console.error('QR code generation error:', error);
}
}
// Fetch store details from the backend
fetch(`https://marketplace.gonje.com/api/store/index.php?seo_name=${seoName}`)
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
return response.json();
})
.then(data => {
if (data.status === 'ok') {
storeData = data.data;
// Populate the dynamic header elements
document.getElementById('dynamic-store-logo').src = storeData.logo_url;
document.getElementById('dynamic-store-name').textContent = storeData.company_name;
document.getElementById('dynamic-store-tagline').textContent = storeData.company_description ?
stripHtmlTags(storeData.company_description).substring(0, 100) + (storeData.company_description.length > 100 ? '...' : '') :
'Bringing authentic flavors to your kitchen';
document.querySelector('.hero-section').style.backgroundImage = `linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url('${storeData.featured_image}')`;
// Populate the store card elements
document.getElementById('gonje-card-store-logo').src = storeData.logo_url;
document.getElementById('gonje-card-store-name').textContent = storeData.company_name;
document.getElementById('gonje-card-store-category').textContent = storeData.category;
const description = stripHtmlTags(storeData.company_description);
document.getElementById('gonje-card-store-description').textContent = description;
document.getElementById('gonje-card-store-url').href = storeData.storefront_url;
document.getElementById('gonje-card-store-address').textContent = storeData.company_address || 'Available online';
// Generate QR Code with table information if available
generateQRCode(storeData.qr_code_url, storeData.table_number);
// Hide error message if previously shown
document.getElementById('gonje-card-error-message').style.display = 'none';
} else {
throw new Error(data.error || 'Failed to fetch store details');
}
})
.catch(error => {
console.error('Error:', error);
// Display error message to the user
const errorMessage = document.getElementById('gonje-card-error-message');
const errorText = document.getElementById('gonje-card-error-text');
errorText.textContent = error.message;
errorMessage.style.display = 'block';
});
</script>
</body>
</html>";} |
0 |
|
|
895 |
|
|
1 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Gonje Store Card |
| 580 |
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 |
|
|
908 |
|
|
1 |
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 |
| 803 |
389 |
a:1:{s:5:"items";a:2:{s:7:"filling";s:17:"products_under_50";s:5:"limit";s:2:"10";}} |
0 |
|
|
1349 |
blocks/wrappers/sidebox_important.tpl |
product-scroller-div |
1 |
A |
products |
a:11:{s:8:"template";s:37:"blocks/products/products_scroller.tpl";s:10:"show_price";s:1:"Y";s:17:"enable_quick_view";s:1:"N";s:24:"not_scroll_automatically";s:1:"N";s:15:"scroll_per_page";s:1:"N";s:5:"speed";s:3:"400";s:11:"pause_delay";s:1:"3";s:13:"item_quantity";s:1:"5";s:15:"thumbnail_width";s:2:"80";s:18:"outside_navigation";s:1:"Y";s:23:"hide_add_to_cart_button";s:1:"N";} |
0 |
1 |
en |
Product Under $50 |
| 802 |
10 |
|
0 |
|
|
902 |
|
|
2 |
A |
breadcrumbs |
a:1:{s:8:"template";s:22:"common/breadcrumbs.tpl";} |
0 |
1 |
en |
Breadcrumbs |
| 780 |
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 |
|
|
1299 |
|
|
2 |
A |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Social links |
| 806 |
30 |
a:1:{s:5:"items";a:2:{s:7:"filling";s:8:"manually";s:8:"item_ids";s:0:"";}} |
0 |
|
|
1344 |
|
|
2 |
A |
product_filters |
a:1:{s:8:"template";s:48:"blocks/product_filters/for_category/original.tpl";} |
0 |
1 |
en |
Product filters |
| 568 |
125 |
a:1:{s:4:"text";s:0:"";} |
0 |
|
|
887 |
|
top-languages |
2 |
D |
languages |
a:3:{s:8:"template";s:20:"blocks/languages.tpl";s:6:"format";s:4:"name";s:14:"dropdown_limit";s:2:"10";} |
0 |
1 |
en |
Languages |
| 573 |
218 |
a:1:{s:7:"content";s:4797:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>QR Code Generator</title>
<style>
.gonje-qr-container-lg {
margin-top: 20px;
cursor: pointer;
text-align: center;
display: none; /* Initially hidden */
}
.gonje-qr-overlay-lg {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.8);
justify-content: center;
align-items: center;
text-align: center;
z-index: 1000;
}
.gonje-qr-overlay-lg canvas {
max-width: 90%;
max-height: 90%;
text-align: center;
}
.gonje-qr-overlay-buttons-lg {
margin-top: 10px;
text-align: center;
}
.gonje-qr-button-lg {
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
margin: 5px;
border-radius: 10px;
background-color: #70ab4b;
color: #ffffff;
}
.center-text-lg {
text-align: center;
display: none; /* Initially hidden */
}
/* Display the QR code container only on screens larger than 768px */
@media (min-width: 769px) {
.gonje-qr-container-lg,
.center-text-lg {
display: block;
}
}
</style>
</head>
<body>
<div class="center-text-lg"><h4>Click here to get QR code</h4></div>
<div class="gonje-qr-container-lg"></div>
<div class="gonje-qr-overlay-lg">
<div>
<canvas class="gonje-qr-fullscreen-canvas-lg"></canvas>
<br>
<div class="gonje-qr-overlay-buttons-lg">
<button class="gonje-qr-button-lg gonje-qr-print-btn-lg">Print</button>
<button class="gonje-qr-button-lg gonje-qr-download-btn-lg">Download</button>
<button class="gonje-qr-button-lg gonje-qr-close-btn-lg">Close</button>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/qrcode/build/qrcode.min.js"></script>
<script>
const qrCodeContainerLg = document.querySelector('.gonje-qr-container-lg');
const overlayLg = document.querySelector('.gonje-qr-overlay-lg');
const fullscreenCanvasLg = document.querySelector('.gonje-qr-fullscreen-canvas-lg');
const printBtnLg = document.querySelector('.gonje-qr-print-btn-lg');
const downloadBtnLg = document.querySelector('.gonje-qr-download-btn-lg');
const closeBtnLg = document.querySelector('.gonje-qr-close-btn-lg');
// Extract the current page URL
const urlLg = window.location.href;
// Generate QR code only if the screen is larger than mobile
if (window.innerWidth > 768) {
QRCode.toCanvas(urlLg, {
errorCorrectionLevel: 'H',
width: 200,
}, (error, canvas) => {
if (error) {
console.error(error);
alert('Failed to generate QR code');
} else {
qrCodeContainerLg.appendChild(canvas);
// Add click event to enlarge QR code
canvas.addEventListener('click', () => {
const ctxLg = fullscreenCanvasLg.getContext('2d');
fullscreenCanvasLg.width = canvas.width * 3;
fullscreenCanvasLg.height = canvas.height * 3;
ctxLg.drawImage(canvas, 0, 0, fullscreenCanvasLg.width, fullscreenCanvasLg.height);
overlayLg.style.display = 'flex';
});
}
});
}
// Close the overlay
closeBtnLg.addEventListener('click', () => {
overlayLg.style.display = 'none';
});
// Print the QR code
printBtnLg.addEventListener('click', () => {
const printWindowLg = window.open('', '_blank');
printWindowLg.document.write('<html><body><img src="' + fullscreenCanvasLg.toDataURL() + '" style="width:100%"></body></html>');
printWindowLg.document.close();
printWindowLg.print();
});
// Download the QR code
downloadBtnLg.addEventListener('click', () => {
const linkLg = document.createElement('a');
linkLg.href = fullscreenCanvasLg.toDataURL();
linkLg.download = 'qrcode.png';
linkLg.click();
});
</script>
</body>
</html>";} |
0 |
|
|
899 |
|
|
2 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
QR Code for Vendor |
| 572 |
220 |
a:1:{s:7:"content";s:1349:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WhatsApp Share Button</title>
<style>
.whatsapp-button {
display: inline-flex;
align-items: center;
background-color: #25D366;
color: white;
border: none;
padding: 10px 30px;
font-size: 16px;
font-weight: bold;
cursor: pointer;
border-radius: 5px;
text-decoration: none;
transition: background 0.3s;
}
.whatsapp-button:hover {
background-color: #1EBE5D;
}
.whatsapp-button img {
width: 20px;
height: 20px;
margin-right: 8px;
}
</style>
</head>
<body>
<br />
<button class="whatsapp-button" onclick="shareOnWhatsApp()">
<img src="https://upload.wikimedia.org/wikipedia/commons/6/6b/WhatsApp.svg" alt="WhatsApp Logo"> Share on WhatsApp
</button>
<script>
function shareOnWhatsApp() {
var pageUrl = encodeURIComponent(window.location.href);
var whatsappUrl = "https://api.whatsapp.com/send?text=" + pageUrl;
window.open(whatsappUrl, "_blank");
}
</script>
</body>
</html>
";} |
0 |
|
|
896 |
|
|
2 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Share store link on whatsapp |
| 790 |
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 |
|
|
1308 |
|
|
2 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Scroll Widget HTML |
| 803 |
384 |
a:1:{s:5:"items";a:2:{s:7:"filling";s:15:"vendor_products";s:5:"limit";s:1:"6";}} |
0 |
|
|
1346 |
blocks/wrappers/sidebox_important.tpl |
product-scroller-div |
2 |
A |
products |
a:11:{s:8:"template";s:37:"blocks/products/products_scroller.tpl";s:10:"show_price";s:1:"Y";s:17:"enable_quick_view";s:1:"N";s:24:"not_scroll_automatically";s:1:"N";s:15:"scroll_per_page";s:1:"N";s:5:"speed";s:3:"400";s:11:"pause_delay";s:1:"3";s:13:"item_quantity";s:1:"5";s:15:"thumbnail_width";s:2:"80";s:18:"outside_navigation";s:1:"Y";s:23:"hide_add_to_cart_button";s:1:"N";} |
0 |
1 |
en |
Bulk Boxes |
| 568 |
2 |
a:1:{s:4:"text";s:0:"";} |
0 |
|
|
888 |
|
top-currencies |
3 |
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 |
| 803 |
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 |
|
|
907 |
|
|
3 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Tawkto Block |
| 790 |
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 |
|
|
1309 |
|
|
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 |
| 790 |
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 |
|
|
1310 |
|
|
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 |
| 803 |
335 |
a:1:{s:7:"content";s:1850:"<style>
.popup {
position: fixed;
top: 0; left: 0;
width: 100vw; height: 100vh;
background: rgba(0,0,0,0.6);
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
}
.popup-content {
background: white;
padding: 30px 10px;
border-radius: 12px;
text-align: center;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
position: relative;
}
h3{
font-size:20px!important;
margin-top:0px!important;
margin-bottom:20px!important;
}
.option-button {
display: inline-block;
margin: 5px;
padding: 12px 20px;
border: 2px solid #ccc;
border-radius: 8px;
cursor: pointer;
font-weight: bold;
transition: all 0.3s ease;
}
.option-button.active {
background-color: #007bff;
color: white;
border-color: #007bff;
}
input[type="radio"] {
display: none;
}
.close-btn {
position: absolute;
top: 10px;
right: 15px;
font-size: 20px;
cursor: pointer;
color: #888;
}
.submit-btn {
margin-top: 20px;
padding: 10px 20px;
background: green;
color: white;
border: none;
border-radius: 6px;
cursor: pointer;
display: none;
}
</style>
</head>
<body>
<div class="hidden" id="user_selection_box">
<div class="popup" id="popup">
<div class="popup-content">
<h3>Select Order Type</h3>
<label class="option-button user-selection dine-in" for="dinein" id="label-dinein">Dine In</label>
<label class="option-button user-selection delivery" for="delivery" id="label-delivery">Delivery</label>
<label class="option-button user-selection pickup" for="pickup" id="label-pickup">Pickup</label>
</div>
</div>
</div>
";} |
0 |
|
|
1138 |
|
|
4 |
A |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
select-popup |
| 790 |
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 |
|
|
1311 |
|
|
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 |
| 803 |
391 |
|
0 |
|
|
1351 |
blocks/wrappers/sidebox_important.tpl |
product-scroller-div |
5 |
A |
sg_vendor_extra_list_block |
a:1:{s:8:"template";s:31:"blocks/sg_vendor_extra_list.tpl";} |
0 |
1 |
en |
Other Snacks |
| 790 |
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 |
|
|
1312 |
|
|
6 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Add cart is empty text |
| 790 |
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 |
|
|
1313 |
|
|
7 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
en |
Cart count tpl script |
| 790 |
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 |
|
|
1314 |
|
|
8 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Cart Update Indicator |
| 790 |
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 |
|
|
1315 |
|
|
9 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Remove country required notification |
| 790 |
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 |
|
|
1316 |
|
|
10 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Target and autofill country input field |
| 790 |
19 |
|
0 |
|
|
1317 |
|
|
11 |
D |
template |
a:1:{s:8:"template";s:41:"blocks/static_templates/payment_icons.tpl";} |
0 |
1 |
en |
Payment icons |
| 790 |
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 |
|
|
1318 |
|
|
12 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Notification timer control |
| 790 |
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 |
|
|
1319 |
|
|
13 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Remodel and remove text from cart |
| 790 |
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 |
|
|
1320 |
|
|
14 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Replace cart title with empty string |
| 790 |
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 |
|
|
1321 |
|
|
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 |
| 790 |
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 |
|
|
1322 |
|
|
16 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
en |
Hide Webkul Date and Time |