Meta tags:
description= Shop over 50 eco-friendly bath, body, home, and beauty zero waste refills, delivered straight to your door. Gentle, all-natural formulas with custom scenting, thoughtfully included in most products. Get started with a more sustainable lifestyle today!;
Headings (most frequently used words):
it, the, for, your, refill, better, planet, at, home, gifts, make, pick, use, return, we, ve, soft, landed, our, new, midtown, and, shelves, are, mostly, stocked, come, see, us, 1727, main, st, face, beauty, bath, body, clean, kits, easy, to, be, eco, fan, favorites, essential, oils, eo, blends, signature, scent, way, good, even, with, points, one, tree, planted, re, topia, greenest, move, yet, spring, cleaning, but, green, simple, happy, holidays, shoppe,
Text of the page (most frequently used words):
appstle (93), _alconfig (68), const (65), subscription (57), document (52), your (46), loyalty (40), refills (36), body (31), get (30), function (28), and (28), bath (28), home (28), window (27), data (27), widget_setting (25), order (25), appstle_loyalty_iframe (24), the (24), for (23), queryselector (22), event (22), color (22), right (22), beauty (22), add (21), false (21), billingcycleblock (21), custom (21), classlist (20), location (19), border (19), open (18), else (18), return (18), button (18), formatdiscountedprice (18), let (17), discount (17), isshowwidget (17), shipped (17), sudscriptions (17), new (16), content (16), showsuboptionbeforeonetime (16), prepaidflag (16), error (15), essential (15), oils (15), scented (15), door (15), off (14), width (14), all (14), requires_selling_plan (14), true (13), product (13), more (13), catch (12), indexof (12), price (12), left (12), favorites (12), close (11), getelementbyid (11), href (11), name (11), one (11), blends (11), item (10), widget (10), includes (10), try (10), typeof (10), time (10), from (10), background (10), important (10), sellingplanvariants (10), clean (10), show (9), icon (9), some (9), url (9), length (9), orders (9), shipping (9), num (9), height (9), 89997c (9), settimeout (8), contentwindow (8), searchparams (8), json (8), remove (8), link (8), showstatictooltip (8), showtooltip (8), bundle (8), free (8), isperkonward (8), isperkrange (8), israngeend (8), onlyapplyonthis (8), amount (8), products (8), quantity (8), checkout (8), choose (8), showappstlelink (8), tooltipdescription (8), showonetimecompareprice (8), formattedprepaidperdeliverypricetext (8), showsecondformatteddiscounttext (8), isfixedprice (8), refill (8), proxy_path_prefix (7), replace (7), addeventlistener (7), metadescription (7), endraw (7), padding (7), hidden (7), 100 (7), delivery (7), our (7), onetimepuchasetext (7), are (7), things (7), blend (7), face (7), care (7), loadappstleloyaltywidget (6), text (6), customerloyalty (6), referralredirecturl (6), origin (6), pathname (6), widgetjsurl (6), widgetjspath (6), widgetcssurl (6), console (6), preload (6), raw (6), isdiscounttypepercentage (6), isdiscounttypeshipping (6), isdiscounttypefixed (6), isdiscounttypefixedprice (6), snackbar (6), token (6), transform (6), radius (6), max (6), flex (6), currentpage (6), please (6), cart (6), planet (6), simple (6), fragrance (6), under (6), widgettype (5), var (5), displayvalue (5), number (5), redirecturl (5), search (5), referralurlobj (5), then (5), widgetcsspath (5), tostring (5), customerid (5), shop (5), customurl (5), page (5), message (5), type (5), insertadjacenthtml (5), beforeend (5), gift (5), with (5), fixed (5), this (5), split (5), rounded (5), tolowercase (5), top (5), bottom (5), 1px (5), select (5), have (5), after (5), billingcycle (5), _rsconfig (5), onetimepuchaseamount (5), onetimepuchasecomparepriceamount (5), oil (5), you (5), scent (5), made (5), natural (5), iframe (4), foreach (4), launcherdatatype (4), points (4), loyalty_widget_available_points (4), storecreditbalance (4), string (4), enablewidget (4), appstle_referral (4), null (4), handleurlchange (4), versionurl (4), apps (4), fetch (4), res (4), set (4), response (4), htmldecoded (4), initiateappstleloyaltypage (4), appstleloyaltypageelement (4), createelement (4), appendchild (4), loaddedicatedpageasset (4), attempt (4), onsettle (4), asset (4), isavailablevisitshop (4), selected (4), purchase (4), reward (4), iszerobillingcycle (4), onwards (4), save (4), thousands (4), opacity (4), transition (4), box (4), 2px (4), display (4), items (4), tag (4), trim (4), restrictedpages (4), allowedpages (4), btn (4), frequency (4), fill (4), appstle_subscription_wrapper_option (4), label (4), solid (4), size (4), available (4), see (4), every (4), better (4), minimum (4), build (4), out (4), buy (4), powered (4), tooltiptitle (4), totalprice (4), formattedprice (4), secondformatteddiscounttext (4), showformatteddiscounttext (4), frequencydescription (4), showpriceperday (4), shoppe (4), quick (4), certified (4), gifts (4), nice (4), people (4), said (4), them (4), scrub (4), her (4), him (4), cards (4), sprays (4), bottles (4), jars (4), oral (4), hair (4), moisturizers (4), moisturize (4), treat (4), cleanse (4), exfoliate (4), accessories (4), clays (4), masks (4), togglewidget (3), launcher (3), toggle (3), showappstleloyaltywidget (3), 900 (3), aliframesrc (3), title (3), pointsel (3), currentviptier (3), format (3), handledeeplink (3), hash (3), referralpath (3), _self (3), lasturl (3), aldomobserver (3), executeloyaltywidget (3), err (3), dedicatedpageurl (3), parse (3), parsing (3), normalizedcustompath (3), head (3), createasset (3), settled (3), settle (3), math (3), executededicatedpagescript (3), widgetscriptappended (3), appendwidgetscriptonce (3), find (3), rule (3), sessionstorage (3), days (3), productprice (3), percentage (3), snackbarindex (3), roundtype (3), position (3), 24px (3), none (3), 4px (3), align (3), center (3), margin (3), restrictedcustomerstag (3), allowedcustomerstag (3), allowedtags (3), restrictedtags (3), year (3), nosubscriptionlabeltextv2 (3), cancelanytimelabeltextv2 (3), appstle_sub_widget (3), widgetsellingplanwrapper (3), 3e4f47 (3), font (3), not (3), superfood (3), can (3), plan (3), back (3), purchaseoptionstext (3), formatteddiscounttext (3), 2026 (3), scenting (3), faq (3), corp (3), 1727 (3), main (3), read (3), happy (3), good (3), favorite (3), regular (3), scentable (3), kits (3), queryselectorall (2), html (2), write (2), loyaltybuttontitle (2), shop_labels (2), widgettitle (2), parsehtmlstringcontent (2), launcherbuttonelement (2), fmt (2), availablepoints (2), formatstorecreditamount (2), formatnumberbypointroundtype (2), appstle_show_points (2), loyaltydeeplinks (2), earn (2), rewards (2), showwidget (2), widgetreferralurl (2), referralenabled (2), currentpath (2), mutationobserver (2), observe (2), subtree (2), childlist (2), mutations_list (2), mutation (2), added_node (2), app (2), version (2), finally (2), storecreditmismatch (2), customerstorecreditbalance (2), myshopify (2), com (2), updatecustomerurl (2), api (2), customer (2), method (2), post (2), decodeurl (2), dedicated_page (2), dedicatedpageeventlistener (2), log (2), refresh (2), appstleloyaltypage (2), firstchild (2), meta (2), description (2), appenddedicatedpagewidgetscript (2), script (2), async (2), rel (2), css (2), pointearnrules (2), visit_shop (2), syncvisitstore (2), loyaltycustomstyles (2), widget_type_7 (2), widget_type_2 (2), labels (2), onetimepurchasetextv2 (2), isdiscounttypefreeproduct (2), freeproductname (2), worth (2), div (2), only (2), toastereventlistener (2), showappstleloyaltytoaster (2), msg (2), elem (2), tofixed (2), value (2), safe (2), shopmoneyformat (2), tokenmatch (2), match (2), decimal (2), sign (2), 28px (2), index (2), 12px (2), 56px (2), ffffff (2), 40px (2), min (2), rgb (2), 100vh (2), scale (2), appstle_loyalty_widget_button_wrapper (2), transparent (2), gap (2), shrink (2), 14px (2), wrapper (2), right_snackbar (2), mainhtmlstring (2), widgeteventlistener (2), removeappstleloyaltywidget (2), customertags (2), allowedtag (2), restrictedtag (2), blockwidgetonpages (2), homepage (2), allowwidgetonspecificpages (2), __appstle_loyalty_launcher_allowed (2), launcherallowed (2), subscribe (2), monthly (2), week (2), appstle_subscription_wrapper (2), appstle_dot (2), appstle_select (2), style (2), tooltip_subscription_svg (2), appstle_subscription_final_price (2), 0px (2), template (2), appstle_subscription_save (2), appstle_subscription_widget0 (2), appstlesubscription (2), stringify (2), bundles (2), here (2), what (2), each (2), health (2), review (2), shopping (2), percent (2), next (2), step (2), subtotal (2), proceed (2), previous (2), coast (2), amount_with_comma_separator (2), onetimefrequencytext (2), isfrequencysubsequent (2), priceperday (2), formattedcompareatprice (2), pinterest (2), tiktok (2), instagram (2), facebook (2), mon (2), thurs (2), fri (2), sun (2), 10am (2), 362 (2), need (2), first (2), green (2), ventura (2), make (2), tree (2), areas (2), started (2), friends (2), love (2), place (2), fold (2), empties (2), drop (2), mail (2), send (2), hop (2), online (2), reorder (2), goodies (2), pouch (2), preference (2), pour (2), into (2), containers (2), lather (2), spritz (2), whatever (2), makes (2), use (2), scents (2), fancy (2), pick (2), now (2), refillable (2), waste (2), easy (2), eco (2), soft (2), landed (2), midtown (2), shelves (2), mostly (2), stocked (2), come (2), play (2), local (2), become (2), ambassador (2), parties (2), pop (2), ups (2), impact (2), awards (2), recognition (2), story (2), who (2), about (2), scentables (2), soaps (2), sanitizers (2), laundry (2), kitchen (2), purpose (2), essentials (2), candles (2), combustables (2), last (2), chance (2), fragrances (2), perfumes (2), shower (2), soak (2), shaving (2), beard (2), groom (2), scrubs (2), cleansers (2), touppercase, forceredirectdedicatedpage, innerhtml, showtier, showtiername, intl, numberformat, store_credits, vip_tier, textcontent, refer, redeem, referrals, vip, program, 200, observeurlchanges, popstate, hashchange, addednodes, disconnect, olineloyalty27, update, referralcustomredirecturl, startswith, refresh_appstle_loyalty_page, while, 500, onload, onerror, 1000, pow, setattribute, src, stylesheet, 8000, 2000, dedicatedpagereferralurl, status, active, getitem, referralloyalty, referraltype, await, visit, store, headers, application, setitem, widget_type_8, widget_type_3, widget_type_4, widget_type_5, billingcycleblockv2, carthiddenattributesselectorv2, daysfrequencytextv2, subscribeandsavesuccessv2, addtoshipmentsuccesstextv2, success, monthfrequencytextv2, month, addtoshipmentbuttontextv2, shipment, onetimedescriptiontextv2, loyaltyperkdescriptiontextv2, 1st, snackbarhtml, appstle_message_for_notification, 5000, closesnackbar, domcontentloaded, pointroundtype, no_round, round_up, ceil, round_down, floor, isinteger, isfinite, decimals, no_decimals, comma_separator, space_separator, apostrophe_separator, absolute, translate, 999, 19px, overflow, 300px, 400px, 516px, 100px, 1234567, shadow, 6px, white, calc, 120px, 80vw, media, screen, 800px, translatex, wrap, nowrap, 10px, auto, 8px, buttonimage, 30px, loyaltywidgetstyles, appstle_message_for_showwidget, appstle_widget_showhide, refresh_appstle_loyalty_widget, show_appstle_loyalty_widget, checkforwidgetrestrictions, customerstatus, excluded, showtologgedincustomeronly, click, widgetposition, left_snackbar, bundlediscounttextv2, extra, bundlediscount, atcbuttontextselectorv2, subscriptiondescriptiontextv2, onetimefrequencytextv2, allowfulfilmentcountviapropertiesv2, valdiateformselectorv2, monthsfrequencytextv2, months, prepaidsavebadgetextv2, selecteddiscountpercentage, managesubscriptionbuttontextv2, manage, removeclassfrompriceelementv2, yearfrequencytextv2, widgetpricechangelistenerselectorv2, atcbuttontextv2, cancel, anytime, addtoshipmenterrortextv2, weeksfrequencytextv2, weeks, weeklylabeltextv2, weekly, displayaddtoexistingsubscriptionbuttonfornotloggedinv2, addtoshipmentprocessingv2, processing, showwidgetstaticv2, deliveryeveryfrequencytextv2, subscribeandsaveinitalv2, allowrefreshoncartpagev2, prepaidlabeltextv2, prepaid, monthlylabeltextv2, displayaddtoexistingsubscriptionbuttontosubscribersonlyv2, yearsfrequencytextv2, years, addtoshipmenttooltiptextv2, avoid, double, charges, login, upcoming, weekfrequencytextv2, unsubscribefrequencytextv2, widgetvariantchangelistenerselectorv2, atcbuttontextselectorobserverv2, dayfrequencytextv2, day, showprepidperdeliveryproductpricev2, offfrequencytextv2, prepaylabeltextv2, prepay, productpageunitpriceselectorv2, shownewloyaltyui, frequencycombinedwidgettextv2, sellingplantitletextnonprepaid, sellingplanname, selectdeliveroptionv2, option, yearlylabeltextv2, yearly, appstle_subscription_widget, appstle_circle, appstle_tooltip, appstle_tooltip_border_top_color, appstle_widget_text_color, appstle_selected_background, elementcss, input, u003dradio, before, 0pxpx, customcss, 16px, black, 5px, appstle_tooltip_content, weight, normal, span, badge, customerportalcss, 2c810be3, 2090, 4b6c, 8f4f, f5235d7a887f, externalstyletag, themecss, appstlesubscriptionconfig, config, appstle_build_a_box_labels, perdeliverylabeltextv2, variantnotavailable, savediscounttext, bundlesummarytextv2, empty, summary, freeproductlabeltextv2, bundledescriptiontextv2, ultimate, delivers, exactly, promises, complete, solution, created, empower, aspect, wellbeing, immunity, gut, energy, focus, productdetails, details, failedtoaddmsgtext, than, maxproduct, reviewbundletextv2, addbuttontext, minimumquantitytocheckoutv2, buildboxerrormsgv2, invalid, reach, support, continueshopping, continue, failedtoaddtitletext, failed, spendamountgetdiscount, spend, maxiumquantitytocheckoutv2, maxium, contentsonmodaltextv2, contents, nextstepbuttontextv2, chooseplanlifestyletextv2, lifestyle, selectminimumproductbuttontext, minproduct, buyquantitygetdiscount, loyaltytablepercentagetextv2, loyaltytablepricetextv2, mydeliverytext, selectedsellingplandisplayname, removeitem, productstoproceedtext, previousstepbuttontextv2, loadmoretextv2, load, selectedfrequencylabeltext, addtocartbuttontextv2, basepriceformatfieldv2, unitprice, quantityunit, productpriceformatfield, reviewordedescriptiontextv2, check, required, quantitylabelv2, minimumorderamountlabeltextv2, minorderamount, subscriptionnotavailablebuttonv2, shoppingcart, checkoutmessage, taxes, calculated, discountpopupcheckoutmessagev2, selectedbuttontextv2, congratsmessagetext, okbtntext, tiereddiscount, tiered, chooseplanlifestyledescriptiontextv2, cutoff, amend, meals, midnight, thursday, schedule, follows, gold, mondays, brisbane, sunshine, wednesdays, ordernotelabeltextv2, note, minimumtocheckoutv2, loyaltytablefixedtextv2, editquantity, edit, chooseproductstextv2, loyaltytablefreeproducttextv2, productname, loyaltytableshippingtextv2, spenttext, quantitylabel, addbuttonv2, loyaltytablefreetrailtextv2, discounttype, trial, bundlecheckouttextv2, reviewordertextv2, gobackbuttontext, selectplantextv2, viewproduct, view, bundleonmodaltextv2, proceedtocheckoutbuttontext, pleasewaitlabeltextv2, wait, typetosearchplaceholdertextv2, selectedprogresslabeltextv2, outofstocktextv2, stock, qcdrh1, shopmoneyformatwithcurrencyformat, eur, sellingplanfrequencytext, privacy, policy, terms, service, phone, chat, help, contact, blog, links, tips, sustainable, swaps, early, access, exclusive, discounts, tory, burch, fellow, business, directions, 93001, december, 2025, holidays, april, spring, cleaning, but, june, greenest, move, yet, topia, ship, recyclable, packaging, plant, together, planting, trees, california, reforestation, like, amazon, rainforest, national, forests, forest, fire, recovery, planted, referring, special, birthday, something, point, even, frank, buying, because, small, part, keeping, plastic, environment, secondly, themselves, excellent, rachel, went, massage, which, has, turned, great, customize, included, cost, using, their, many, donna, just, they, too, craft, create, that, fits, mood, season, signature, way, over, salt, lip, balm, perfume, roller, most, loved, community, fan, today, delivered, conscious, sudscription, explore, collection, crafted, ingredients, best, sellers, account, skip, zero,
Text of the page (random words):
subscription wg removeclassfrompriceelementv2 appstle subscription wg yearfrequencytextv2 year appstle subscription wg widgetpricechangelistenerselectorv2 appstle subscription wg atcbuttontextv2 appstle subscription wg nosubscriptionlabeltextv2 no subscription appstle subscription wg cancelanytimelabeltextv2 cancel anytime appstle subscription wg addtoshipmenterrortextv2 error appstle subscription wg weeksfrequencytextv2 weeks appstle subscription wg weeklylabeltextv2 weekly appstle subscription wg displayaddtoexistingsubscriptionbuttonfornotloggedinv2 false appstle subscription wg addtoshipmentprocessingv2 processing appstle subscription wg showwidgetstaticv2 false appstle subscription wg deliveryeveryfrequencytextv2 delivery frequency appstle subscription wg subscribeandsaveinitalv2 subscribe and save appstle subscription wg allowrefreshoncartpagev2 false appstle subscription wg prepaidlabeltextv2 prepaid appstle subscription wg monthlylabeltextv2 monthly appstle subscription wg displayaddtoexistingsubscriptionbuttontosubscribersonlyv2 false appstle subscription wg yearsfrequencytextv2 years appstle subscription wg addtoshipmenttooltiptextv2 please avoid double delivery charges login to add this product to an upcoming delivery appstle subscription wg weekfrequencytextv2 week appstle subscription wg unsubscribefrequencytextv2 one time purchase appstle subscription wg widgetvariantchangelistenerselectorv2 appstle subscription wg atcbuttontextselectorobserverv2 appstle subscription wg dayfrequencytextv2 day appstle subscription wg showprepidperdeliveryproductpricev2 false appstle subscription wg offfrequencytextv2 off appstle subscription wg prepaylabeltextv2 prepay appstle subscription wg productpageunitpriceselectorv2 appstle subscription wg shownewloyaltyui false appstle subscription wg frequencycombinedwidgettextv2 frequency appstle subscription wg sellingplantitletextnonprepaid sellingplanname appstle subscription wg selectdeliveroptionv2 select delivery option appstle subscription wg yearlylabeltextv2 yearly css appstle_subscription_widget margin top margin bottom appstle_subscription_wrapper border width border color appstle_circle border color appstle_dot background color appstle_select padding top padding bottom padding left padding right border width border style border color border radius tooltip_subscription_svg fill appstle_tooltip color background color appstle_tooltip_border_top_color border top color appstle_subscription_final_price color appstle_widget_text_color color appstle_selected_background background transparent elementcss appstle_sub_widget appstle_subscription_wrapper_option div appstle_subscription_wrapper widgetsellingplanwrapper label appstle_sub_widget input type u003dradio label before border radius 0pxpx important n widget_type_2 appstle_subscription_wrapper_option border radius 0px important n appstle_dot background color 3e4f47 important appstle_subscription_wrapper_option appstle widget template widgetsellingplanwrapper label border 2px solid 89997c important customcss appstle_subscription_save r n border 1px solid 89997c r n color 3e4f47 r n r n appstle_subscription_final_price r n color 3e4f47 r n font size 16px r n r n appstle_sub_widget appstle_select r n color black important r n padding 0px 5px important r n r n appstle_subscription_widget0 appstle_tooltip_content r n background color 89997c r n border 1px solid r n r n appstle_subscription_wrapper_option appstle widget template widgetsellingplanwrapper label r n border 1px solid 89997c important r n r n r n appstle_subscription_save r n font size 14px r n font weight normal r n r n appstle_subscription_widget0 tooltip_subscription_svg r n fill 89997c r n r n widget_type_7 span appstle save badge r n background color 89997c r n customerportalcss a href 2c810be3 2090 4b6c 8f4f f5235d7a887f n border radius 2px important n externalstyletag themecss window appstlesubscription window appstlesubscription json parse json stringify rs sessionstorage appstlesubscriptionconfig json stringify rs config try window appstle_build_a_box_labels perdeliverylabeltextv2 delivery variantnotavailable not available savediscounttext discount bundlesummarytextv2 your bundle is empty please add products to your bundles to see bundle summary here freeproductlabeltextv2 free bundledescriptiontextv2 our bundle of all bundles the ultimate superfood bundle delivers exactly what it promises a complete superfood solution with 7 superfood blends each created to empower every aspect of your health and wellbeing from immunity and gut health to energy better focus productdetails product details failedtoaddmsgtext your cart can t have more than maxproduct products cart cart reviewbundletextv2 review bundle addbuttontext add minimumquantitytocheckoutv2 minimum quantity quantity to checkout buildboxerrormsgv2 build a box token is invalid please reach out to support continueshopping continue shopping failedtoaddtitletext failed to add spendamountgetdiscount spend amount get percent discount maxiumquantitytocheckoutv2 maxium quantity quantity to checkout contentsonmodaltextv2 contents nextstepbuttontextv2 next step chooseplanlifestyletextv2 choose a plan to match your lifestyle selectminimumproductbuttontext please select minproduct minimum product subtotal subtotal buyquantitygetdiscount buy quantity get percent discount loyaltytablepercentagetextv2 after billingcycle order get discount off loyaltytablepricetextv2 after billingcycle order get at price mydeliverytext my selectedsellingplandisplayname delivery removeitem remove productstoproceedtext please select products to proceed previousstepbuttontextv2 previous step loadmoretextv2 load more selectedfrequencylabeltext selected frequency addtocartbuttontextv2 add to cart basepriceformatfieldv2 unitprice quantityunit title build a box productpriceformatfield price reviewordedescriptiontextv2 check your items and select your required frequency plan quantitylabelv2 quantity minimumorderamountlabeltextv2 minimum order amount minorderamount subscriptionnotavailablebuttonv2 subscription not available shoppingcart shopping cart checkoutmessage shipping and taxes calculated at checkout discountpopupcheckoutmessagev2 discount selectedbuttontextv2 selected congratsmessagetext null okbtntext ok tiereddiscount tiered discount chooseplanlifestyledescriptiontextv2 cutoff each week to amend your meals is midnight on thursday s delivery schedule is as follows gold coast mondays brisbane sunshine coast wednesdays ordernotelabeltextv2 order note minimumtocheckoutv2 minimum quantity to checkout loyaltytablefixedtextv2 after billingcycle order get price off editquantity edit quantity chooseproductstextv2 choose products loyaltytablefreeproducttextv2 after billingcycle order get free product productname loyaltytableshippingtextv2 after billingcycle order get shipping at price spenttext null quantitylabel null addbuttonv2 add loyaltytablefreetrailtextv2 get discount discounttype free trial bundlecheckouttextv2 checkout reviewordertextv2 review order gobackbuttontext go back selectplantextv2 select plan viewproduct view product onetimepurchasetextv2 one time purchase bundleonmodaltextv2 bundle proceedtocheckoutbuttontext proceed to checkout pleasewaitlabeltextv2 please wait typetosearchplaceholdertextv2 type to search selectedprogresslabeltextv2 selected outofstocktextv2 out of stock catch e console error error parsing build a box labels e var _rsconfig _rsconfig _rsconfig shop qcdrh1 sc myshopify com _rsconfig shopmoneyformat amount_with_comma_separator _rsconfig shopmoneyformatwithcurrencyformat amount_with_comma_separator eur document queryselector body insertadjacenthtml beforeend snackbarhtml window addeventlistener message toastereventlistener false function toastereventlistener event if event data typeof event data indexof function event data indexof appstle_message_for_notification 1 var message event data split 1 showappstleloyaltytoaster message let snackbarindex 0 function showappstleloyaltytoaster msg var snackbar document getelementbyid snackbar snackbar classlist add show snackbar insertadjacenthtml beforeend msg const el snackbarindex settimeout function if document getelementbyid elem el document getelementbyid elem el remove 5000 snackbarindex const closesnackbar el document getelementbyid el remove document addeventlistener domcontentloaded const executeloyaltywidget const parsehtmlstringcontent content if typeof content string return content try const htmldecoded content replace g return json parse htmldecoded catch error console error error parsing content error return content const formatnumberbypointroundtype num if typeof num number return num const roundtype _alconfig pointroundtype no_round const rounded roundtype round_up math ceil num roundtype round_down math floor num num return number isinteger rounded rounded 1 0 rounded tofixed 0 rounded tofixed 2 const formatstorecreditamount value try const num number value const safe number isfinite num num 0 const format _alconfig shopmoneyformat const tokenmatch string format match s amount a z_ s i const token tokenmatch 1 amount tolowercase amount const decimals token includes no_decimals 0 2 let thousands decimal if token includes comma_separator thousands decimal else if token includes space_separator thousands else if token includes apostrophe_separator thousands const sign safe appstle loyalty widget close icon width 28px height 28px opacity 0 position absolute top 50 left 50 transform translate 50 50 transition opacity 0 2s appstle loyalty button bottom 24px z index 999 border radius 12px position fixed border none transition max width 1s padding 0 19px overflow hidden height 56px transform origin left max width 300px background color 89997c color ffffff appstle loyalty right right 40px appstle loyalty left left 40px appstle_loyalty_iframe width 1px min width 400px border none height 516px position fixed bottom 100px z index 1234567 box shadow 0 4px 6px 1px rgb 0 0 0 10 0 2px 4px 2px rgb 0 0 0 10 background color white border radius 12px max height calc 100vh 120px transform scale 0 important transition all 0 5s transform origin bottom left max width 80vw media screen and max width 800px appstle_loyalty_iframe left 0 height 100vh top 0 min width 100 appstle_loyalty_iframe open appstle loyalty button left 50 transform translatex 50 appstle loyalty button transition all 0 5s appstle_loyalty_iframe open transform scale 1 important appstle_loyalty_iframe open show close icon button appstle loyalty widget close icon opacity 1 appstle_loyalty_iframe open button appstle_loyalty_widget_button_wrapper color transparent appstle_loyalty_widget_button_wrapper height 100 width 100 display flex flex wrap nowrap align items center gap 10px appstle loyalty widget button text flex shrink 0 loyalty_widget_available_points display none height 100 width auto flex shrink 0 appstle_show_points loyalty_widget_available_points display flex align items center padding 0 8px margin right 14px background color 89997c color ffffff appstle_loyalty_iframe open show close icon button background color 89997c appstle_loyalty_iframe open show close icon button appstle loyalty widget button text wrapper appstle_loyalty_iframe open show close icon button loyalty_widget_available_points opacity 0 appstle_loyalty_iframe open button max width 56px loyalty widget buttonimage height 24px width 24px appstle loyalty widget button text wrapper height 100 display flex gap 4px align items center right_snackbar right 30px document queryselector body insertadjacenthtml beforeend loyaltywidgetstyles const mainhtmlstring document queryselector body insertadjacenthtml beforeend mainhtmlstring window addeventlistener message widgeteventlistener false function widgeteventlistener event if event data typeof event data indexof function event data indexof appstle_message_for_showwidget 1 else if event data typeof event data indexof function event data indexof appstle_widget_showhide 1 togglewidget else if event data typeof event data indexof function event data indexof refresh_appstle_loyalty_widget 1 _alconfig widget_setting widgettype launcher loadappstleloyaltywidget console log refresh widget else if event data typeof event data indexof function event data indexof show_appstle_loyalty_widget 1 loadappstleloyaltywidget enablewidget function removeappstleloyaltywidget document queryselector appstle loyalty button classlist add appstle loyalty hidden document queryselector appstle_loyalty_iframe classlist add appstle loyalty hidden function checkforwidgetrestrictions let isshowwidget true if _alconfig customerloyalty customerstatus excluded isshowwidget false if _alconfig customerid isshowwidget _alconfig widget_setting restrictedcustomerstag _alconfig widget_setting allowedcustomerstag if _alconfig widget_setting allowedcustomerstag length isshowwidget let allowedtags _alconfig widget_setting allowedcustomerstag split if allowedtags length 0 _alconfig customertags some tag allowedtags some allowedtag allowedtag trim tolowercase tag trim tolowercase isshowwidget false if _alconfig widget_setting restrictedcustomerstag length isshowwidget let restrictedtags _alconfig widget_setting restrictedcustomerstag split if restrictedtags length 0 _alconfig customertags some tag restrictedtags some restrictedtag restrictedtag trim tolowercase tag trim tolowercase isshowwidget false if _alconfig widget_setting blockwidgetonpages length isshowwidget let restrictedpages _alconfig widget_setting blockwidgetonpages split const currentpage window location pathname if restrictedpages length 0 if restrictedpages includes homepage currentpage isshowwidget false else if restrictedpages some page currentpage includes page isshowwidget false if _alconfig widget_setting allowwidgetonspecificpages length isshowwidget let allowedpages _alconfig widget_setting allowwidgetonspecificpages split const currentpage window location pathname if allowedpages length 0 if allowedpages includes homepage currentpage isshowwidget true else if allowedpages some page currentpage includes page isshowwidget true else isshowwidget false if _alconfig customerid _alconfig widget_setting showtologgedincustomeronly isshowwidget false window __appstle_loyalty_launcher_allowed isshowwidget if isshowwidget showappstleloyaltywidget else removeappstleloyaltywidget function enablewidget document queryselector appstle_loyalty_iframe classlist add open document queryselector appstle_loyalty_iframe classlist remove appstle loyalty hidden settimeout function document queryselector appstle_loyalty_iframe classlist toggle show close icon 900 function showappstleloyaltywidget const launcherallowed window __appstle_loyalty_launcher_allowed false document queryselector appstle_loyalty_iframe classlist remove appstle loyalty hidden const btn document queryselector appstle loyalty button if btn return if launcherallowed btn classlist remove appstle loyalty hidden else btn clas...
|