Result
| grid_id |
block_id |
content |
object_id |
object_type |
object_ids |
snapping_id |
wrapper |
user_class |
order |
status |
type |
properties |
company_id |
storefront_id |
lang_code |
name |
| 754 |
4 |
|
0 |
|
|
1200 |
blocks/wrappers/onclick_dropdown.tpl |
top-my-account |
0 |
A |
my_account |
a:1:{s:8:"template";s:21:"blocks/my_account.tpl";} |
0 |
1 |
de |
My Account |
| 753 |
5 |
|
0 |
|
|
1197 |
|
|
0 |
D |
template |
a:2:{s:8:"template";s:32:"blocks/static_templates/logo.tpl";s:11:"enable_link";s:1:"Y";} |
0 |
1 |
de |
Logo |
| 746 |
6 |
|
0 |
|
|
1192 |
|
|
0 |
D |
call_request |
a:1:{s:8:"template";s:44:"addons/call_requests/blocks/call_request.tpl";} |
0 |
1 |
de |
Call Request |
| 756 |
8 |
|
0 |
|
|
1205 |
|
hidden-desktop top-cart-content |
0 |
D |
cart_content |
a:4:{s:8:"template";s:23:"blocks/cart_content.tpl";s:22:"display_bottom_buttons";s:1:"Y";s:20:"display_delete_icons";s:1:"Y";s:19:"products_links_type";s:5:"thumb";} |
0 |
1 |
de |
Cart content |
| 755 |
8 |
|
0 |
|
|
1202 |
|
top-cart-content |
0 |
A |
cart_content |
a:4:{s:8:"template";s:23:"blocks/cart_content.tpl";s:22:"display_bottom_buttons";s:1:"Y";s:20:"display_delete_icons";s:1:"Y";s:19:"products_links_type";s:5:"thumb";} |
0 |
1 |
de |
Cart content |
| 560 |
10 |
|
0 |
|
|
872 |
|
|
0 |
A |
breadcrumbs |
a:1:{s:8:"template";s:22:"common/breadcrumbs.tpl";} |
0 |
1 |
de |
Breadcrumbs |
| 561 |
11 |
|
0 |
|
|
873 |
blocks/wrappers/mainbox_general.tpl |
|
0 |
A |
main |
|
0 |
1 |
de |
Main Content |
| 741 |
18 |
|
0 |
|
|
1170 |
|
|
0 |
A |
template |
a:1:{s:8:"template";s:37:"blocks/static_templates/copyright.tpl";} |
0 |
1 |
de |
Copyright |
| 562 |
47 |
|
0 |
|
|
875 |
|
|
0 |
A |
template |
a:1:{s:8:"template";s:40:"blocks/static_templates/profile_info.tpl";} |
0 |
1 |
de |
Profile information |
| 735 |
128 |
|
0 |
|
|
1164 |
blocks/wrappers/footer_general.tpl |
|
0 |
D |
template |
a:1:{s:8:"template";s:39:"blocks/static_templates/quick_links.tpl";} |
0 |
1 |
de |
My account |
| 736 |
130 |
a:1:{s:7:"content";s:611:"
<ul id="demo_store_links">
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=2"|fn_url}">About us</a></li>
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=30"|fn_url}">Contact us</a></li>
<li class="ty-footer-menu__item"><a href="{"gift_certificates.add"|fn_url}">Gift certificates</a></li>
<li class="ty-footer-menu__item"><a href="{"product_features.view_all?filter_id=10"|fn_url}">Our brands</a></li>
<li class="ty-footer-menu__item"><a href="{"sitemap.view"|fn_url}">Sitemap</a></li>
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=7"|fn_url}">Blog</a></li>
</ul>";} |
0 |
|
|
1166 |
blocks/wrappers/footer_general.tpl |
footer-no-wysiwyg |
0 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
de |
Quick Links |
| 737 |
131 |
a:1:{s:7:"content";s:705:"
<ul id="customer_service_links">
<li class="ty-footer-menu__item"><a href="{"orders.search"|fn_url}">About your order</a></li>
{if $addons.wishlist && $addons.wishlist.status == 'A'}
<li class="ty-footer-menu__item"><a href="{"wishlist.view"|fn_url}">Wishlist</a></li>
{/if}
{if $settings.General.enable_compare_products == 'Y'}
<li class="ty-footer-menu__item"><a href="{"product_features.compare"|fn_url}">Comparison list</a></li>
{/if}
</ul>";} |
0 |
|
|
1167 |
blocks/wrappers/footer_general.tpl |
footer-no-wysiwyg |
0 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
de |
Customer Service |
| 739 |
178 |
a:1:{s:7:"content";s:3542:"<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://www.gonje.com.au/aboutUs" style="font-weight: normal;>About Us</a></li>
<li><a href=" https:="" www.gonje.com.au="" terms"="">Terms & Conditions</a></li>
<li><a href="https://www.gonje.com.au/terms/#privacy" style="font-weight: normal;">Privacy Policy</a></li>
<li><a href="https://www.gonje.com.au/terms/#refunds" style="font-weight: normal;">Refunds Policy</a></li>
</ul>
</div>
<div>
<h3>Customer Service</h3>
<ul class="quick-links">
<li><a href="https://www.gonje.com.au/contactUs" style="font-weight: normal;">Help & Contact Us</a></li>
<li><a href="https://www.gonje.com.au/faq" style="font-weight: normal;">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 – 1800 749 277<br>
Email – info@onjegroup.com.au</p>
</div>
</div>
</footer>";} |
0 |
|
|
1169 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Gonje Footer |
| 742 |
356 |
a:1:{s:7:"content";s:9408:"<script>
// Mobile Bottom Navigation Script with CS-Cart auth check
document.addEventListener('DOMContentLoaded', function() {
// Check if user is logged in (CS-Cart specific check)
if (typeof Tygh === 'undefined' || !Tygh.$('.cm-auth-container').length || Tygh.$('.cm-auth-container').hasClass('logged-in')) {
// Only proceed if user is logged in
// First, ensure Font Awesome is loaded
if (!document.querySelector('link[href*="font-awesome"]')) {
const faLink = document.createElement('link');
faLink.rel = 'stylesheet';
faLink.href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css';
document.head.appendChild(faLink);
}
// Create the navigation container
const mobileNav = document.createElement('div');
mobileNav.className = 'g-bottom-nav';
// Create the navigation items container
const navItems = document.createElement('ul');
navItems.className = 'g-bottom-nav__items';
navItems.style.listStyle = 'none';
navItems.style.margin = '0';
navItems.style.padding = '0';
// Navigation items data with CS-Cart URLs
const navLinks = [
{
url: fn_url('companies.apply_for_vendor'),
faIcon: 'fas fa-store',
fallbackIcon: '🏪',
text: 'Vendor',
show: true
},
{
url: fn_url('orders.search'),
faIcon: 'fas fa-clipboard-list',
fallbackIcon: '📋',
text: 'Orders',
show: typeof Tygh !== 'undefined' && Tygh.auth.orders_count > 0
},
{
url: fn_url('wishlist.view'),
faIcon: 'fas fa-heart',
fallbackIcon: '♥',
text: 'Planner',
show: true
},
{
url: fn_url('checkout.cart'),
faIcon: 'fas fa-shopping-cart',
fallbackIcon: '🛒',
text: 'Cart',
show: true,
badge: typeof Tygh !== 'undefined' && Tygh.cart.amount > 0 ? Tygh.cart.amount : null
},
{
url: fn_url('pages.view?page_id=XX'), // Replace XX with actual page ID
faIcon: 'fas fa-hands-helping',
fallbackIcon: '🤝',
text: 'Initiative',
show: true
}
];
// Get current URL and clean it for comparison
const currentUrl = new URL(window.location.href);
const currentPath = currentUrl.pathname + currentUrl.search;
// Create navigation items
navLinks.forEach(link => {
if (!link.show) return;
const navItem = document.createElement('li');
navItem.className = 'g-bottom-nav__li';
navItem.style.listStyle = 'none';
navItem.style.margin = '0';
navItem.style.padding = '0';
const navLink = document.createElement('a');
navLink.href = link.url;
// Check if this link matches current page
const linkUrl = new URL(link.url);
const linkPath = linkUrl.pathname + linkUrl.search;
const isActive = currentPath === linkPath ||
(currentPath.startsWith(linkPath) && linkPath !== '/');
navLink.className = `g-bottom-nav__item ${isActive ? 'active' : ''}`;
// Create icon container
const iconContainer = document.createElement('span');
iconContainer.className = 'g-bottom-nav__icon';
// Create Font Awesome icon
const faIcon = document.createElement('i');
faIcon.className = link.faIcon;
faIcon.style.display = 'inline-block';
// Create fallback with HTML entity
const fallback = document.createElement('span');
fallback.className = 'g-bottom-nav__icon-fallback';
fallback.innerHTML = link.fallbackIcon;
fallback.style.display = 'none';
// Add both to container
iconContainer.appendChild(faIcon);
iconContainer.appendChild(fallback);
// Create text label
const text = document.createElement('span');
text.className = 'g-bottom-nav__text';
text.textContent = link.text;
navLink.appendChild(iconContainer);
navLink.appendChild(text);
// Add badge if needed
if (link.badge) {
const badge = document.createElement('span');
badge.className = 'g-bottom-nav__badge';
badge.textContent = link.badge;
navLink.appendChild(badge);
}
navItem.appendChild(navLink);
navItems.appendChild(navItem);
// Check if Font Awesome loaded properly
setTimeout(() => {
if (faIcon.offsetWidth === 0 && faIcon.offsetHeight === 0) {
faIcon.style.display = 'none';
fallback.style.display = 'inline-block';
}
}, 100);
});
// Add items to navigation
mobileNav.appendChild(navItems);
// Add navigation to body
document.body.appendChild(mobileNav);
// Add CSS styles
const style = document.createElement('style');
style.textContent = `
.g-bottom-nav {
display: none;
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: white;
box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
z-index: 1000;
padding: 8px 0;
}
.g-bottom-nav__items {
display: flex;
justify-content: space-around;
align-items: center;
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
}
.g-bottom-nav__li {
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
}
.g-bottom-nav__item {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
color: #555;
font-size: 10px;
padding: 5px 8px;
border-radius: 8px;
transition: all 0.2s ease;
position: relative;
}
.g-bottom-nav__icon {
display: inline-block;
width: 20px;
height: 20px;
text-align: center;
margin-bottom: 4px;
font-size: 20px;
line-height: 1;
}
.g-bottom-nav__item i {
font-size: 20px;
display: inline-block;
width: 100%;
height: 100%;
}
.g-bottom-nav__icon-fallback {
font-size: 20px;
display: none;
width: 100%;
height: 100%;
}
.g-bottom-nav__item.active {
color: #28A745;
background: rgba(40, 167, 69, 0.1);
}
.g-bottom-nav__item.active i,
.g-bottom-nav__item.active .g-bottom-nav__icon-fallback {
color: #28A745;
}
.g-bottom-nav__item:hover {
background: rgba(40, 167, 69, 0.1);
}
.g-bottom-nav__badge {
position: absolute;
top: -5px;
right: -5px;
background: #28A745;
color: white;
border-radius: 50%;
width: 16px;
height: 16px;
font-size: 10px;
display: flex;
align-items: center;
justify-content: center;
}
@media (max-width: 768px) {
.g-bottom-nav {
display: block;
}
body {
padding-bottom: 70px;
}
}
`;
document.head.appendChild(style);
// Add click handler to set active state
document.querySelectorAll('.g-bottom-nav__item').forEach(item => {
item.addEventListener('click', function(e) {
document.querySelectorAll('.g-bottom-nav__item').forEach(navItem => {
navItem.classList.remove('active');
});
this.classList.add('active');
});
});
}
});
</script>";} |
0 |
|
|
1188 |
|
|
0 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
de |
Smarty Bottom Nav |
| 742 |
358 |
a:1:{s:7:"content";s:7210:"<script>
// Mobile Bottom Navigation Script with Font Awesome + HTML entity fallbacks
document.addEventListener('DOMContentLoaded', function() {
// First, ensure Font Awesome is loaded
if (!document.querySelector('link[href*="font-awesome"]')) {
const faLink = document.createElement('link');
faLink.rel = 'stylesheet';
faLink.href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css';
document.head.appendChild(faLink);
}
// Create the navigation container
const mobileNav = document.createElement('div');
mobileNav.className = 'mobile-bottom-nav';
// Create the navigation items container
const navItems = document.createElement('ul');
navItems.className = 'mobile-nav-items';
// Navigation items data with both Font Awesome and HTML entity fallbacks
const navLinks = [
{
url: 'https://marketplace.gonje.com/index.php?dispatch=companies.catalog',
faIcon: 'fas fa-store',
fallbackIcon: '🏪', // ????
text: 'Vendor',
active: false
},
{
url: 'https://marketplace.gonje.com/orders/',
faIcon: 'fas fa-clipboard-list',
fallbackIcon: '📋', // ????
text: 'Orders',
active: false
},
{
url: 'https://marketplace.gonje.com/wishlist/',
faIcon: 'fas fa-heart',
fallbackIcon: '♥', // ♥
text: 'Planner',
active: false
},
{
url: 'https://marketplace.gonje.com/cart',
faIcon: 'fas fa-shopping-cart',
fallbackIcon: '🛒', // ????
text: 'Cart',
active: false
},
{
url: 'https://marketplace.gonje.com/what-we-do',
faIcon: 'fas fa-hands-helping',
fallbackIcon: '🤝', // ????
text: 'What we do',
active: false
}
];
// Get current URL and clean it for comparison
const currentUrl = new URL(window.location.href);
const currentPath = currentUrl.pathname + currentUrl.search;
// Create navigation items with both icon types
navLinks.forEach(link => {
const navItem = document.createElement('li');
const navLink = document.createElement('a');
navLink.href = link.url;
// Check if this link matches current page
const linkUrl = new URL(link.url);
const linkPath = linkUrl.pathname + linkUrl.search;
// Compare paths to determine if this is the active link
const isActive = currentPath === linkPath ||
(currentPath.startsWith(linkPath) && linkPath !== '/');
navLink.className = `mobile-nav-item ${isActive ? 'active' : ''}`;
// Create icon container
const iconContainer = document.createElement('span');
iconContainer.className = 'nav-icon';
// Create Font Awesome icon
const faIcon = document.createElement('i');
faIcon.className = link.faIcon;
faIcon.style.display = 'inline-block';
// Create fallback with HTML entity
const fallback = document.createElement('span');
fallback.className = 'icon-fallback';
fallback.innerHTML = link.fallbackIcon; // Using innerHTML for entities
fallback.style.display = 'none';
// Add both to container
iconContainer.appendChild(faIcon);
iconContainer.appendChild(fallback);
// Create text label
const text = document.createElement('span');
text.className = 'nav-text';
text.textContent = link.text;
navLink.appendChild(iconContainer);
navLink.appendChild(text);
navItem.appendChild(navLink);
navItems.appendChild(navItem);
// Check if Font Awesome loaded properly
setTimeout(() => {
if (faIcon.offsetWidth === 0 && faIcon.offsetHeight === 0) {
faIcon.style.display = 'none';
fallback.style.display = 'inline-block';
}
}, 100);
});
// Add items to navigation
mobileNav.appendChild(navItems);
// Add navigation to body
document.body.appendChild(mobileNav);
// Add CSS styles
const style = document.createElement('style');
style.textContent = `
.mobile-bottom-nav {
display: none;
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: white;
box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
z-index: 1000;
padding: 8px 0;
}
.mobile-nav-items {
display: flex;
justify-content: space-around;
align-items: center;
list-style: none;
margin: 0;
padding: 0;
}
.mobile-nav-item {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
color: #555;
font-size: 10px;
padding: 5px 8px;
border-radius: 8px;
transition: all 0.2s ease;
}
.nav-icon {
display: inline-block;
width: 20px;
height: 20px;
text-align: center;
margin-bottom: 4px;
font-size: 20px;
line-height: 1;
}
.mobile-nav-item i {
font-size: 20px;
display: inline-block;
width: 100%;
height: 100%;
}
.icon-fallback {
font-size: 20px;
display: none;
width: 100%;
height: 100%;
}
.mobile-nav-item.active {
color: #28A745;
background: rgba(40, 167, 69, 0.1);
}
.mobile-nav-item.active i,
.mobile-nav-item.active .icon-fallback {
color: #28A745;
}
.mobile-nav-item:hover {
background: rgba(40, 167, 69, 0.1);
}
@media (max-width: 768px) {
.mobile-bottom-nav {
display: block;
}
body {
padding-bottom: 70px;
}
}
`;
// Add styles to head
document.head.appendChild(style);
// Add click handler to set active state
document.querySelectorAll('.mobile-nav-item').forEach(item => {
item.addEventListener('click', function(e) {
document.querySelectorAll('.mobile-nav-item').forEach(navItem => {
navItem.classList.remove('active');
});
this.classList.add('active');
});
});
});
</script>";} |
0 |
|
|
1245 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
HTML BOTTOM NAV |
| 742 |
359 |
a:1:{s:7:"content";s:7297:"<!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 will complete in 10 seconds</div>
<div class="gonje-loading-tip">Gonje Tip: Ordering in advance helps ensure you get the best delivery slots!</div>
</div>
</div>
<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."
];
// Set loading duration to 10 seconds (10000 milliseconds)
const loadingDuration = 10000;
let progress = 0;
let currentFact = 0;
let secondsRemaining = 10;
// Update countdown timer
const countdownInterval = setInterval(() => {
secondsRemaining--;
if (secondsRemaining > 0) {
countdownElement.textContent = `Loading will complete in ${secondsRemaining} second${secondsRemaining !== 1 ? 's' : ''}`;
} else {
countdownElement.textContent = "Loading complete!";
clearInterval(countdownInterval);
}
}, 1000);
// Change fact every 5 seconds
setInterval(() => {
currentFact = (currentFact + 1) % facts.length;
factElement.textContent = facts[currentFact];
}, 5000);
// Calculate progress increment per interval
const totalIntervals = loadingDuration / 300;
const progressIncrement = 100 / totalIntervals;
// Simulate loading progress
const loadingInterval = setInterval(() => {
progress += progressIncrement;
if (progress >= 100) {
progress = 100;
clearInterval(loadingInterval);
// Hide loading overlay when done
setTimeout(() => {
loadingOverlay.style.opacity = '0';
setTimeout(() => {
loadingOverlay.style.display = 'none';
}, 500);
}, 500);
}
progressBar.style.width = progress + '%';
}, 300);
});
</script>
</body>
</html>";} |
0 |
|
|
1246 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Gonje animated loader |
| 742 |
360 |
a:1:{s:7:"content";s:67:"<style>
.ty-pagination__selected {
color: black;
}
</style>";} |
0 |
|
|
1247 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
CUSTOM STYLES |
| 742 |
361 |
a:1:{s:7:"content";s:5270:"<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: relative;
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: #000;
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);
}
@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;
}
}
`;
// 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);
// 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';
// 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';
} else {
banner.style.display = 'none';
}
}
}
// Initialize the banner when DOM is loaded
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', function() {
createPromoBanner();
});
} else {
createPromoBanner();
}
</script>";} |
0 |
|
|
1249 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Nav Popup Script |
| 742 |
365 |
a:1:{s:7:"content";s:6590:"<!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: 300px;
right: 20px;
width: 70px;
height: 70px;
background: linear-gradient(135deg, #0070ba, #005ea6);
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">
<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 (USD)" 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>
// Get DOM elements
const donationWidget = document.getElementById("gonjeDonationsWidget");
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");
</script>
</body>
</html>";} |
0 |
|
|
1282 |
|
|
0 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Donations AMCF |
| 742 |
368 |
a:1:{s:7:"content";s:23834:"<!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://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fiicons/fi@1.0.0/css/fi.min.css">
<style>
/* Hamburger container – bottom-right gonje-camera-status-message */
.gonje-hamburger-btn {
position: fixed;
bottom: 200px;
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);
}
/* Widget buttons container */
.gonje-widgets-panel {
position: fixed;
bottom: 270px;
right: 20px;
display: flex;
flex-direction: column;
gap: 12px;
z-index: 9998;
opacity: 0;
transform: translateY(20px);
pointer-events: none;
transition: all .3s ease;
}
.gonje-widgets-panel.show {
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}
/* Individual widget button */
.gonje-widget-btn {
width: 50px;
height: 50px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 22px;
cursor: pointer;
box-shadow: 0 4px 10px rgba(0,0,0,.2);
transition: all .3s;
position: relative;
}
.gonje-widget-btn:hover {
transform: scale(1.1);
background: #70AB4B !important;
}
.gonje-widget-camera {
background: #4285f4;
}
.gonje-widget-support {
background: linear-gradient(135deg, #28A745, #70ab4b);
}
.gonje-widget-sustainable {
background: #2E8B57;
}
.gonje-widget-tooltip {
position: absolute;
right: 62px;
top: 50%;
transform: translateY(-50%);
background: #333;
color: #fff;
padding: 6px 10px;
border-radius: 4px;
white-space: nowrap;
font-size: 12px;
opacity: 0;
pointer-events: none;
transition: opacity .2s;
}
.gonje-widget-btn:hover .gonje-widget-tooltip {
opacity: 1;
}
/* Camera widget specific */
.gonje-camera-status-message {
position: fixed;
bottom: 200px;
left: 20px;
padding: 6px 12px;
border-radius: 4px;
font-size: 13px;
background: rgba(0,0,0,.1);
color: #333;
max-width: 200px;
transition: all .3s;
}
.gonje-camera-status-message.success {
background: rgba(76,175,80,.2);
color: #2e7d32;
}
.gonje-camera-status-message.error {
background: rgba(244,67,54,.2);
color: #c62828;
}
/* Sustainable modal specific */
.gonje-sustainable-modal {
display: none;
position: fixed;
inset: 0;
background: rgba(0,0,0,.7);
z-index: 2000;
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;
}
}
</style>
</head>
<body>
<!-- ========== Hamburger Trigger ========== -->
<div class="gonje-hamburger-btn" id="gonjeHamburgerBtn" aria-label="Toggle widgets" aria-expanded="false">
<div class="gonje-hamburger-bar"></div>
<div class="gonje-hamburger-bar"></div>
<div class="gonje-hamburger-bar"></div>
</div>
<!-- ========== Widget Buttons Panel ========== -->
<div class="gonje-widgets-panel" id="gonjeWidgetsPanel">
<!-- Camera -->
<div class="gonje-widget-btn gonje-widget-camera" id="gonjeWidgetCamera" aria-label="Camera / QR scanner">
<i class="fi fi-rr-camera"></i>
<span class="gonje-widget-tooltip">Camera / QR scanner</span>
</div>
<!-- Support -->
<div class="gonje-widget-btn gonje-widget-support" id="gonjeWidgetSupport" aria-label="Help & Support">
<i class="fas fa-headset"></i>
<span class="gonje-widget-tooltip">Help & Support</span>
</div>
<!-- Sustainable -->
<div class="gonje-widget-btn gonje-widget-sustainable" id="gonjeWidgetSustainable" aria-label="Sustainable packaging">
<i class="fas fa-leaf"></i>
<span class="gonje-widget-tooltip">Sustainable packaging</span>
</div>
</div>
<!-- ========== Camera Status Message ========== -->
<div class="gonje-camera-status-message" id="gonjeCameraStatusMessage"></div>
<!-- ========== Sustainable Modal ========== -->
<div class="gonje-sustainable-modal" id="gonjeSustainableModal" aria-hidden="true">
<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" id="gonjeSustainableModalClose" 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>100% recycled cardboard boxes</div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i>FSC-certified paper materials</div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i>Plant-based coatings</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>AI-optimized sizing</div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i>Soy-based inks</div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i>Reusable designs</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>Recycled paper padding</div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i>Starch-based cool packs</div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i>Compostable fiber trays</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>Plastic-free paper tape</div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i>Recyclable labels</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>Return discounts</div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i>Collapsible crates</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>Clear recycling guides</div>
<div class="gonje-sustainable-practice-point"><i class="fas fa-check gonje-sustainable-point-icon"></i>Paper void fill</div>
<div class="gonje-sustainable-impact-statement"><strong>Result:</strong> 89% proper recycling</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
/* ========== Hamburger Toggle ========== */
const hamburgerBtn = document.getElementById('gonjeHamburgerBtn');
const widgetsPanel = document.getElementById('gonjeWidgetsPanel');
let panelOpen = false;
hamburgerBtn.addEventListener('click', () => {
panelOpen = !panelOpen;
widgetsPanel.classList.toggle('show', panelOpen);
hamburgerBtn.classList.toggle('open', panelOpen);
hamburgerBtn.setAttribute('aria-expanded', panelOpen);
});
/* ========== Camera Widget ========== */
const cameraBtn = document.getElementById('gonjeWidgetCamera');
const cameraStatus = document.getElementById('gonjeCameraStatusMessage');
cameraBtn.addEventListener('click', () => {
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', (e) => {
if (e.target.files && e.target.files.length > 0) {
const file = e.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';
}
});
});
/* ========== Support Widget ========== */
const supportBtn = document.getElementById('gonjeWidgetSupport');
supportBtn.addEventListener('click', () => {
window.location.href = 'https://marketplace.gonje.com/support';
});
/* ========== Sustainable Widget ========== */
const sustainableBtn = document.getElementById('gonjeWidgetSustainable');
const sustainableModal = document.getElementById('gonjeSustainableModal');
const sustainableModalClose = document.getElementById('gonjeSustainableModalClose');
sustainableBtn.addEventListener('click', () => {
sustainableModal.style.display = 'block';
sustainableModal.setAttribute('aria-hidden', 'false');
document.body.style.overflow = 'hidden';
});
sustainableModalClose.addEventListener('click', closeSustainableModal);
sustainableModal.addEventListener('click', (e) => {
if (e.target === sustainableModal) closeSustainableModal();
});
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && sustainableModal.style.display === 'block') closeSustainableModal();
});
function closeSustainableModal() {
sustainableModal.style.display = 'none';
sustainableModal.setAttribute('aria-hidden', 'true');
document.body.style.overflow = 'auto';
}
</script>
</body>
</html>";} |
0 |
|
|
1285 |
|
|
0 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Gonje Hub |
| 753 |
393 |
a:1:{s:7:"content";s:700:"{** block-description:tmpl_logo **}
<div class="ty-logo-container">
{$logo_link = $block.properties.enable_link|default:"Y" == "Y"}
{if $logo_link}
<a href="https://marketplace.gonje.com/" title="{$logos.theme.image.alt}">
{/if}
{include file="common/image.tpl"
images=$logos.theme.image
class="ty-logo-container__image"
image_additional_attrs=["width" => $logos.theme.image.image_x, "height" => $logos.theme.image.image_y]
obj_id=false
show_no_image=false
show_detailed_link=false
capture_image=false
}
{if $logo_link}
</a>
{/if}
</div>
";} |
0 |
|
|
1356 |
|
|
0 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
de |
modify blog for logo |
| 756 |
394 |
a:1:{s:7:"content";s:54:"<style>
.tygh-top-panel{
padding:unset;
}
</style>";} |
0 |
|
|
1357 |
|
|
0 |
A |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
de |
Header style points |
| 754 |
3 |
a:1:{s:4:"menu";s:1:"1";} |
0 |
|
|
1201 |
|
top-quick-links |
1 |
A |
menu |
a:2:{s:8:"template";s:26:"blocks/menu/text_links.tpl";s:18:"show_items_in_line";s:1:"Y";} |
0 |
1 |
de |
Quick links |
| 738 |
17 |
a:1:{s:7:"content";s:340:"
<ul id="about_cs_cart_links">
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=1"|fn_url}">Our team</a></li>
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=3"|fn_url}">Privacy policy</a></li>
</ul>";} |
0 |
|
|
1168 |
blocks/wrappers/footer_general.tpl |
footer-no-wysiwyg |
1 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
de |
About us |
| 751 |
126 |
a:1:{s:5:"items";a:3:{s:7:"filling";s:13:"full_tree_cat";s:18:"parent_category_id";s:0:"";s:7:"sort_by";s:8:"position";}} |
0 |
|
|
1194 |
|
|
1 |
D |
categories |
a:3:{s:8:"template";s:52:"blocks/categories/categories_dropdown_horizontal.tpl";s:30:"dropdown_second_level_elements";s:2:"12";s:29:"dropdown_third_level_elements";s:1:"6";} |
0 |
1 |
de |
Main menu |
| 735 |
129 |
a:1:{s:7:"content";s:261:"
<ul id="demo_store_links">
<li class="ty-footer-menu__item"><a href="{"companies.apply_for_vendor"|fn_url}">Apply for a seller account</a></li>
<li class="ty-footer-menu__item"><a href="{"pages.view?page_id=15"|fn_url}">Vendor terms & conditions</a></li>
</ul>";} |
0 |
|
|
1165 |
blocks/wrappers/footer_general.tpl |
footer-no-wysiwyg |
1 |
A |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
de |
Become a seller |
| 742 |
165 |
a:1:{s:7:"content";s:136:"<p><br></p>
<figure><img src="https://backendapi.gonje.com/public/gonje-storage/public/images/payment-methods.png"></figure>
<p><br></p>";} |
0 |
|
|
1171 |
|
|
1 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Gonje Payment methods |
| 756 |
190 |
a:1:{s:7:"content";s:1154:"<style>
.marquee {
width: 100%;
overflow: hidden;
background: linear-gradient(90deg, #ff6f61, #d5a6a1);
color: white;
padding: 10px;
font-size: 24px;
font-weight: bold;
white-space: nowrap;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.marquee-content {
display: inline-block;
padding-left: 100%;
animation: marquee 35s linear infinite; /* Increased duration to slow down */
}
@keyframes marquee {
from {
transform: translateX(100%);
}
to {
transform: translateX(-100%);
}
}
</style>
<div class="marquee">
<div class="marquee-content" style="color:#fff;font-size:20px;">
Welcome to Our Marketplace! Explore a wide range of fresh groceries, exclusive deals, and special offers just for you. Don’t miss out on our limited-time discounts and seasonal promotions. Shop now and enjoy the best quality products delivered right to your door!
</div>
</div>";} |
0 |
|
|
1206 |
|
|
1 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Page Marquee Ad |
| 561 |
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 |
|
|
874 |
|
|
1 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Tawkto Block |
| 753 |
221 |
a:1:{s:7:"content";s:475:"<script>
function hideNotifications() {
document.querySelectorAll(".notification-content").forEach(function (element) {
element.style.display = "none";
});
}
// Run once on initial load
setTimeout(hideNotifications, 3000);
// Set up MutationObserver to handle AJAX-loaded elements
const observer = new MutationObserver(function (mutations) {
hideNotifications();
});
observer.observe(document.body, {
childList: true,
subtree: true,
});
</script>";} |
0 |
|
|
1198 |
|
|
1 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Notification timer control |
| 753 |
2 |
a:1:{s:4:"text";s:0:"";} |
0 |
|
|
1199 |
|
|
2 |
A |
currencies |
a:3:{s:8:"template";s:21:"blocks/currencies.tpl";s:6:"format";s:6:"symbol";s:14:"dropdown_limit";s:1:"3";} |
0 |
1 |
de |
Currencies |
| 732 |
13 |
a:1:{s:7:"content";s:970:"<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"><span class="ty-icon ty-icon-youtube"></span>Youtube </a>
</div></div>
";} |
0 |
|
|
1163 |
|
|
2 |
A |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
de |
Social links |
| 751 |
188 |
a:3:{s:5:"width";s:0:"";s:6:"height";s:0:"";s:5:"items";a:2:{s:7:"filling";s:8:"manually";s:8:"item_ids";s:5:"25,26";}} |
0 |
|
|
1195 |
|
|
2 |
D |
banners |
a:3:{s:8:"template";s:34:"addons/banners/blocks/carousel.tpl";s:10:"navigation";s:1:"N";s:5:"delay";s:1:"5";} |
0 |
1 |
de |
Hero Sliding Banner |
| 755 |
238 |
a:1:{s:7:"content";s:1304:"{* File: themes/your_theme/templates/blocks/realtime_cart_count.tpl *}
{* Unique classes/IDs to prevent conflicts *}
{$cart_count = $cart.amount|default:$smarty.session.cart.amount|default:0}
<style>
.realtime-cart-count {
position: relative;
top: 25px;
display: inline-block;
z-index: 1000;
}
.realtime-cart-badge {
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
background: #808080;
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 14px;
}
</style>
<div class="realtime-cart-count">
<span class="realtime-cart-badge" id="realtime_cart_counter">
{$cart_count}
</span>
</div>
<script>
(function(_, $) {
// Update immediately when cart changes (add/remove)
$.ceEvent('on', 'ce.cart.changed', function(data) {
if (typeof data.amount !== 'undefined') {
$('#realtime_cart_counter').text(data.amount);
}
});
// Handle edge cases (e.g., cart emptied via bulk action)
$.ceEvent('on', 'ce.ajaxdone', function(response) {
if (response.cart_amount === 0) {
$('#realtime_cart_counter').text('0');
}
});
})(Tygh, Tygh.$);
</script>";} |
0 |
|
|
1203 |
|
|
2 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
de |
Cart count block for new style |
| 742 |
247 |
a:1:{s:7:"content";s:2945:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Back to Top Widget</title>
<style>
.back-to-top {
position: fixed;
bottom: 250px;
right: 30px;
width: 50px;
height: 50px;
background-color: rgba(74, 107, 255, 0.85); /* Added transparency */
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
box-shadow: 0 4px 12px rgba(74, 107, 255, 0.3);
transition: all 0.3s ease;
opacity: 0;
visibility: hidden;
transform: translateY(20px);
z-index: 1000;
backdrop-filter: blur(2px); /* Adds a subtle blur effect to elements behind */
border: 1px solid rgba(255, 255, 255, 0.2); /* Subtle border */
}
.back-to-top.active {
opacity: 0.85; /* Matches the background transparency */
visibility: visible;
transform: translateY(0);
}
.back-to-top:hover {
background-color: rgba(58, 86, 212, 0.9); /* Slightly less transparent on hover */
box-shadow: 0 6px 16px rgba(74, 107, 255, 0.4);
transform: translateY(-3px);
opacity: 1; /* Fully opaque on hover */
}
.back-to-top::after {
content: "";
width: 16px;
height: 16px;
border-top: 3px solid #fff;
border-right: 3px solid #fff;
transform: rotate(-45deg);
margin-top: 6px;
}
@media (max-width: 768px) {
.back-to-top {
width: 44px;
height: 44px;
bottom: 250px;
right: 20px;
}
}
</style>
</head>
<body>
<!-- Back to Top Widget -->
<div class="back-to-top" id="backToTop"></div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const backToTopButton = document.getElementById('backToTop');
// Show/hide the button based on scroll position
window.addEventListener('scroll', function() {
if (window.pageYOffset > 300) {
backToTopButton.classList.add('active');
} else {
backToTopButton.classList.remove('active');
}
});
// Smooth scroll to top when clicked
backToTopButton.addEventListener('click', function(e) {
e.preventDefault();
window.scrollTo({
top: 0,
behavior: 'smooth'
});
});
});
</script>
</body>
</html>";} |
0 |
|
|
1172 |
|
|
2 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Scroll Widget HTML |
| 751 |
173 |
a:1:{s:7:"content";s:63:"<img src="https://backendapi.gonje.com/public/home-banner.png">";} |
0 |
|
|
1196 |
|
|
3 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Gonje Home Banner |
| 755 |
241 |
a:1:{s:7:"content";s:1833:"<div class="realtime-cart-count">
<span class="realtime-cart-badge" id="realtime_cart_counter">0</span>
</div>
<style>
.realtime-cart-count {
position: relative;
top: 25px;
display: inline-block;
z-index: 1000;
}
.realtime-cart-badge {
display: flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
background: #808080;
border-radius: 50%;
color: white;
font-weight: bold;
font-size: 14px;
transition: all 0.3s ease;
}
.realtime-cart-badge.update-flash {
transform: scale(1.3);
background: #ff6b6b;
}
</style>
<script>
(function(_, $) {
// Flash effect when the cart count updates
function flashCounter() {
var $counter = $('#realtime_cart_counter');
$counter.addClass('update-flash');
setTimeout(function() {
$counter.removeClass('update-flash');
}, 300);
}
// Function to update the cart count
function updateCartCount(newCount) {
$('#realtime_cart_counter').text(newCount);
flashCounter();
}
// Listen for CS-Cart AJAX events (including the add-to-cart modal)
$.ceEvent('on', 'ce.ajaxdone', function(response) {
if (response.current_amount !== undefined) {
updateCartCount(response.current_amount); // Update count with CS-Cart's own response data
}
});
// Update cart count on page load
$(document).ready(function() {
$.ceAjax('request', fn_url('checkout.cart'), {
callback: function(data) {
if (data.cart_amount !== undefined) {
updateCartCount(data.cart_amount);
}
}
});
});
})(Tygh, Tygh.$);
</script>
";} |
0 |
|
|
1204 |
|
|
3 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Cart count html block |
| 742 |
248 |
a:1:{s:7:"content";s:342:"<script>// Find all span elements with both classes
// Find all span elements with both classes
const elements = document.querySelectorAll('span.ty-icon.ty-icon-short-list');
// Loop through each found element and apply the style
elements.forEach(element => {
element.style.top = '-20px';
element.style.background = 'none';
});
</script>";} |
0 |
|
|
1173 |
|
|
3 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Script to target sorting icon on product page and restyle |
| 742 |
236 |
a:1:{s:7:"content";s:890:"// Find the button by its name attribute
const addToCartButton = document.querySelector('button[name="dispatch[checkout.add..8]"]');
// Function to replace text in the specified classes
function replaceTextInClasses() {
const elements = document.querySelectorAll('.ty-minicart-title, .ty-hand');
elements.forEach(element => {
element.textContent = '';
});
console.log('Text replaced in .ty-minicart-title and .ty-hand');
}
// Add click event listener to the button
if (addToCartButton) {
addToCartButton.addEventListener('click', function(event) {
// Optional: Prevent default button behavior if needed
// event.preventDefault();
// Execute the text replacement
replaceTextInClasses();
// Optional: Add a delay if the content appears dynamically
// setTimeout(replaceTextInClasses, 1000);
});
} else {
console.log('Button not found');
}";} |
0 |
|
|
1174 |
|
|
4 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Script to clear cart text after adding item |
| 742 |
237 |
a:1:{s:7:"content";s:569:"<script>
// Wait for the DOM to be fully loaded
document.addEventListener('DOMContentLoaded', function() {
// Find all elements with the class 'ty-minicart-title'
var minicartTitles = document.querySelectorAll('.ty-minicart-title');
// Loop through each element found
minicartTitles.forEach(function(element) {
// Add 10 to the element's content
element.innerHTML = ' ' + element.innerHTML;
// Set the display to none
element.style.display = 'none';
});
});
</script>";} |
0 |
|
|
1175 |
|
|
5 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Replace title with non breaking space in cart content |
| 742 |
239 |
a:1:{s:7:"content";s:494:"<script>
// Wait for the DOM to be fully loaded
document.addEventListener('DOMContentLoaded', function() {
// Find the element with both classes
const emptyCartElement = document.querySelector('.ty-cart-items__empty.ty-center');
// If the element exists, insert the text
if (emptyCartElement) {
emptyCartElement.textContent = 'The cart is empty';
} else {
console.log('Element with class "ty-cart-items__empty ty-center" not found');
}
});
</script>";} |
0 |
|
|
1176 |
|
|
6 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Add cart is empty text |
| 742 |
240 |
a:1:{s:7:"content";s:1746:"<script>
(function(_, $) {
// Visual feedback function
function flashCounter() {
var $counter = $('#realtime_cart_counter');
$counter.addClass('update-flash');
setTimeout(function() {
$counter.removeClass('update-flash');
}, 300);
}
// Function to fetch the latest cart data from the server
function updateCartCount() {
$.ceAjax('request', fn_url('checkout.cart'), {
method: 'POST',
callback: function(data) {
if (data.cart_amount !== undefined) {
$('#realtime_cart_counter').text(data.cart_amount);
flashCounter();
}
}
});
}
// 1. TRACK ALL ADD TO CART BUTTONS
$(document).on('click', '[id^="button_cart_"], .ty-btn__add-to-cart', function(e) {
updateCartCount();
});
// 2. TRACK ALL REMOVE ITEM LINKS
$(document).on('click', 'a[href*="checkout.delete"], a[href*="cart.delete"], a[href*="wishlist.delete"]', function(e) {
updateCartCount();
});
// 3. HANDLE AJAX RESPONSE EVENTS
$.ceEvent('on', 'ce.ajaxdone', function(response) {
if (response.cart_amount !== undefined) {
$('#realtime_cart_counter').text(response.cart_amount);
flashCounter();
}
});
// 4. HANDLE CART CHANGES (e.g., quantity updates)
$.ceEvent('on', 'ce.cart.changed', function(data) {
if (data.amount !== undefined) {
$('#realtime_cart_counter').text(data.amount);
flashCounter();
}
});
// 5. INITIAL CART COUNT UPDATE ON PAGE LOAD
$(document).ready(function() {
updateCartCount();
});
})(Tygh, Tygh.$);
</script>";} |
0 |
|
|
1177 |
|
|
7 |
D |
safe_smarty_block |
a:1:{s:8:"template";s:28:"blocks/safe_smarty_block.tpl";} |
0 |
1 |
de |
Cart count tpl script |
| 742 |
242 |
a:1:{s:7:"content";s:3195:"<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cart Indicator</title>
<style>
/* Base styles */
.ty-dropdown-box {
}
/* Cart icon styles */
.ty-icon.ty-icon-cart.ty-minicart__icon.filled {
display: inline-block;
width: 40px;
height: 40px;
background-color: #f7f5f0;
margin: 10px;
position: relative;
}
/* Green dot indicator */
.ty-icon.ty-icon-cart.ty-minicart__icon.filled.has-indicator::after {
content: '';
position: absolute;
top: -5px;
right: -5px;
width: 12px;
height: 12px;
background-color: #2ecc71;
border-radius: 50%;
border: 2px solid white;
z-index: 10;
}
/* Button styles */
.ty-btn__add-to-cart {
}
.ty-btn__add-to-cart:hover {
}
</style>
</head>
<body>
<script>
document.addEventListener('DOMContentLoaded', function() {
const addToCartButton = document.querySelector('.ty-btn__add-to-cart');
function containsCartText(element) {
const textContent = element.textContent || element.innerText;
return textContent.toLowerCase().includes('cart');
}
function getTargetIcons() {
const allDropdowns = document.querySelectorAll('.ty-dropdown-box');
const targetIcons = [];
allDropdowns.forEach(dropdown => {
if (containsCartText(dropdown)) {
const icon = dropdown.querySelector('.ty-icon.ty-icon-cart.ty-minicart__icon.filled');
if (icon) {
targetIcons.push({
icon: icon,
container: dropdown
});
}
}
});
return targetIcons;
}
// Add green dot when clicking the button
addToCartButton.addEventListener('click', function() {
const targetIcons = getTargetIcons();
targetIcons.forEach(item => {
item.icon.classList.add('has-indicator');
});
});
// Remove green dot when clicking the container
document.addEventListener('click', function(e) {
const dropdown = e.target.closest('.ty-dropdown-box');
if (dropdown && containsCartText(dropdown)) {
const icon = dropdown.querySelector('.ty-icon.ty-icon-cart.ty-minicart__icon.filled');
if (icon) {
icon.classList.remove('has-indicator');
}
}
});
});
</script>
</body>
</html>";} |
0 |
|
|
1178 |
|
|
8 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Cart Update Indicator |
| 742 |
243 |
a:1:{s:7:"content";s:842:"<script>
(function() {
// Function to hide the error message
const hideCountryError = () => {
const notifications = document.querySelectorAll('.cm-notification-content.notification-content.alert-error');
notifications.forEach(notification => {
if (notification.textContent.includes("The 'Country' field is required.")) {
notification.style.display = 'none'; // Hide it
// notification.remove(); // Or remove it completely
}
});
};
// Run immediately when the script loads
hideCountryError();
// Set up a MutationObserver to detect dynamically loaded errors
const observer = new MutationObserver(hideCountryError);
observer.observe(document.body, {
childList: true,
subtree: true
});
})();
</script>";} |
0 |
|
|
1179 |
|
|
9 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Remove country required notification |
| 742 |
244 |
a:1:{s:7:"content";s:2072:"<script>
// Function to fetch country from IPinfo and update both select and flag
function setCountryBasedOnIP() {
const selectElement = document.getElementById('litecheckout_country');
const flagSpan = document.querySelector('.ty-icon.ty-flag.ty-select-block__a-flag');
if (!selectElement || !flagSpan) {
console.error('Required elements not found');
return;
}
// Fetch country information from IPinfo
fetch('https://ipinfo.io/json?token=801609ba6b01eb')
.then(response => response.json())
.then(data => {
const countryCode = data.country; // Get the 2-letter country code
if (!countryCode) {
console.error('Could not determine country from IP');
return;
}
// Update the select dropdown
const optionToSelect = selectElement.querySelector(`option[value="${countryCode}"]`);
if (optionToSelect) {
optionToSelect.selected = true;
// Update the flag span
// First remove all existing flag classes
flagSpan.className = flagSpan.className.replace(/\bty-flag-\w+\b/g, '');
// Add the new flag class
flagSpan.classList.add(`ty-flag-${countryCode.toLowerCase()}`);
// Trigger change event
const event = new Event('change');
selectElement.dispatchEvent(event);
console.log(`Country set to ${optionToSelect.textContent} (${countryCode})`);
} else {
console.warn(`No option found for country code: ${countryCode}`);
}
})
.catch(error => {
console.error('Error fetching IP info:', error);
});
}
// Run when page loads
document.addEventListener('DOMContentLoaded', setCountryBasedOnIP);
// Also handle dynamic loading
const observer = new MutationObserver(() => {
if (document.getElementById('litecheckout_country') &&
document.querySelector('.ty-icon.ty-flag.ty-select-block__a-flag')) {
setCountryBasedOnIP();
observer.disconnect();
}
});
observer.observe(document.body, { childList: true, subtree: true });
</script>";} |
0 |
|
|
1180 |
|
|
10 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Target and autofill country input field |
| 742 |
19 |
|
0 |
|
|
1181 |
|
|
11 |
D |
template |
a:1:{s:8:"template";s:41:"blocks/static_templates/payment_icons.tpl";} |
0 |
1 |
de |
Payment icons |
| 742 |
221 |
a:1:{s:7:"content";s:475:"<script>
function hideNotifications() {
document.querySelectorAll(".notification-content").forEach(function (element) {
element.style.display = "none";
});
}
// Run once on initial load
setTimeout(hideNotifications, 3000);
// Set up MutationObserver to handle AJAX-loaded elements
const observer = new MutationObserver(function (mutations) {
hideNotifications();
});
observer.observe(document.body, {
childList: true,
subtree: true,
});
</script>";} |
0 |
|
|
1182 |
|
|
12 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Notification timer control |
| 742 |
234 |
a:1:{s:7:"content";s:721:"<script>
document.addEventListener('DOMContentLoaded', function() {
// Find all elements with the specified classes
const elements = document.querySelectorAll('.ty-minicart-title.ty-hand, .ty-block');
// Loop through each element found
elements.forEach(element => {
// Clear the existing text content and add with a dropdown icon
element.innerHTML = ' <span class="dropdown-icon">▼</span>';
// Style the dropdown icon for mobile
const dropdownIcon = element.querySelector('.dropdown-icon');
dropdownIcon.style.fontSize = '8px'; // Mobile-friendly size
dropdownIcon.style.verticalAlign = 'middle';
dropdownIcon.style.display = 'none';
});
});
</script>";} |
0 |
|
|
1183 |
|
|
13 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Remodel and remove text from cart |
| 742 |
235 |
a:1:{s:7:"content";s:909:"<script>
// Find the button by its name attribute
const addToCartButton = document.querySelector('button[name="dispatch[checkout.add..8]"]');
// Function to replace text in the specified classes
function replaceTextInClasses() {
const elements = document.querySelectorAll('.ty-minicart-title, .ty-hand');
elements.forEach(element => {
element.textContent = '';
});
console.log('Text replaced in .ty-minicart-title and .ty-hand');
}
// Add click event listener to the button
if (addToCartButton) {
addToCartButton.addEventListener('click', function(event) {
// Optional: Prevent default button behavior if needed
// event.preventDefault();
// Execute the text replacement
replaceTextInClasses();
// Optional: Add a delay if the content appears dynamically
// setTimeout(replaceTextInClasses, 1000);
});
} else {
console.log('Button not found');
}
</script>";} |
0 |
|
|
1184 |
|
|
14 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Replace cart title with empty string |
| 742 |
245 |
a:1:{s:7:"content";s:619:"<script>
const shopNowLink = Array.from(document.querySelectorAll('a')).find(a =>
a.textContent.trim() === 'Shop now' &&
a.href === 'https://marketplace.gonje.com/fulfilment-by-gonje/'
);
if (shopNowLink) {
// Add the onclick attribute
shopNowLink.setAttribute('onclick', "document.getElementById('mod-sn-modal').style.display = 'flex'");
// Remove the href attribute to disable linking
shopNowLink.removeAttribute('href');
// Prevent default behavior if someone tries to click it
shopNowLink.addEventListener('click', (e) => {
e.preventDefault();
});
}
</script>";} |
0 |
|
|
1185 |
|
|
15 |
D |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Script for shop now vendor location link |
| 742 |
233 |
a:1:{s:7:"content";s:946:"<script>
// Wait for DOM to be fully loaded before executing
document.addEventListener('DOMContentLoaded', function() {
try {
// Hide elements with any attribute containing 'wk_aramex_delivery_datetime'
const elementsToHide = document.querySelectorAll('[id*="wk_aramex_delivery_datetime"], [name*="wk_aramex_delivery_datetime"], [class*="wk_aramex_delivery_datetime"]');
elementsToHide.forEach(element => {
if (element && element.style) {
element.style.display = 'none';
}
});
// Hide labels containing these elements
document.querySelectorAll('label').forEach(label => {
if (label && label.innerHTML && label.innerHTML.includes('wk_aramex_delivery_datetime')) {
label.style.display = 'none';
}
});
} catch (error) {
console.error('Error hiding elements:', error);
}
});
</script>";} |
0 |
|
|
1187 |
|
|
16 |
A |
html_block |
a:1:{s:8:"template";s:21:"blocks/html_block.tpl";} |
0 |
1 |
de |
Hide Webkul Date and Time |