Skip to content
Search
Cart

EEFM Wedding Gallery

Grace & Zac

Grace & Zac

Grace & Zac’s wedding was a beautiful celebration of contrast, featuring two distinct floral stories that reflected the different moments...

Eliza and Hugh | East End Flower Market

Eliza and Hugh

Eliza & Hugh's December wedding at Carrick Hill embraced a timeless and understated floral aesthetic, centred around a crisp all-white...

Lisa & Dylan | East End Flower Market

Lisa & Dylan

Lisa & Dylan’s Adelaide city wedding was a vibrant celebration of colour, creativity and individuality. Showcasing an abundance of locally...

Kilah & Cam

Kilah & Cam

Kilah & Cam’s wedding embraced a modern editorial floral aesthetic, featuring a refined palette of rich burgundy, crisp whites and...

Kim & Chris | East End Flower Market

Kim & Chris

Kim & Chris’ wedding at the Adelaide Botanic Gardens was a romantic celebration inspired by the beauty of a spring...

Emma & Aaron | East End Flower Market

Emma & Aaron

Emma & Aaron’s Adelaide winery wedding embraced a beautifully natural floral aesthetic, blending soft, airy blooms with sculptural native elements,...

Carla & Tony | East End Flower Market

Carla & Tony

Carla & Tony’s Adelaide city wedding was a joyful celebration of colour, creativity and individuality. Embracing a playful, unstructured floral...

Chelsea & Todd | East End Flower Market

Chelsea & Todd

Chelsea & Todd’s wedding was a vibrant celebration of colour, personality and seasonal beauty. Featuring an abundant mix of locally...

Tash & Callum | East End Flower Market

Tash & Callum

Tash & Callum’s wedding embraced a relaxed yet refined floral aesthetic, blending soft colour-pop tones with locally grown blooms and...

Felicity & Teddy | East End Flower Market

Felicity & Teddy

Felicity & Teddy’s wedding embraced a refined editorial floral aesthetic, blending soft neutral tones with rich burgundy accents to create...

Darcy & Jake | East End Flower Market

Darcy & Jake

Darcy & Jake’s wedding was a joyful celebration of colour, seasonality and natural beauty. Featuring an abundance of locally grown...

Georgia & Alex | East End Flower Market

Georgia & Alex

Georgia & Alex’s wedding embraced a timeless floral aesthetic, pairing crisp white blooms with rich deep red accents for a...

Georgia & Dan | East End Flower Market

Georgia & Dan

Georgia & Dan’s Adelaide city wedding was a vibrant celebration of colour, creativity and modern romance. Featuring a warm, sun-drenched...

Layla & Nick | East End Flower Market

Layla & Nick

Layla & Nick’s Adelaide city wedding embraced the romance of an autumn celebration, featuring a rich seasonal palette of deep...

Emily & Bang | East End Flower Market

Emily & Bang

Emily & Bang’s wedding embraced a rich and romantic floral aesthetic, featuring a dramatic palette of deep reds, burgundy tones...

Jade and Jordan | East End Flower Market

Jade and Jordan

Jade & Jordan’s wedding embraced a romantic and timeless floral aesthetic, inspired by the softness of a modern fairy tale....

Todd & Slyvia | East End Flower Market

Todd & Slyvia

Todd & Sylvia’s wedding embraced a romantic garden-inspired floral aesthetic, blending soft colour-pop accents with rich autumnal tones. Designed to...

Stephanie & Ashley | East End Flower Market

Stephanie & Ashley

Bursting with colour, movement and seasonal beauty, this summer wedding embraced a joyful and garden-inspired floral aesthetic. Featuring vibrant dahlias,...

Simone & Sam | East End Flower Market

Simone & Sam

Inspired by the richness of autumn, this wedding embraced a warm and textural palette of peach, apricot and deep earthy...

Rachel & Richard | East End Flower Market

Rachel & Richard

This wedding embraced a timeless palette of soft white and blue blooms, creating a floral aesthetic that felt elegant, romantic...

Elli & Stuart | East End Flower Market

Elli & Stuart

This spring wedding embraced the beauty of the season through a soft and playful floral palette, blending delicate pastels with...

Claudia & Trent | East End Flower Market

Claudia & Trent

This wedding embraced the timeless beauty of an all-white floral palette, creating an atmosphere that felt refined, romantic and effortlessly...

Pat & Ella | East End Flower Market

Pat & Ella

This wedding beautifully balanced timeless elegance with a playful celebration of colour. The day began with a refined all-white floral...

Em & Cal | East End Flower Market

Em & Cal

This bridal bouquet embraced the timeless elegance of a soft white and blue palette, pairing abundant blue hydrangeas with crisp...

Alice & Ed | East End Flower Market

Alice & Ed

This wedding embraced a whimsical and romantic floral aesthetic, featuring a soft pastel palette elevated with delicate touches of periwinkle...

Isabel & Mitchell | East End Flower Market

Isabel & Mitchell

This wedding embraced a timeless white and green floral palette, featuring whimsical meadow-style plinth arrangements designed to frame the ceremony...

Grace & Jacob | East End Flower Market

Grace & Jacob

This wedding celebrated colour, individuality and joyful floral design through a collection of vibrant, garden-inspired bouquets. Featuring cascading orchids, romantic...

Louise & Cam | East End Flower Market

Louise & Cam

This wedding embraced a timeless floral palette of soft white and blush pink blooms, beautifully complemented by the natural texture...

Sarah & Michael | East End Flower Market

Sarah & Michael

This wedding ceremony embraced the timeless elegance of a crisp white and green floral palette, creating a refined setting that...

Julia & Jordan | East End Flower Market

Julia & Jordan

This wedding ceremony embraced a refined and contemporary floral aesthetic, pairing elegant orchids with cascading greenery to create a design...

Tori & Stuart | East End Flower Market

Tori & Stuart

This wedding was a bold celebration of colour, creativity and contemporary floral design. At its heart was a spectacular ombré...

Tei-El & Josh | East End Flower Market

Tei-El & Josh

This wedding embraced a playful pastel palette with a contemporary edge, blending soft seasonal tones with vibrant pops of colour...

  • $00 Product Title 3 colors
  • $00 Product Title 3 colors
  • $00 Product Title 3 colors
  • $00 Product Title 3 colors
`; document.querySelector('body').insertAdjacentHTML('beforeend', snackBarHtml); window.addEventListener('message', toasterEventListener, false); function toasterEventListener(event) { if (!isAppstleLoyaltyMessage(event)) return; if (typeof event.data === 'string' && event.data.startsWith('appstle_message_for_notification|')) { var message = event?.data?.split('|')[1]; showAppstleLoyaltyToaster(message); } } let snackBarIndex = 0; async function showAppstleLoyaltyToaster(msg) { const purifier = await window.appstleLoyaltyLoadSanitizer(); var snackBar = document.getElementById('snackbar'); snackBar.classList.add('show'); snackBar.insertAdjacentHTML('beforeend', `
`); const description = document.getElementById(`elem${snackBarIndex}`).querySelector('.description'); if (purifier) description.innerHTML = purifier.sanitize(String(msg), { ALLOWED_TAGS: ['a', 'b', 'br', 'em', 'i', 'span', 'strong'], ALLOWED_ATTR: ['href', 'title', 'class'], }); else description.textContent = String(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 = () => { window.appstleLoyaltyLauncher?.mount({ escapeAttribute: escapeLoyaltyAttribute, navigationUrl: loyaltyNavigationUrl, sanitizeTitle: title => window.appstleLoyaltyLoadSanitizer().then(p => (p ? sanitizeLoyaltyLabel(title, p, false) : null)), preparePopupWindow: win => { win.__st = window.__st; win.Shopify = { shop: location.host }; win.appstle_public_domain = location.host; } }); } const launcherScript = new Promise(resolve => { const script = document.createElement('script'); script.src = "https:\/\/cdn.shopify.com\/extensions\/01a1839d-8f78-7058-8c23-100012412a28\/appstle-loyalty-1513\/assets\/appstle-loyalty-launcher.js"; script.onload = resolve; script.onerror = resolve; document.head.appendChild(script); }); try { const versionUrl = `${location.origin}/${_ALConfig?.proxy_path_prefix || 'apps/loyalty'}/app-loyalty-version`; fetch(versionUrl) .then(res => res.json()) .then(data => { if (data) { const widgetJsUrl = new URL(_ALConfig.widgetJsPath); const widgetCssUrl = new URL(_ALConfig.widgetCssPath); widgetJsUrl.searchParams.set('v', data); widgetCssUrl.searchParams.set('v', data); _ALConfig.widgetJsPath = widgetJsUrl.toString(); _ALConfig.widgetCssPath = widgetCssUrl.toString(); } }) .catch(() => { }) .finally(() => { launcherScript.then(executeLoyaltyWidget); }); } catch (err) { launcherScript.then(executeLoyaltyWidget); } const storeCreditMismatch = _ALConfig?.customerId && _ALConfig?.customerStoreCreditBalance >= 0 && _ALConfig?.customerLoyalty?.storeCreditBalance >= 0 && _ALConfig?.customerLoyalty?.storeCreditBalance !== _ALConfig?.customerStoreCreditBalance; if (storeCreditMismatch && _ALConfig.shop === 'olineloyalty27.myshopify.com') { const updateCustomerUrl = `/${_ALConfig?.proxy_path_prefix || 'apps/loyalty'}/cp/api/update-customer`; try { fetch(updateCustomerUrl, { method: 'POST', headers: { 'X-Requested-With': 'XMLHttpRequest' } }) .then((response) => { if(response.ok) {} }) .catch(() => {}); } catch (err) {} } const dedicatedPageURL = new URL(window.location.href); const decodeUrl = (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; } }; if (dedicatedPageURL?.searchParams?.get('appstle_referral') && _ALConfig?.widget_setting?.widgetType === 'DEDICATED_PAGE') { const customUrl = decodeUrl(_ALConfig?.widget_setting?.referralCustomRedirectUrl); if (customUrl) { const normalizedCustomPath = customUrl.startsWith('/') ? customUrl : `/${customUrl}`; if (window.location.pathname !== normalizedCustomPath) { const redirectUrl = new URL(window.location.href); redirectUrl.pathname = normalizedCustomPath; window.open(redirectUrl.toString(), '_self'); } } else if (dedicatedPageURL?.searchParams?.get('appstle_referral') && _ALConfig?.widget_setting?.widgetType === 'DEDICATED_PAGE' && !window.location.href.includes(_ALConfig?.proxy_path_prefix)) { window.open(`${window.location.origin}/${_ALConfig?.proxy_path_prefix}${window.location.search}`, '_self'); } } const dedicatedPageEventListener = (event) => { if (event.origin !== window.location.origin || event.source !== window) return; if (event.data === 'refresh_appstle_loyalty_page') { initiateAppstleLoyaltyPage(); console.log('REFRESH PAGE'); } }; window.addEventListener('message', dedicatedPageEventListener, false); function initiateAppstleLoyaltyPage() { if (document.querySelector('#appstleLoyaltyPage')) { const appstleLoyaltyPageElement = document.getElementById('appstleLoyaltyPage'); while (!appstleLoyaltyPageElement.__appstleReactRoot && appstleLoyaltyPageElement.firstChild) { appstleLoyaltyPageElement.firstChild.remove(); } if (appstleLoyaltyPageElement) { const loadDedicatedPageAsset = (createAsset, attempt, onSettle) => { const asset = createAsset(); let settled = false; const settle = () => { if (settled) return; settled = true; if (typeof onSettle === 'function') { onSettle(); } }; asset.onload = settle; asset.onerror = () => { asset.remove(); if (attempt < 4) { setTimeout(() => loadDedicatedPageAsset(createAsset, attempt + 1, onSettle), 1000 * Math.pow(2, attempt - 1)); } else { settle(); } }; } const appendDedicatedPageWidgetScript = () => { loadDedicatedPageAsset(() => { const s = document.createElement('script'); s.setAttribute('src', _ALConfig?.widgetJsPath); s.async = false; document.body.appendChild(s); return s; }, 1); } const executeDedicatedPageScript = () => { let widgetScriptAppended = false; const appendWidgetScriptOnce = () => { if (widgetScriptAppended) return; widgetScriptAppended = true; appendDedicatedPageWidgetScript(); }; try { const preload = document.createElement('link'); preload.rel = 'preload'; preload.as = 'script'; preload.href = _ALConfig?.widgetJsPath; document.head.appendChild(preload); } catch (e) {} loadDedicatedPageAsset(() => { const link = document.createElement('link'); link.type = 'text/css'; link.rel = 'stylesheet'; link.href = _ALConfig?.widgetCssPath; document.head.appendChild(link); return link; }, 1, appendWidgetScriptOnce); setTimeout(appendWidgetScriptOnce, 8000); } try { const versionUrl = `${location.origin}/${_ALConfig?.proxy_path_prefix || 'apps/loyalty'}/app-loyalty-version`; fetch(versionUrl).then(res => res.json()).then(data => { if (data) { const widgetJsUrl = new URL(_ALConfig.widgetJsPath); const widgetCssUrl = new URL(_ALConfig.widgetCssPath); widgetJsUrl.searchParams.set('v', data); widgetCssUrl.searchParams.set('v', data); _ALConfig.widgetJsPath = widgetJsUrl.toString(); _ALConfig.widgetCssPath = widgetCssUrl.toString(); } }).catch(() => {}).finally(() => { executeDedicatedPageScript(); }); } catch (err) { executeDedicatedPageScript(); } } } else { setTimeout(() => { initiateAppstleLoyaltyPage(); }, 2000); } } const dedicatedPageReferralUrl = new URL(window.location.href)?.searchParams.get('appstle_referral'); if (_ALConfig?.widget_setting?.showWidget === true) { initiateAppstleLoyaltyPage(); } (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', 'X-Requested-With': 'XMLHttpRequest'}, }); if (response?.ok) { sessionStorage.setItem('syncVisitStore', 'true'); } } catch (error) { console.error('Error:', error); } } } })(); const loyaltyCustomStyles = document.createElement('style'); loyaltyCustomStyles.id = 'appstle-loyalty-custom-styles'; loyaltyCustomStyles.textContent = _ALConfig?.widget_setting?.customCss || ''; document.body.appendChild(loyaltyCustomStyles);