Skip to content

Instantly share code, notes, and snippets.

View prestarocket's full-sized avatar

Adonis Karavokyros prestarocket

View GitHub Profile
@prestarocket
prestarocket / ajax-cart.js
Created March 13, 2025 20:58 — forked from marioloncarek/ajax-cart.js
complete add bundle to cart shopify
import {formatMoney} from '@shopify/theme-currency/currency';
import {Power3, TweenMax} from 'gsap/TweenMax';
import $ from 'jquery';
const defaults = {
cartModal: '.js-ajax-cart-modal', // classname
cartModalClose: '.js-ajax-cart-modal-close', // classname
cartDrawer: '.js-ajax-cart-drawer', // classname
cartDrawerContent: '.js-ajax-cart-drawer-content', // classname
cartDrawerClose: '.js-ajax-cart-drawer-close', // classname
@prestarocket
prestarocket / related-articles.liquid
Created December 15, 2024 06:40 — forked from atikju/related-articles.liquid
Show related articles based on article tags - Shopify

ShopifyQL Query Gist

This Gist contains a collection of ShopifyQL queries designed for in-depth analysis of sales, customer behavior, and channel performance metrics. Each query focuses on a specific aspect of e-commerce analytics, offering insights into trends and operational efficiency.

1. Daily Orders by Sales Channel (Online Store)

Description: Analyzes daily orders for the Online Store sales channel, including totals and averages for the past 7 days.

FROM sales
SHOW orders, average_order_value
if ( typeof ProductVariants !== 'function' ) {
class ProductVariants extends HTMLElement {
constructor() {
super();
this.init();
}
init() {
@prestarocket
prestarocket / klaviyo-back-in-stock.liquid
Created November 25, 2024 21:40 — forked from royvn/klaviyo-back-in-stock.liquid
Klaviyo back in stock integration
{% if settings.klaviyo_public_api_key != blank %}
{% # theme-check-disable %}
<script src="https://a.klaviyo.com/media/js/onsite/onsite.js"></script>
{% # theme-check-enable %}
<script>
var klaviyo = klaviyo || [];
klaviyo.init({
account: "{{ settings.klaviyo_public_api_key }}",
{%- if settings.klaviyo_bis_list_id != blank %}
list: "{{ settings.klaviyo_bis_list_id }}",
@prestarocket
prestarocket / cookie-toggle.liquid
Created November 25, 2024 21:31 — forked from royvn/cookie-toggle.liquid
Send consent from theme to Shopify pixel based on user consent choices. Default Shopify Cookie Banner required.
@prestarocket
prestarocket / video-observer.js
Created November 25, 2024 21:29 — forked from royvn/video-observer.js
Video observer for Shopify video. Plays when it's in viewport, stops when it's out of viewport.
/**
* Web component to play and stop videos that are in viewport.
* Example usage:
* <video-observer class="block">
{{ section.settings.video | video_tag: preload: "none", muted: true, autoplay: false, loop: true, playsinline: true, controls: false, image_size: '1440x', class: video_class }}
</video-observer>
*/
class VideoObserver extends HTMLElement {
/** @type {HTMLVideoElement | null} */
@prestarocket
prestarocket / gorgias-chat-loader.js
Created November 25, 2024 21:26 — forked from royvn/gorgias-chat-loader.js
Shopify load Gorgias chat after clicking on chat icon
/**
* GorgiasChatLoader
* @description Custom element to load Gorgias chat widget when the user clicks on it.
*/
class GorgiasChatLoader extends HTMLElement {
constructor() {
super();
this.bundleLoaderId = this.dataset.id;
if (!this.bundleLoaderId) {
this.hideLoadButton();
@prestarocket
prestarocket / minifyHTML.liquid
Created November 25, 2024 21:16 — forked from VuongNQ/minifyHTML.liquid
Minify HTML snippet template shopify
{% capture breakLine %}
{% endcapture %}
{% liquid
if content_for_header contains 'Shopify.designMode'
echo content
else
assign listSpace = ' , , , , , , , , ' | split: ','
assign clearCommentTag = ''
assign listCommentTagsAfter = content | split: '<!--'
for afterItem in listCommentTagsAfter
@prestarocket
prestarocket / clean-prestashop-db.sql
Created November 15, 2020 23:11 — forked from julienbourdeau/clean-prestashop-db.sql
Clean PrestaShop database - Drop old and unless data
# Delete all logs
TRUNCATE ps_log;
# Delete old connection data (only used for stats)
# change 2016-02-01 00:00:00 according to you needs
DELETE c, cs
FROM ps_connections c
LEFT JOIN ps_connections_source cs ON (c.id_connections = cs.id_connections)
WHERE c.date_add < '2016-02-01 00:00:00';