One or more of the items in your cart is a recurring or deferred purchase. By continuing, I agree to the cancellation policy and authorize you to charge my payment method at the prices, frequency and dates listed on this page until my order is fulfilled or I cancel, if permitted.
Save 10% On All Subscription Orders
Cart
Item added to your cart
View cart
Featured Product
-
Acuvue 2 - 6pk
Sale
Acuvue 2 - 6pk
Comfort and freedom are what ACUVUE®2®Brand Contact Len...
Regular price $53.99 USD
$48.59 USD
Regular price
$62.99 USDSale price $53.99 USD $48.59 USDUnit price / per
Sale
-
Acuvue Oasys - 12 Pack
Sale
Acuvue Oasys - 12 Pack
ACUVUE OASYS Brand Contact Lenses with HYDRACLEAR Plus. E...
Regular price $95.99 USD
$86.39 USD
Regular price
$103.99 USDSale price $95.99 USD $86.39 USDUnit price / per
Sale
Green eyes are rare, magnetic, and unforgettable, but what if you could make them even more dazzling?
Whether your goal is to enhance the natural depth of your emerald irises or experiment with vibrant transformations, today’sgreen Colored Contact Lenses offer precision, comfort, and stunning realism like never before.
In this fresh guide, we’re spotlighting the top colored contact lenses specifically for green-eyed beauties. We’ll focus exclusively on high-performance options from Air Optix, Acuvue, and Dailies, the trusted brands available at Freshlens that are known for their color-rich selections and superior comfort. Because when your eyes are this rare, they deserve lenses that live up to the look.
Why Green Eyes Deserve a Little Extra
Green eyes make up less than 2% of the world’s population. Their natural luminosity often includes hints of amber, blue, or gray and with the right green colored contact lenses, you can:
- Add striking contrast
- Highlight natural flecks
- Play with bold tones without masking your base color
Whether you want a gentle glow-up or a high-impact change, Freshlens offers solutions that are as Comfortable Contact Lenses as they are captivating.
What Makes a Lens Work for Green Eyes?
To make green eyes truly pop, the lens needs:
- Opacity to create visible contrast
- Gradient coloring to blend with your real iris
- Hydrating technology for daily comfort
All lenses in this guide are designed with dark, light, or mixed green eyes in mind and feature modern enhancements to preserve eye moisture and prevent irritation.
Top Picks from Freshlens: Air Optix, Acuvue and Dailies
We’ve rounded up 10 spectacular lens shades from today’s leading color-enhancing brands. Here's what stands out:
1. Air Optix Colors – Gemstone Green
A fan favorite for deep green enhancement. Gemstone Green adds rich, vibrant color without looking painted on.
- Great for both light and dark green eyes
- Monthly replacement
- Smooth, breathable silicone hydrogel material
2. Air Optix Colors – Gray
Yes, gray on green eyes works. The neutral overlay creates a soft, moody finish while emphasizing natural golden flecks.
- Excellent for olive skin tones
- Doesn’t overpower green irises
3. Air Optix Colors – Sterling Gray
A cooler, steelier tone than standard gray, this one adds edge and elegance.
- Creates a smoky look
- Beautiful on green or hazel-green eyes
4. Air Optix Colors – Honey
Yes, honey-colored contact lenses for green eyes are magic. This warm tone pulls out yellow or amber flecks.
- Best for golden-green eyes
- A radiant, inviting finish
5. Air Optix Colors – Brilliant Blue
This isn’t for the faint of heart. Brilliant Blue over green creates a dramatic shift perfect for creative looks or bold fashion statements.
- Monthly lens with intense pigmentation
- Smooth transition from green to sapphire
Try all these option from our Air Optix Colors Collection
6. Acuvue Define – Natural Shine
Subtle enhancement rather than color change. This lens adds definition to the outer iris, making green eyes appear larger and more luminous.
- Best for minimalists
- Daily wear with HydraLuxe technology
- Comes with UV protection
7. Acuvue Define – Radiant Bright
With golden-bronze highlights, this lens warms up green eyes beautifully.
- Creates a soft halo effect
- Daily lens perfect for daytime wear
View our full Acuvue Contact Lens Range
8. Dailies Colors – Mystic Green
As close to an Instagram filter as you can get, with none of the editing. Mystic Green is vivid yet wearable.
- Offers full-iris coloration with gradient finish
- Daily wear and ultra-hydrating
9. Dailies Colors – Mystic Hazel
For green eyes with gold undertones, Mystic Hazel adds complexity and warmth without making the eyes look darker.
- Complements peachy or golden skin
- High moisture retention for dry eyes
10. Dailies Colors – Mystic Blue
For a subtle contrast that highlights green eyes without stealing the show, Mystic Blue creates a soft, natural-looking transformation.
- Light shimmer
- Best for everyday experimentation
Explore Dailies Color Contact Lenses
White or Yellow Fantasy Lenses
Okay, this one’s niche, but hear us out. If you’re looking for editorial, high-drama looks, white colored eye contact lenses or colored contact lenses yellow make green eyes pop by contrast.
- Ideal for costume, cosplay, or fashion shoots
- Best for short-term wear
- Use with caution and only from reputable sources
Bonus: Pair Your Lens with the Right Lighting
Even the best green colored contact lenses need the right setup:
- Natural daylight enhances subtle tones
- Warm lighting emphasizes gold and hazel flecks
- Cool lighting makes grays and blues more vivid
Tips for First-Time Users
- Start with daily lenses if you’re new to wearing contacts
- Always wash hands before handling lenses
- Try makeup that complements, not competes with, your eye color
Tips for Getting the Most from Your Colored Lenses
- Try in natural light first to see how color blends with your eye
- Match tones with your skin and hair, not just your wardrobe
- Opt for daily lenses if comfort is your top priority
Explore all available Contact Lens Color for Eyes, including shades of brown, black, white, gray, and yellow.
Final Thoughts: Let Your Green Eyes Shine
Your eye color is already a standout feature. The right lens should elevate, not overshadow, it. With expert picks from Air Optix Colors, Acuvue Define, and Dailies, you can try everything from bold blue contrasts to soft gray depth and glowing hazels.
And with options available in power contact lenses, you never have to choose between vision and style.
Shop the full Green Colored Contact Lenses collection at Freshlens.
Back to blog
Featured collection
-
Acuvue 2 - 6pk
Sale
Acuvue 2 - 6pk
Comfort and freedom are what ACUVUE®2®Brand Contact Len...
Regular price $53.99 USD
$48.59 USD
Regular price
$62.99 USDSale price $53.99 USD $48.59 USDUnit price / per
Sale
-
Acuvue Oasys - 12 Pack
Sale
Acuvue Oasys - 12 Pack
ACUVUE OASYS Brand Contact Lenses with HYDRACLEAR Plus. E...
Regular price $95.99 USD
$86.39 USD
Regular price
$103.99 USDSale price $95.99 USD $86.39 USDUnit price / per
Sale
-
Acuvue Oasys for Astigmatism 6pk
Sale
Acuvue Oasys for Astigmatism 6pk
Don’t let astigmatism hold you back from wearing truly co...
Regular price $56.99 USD
$51.29 USD
Regular price
$76.99 USDSale price $56.99 USD $51.29 USDUnit price / per
Sale
-
Biofinity 6pk
Sale
Biofinity 6pk
These soft, flexible lenses allow plenty of oxygen to pas...
Regular price $56.99 USD
$51.29 USD
Regular price
$68.99 USDSale price $56.99 USD $51.29 USDUnit price / per
Sale
-
Air Optix Aqua - DISCONTINUED (Now Air Optix plus Hydraglide)
Sold out
Air Optix Aqua - DISCONTINUED (Now Air Optix plus Hydraglide)
AIR OPTIX AQUA has been replaced by the new Air Optix pl...
Regular price $55.90 USD
Regular price
Unit price / per
Sold out
-
ACUVUE 1 Day Moist 90pk
Sale
ACUVUE 1 Day Moist 90pk
ACUVUE 1 Day Moist 90pk are an ideal choice for the lens ...
Regular price $83.99 USD
$75.59 USD
Regular price
$104.99 USDSale price $83.99 USD $75.59 USDUnit price / per
Sale
-
Acuvue Oasys - 24 Pack
Sale
Acuvue Oasys - 24 Pack
The combination of visual stability of the revolutionary ...
Regular price $148.99 USD
$134.09 USD
Regular price
$182.99 USDSale price $148.99 USD $134.09 USDUnit price / per
Sale
-
Biofinity Toric 6pk
Sale
Biofinity Toric 6pk
Thanks to the unique Aquaform® Technology, Biofinity tori...
Regular price $70.99 USD
$63.89 USD
Regular price
$78.99 USDSale price $70.99 USD $63.89 USDUnit price / per
Sale
-
1-Day Acuvue Moist - 30 Pack
Sale
1-Day Acuvue Moist - 30 Pack
1-Day Acuvue Moist contact lenses are an ideal choice for...
Regular price $49.99 USD
$44.99 USD
Regular price
$61.00 USDSale price $49.99 USD $44.99 USDUnit price / per
Sale
-
AIR OPTIX plus HydraGlyde 6pk
Sale
AIR OPTIX plus HydraGlyde 6pk
6 lenses per box
Regular price $68.99 USD
$62.09 USD
Regular price
$75.99 USDSale price $68.99 USD $62.09 USDUnit price / per
Sale
-
Air Optix Colors 6 Pk
Sale
Air Optix Colors 6 Pk
6 Lenses per Box.Unlike other color contact lenses with ...
Regular price $123.99 USD
$111.59 USD
Regular price
$143.99 USDSale price $123.99 USD $111.59 USDUnit price / per
Sale
-
Air Optix Aqua Night and Day
Sale
Air Optix Aqua Night and Day
The Air Optix Night and Day Aqua contact lenses are desig...
Regular price $112.99 USD
$101.69 USD
Regular price
$123.99 USDSale price $112.99 USD $101.69 USDUnit price / per
Sale
Related Blogs
-
Top 10 Colored Contact Lenses to Make Green Eyes Pop
Green eyes are rare, magnetic, and unforgettable, but what if you could make them even...
readmore
Top 10 Colored Contact Lenses to Make Green Eyes Pop
Green eyes are rare, magnetic, and unforgettable, but what if you could make them even...
-
Avoiding the ‘Fake Look’: Picking Colored Contacts That Work Best on Dark Eyes
It’s a common scenario: You finally order that stunning pair of Colored Contact Lenses, imagining...
readmore
Avoiding the ‘Fake Look’: Picking Colored Contacts That Work Best on Dark Eyes
It’s a common scenario: You finally order that stunning pair of Colored Contact Lenses, imagining...
-
Let's be real: Have you ever squinted through dry, blurry contact lenses at 3 p.m....
readmore
Let's be real: Have you ever squinted through dry, blurry contact lenses at 3 p.m....
1 / of 3
Frequently Asked Questions.
How do I order contact lenses?
Ordering contact lenses through Fresh Lens is a simple process:
Browse and Choose: Explore our extensive collection of contact lenses to find the perfect fit for your needs. Whether you're looking for daily, weekly, or monthly lenses, we have a wide range of options to suit your lifestyle.
Enter Your Prescription: Have your prescription details ready? Great! Enter the necessary information during the ordering process. This ensures that you receive lenses tailored to your specific vision requirements.
Add to Cart: Once you've input your prescription, add the selected contact lenses to your cart. Take your time to review your choices and ensure they align with your preferences and prescription needs.
Checkout with Ease: Ready to proceed? Head to the checkout, where you'll provide your shipping details. Our user-friendly interface makes it a breeze to complete your purchase securely. Simply follow the prompts and finalize your order by making a seamless payment.
Remember, it’s important to have a current prescription from your optometrist when ordering contact lenses. Stay safe and take care of your eyes! 👀
How fast will I get my contact lenses?
We understand how important it is to receive your contact lenses quickly and efficiently. At Fresh Lens, we offer several shipping options to ensure your order arrives as promptly as possible.
For Canadian Orders:
- Your contact lenses will be shipped via Xpresspost and typically take 3-5 business days to arrive from the date of your order. You'll receive a tracking number once your order ships, so you can follow its journey to your doorstep.
For US Orders:
- We provide three convenient shipping methods to cater to your needs:
- USPS Tracked Packet: Your lenses will arrive in 3-5 business days.
- Xpresspost USA: A faster option, with delivery in 2-3 business days.
- Next Day USA: For the quickest delivery, your lenses will arrive in 1-2 business days.
Regardless of the method you choose, we’ll email you a tracking number once your order ships. Please note that while these are average shipping times, actual delivery may vary slightly. If your prescription is not in stock, it may take an additional 2 business days to order from the manufacturer.
Choose Fresh Lens for reliable and swift delivery of your contact lenses!
How can I renew my expired prescription?
Renewing your expired prescription with Fresh Lens is quick and easy! We offer a free online tool that allows you to update your prescription in just 6 minutes (available for orders over $200).
Here’s how it works:
- Take the Test Online: All you need is your phone, computer, and 10 feet of space. The test takes about 6 minutes to complete.
- Doctor Reviews Your Results: A licensed optometrist or ophthalmologist in your region will review and approve your results.
- Use Your Results: Access your updated prescription anytime through our online portal.
Benefits:
- Convenient: Complete the test from the comfort of your home.
- Accessible: Access your prescription anywhere, anytime.
- Doctor Approved: All prescriptions are issued by licensed eye care professionals.
<Renew My Rx Online>
We’re here to help.
Real people with real answers in real time, 24/7.
+1 888-699-1963
Subscribe to our Newsletter
Fresh lens
- About
- Blog
- Free Online Vision Exam
- Rx Requirements
- Reviews
Collections
- Daily
- Weekly
- Monthly
- Color
- Solutions
Policies
- Privacy Policy
- Shipping
- Refund and Return
- Terms Of Service
- Billing
© 2025 Fresh Lens | CanadianContactLenses.com.
{{^requires_selling_plan}}{{^showSubOptionBeforeOneTime}}
{{/showSubOptionBeforeOneTime}}{{/requires_selling_plan}} {{#sellingPlanVariants}}
{{^prepaidFlag}} {{#showFormattedDiscountText}} {{{formattedDiscountText}}}{{/showFormattedDiscountText}}
{{{frequencyDescription}}}
{{/prepaidFlag}}{{#prepaidFlag}}{{#showFormattedDiscountText}} {{{formattedDiscountText}}}{{/showFormattedDiscountText}}
{{{frequencyDescription}}}
{{/prepaidFlag}}
{{/sellingPlanVariants}}{{^requires_selling_plan}}{{#showSubOptionBeforeOneTime}}
{{/showSubOptionBeforeOneTime}}{{/requires_selling_plan}}
{{#showStaticTooltip}}
{{{toolTipDescription}}}
{{/showStaticTooltip}}{{#showTooltip}}
{{{tooltipTitle}}}
{{/showTooltip}}
\\n
\\n
{{{purchaseOptionsText}}}
\\n
\\n{{^requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n
\\n \\n \\n \\n
\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n {{#sellingPlanVariants}}\\n
\\n \\n \\n{{^prepaidFlag}}\\n \\n{{#showFormattedDiscountText}}\\n {{{formattedDiscountText}}}\\n{{/showFormattedDiscountText}}\\n
{{{frequencyDescription}}}
\\n{{/prepaidFlag}}\\n{{#prepaidFlag}}\\n\\n{{#showFormattedDiscountText}}\\n {{{formattedDiscountText}}}\\n{{/showFormattedDiscountText}}\\n
{{{frequencyDescription}}}
\\n\\n{{/prepaidFlag}}\\n \\n
\\n {{/sellingPlanVariants}}\\n{{^requires_selling_plan}}\\n{{#showSubOptionBeforeOneTime}}\\n
\\n \\n \\n \\n
\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n
\\n{{#showStaticTooltip}}\\n
{{{toolTipDescription}}}
\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n\\n
\\n
\\n {{{tooltipTitle}}}\\n
\\n
\\n
\\n {{{toolTipDescription}}}\\n
\\n {{#showAppstleLink}}\\n
\\n \\n POWERED BY APPSTLE \\n
\\n {{/showAppstleLink}}\\n
\\n{{/showTooltip}}\\n
\\n
\\n
\\n{% endraw %}\",\"WIDGET_TYPE_7\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_2\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_3\":\"{% raw %}
\\n
\\n
{{{purchaseOptionsText}}}
\\n
\\n{{#showSubOptionBeforeOneTime}}\\n {{#sellingPlanVariants}}\\n
\\n \\n {{^prepaidFlag}}\\n \\n {{/prepaidFlag}}\\n {{#prepaidFlag}}\\n \\n {{/prepaidFlag}}\\n \\n
\\n {{/sellingPlanVariants}}\\n{{/showSubOptionBeforeOneTime}}\\n {{^requires_selling_plan}}\\n
\\n \\n \\n \\n
\\n {{/requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n {{#sellingPlanVariants}}\\n
\\n \\n {{^prepaidFlag}}\\n \\n {{/prepaidFlag}}\\n {{#prepaidFlag}}\\n \\n {{/prepaidFlag}}\\n \\n
\\n {{/sellingPlanVariants}}\\n{{/showSubOptionBeforeOneTime}}\\n
\\n{{#showStaticTooltip}}\\n
{{{toolTipDescription}}}
\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n
\\n
\\n {{{tooltipTitle}}}\\n
\\n
\\n
\\n {{{toolTipDescription}}}\\n
\\n {{#showAppstleLink}}\\n
\\n \\n POWERED BY APPSTLE\\n \\n
\\n{{/showAppstleLink}}\\n
\\n{{/showTooltip}}\\n
\\n
{% endraw %}\",\"WIDGET_TYPE_4\":\"{% raw %}
\\n
\\n
{{{purchaseOptionsText}}}
\\n
\\n{{^requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n
\\n \\n \\n
\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n {{#sellingPlanVariants}}\\n
\\n {{{formattedDiscountText}}}\\n \\n{{^prepaidFlag}}\\n \\n{{/prepaidFlag}}\\n{{#prepaidFlag}}\\n\\n{{/prepaidFlag}}\\n
\\n {{/sellingPlanVariants}}\\n{{^requires_selling_plan}}\\n{{#showSubOptionBeforeOneTime}}\\n
\\n \\n \\n
\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n
\\n{{#showStaticTooltip}}\\n
{{{toolTipDescription}}}
\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n
\\n
\\n {{{tooltipTitle}}}\\n
\\n
\\n
\\n {{{toolTipDescription}}}\\n
\\n{{#showAppstleLink}}\\n
\\n \\n POWERED BY APPSTLE\\n \\n
\\n{{/showAppstleLink}}\\n
\\n{{/showTooltip}}\\n
\\n
{% endraw %}\",\"WIDGET_TYPE_5\":\"{% raw %}
\\n
\\n
{{{purchaseOptionsText}}}
\\n
\\n{{^showSubOptionBeforeOneTime}}\\n{{^requires_selling_plan}}\\n
\\n \\n \\n \\n
\\n{{/requires_selling_plan}}\\n{{/showSubOptionBeforeOneTime}}\\n {{#sellingPlanVariants}}\\n
\\n \\n \\n \\n
\\n {{/sellingPlanVariants}}\\n{{#showSubOptionBeforeOneTime}}\\n{{^requires_selling_plan}}\\n
\\n \\n \\n \\n
\\n{{/requires_selling_plan}}\\n{{/showSubOptionBeforeOneTime}}\\n
\\n{{#showStaticTooltip}}\\n
{{{toolTipDescription}}}
\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n
\\n
\\n {{{tooltipTitle}}}\\n
\\n
\\n
\\n {{{toolTipDescription}}}\\n
\\n {{#showAppstleLink}}\\n
\\n \\n POWERED BY APPSTLE\\n \\n
\\n {{/showAppstleLink}}\\n
\\n{{/showTooltip}}\\n
\\n
{% endraw %}\"}", "bundle": {}, "labels": `{\"appstle.subscription.wg.noSubscriptionLabelTextV2\":\"No Subscription\",\"appstle.subscription.wg.cancelAnytimeLabelTextV2\":\"\",\"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.deliveryEveryFrequencyTextV2\":\"Delivery Every\",\"appstle.subscription.wg.subscribeAndSaveInitalV2\":\"Subscribe & save\",\"appstle.subscription.wg.allowRefreshOnCartPageV2\":\"false\",\"appstle.subscription.wg.prepaidLabelTextV2\":\"Prepaid\",\"appstle.subscription.wg.daysFrequencyTextV2\":\"Days\",\"appstle.subscription.wg.monthlyLabelTextV2\":\"Save 10% on every order\",\"appstle.subscription.wg.subscribeAndSaveSuccessV2\":\"Subscribe success\",\"appstle.subscription.wg.addToShipmentSuccessTextV2\":\"Success\",\"appstle.subscription.wg.monthFrequencyTextV2\":\"Month\",\"appstle.subscription.wg.addToShipmentButtonTextV2\":\"Add to Shipment\",\"appstle.subscription.wg.displayAddToExistingSubscriptionButtonToSubscribersOnlyV2\":\"false\",\"appstle.subscription.wg.yearsFrequencyTextV2\":\"Years\",\"appstle.subscription.wg.onetimeDescriptionTextV2\":\"\",\"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.oneTimePurchaseTextV2\":\"One Time Purchase\",\"appstle.subscription.wg.loyaltyPerkDescriptionTextV2\":\"{{#isDiscountTypeFreeProduct}}
<\/img><\/div>
After {{{billingCycleBlock}}} orders, get a FREE {{freeProductName}} <\/span><\/div> {{\/isDiscountTypeFreeProduct}}{{#isDiscountTypePercentage}}After {{{billingCycleBlock}}}<\/span> order<\/span>, get {{{discount}}}% OFF your entire order<\/span><\/span>.{{\/isDiscountTypePercentage}}{{#isDiscountTypeShipping}}After {{{billingCycleBlock}}}<\/span> order<\/span>, get shipping at {{{formatDiscountedPrice}}}<\/span><\/span>.{{\/isDiscountTypeShipping}}{{#isDiscountTypeFixed}}After {{{billingCycleBlock}}}<\/span> order<\/span>, get {{{formatDiscountedPrice}}} OFF your entire order<\/span><\/span>.{{\/isDiscountTypeFixed}}\",\"appstle.subscription.wg.unsubscribeFrequencyTextV2\":\"unsubscribe\",\"appstle.subscription.wg.oneTimeFrequencyTextV2\":\"\",\"appstle.subscription.wg.dayFrequencyTextV2\":\"day\",\"appstle.subscription.wg.allowFulfilmentCountViaPropertiesV2\":\"false\",\"appstle.subscription.wg.monthsFrequencyTextV2\":\"Months\",\"appstle.subscription.wg.manageSubscriptionButtonTextV2\":\"Manage Subscription\",\"appstle.subscription.wg.offFrequencyTextV2\":\"Off\",\"appstle.subscription.wg.yearFrequencyTextV2\":\"Year\",\"appstle.subscription.wg.prepayLabelTextV2\":\"Prepay\",\"appstle.subscription.wg.sellingPlanTitleTextNonPrepaid\":\"{{sellingPlanName}}\",\"appstle.subscription.wg.selectDeliverOptionV2\":\"select deliver 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_tooltip_content {background-color: #ffffff !important;} #appstle_subscription_widget0 [data-appstle-icon]:after {border-top-color: #ffffff !important;}\"]", "customCSS": ".widgetSellingPlanWrapper input:checked+label span {\ncolor: #A1D461!important;\n}", "customerPortalCss": "", "externalStyleTag": "", "themeCss": "", } }; window.AppstleSubscription = window.AppstleSubscription || JSON.parse(JSON.stringify(RS)); sessionStorage['appstleSubscriptionConfig'] = JSON.stringify(RS.Config); var _RSConfig = _RSConfig || {}; _RSConfig.shop = 'fresh-lens.myshopify.com'; _RSConfig.shopMoneyFormat = '<span class='money conversion-bear-money'>${{amount}} </span>'; _RSConfig.shopMoneyFormatWithCurrencyFormat = '<span class='money conversion-bear-money'>${{amount}} USD</span>'; } ${msg}
' + '
' + '
' + '' + 'body' + '>' + ''; function toggleWidget() { loadAppstleLoyaltyWidget(); if (_ALConfig?.widget_setting?.widgetType?.toUpperCase() === 'LAUNCHER' && _ALConfig?.widget_setting?.forceRedirectDedicatedPage === true) { window.open(`/${_ALConfig?.proxy_path_prefix}`); } else { document.querySelector('#appstle_loyalty_iframe')?.classList?.toggle('open'); showAppstleLoyaltyWidget(); setTimeout(function() { document.querySelector('#appstle_loyalty_iframe')?.classList?.toggle('show-close-icon'); }, 900); } } const loadAppstleLoyaltyWidget = () => { var iframe = document.querySelectorAll('#appstle_loyalty_iframe'); iframe.forEach(function(item) { item.contentWindow._ALConfig = _ALConfig; item.contentWindow.document.open('text/html', 'replace'); item.contentWindow.document.write(alIframeSrc); item.contentWindow.document.close(); }); }; if (_ALConfig?.customerLoyalty && _ALConfig?.customerLoyalty?.availablePoints) { document.querySelector('#appstle-loyalty-button')?.classList?.add('appstle_show_points'); document.querySelector('.loyalty_widget_available_points').innerHTML = _ALConfig?.customerLoyalty?.availablePoints?.toLocaleString(); } if (_ALConfig?.widget_setting?.showTierName && _ALConfig?.customerLoyalty && _ALConfig?.customerLoyalty?.currentVipTier) { document.querySelector('.loyalty_widget_available_points').innerHTML = _ALConfig?.customerLoyalty?.currentVipTier?.toLocaleString(); } function handleDeepLink() { const loyaltyDeepLinks = [ '#appstle-loyalty', '#appstle-refer', '#appstle-loyalty-earn-rewards', '#appstle-loyalty-redeem-rewards', '#appstle-loyalty-referrals', '#appstle-loyalty-vip-program' ]; if (!_ALConfig?.widget_setting?.showWidget || !loyaltyDeepLinks.some(hash => location?.hash?.includes(hash))) { return; } loadAppstleLoyaltyWidget(); enableWidget(); setTimeout(() => { document.querySelector('#appstle_loyalty_iframe')?.classList?.add('show-close-icon'); }, 900); } handleDeepLink(); const widgetReferralUrl = new URL(window.location.href); if (_ALConfig?.referralEnabled && widgetReferralUrl?.searchParams.get('appstle_referral') && _ALConfig?.widget_setting?.widgetType === 'LAUNCHER') { let redirectURL = _ALConfig?.widget_setting?.referralRedirectUrl + window.location.search; if (redirectURL && !window.location.pathname.includes(_ALConfig.widget_setting.referralRedirectUrl)) { window.open(redirectURL, '_self'); } setTimeout(() => { loadAppstleLoyaltyWidget(); enableWidget(); }, 200); } (function observeURLChanges() { let lastUrl = location.href; const handleUrlChange = () => { if (location.href !== lastUrl) { handleDeepLink(); lastUrl = location.href; } }; new MutationObserver(handleUrlChange).observe(document.body, { subtree: true, childList: true }); window.addEventListener('popstate', handleUrlChange); window.addEventListener('hashchange', handleUrlChange); })(); const alDOMObserver = new MutationObserver(function(mutations_list) { mutations_list.forEach(function(mutation) { mutation.addedNodes.forEach(function(added_node) { if (added_node.id == 'appstle_loyalty_iframe') { var iframe = document.querySelectorAll('#appstle_loyalty_iframe'); iframe.forEach(function(item) { item.contentWindow._ALConfig = _ALConfig; item.contentWindow.document.open('text/html', 'replace'); item.contentWindow.document.write(alIframeSrc); item.contentWindow.document.close(); }); alDOMObserver.disconnect(); } }); }); }); alDOMObserver.observe(document.querySelector('body'), { subtree: true, childList: true });
const dedicatedPageURL = new URL(window.location.href); if (dedicatedPageURL?.searchParams?.get('appstle_referral') && _ALConfig?.widget_setting?.widgetType === 'DEDICATED_PAGE' && !window.location.href.includes(_ALConfig?.proxy_path_prefix)) { window.open(`/${_ALConfig?.proxy_path_prefix}${window.location.search}`, '_self'); } const dedicatedPageEventListener = (event) => { if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('refresh_appstle_loyalty_page') !== -1) { initiateAppstleLoyaltyPage() console.log("REFRESH PAGE"); } } window.addEventListener('message', dedicatedPageEventListener, false); function initiateAppstleLoyaltyPage() { if (document.querySelector('#appstleLoyaltyPage')) { const appstleLoyaltyPageElement = document.getElementById('appstleLoyaltyPage'); while (appstleLoyaltyPageElement.firstChild) { appstleLoyaltyPageElement.firstChild.remove(); } var s = document.createElement('script'); s.setAttribute('src', "https://loyalty-admin.appstle.com/app/loyalty-widget.bundle.js?v=1742394438536"); s.setAttribute('defer', 'defer'); document.body.appendChild(s); var head = document.head; var link = document.createElement('link'); link.type = 'text/css'; link.rel = 'stylesheet'; link.href = "https://loyalty-admin.appstle.com/content/loyalty-widget.css?v=1742394438536"; head.appendChild(link); } else { setTimeout(() => { initiateAppstleLoyaltyPage(); }, 2000); } } const dedicatedPageReferralUrl = new URL(window.location.href)?.searchParams.get('appstle_referral'); const checkDedicatedPageForRestrictions = () => { const { widget_setting, customerTags, customerLoyalty, customerId } = _ALConfig || {}; const { allowedCustomersTag, restrictedCustomersTag } = widget_setting || {}; const { customerStatus } = customerLoyalty || {}; if (customerStatus === 'EXCLUDED') { return false; } if (!dedicatedPageReferralUrl && !customerId) { return !(allowedCustomersTag || restrictedCustomersTag); } if (allowedCustomersTag?.length) { const allowedTags = allowedCustomersTag.split(','); if (!allowedTags.some(tag => customerTags?.some((customerTag) => customerTag?.trim()?.toLowerCase() === tag?.trim()?.toLowerCase()))) { return false; } } if (restrictedCustomersTag?.length) { const restrictedTags = restrictedCustomersTag.split(','); if (restrictedTags.some(tag => customerTags?.some((customerTag) => customerTag?.trim()?.toLowerCase() === tag?.trim()?.toLowerCase()))) { return false; } } return true; }; if (_ALConfig?.widget_setting?.showWidget === true && checkDedicatedPageForRestrictions()) { initiateAppstleLoyaltyPage(); }
function initiateAppstleLoyaltyPageV2() { const container = document.getElementById('appstleLoyaltyPageV2'); if (container) { container.textContent = ''; const script = document.createElement('script'); script.src = "https://loyalty-admin.appstle.com/app/loyalty-widget.bundle.js?v=1742394438536"; script.defer = true; document.body.appendChild(script); const link = document.createElement('link'); link.rel = 'stylesheet'; link.href = "https://loyalty-admin.appstle.com/content/loyalty-widget.css?v=1742394438536"; document.head.appendChild(link); } else { const retry = () => initiateAppstleLoyaltyPageV2(); window.requestIdleCallback ? requestIdleCallback(retry, { timeout: 2000 }) : setTimeout(retry, 2000); } } document.addEventListener('DOMContentLoaded', () => { if (window._ALConfig?.widget_setting?.showWidget === true) { initiateAppstleLoyaltyPageV2(); } });
(async function() { const isAvailableVisitShop = _ALConfig?.pointEarnRules?.length > 0 && _ALConfig?.pointEarnRules?.find((rule) => rule?.type === 'VISIT_SHOP' && rule?.status === 'ACTIVE'); if (_ALConfig?.customerId && isAvailableVisitShop) { if (!sessionStorage.getItem('syncVisitStore') && ((_ALConfig?.customerId && isAvailableVisitShop && isAvailableVisitShop?.id) || (_ALConfig?.referralEnabled && _ALConfig?.referralLoyalty?.referralType === 'VISIT_SHOP'))) { try { const response = await fetch(`/${_ALConfig?.proxy_path_prefix || 'apps/loyalty'}/cp/api/customer-visit-store`, { method: 'POST', headers: {'Content-Type': 'application/json'}, }); if (response?.ok) { sessionStorage.setItem('syncVisitStore', 'true'); } } catch (error) { console.error('Error:', error); } } } })();
const loyaltyCustomStyles = `
`; document.querySelector('body').insertAdjacentHTML('beforeend', loyaltyCustomStyles);