{"version":3,"sources":["firebase.js","Components/ScrollToTop.js","Components/Departments.js","Components/AddButton.js","images/carousel/2.2.jpg","images/carousel/two_66.jpg","images/carousel/holidaylookbook.jpg","images/carousel/mwccsp_2.jpg","images/carousel/mwccsp.jpg","Components/Home.js","Components/Subdepartment.js","Components/ProductPage.js","Components/QuantityPicker.js","images/maple_leaf.svg","Components/ShowProduct.js","Components/ShowProductLink.js","Components/BlankProductPage.js","images/mw.svg","images/cart.svg","Components/CartLogo.js","Components/Titlebar.js","Components/CartQuantityPicker.js","Components/Cart.js","Components/SearchPage.js","Components/Footer.js","Components/PrivacyPolicy.js","Components/TermsOfUse.js","images/logo_large_cropped.jpg","App.js","serviceWorker.js","index.js"],"names":["firebaseApp","firebase","initializeApp","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","auth","db","firestore","ScrollToTop","pathname","useLocation","useEffect","window","scrollTo","Departments","props","console","log","info","allProducts","products","style","display","flexFlow","justifyContent","departments","map","department","index","to","paddingTop","textDecoration","color","className","hasOwnProperty","src","departmentProps","Object","keys","thumbs","position","maxWidth","maxHeight","minHeight","alt","width","replace","AddButton","title","Home","useState","innerWidth","windowInnerWidth","setWindowInnerWidth","currentSlide","updateCurrentSlide","addEventListener","autoPlay","stopOnHover","interval","transitionTime","showArrows","showStatus","showIndicators","infiniteLoop","showThumbs","useKeyboardArrows","swipeable","dynamicHeight","emulateTouch","thumbWidth","selectedItem","swipeScrollTolerance","onChange","two","flexDirection","top","left","transform","backgroundColor","height","opacity","borderRadius","padding","logo","marginRight","fontSize","marginTop","marginBottom","alignSelf","two_66","blog","href","rel","target","logo_2","paddingLeft","paddingRight","textAlign","fontWeight","departmentTitle","toUpperCase","Subdepartment","margin","departmentQuotes","includes","values","indexOf","subdepartments","length","ProductPage","setCurrentSelection","setMotherDepartment","motherDepartment","undefined","currentProducts","product","onClick","setShowProduct","name","price","as_of_price_date","was_price","save","product_id","QuantityPicker","qty","quantity","setQuantity","setCartUpdated","decrementQuantity","incrementQuantity","ShowProduct","thumbChoice","setThumbChoice","showProduct","ReactImageMagnify","smallImage","isFluidWidth","largeImage","objectFit","imageStyle","enlargedImagePosition","thumb","boxShadow","flex","minWidth","order","event","updateCart","depth","cartUpdated","alignItems","flexWrap","borderTop","lineHeight","description","details","detail","manufacturer","maple_leaf","buy_together","item","sub","subInfo","similar_items","subdepartment","ShowProductLink","useParams","id","find","obj","BlankProductPage","type","CartLogo","getCartCount","currentCart","cartCount","forEach","parseInt","Quantity","cart","DropDownChoices","Titlebar","showDropDown","setShowDropDown","searchInput","useRef","keyPressSearchAlgorithm","setSearchValue","current","value","setSearchResults","idx","search","searchAlgorithm","toggleDropDown","mwstylefinds","onMouseOver","placeholder","ref","onKeyUp","borderBottom","marginLeft","CartQuantityPicker","setCartItem","imglink","imgLink","Cart","estimatedTotal","setEstimatedTotal","newTotal","isNaN","Price","ImageLink","Name","Length","Width","Depth","ASIN","Math","round","As_Of_Price_Date","method","action","saveCartDatabase","SearchPage","searchResults","searchValue","markInfo","result","wordsArray","matchData","metadata","word","push","markInstance","Mark","document","querySelector","unmark","done","mark","lunrProducts","Footer","scrollPosition","setScrollPosition","handleScroll","pageYOffset","passive","removeEventListener","flexGrow","required","tabIndex","Date","getFullYear","PrivacyPolicy","TermsOfUse","App","setCart","setCurrentProducts","currentSelection","setAllProducts","subDepartments","setSubDepartments","lunrIndex","setLunrIndex","setLunrProducts","shopByDepartment","floor","random","randomNumber","signInAnonymously","then","catch","error","errorCode","code","errorMessage","message","onAuthStateChanged","user","firebaseData","firebaseDepartments","productsForSearch","collection","get","querySnapshot","docs","doc","data","lunr","this","field","metadataWhitelist","i","adjusted","add","localStorage","getItem","JSON","parse","imageLink","tempCart","found","splice","setItem","stringify","sort","allProductsForSearch","path","children","now","docRef","clearCart","Child","exact","decodeURI","perColl","setPerColl","roomNames","setRoomNames","roomExpanded","setRoomExpanded","amazonCart","setAmazonCart","exists","returnArray","expansion","tempAmazonCart","call","rooms","room","items","source","mwlogo","note","amazon_cart_link","expansionClicked","link","open","itemClicked","site_stripe","image_link","Boolean","location","hostname","match","ReactDOM","render","StrictMode","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.8cd752e1.chunk.js","sourcesContent":["import firebase from 'firebase/app';\nimport 'firebase/auth';\nimport 'firebase/firestore';\n\nconst firebaseApp = firebase.initializeApp({\n apiKey: \"AIzaSyCG0C5bhC1x6sKF62YB_TrjHbCoQcKEbfg\",\n authDomain: \"mwshop-da706.firebaseapp.com\",\n databaseURL: \"https://mwshop-da706.firebaseio.com\",\n projectId: \"mwshop-da706\",\n storageBucket: \"mwshop-da706.appspot.com\",\n messagingSenderId: \"483133606607\",\n appId: \"1:483133606607:web:951a4babdfc28f2d84c5ba\",\n measurementId: \"G-ES3ELLP5G2\"\n});\n\nconst auth = firebaseApp.auth();\nconst db = firebaseApp.firestore();\n\nexport {db, auth};\n","import { useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nexport default function ScrollToTop() {\n const { pathname } = useLocation();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pathname]);\n\n return null;\n}\n","import React from 'react';\nimport { Link } from \"react-router-dom\";\n\nimport '../css/departments.css';\n\nconst Departments = (props)=>{\n console.log(props.info.allProducts.products['lighting'][0]['subdepartments']);\n const getFirstSubdepartment = (departmentProps)=>{\n console.log(departmentProps);\n return Object.keys(departmentProps)[0];\n };\n return(\n
\n {\n props.info.departments.map((department, index)=>(\n (department !== 'new arrivals') &&\n \n
\n
\n {\n (!props.info.allProducts.products[department][0].hasOwnProperty('subdepartments')) ?\n \"department\n :\n \"department\n }\n
\n
\n {department.replace('_', ' ')}\n
\n
\n \n ))\n }\n
\n );\n};\n\nexport default Departments;\n","import React from 'react';\n\nimport '../css/addbutton.css';\n\nconst AddButton = (props)=>{\n return(\n
\n {props.title}\n
\n );\n};\n\nexport default AddButton;\n","export default __webpack_public_path__ + \"static/media/2.2.601ceb27.jpg\";","export default __webpack_public_path__ + \"static/media/two_66.6952bb42.jpg\";","export default __webpack_public_path__ + \"static/media/holidaylookbook.766b07fe.jpg\";","export default __webpack_public_path__ + \"static/media/mwccsp_2.3bfa13ef.jpg\";","export default __webpack_public_path__ + \"static/media/mwccsp.0fd2ecf9.jpg\";","import React, { useState } from 'react';\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\nimport { Carousel } from 'react-responsive-carousel';\nimport { Link } from \"react-router-dom\";\n\nimport Departments from './Departments.js';\nimport AddButton from './AddButton.js';\n\nimport two from '../images/carousel/2.2.jpg';\nimport two_66 from '../images/carousel/two_66.jpg';\nimport blog from '../images/carousel/holidaylookbook.jpg';\n//import logo from '../images/carousel/logo_large_cropped.jpg';\nimport logo from '../images/carousel/mwccsp_2.jpg';\nimport logo_2 from '../images/carousel/mwccsp.jpg';\n\nimport '../css/home.css';\n\nconst Home = (props)=>{\n\n const [windowInnerWidth, setWindowInnerWidth] = useState(window.innerWidth);\n const [currentSlide, updateCurrentSlide] = useState(0);\n\n const updateWindow = ()=>{\n setWindowInnerWidth(window.innerWidth);\n };\n\n window.addEventListener('resize', updateWindow);\n\n const getConfigurableProps = () => ({\n autoPlay: true,\n stopOnHover: true,\n interval: 6000,\n transitionTime: 750,\n showArrows: true,\n showStatus: false,\n showIndicators: true,\n infiniteLoop: true,\n showThumbs: false,\n useKeyboardArrows: true,\n swipeable: true,\n dynamicHeight: false,\n emulateTouch: true,\n thumbWidth: 100,\n selectedItem: 0,\n swipeScrollTolerance: 5,\n });\n\n return(\n
\n {\n windowInnerWidth > 1200 ? //////\n updateCurrentSlide(index)}>\n
\n \"two\"\n
\n \"logo\"\n
I created this boutique site to narrow down the overwhelming selection of decor pieces to suit the style of my clients.

These are my hand picked style finds to add the final touches to your space.
\n
\n
\n
\n \"two_66\"\n
\n
Pillows, Pillows, Pillows!
\n
Texture brings room design to the next level
\n \n
\n
\n
\n \"blog\"\n
\n
Holiday Look Book
\n
Take a gander through these holiday collections for your last minute
“perfect piece”
\n \n
\n
\n
\n :\n windowInnerWidth > 650 ?\n
\n updateCurrentSlide(index)}>\n
\n \"logo_2\"/\n
\n
\n \"two_66\"\n
\n
\n \"blog\"\n
\n
\n {\n currentSlide === 0 ?\n
\n
MW STYLE FINDS
\n
I have created this boutique site to narrow down the overwhelming selection of decor pieces to suit the style of my clients.

These are my hand picked style finds to add the final touches to your space.
\n
\n :\n currentSlide === 1 ?\n
\n
Pillows, Pillows, Pillows!
\n
Texture brings room design to the next level
\n \n
\n :\n currentSlide === 2 ?\n
\n
Holiday Look Book
\n
Take a gander through these holiday collections for your last minute
“perfect piece”
\n \n
\n :\n ''\n }\n
\n :\n
\n updateCurrentSlide(index)}>\n
\n \"logo_2\"/\n
\n
\n \"two_66\"\n
\n
\n \"blog\"\n
\n
\n {\n currentSlide === 0 ?\n
\n
MW STYLE FINDS
\n
I have created this boutique site to narrow down the overwhelming selection of decor pieces to suit the style of my clients.

These are my hand picked style finds to add the final touches to your space.
\n
\n :\n currentSlide === 1 ?\n
\n
Pillows, Pillows, Pillows!
\n
Texture brings room design to the next level
\n \n
\n :\n currentSlide === 2 ?\n
\n
Holiday Look Book
\n
Take a gander through these holiday collections for your last minute “perfect piece”
\n \n
\n :\n ''\n }\n
\n }\n
\n {props.departmentTitle.toUpperCase()}\n
\n
\n \n
\n
\n );\n};\n\n/*\n\n*/\n\nexport default Home;\n","import React from 'react';\nimport { Link } from \"react-router-dom\";\n\nconst Subdepartment = (props)=>{\n console.log(props)\n return(\n
\n
{props.department.replace('_', ' ').toUpperCase()}
\n
\n {\n Object.keys(props.departmentQuotes).includes(props.department) &&\n
{Object.values(props.departmentQuotes)[Object.keys(props.departmentQuotes).indexOf(props.department)]}
\n }\n
\n
\n {\n Object.keys(props.subdepartments).map((department, index)=>(\n (department !== 'new arrivals') &&\n \n
\n
\n {\n \"department\n }\n
\n
\n {department.replace('_', ' ')}\n
\n
\n \n ))\n }\n
\n
\n )\n};\n\nexport default Subdepartment;\n","import React, { useEffect } from 'react';\nimport { Link } from \"react-router-dom\";\n\nimport '../css/productpage.css';\n\nconst ProductPage = (props)=>{\n console.log(props);\n useEffect(()=>{\n props.setCurrentSelection(props.department);\n props.setMotherDepartment(props.motherDepartment);\n console.log('----------------------' + props.department)\n });\n return(\n
\n {\n props.department !== 'new arrivals' ?\n
\n
{props.department.replace('_', ' ').toUpperCase()}
\n
\n {\n Object.keys(props.departmentQuotes).includes(props.department) &&\n
{Object.values(props.departmentQuotes)[Object.keys(props.departmentQuotes).indexOf(props.department)]}
\n }\n
\n
\n :\n NEW FINDS\n }\n\n
\n {\n props.currentProducts !== undefined &&\n props.currentProducts.map((product, index)=> (\n props.setShowProduct(product)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {product.name}\n
\n
\n CAD${product.price} as of {product.as_of_price_date}\n
\n {\n product.was_price !== \"\" &&\n
\n SAVE {product.save} was: ${product.was_price}\n
\n }\n
\n
\n \n ))\n }\n
\n
\n )\n};\n\nexport default ProductPage;\n","import React from 'react';\n\nimport '../css/quantitypicker.css';\n\nconst QuantityPicker = (props)=>{\n\n const decrementQuantity = ()=>{\n let qty = props.quantity;\n qty--;\n if(qty > 0){\n props.setQuantity(qty);\n props.setCartUpdated(false);\n }\n };\n\n const incrementQuantity = ()=>{\n let qty = props.quantity;\n qty++;\n props.setQuantity(qty);\n props.setCartUpdated(false);\n };\n\n return(\n
\n
decrementQuantity()}>-
\n
{props.quantity}
\n
incrementQuantity()}>+
\n
\n );\n};\n\nexport default QuantityPicker;\n","export default __webpack_public_path__ + \"static/media/maple_leaf.81df2571.svg\";","import React, { useState, useEffect } from 'react';\nimport ReactImageMagnify from 'react-image-magnify';\nimport { Link } from \"react-router-dom\";\n\nimport AddButton from './AddButton.js';\nimport QuantityPicker from './QuantityPicker.js';\nimport '../css/showproduct.css';\n\nimport maple_leaf from '../images/maple_leaf.svg';\n\nconst ShowProduct = (props)=>{\n console.log(props.allProducts);\n console.log(props);\n const [thumbChoice, setThumbChoice] = useState(0);\n const [quantity, setQuantity] = useState(1);\n\n useEffect(()=>{\n props.setCartUpdated(false);\n // eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n window.scrollTo(0, 0);\n setThumbChoice(0);\n setQuantity(1); //new\n props.setCartUpdated(false); /// new\n // eslint-disable-next-line\n }, [props.showProduct]);\n\n return(\n
\n {\n props.showProduct.length > 0 ?\n
\n
\n \n
\n {\n props.showProduct.thumbs.map((thumb, index)=>(\n index === thumbChoice ?\n
\n \"productsetThumbChoice(index)} />\n
\n :\n
\n \"productsetThumbChoice(index)} />\n
\n ))\n }\n
\n
\n
\n
\n
\n {props.showProduct.name}\n
\n
\n CAD${props.showProduct.price} as of {props.showProduct.as_of_price_date}\n
\n {\n props.showProduct.was_price !== \"\" &&\n
\n SAVE {props.showProduct.save} was: ${props.showProduct.was_price}\n
\n }\n
\n
\n Quantity\n
\n
\n \n
\n
\n
props.updateCart(props.showProduct.product_id, quantity, props.showProduct.thumbs[0],props.showProduct.name,props.showProduct.price,props.showProduct.as_of_price_date,props.showProduct.length,props.showProduct.width,props.showProduct.depth)}>\n \n
\n {props.cartUpdated &&\n
\n ✓ADDED\n
\n }\n
\n {props.cartUpdated &&\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n }\n
\n
\n
\n
\n
\n Description:\n
\n
\n {props.showProduct.description}\n
\n
\n Dimensions:\n
\n
\n {props.showProduct.length}\"H x {props.showProduct.width}\"W {props.showProduct.depth > 0 ? ` x ${props.showProduct.depth}\"D` : \"\"}\n
\n
\n Details:\n
\n
\n
    \n {props.showProduct.color !== \"\" ? (
  • Colour: {props.showProduct.color}
  • ) : \"\"}\n {\n props.showProduct.details.map((detail, index)=>{\n return detail !== \"\" ?\n
  • {detail}
  • \n :\n \"\"\n })\n }\n
\n
\n {\n props.showProduct.manufacturer === 'Canadian' ?\n
\n Supplied by a Canadian company\n
\n :\n ''\n }\n
\n Notes:\n
\n
\n This image is for illustrative purposes only. The colours shown are accurate within the constraints of lighting, photography and the colour accuracy of your screen.
\n As an Amazon Associate I earn from qualifying purchases.\n
\n
\n
\n
\n
\n
\n
\n Description:\n
\n
\n {props.showProduct.description}\n
\n
\n Dimensions:\n
\n
\n {props.showProduct.length}\"H x {props.showProduct.width}\"W {props.showProduct.depth > 0 ? ` x ${props.showProduct.depth}\"D` : \"\"}\n
\n
\n Details:\n
\n
\n
    \n {props.showProduct.color !== \"\" ? (
  • Colour: {props.showProduct.color}
  • ) : \"\"}\n {\n props.showProduct.details.map((detail, index)=>{\n return detail !== \"\" ?\n
  • {detail}
  • \n :\n \"\"\n })\n }\n
\n
\n {\n props.showProduct.manufacturer === 'Canadian' ?\n
\n Supplied by a Canadian company\n
\n :\n ''\n }\n
\n Notes:\n
\n
\n This image is for illustrative purposes only. The colours shown are accurate within the constraints of lighting, photography and the colour accuracy of your screen.
\n As an Amazon Associate I earn from qualifying purchases.\n
\n
\n
\n
\n :\n
\n Please return to previous page and select an item. Thank you.\n
\n }\n
\n {\n props.showProduct.length > 0 ?\n props.showProduct.buy_together[0] !== \"\" ?\n
\n
Complete the Style
\n
\n
\n
\n \"product\n
\n
\n
\n {props.showProduct.name}\n
\n
\n style matches with\n
\n
\n
\n {\n props.showProduct.buy_together.map((item, index)=>{\n return(\n props.allProducts.hasOwnProperty(item.department) ?\n props.allProducts[item.department].map((product)=>{\n if(product.hasOwnProperty('product_id')){\n if(product.product_id === item.product_id){\n return(\n props.setShowProduct(product)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {product.name}\n
\n
\n CAD${product.price} as of {product.as_of_price_date}\n
\n {\n product.was_price !== \"\" &&\n
\n SAVE {product.save} was: ${product.was_price}\n
\n }\n
\n
\n \n )\n }else{\n return null\n }\n }else if(product.hasOwnProperty('subdepartments')){\n return(\n Object.keys(product.subdepartments).map((sub)=>{\n return(\n product.subdepartments[sub].map((subInfo)=>{\n if(subInfo.product_id === item.product_id){\n return(\n props.setShowProduct(subInfo)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {subInfo.name}\n
\n
\n CAD${subInfo.price} as of {subInfo.as_of_price_date}\n
\n {\n subInfo.was_price !== \"\" &&\n
\n SAVE {subInfo.save} was: ${subInfo.was_price}\n
\n }\n
\n
\n \n )\n }else{\n return null\n }\n })\n )\n })\n )\n }else{\n return null\n }\n })\n :\n null\n )\n })\n }\n
\n
\n :\n props.showProduct.similar_items[0] !== \"\" ?\n
\n
Similar Finds
\n
\n {\n props.showProduct.similar_items.map((item, index)=>{\n return(\n props.allProducts.hasOwnProperty(item.department) ?\n props.allProducts[item.department].map((product)=>{\n if(product.hasOwnProperty('product_id')){\n if(product.product_id === item.product_id){\n return(\n props.setShowProduct(product)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {product.name}\n
\n
\n CAD${product.price} as of {product.as_of_price_date}\n
\n {\n product.was_price !== \"\" &&\n
\n SAVE {product.save} was: ${product.was_price}\n
\n }\n
\n
\n \n )\n }else{\n return null\n }\n }else if(product.hasOwnProperty('subdepartments')){\n return(\n Object.keys(product.subdepartments).map((sub)=>{\n return(\n product.subdepartments[sub].map((subInfo)=>{\n if(subInfo.product_id === item.product_id){\n return(\n props.setShowProduct(subInfo)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {subInfo.name}\n
\n
\n CAD${subInfo.price} as of {subInfo.as_of_price_date}\n
\n {\n subInfo.was_price !== \"\" &&\n
\n SAVE {subInfo.save} was: ${subInfo.was_price}\n
\n }\n
\n
\n \n )\n }else{\n return null\n }\n })\n )\n })\n )\n }else{\n return null\n }\n })\n :\n null\n )\n })\n }\n
\n
\n :\n props.allProducts[`${props.showProduct.departments[0]}`].length > 1 ?\n
\n
Within the Collection
\n
\n {\n props.allProducts[`${props.showProduct.departments[0]}`].map((product, index)=>{\n if(product.name !== props.showProduct.name && index < 4){\n console.log(product.name)\n return(\n props.setShowProduct(product)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {product.name}\n
\n
\n CAD${product.price} as of {product.as_of_price_date}\n
\n {\n product.was_price !== \"\" &&\n
\n SAVE {product.save} was: ${product.was_price}\n
\n }\n
\n
\n \n )\n }else{\n return null\n }\n })\n }\n
\n
\n :\n props.showProduct.subdepartment !== '' && props.allProducts[`${props.showProduct.departments[0]}`][0].subdepartments[props.showProduct.subdepartment].length > 1 ?\n
\n
Within the Collection
\n
\n {\n props.allProducts[`${props.showProduct.departments[0]}`][0].subdepartments[props.showProduct.subdepartment].map((product, index)=>{\n if(product.name !== props.showProduct.name && index < 4){\n console.log(product.name)\n return(\n
\n\n props.setShowProduct(product)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {product.name}\n
\n
\n CAD${product.price} as of {product.as_of_price_date}\n
\n {\n product.was_price !== \"\" &&\n
\n SAVE {product.save} was: ${product.was_price}\n
\n }\n
\n
\n \n\n
\n )\n }else{\n return null\n }\n })\n }\n
\n
\n :\n ''\n :\n ''\n }\n
\n
\n );\n};\n\nexport default ShowProduct;\n\n//
{product.name}
\n\n/* \"product */\n\n/*\n
\n

{props.department}

\n \n
\n*/\n","import React, { useState, useEffect } from 'react';\nimport ReactImageMagnify from 'react-image-magnify';\nimport { Link } from \"react-router-dom\";\n\nimport AddButton from './AddButton.js';\nimport QuantityPicker from './QuantityPicker.js';\nimport '../css/showproduct.css';\n\nimport maple_leaf from '../images/maple_leaf.svg';\n\nimport {\n useParams,\n } from \"react-router-dom\";\n \n\nconst ShowProductLink = (props)=>{\n\n let { department, id } = useParams();\n\n const [thumbChoice, setThumbChoice] = useState(0);\n const [quantity, setQuantity] = useState(1);\n\n useEffect(()=>{\n console.log(props.allProducts);\n props.setShowProduct(props.allProducts[department].find((obj)=>{ return obj['product_id'] === id}));\n \n }, [props, department, id]);\n\n return(\n
\n {\n props.showProduct?.length > 0 ?\n
\n
\n \n
\n {\n props.showProduct.thumbs.map((thumb, index)=>(\n index === thumbChoice ?\n
\n \"productsetThumbChoice(index)} />\n
\n :\n
\n \"productsetThumbChoice(index)} />\n
\n ))\n }\n
\n
\n
\n
\n
\n {props.showProduct.name}\n
\n
\n CAD${props.showProduct.price} as of {props.showProduct.as_of_price_date}\n
\n {\n props.showProduct.was_price !== \"\" &&\n
\n SAVE {props.showProduct.save} was: ${props.showProduct.was_price}\n
\n }\n
\n
\n Quantity\n
\n
\n \n
\n
\n
props.updateCart(props.showProduct.product_id, quantity, props.showProduct.thumbs[0],props.showProduct.name,props.showProduct.price,props.showProduct.as_of_price_date,props.showProduct.length,props.showProduct.width,props.showProduct.depth)}>\n \n
\n {props.cartUpdated &&\n
\n ✓ADDED\n
\n }\n
\n {props.cartUpdated &&\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n }\n
\n
\n
\n
\n
\n Description:\n
\n
\n {props.showProduct.description}\n
\n
\n Dimensions:\n
\n
\n {props.showProduct.length}\"H x {props.showProduct.width}\"W {props.showProduct.depth > 0 ? ` x ${props.showProduct.depth}\"D` : \"\"}\n
\n
\n Details:\n
\n
\n
    \n {props.showProduct.color !== \"\" ? (
  • Colour: {props.showProduct.color}
  • ) : \"\"}\n {\n props.showProduct.details.map((detail, index)=>{\n return detail !== \"\" ?\n
  • {detail}
  • \n :\n \"\"\n })\n }\n
\n
\n {\n props.showProduct.manufacturer === 'Canadian' ?\n
\n Supplied by a Canadian company\n
\n :\n ''\n }\n
\n Notes:\n
\n
\n This image is for illustrative purposes only. The colours shown are accurate within the constraints of lighting, photography and the colour accuracy of your screen.
\n As an Amazon Associate I earn from qualifying purchases.\n
\n
\n
\n
\n
\n
\n
\n Description:\n
\n
\n {props.showProduct.description}\n
\n
\n Dimensions:\n
\n
\n {props.showProduct.length}\"H x {props.showProduct.width}\"W {props.showProduct.depth > 0 ? ` x ${props.showProduct.depth}\"D` : \"\"}\n
\n
\n Details:\n
\n
\n
    \n {props.showProduct.color !== \"\" ? (
  • Colour: {props.showProduct.color}
  • ) : \"\"}\n {\n props.showProduct.details.map((detail, index)=>{\n return detail !== \"\" ?\n
  • {detail}
  • \n :\n \"\"\n })\n }\n
\n
\n {\n props.showProduct.manufacturer === 'Canadian' ?\n
\n Supplied by a Canadian company\n
\n :\n ''\n }\n
\n Notes:\n
\n
\n This image is for illustrative purposes only. The colours shown are accurate within the constraints of lighting, photography and the colour accuracy of your screen.
\n As an Amazon Associate I earn from qualifying purchases.\n
\n
\n
\n
\n :\n
\n Product is no longer on sale, please check out our other Top Finds. Thank you.\n
\n }\n
\n {\n props.showProduct?.length > 0 ?\n props.showProduct.buy_together[0] !== \"\" ?\n
\n
Complete the Style
\n
\n
\n
\n \"product\n
\n
\n
\n {props.showProduct.name}\n
\n
\n style matches with\n
\n
\n
\n {\n props.showProduct.buy_together.map((item, index)=>{\n return(\n props.allProducts.hasOwnProperty(item.department) ?\n props.allProducts[item.department].map((product)=>{\n if(product.hasOwnProperty('product_id')){\n if(product.product_id === item.product_id){\n return(\n props.setShowProduct(product)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {product.name}\n
\n
\n CAD${product.price} as of {product.as_of_price_date}\n
\n {\n product.was_price !== \"\" &&\n
\n SAVE {product.save} was: ${product.was_price}\n
\n }\n
\n
\n \n )\n }else{\n return null\n }\n }else if(product.hasOwnProperty('subdepartments')){\n return(\n Object.keys(product.subdepartments).map((sub)=>{\n return(\n product.subdepartments[sub].map((subInfo)=>{\n if(subInfo.product_id === item.product_id){\n return(\n props.setShowProduct(subInfo)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {subInfo.name}\n
\n
\n CAD${subInfo.price} as of {subInfo.as_of_price_date}\n
\n {\n subInfo.was_price !== \"\" &&\n
\n SAVE {subInfo.save} was: ${subInfo.was_price}\n
\n }\n
\n
\n \n )\n }else{\n return null\n }\n })\n )\n })\n )\n }else{\n return null\n }\n })\n :\n null\n )\n })\n }\n
\n
\n :\n props.showProduct.similar_items[0] !== \"\" ?\n
\n
Similar Finds
\n
\n {\n props.showProduct.similar_items.map((item, index)=>{\n return(\n props.allProducts.hasOwnProperty(item.department) ?\n props.allProducts[item.department].map((product)=>{\n if(product.hasOwnProperty('product_id')){\n if(product.product_id === item.product_id){\n return(\n props.setShowProduct(product)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {product.name}\n
\n
\n CAD${product.price} as of {product.as_of_price_date}\n
\n {\n product.was_price !== \"\" &&\n
\n SAVE {product.save} was: ${product.was_price}\n
\n }\n
\n
\n \n )\n }else{\n return null\n }\n }else if(product.hasOwnProperty('subdepartments')){\n return(\n Object.keys(product.subdepartments).map((sub)=>{\n return(\n product.subdepartments[sub].map((subInfo)=>{\n if(subInfo.product_id === item.product_id){\n return(\n props.setShowProduct(subInfo)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {subInfo.name}\n
\n
\n CAD${subInfo.price} as of {subInfo.as_of_price_date}\n
\n {\n subInfo.was_price !== \"\" &&\n
\n SAVE {subInfo.save} was: ${subInfo.was_price}\n
\n }\n
\n
\n \n )\n }else{\n return null\n }\n })\n )\n })\n )\n }else{\n return null\n }\n })\n :\n null\n )\n })\n }\n
\n
\n :\n props.allProducts[`${props.showProduct.departments[0]}`].length > 1 ?\n
\n
Within the Collection
\n
\n {\n props.allProducts[`${props.showProduct.departments[0]}`].map((product, index)=>{\n if(product.name !== props.showProduct.name && index < 4){\n console.log(product.name)\n return(\n props.setShowProduct(product)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {product.name}\n
\n
\n CAD${product.price} as of {product.as_of_price_date}\n
\n {\n product.was_price !== \"\" &&\n
\n SAVE {product.save} was: ${product.was_price}\n
\n }\n
\n
\n \n )\n }else{\n return null\n }\n })\n }\n
\n
\n :\n props.showProduct.subdepartment !== '' && props.allProducts[`${props.showProduct.departments[0]}`][0].subdepartments[props.showProduct.subdepartment].length > 1 ?\n
\n
Within the Collection
\n
\n {\n props.allProducts[`${props.showProduct.departments[0]}`][0].subdepartments[props.showProduct.subdepartment].map((product, index)=>{\n if(product.name !== props.showProduct.name && index < 4){\n console.log(product.name)\n return(\n
\n \n props.setShowProduct(product)} style={{paddingTop:'0px', textDecoration:'none', color:'black'}}>\n
\n
\n \"product\n
\n
\n
\n {product.name}\n
\n
\n CAD${product.price} as of {product.as_of_price_date}\n
\n {\n product.was_price !== \"\" &&\n
\n SAVE {product.save} was: ${product.was_price}\n
\n }\n
\n
\n \n \n
\n )\n }else{\n return null\n }\n })\n }\n
\n
\n :\n ''\n :\n ''\n }\n
\n
\n );\n};\n\nexport default ShowProductLink;","import React from 'react';\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\nimport Loader from \"react-loader-spinner\";\n\nconst BlankProductPage = ()=>{\n return(\n
\n
Collecting the best styles....
\n \n
\n );\n};\n//
Welcome to MW Style Finds
\nexport default BlankProductPage;\n","export default __webpack_public_path__ + \"static/media/mw.767751ad.svg\";","export default __webpack_public_path__ + \"static/media/cart.1f721ec3.svg\";","import React from 'react';\nimport { Link } from \"react-router-dom\";\n\nimport '../css/titlebar.css';\nimport cart from '../images/cart.svg';\n\nconst CartLogo = (props)=>{\n\n const getCartCount = (currentCart)=>{\n console.log(currentCart);\n let cartCount = 0;\n if(currentCart.length > 0){\n //return currentCart.reduce((acc, value) => parseInt(acc.Quantity) + parseInt(value.Quantity));\n currentCart.forEach((item)=>{\n cartCount += parseInt(item.Quantity);\n });\n return cartCount;\n }else{\n return '';\n }\n\n };\n\n return(\n
\n \"logo\"\n
{getCartCount(props.cart)}
\n
\n );\n};\n\nexport default CartLogo;\n","import React, { useState, useRef } from 'react';\nimport { Link } from \"react-router-dom\";\n//import lunr from \"lunr\";\n\nimport mwstylefinds from '../images/mw.svg';\n//import logo from '../images/logo_no circle_small.jpg';\nimport CartLogo from './CartLogo.js';\nimport '../css/titlebar.css';\n\nconst Titlebar = (props)=>{\n console.log(props);\n const [windowInnerWidth, setWindowInnerWidth] = useState(window.innerWidth);\n const [showDropDown, setShowDropDown] = useState(false);\n const searchInput = useRef('');\n\n\n ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n const keyPressSearchAlgorithm = (event)=>{\n console.log('keyPressSearch-------------------------------')\n props.setSearchValue(searchInput.current.value);\n\n if(!searchInput.current.value.includes('*') && !searchInput.current.value.includes('^') && !searchInput.current.value.includes(':') && !searchInput.current.value.includes('~') && !searchInput.current.value.includes('+') && !searchInput.current.value.includes('-')){\n props.setSearchResults(props.idx.search(searchInput.current.value));\n }\n\n }\n\n const searchAlgorithm=()=>{\n console.log('searchAlgorithm called .........................')\n props.setSearchValue(searchInput.current.value);\n\n if(!searchInput.current.value.includes('*') && !searchInput.current.value.includes('^') && !searchInput.current.value.includes(':') && !searchInput.current.value.includes('~') && !searchInput.current.value.includes('+') && !searchInput.current.value.includes('-')){\n props.setSearchResults(props.idx.search(searchInput.current.value));\n }\n\n searchInput.current.value = '';\n };\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n //
\n const updateWindow = ()=>{\n setWindowInnerWidth(window.innerWidth);\n };\n\n window.addEventListener('resize', updateWindow);\n\n const toggleDropDown=()=>{\n if(showDropDown){\n setShowDropDown(false);\n }else{\n setShowDropDown(true);\n }\n };\n return(\n
\n {\n windowInnerWidth > 1200 ? ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n
\n
\n
\"mwstylefinds\"/\n
\n \n {showDropDown &&\n
setShowDropDown(false)}>\n \n
Home
\n
\n }\n
\n
\n\n
\n \n \n \n \n
\n\n
\n Interior Styling\n Your Collection\n \n
\n
\n
\n {\n props.departments.map((department,index)=>(\n (department === 'new arrivals') &&\n new finds\n ))\n }\n {\n props.departments.map((department, index)=>{\n if(department === 'new arrivals'){\n return ''\n }else{\n return {department.replace('_', ' ')}\n }\n\n })\n }\n\n
\n
\n :\n windowInnerWidth > 650 ? ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n
\n
\n
\"mwstylefinds\"/\n
\n \n {showDropDown &&\n
setShowDropDown(false)}>\n \n Interior Styling\n Your Collection\n
Home
\n
\n }\n
\n
\n\n
\n \n \n \n \n
\n\n
\n \n
\n
\n\n
\n :\n
\n
\n
\"mwstylefinds\"/\n
\n \n {showDropDown &&\n
setShowDropDown(false)}>\n \n Interior Styling\n Your Collection\n
Home
\n
\n }\n
\n
\n
\n \n
\n
\n
\n \n \n \n \n
\n
\n }\n
\n );\n};\n\nconst DropDownChoices = (props)=> {\n console.log(props);\n return(\n
\n {\n props.info.departments.map((department,index)=>(\n (department === 'new arrivals') &&\n new finds\n ))\n }\n {\n props.info.departments.map((department, index)=>{\n if(department === 'new arrivals'){\n return ''\n }else{\n return {department.replace('_', ' ')}\n }\n\n })\n }\n
\n );\n};\n\nexport default Titlebar;\n","import React from 'react';\n\nimport '../css/cartquantitypicker.css';\n\nconst CartQuantityPicker = (props)=>{\n\n const decrementQuantity = ()=>{\n let qty = props.quantity;\n qty--;\n if(qty > 0){\n props.setCartItem(props.item, qty, props.imglink);\n //setQuantity(qty);\n //props.setCartUpdated(false);\n }\n };\n\n const incrementQuantity = ()=>{\n let qty = props.quantity;\n qty++;\n props.setCartItem(props.item, qty, props.imglink);\n //setQuantity(qty);\n //props.setCartUpdated(false);\n };\n\n const removeItem = ()=>{\n props.setCartItem(props.item, 0, props.imgLink);\n };\n\n return(\n
\n
decrementQuantity()}>-
\n
{props.quantity}
\n
incrementQuantity()}>+
\n
removeItem()}>Remove
\n
\n );\n};\n\nexport default CartQuantityPicker;\n","import React, { useState, useEffect }from 'react';\nimport { Link } from \"react-router-dom\";\n\nimport AddButton from './AddButton.js';\nimport CartQuantityPicker from './CartQuantityPicker.js';\n\nimport '../css/cart.css';\nimport '../css/addbutton.css';\n\nconst Cart = (props)=>{\n console.log(props)\n const [estimatedTotal, setEstimatedTotal] = useState(0);\n const [windowInnerWidth, setWindowInnerWidth] = useState(window.innerWidth);\n const updateWindow = ()=>{\n setWindowInnerWidth(window.innerWidth);\n };\n\n window.addEventListener('resize', updateWindow);\n\n useEffect(()=>{\n let newTotal = 0;\n props.cart.forEach((item)=>{\n if(!isNaN(item.Price)){\n newTotal += item.Price * item.Quantity;\n }\n setEstimatedTotal(newTotal);\n });\n },[props.cart]);\n\n return(\n
\n
\n YOUR COLLECTION\n {\n props.cart.length ?\n \n
CONTINUE SEARCHING
\n \n :\n ''\n }\n
\n
\n
\n {\n props.cart.length ?\n props.cart.map((item, index)=>(\n
\n
\"product
\n
\n
{item.Name}
\n
{item.Length}\"H x {item.Width}\"W {item.Depth > 0 ? ` x ${item.Depth}\"D` : \"\"}
\n\n
\n Quantity\n
\n \n
\n {windowInnerWidth > 651 ?\n
CAD${!isNaN(item.Price) ? Math.round(item.Price*item.Quantity*100)/100 : \"-\"} as of {item.As_Of_Price_Date}
\n :\n
CAD${!isNaN(item.Price) ? Math.round(item.Price*item.Quantity*100)/100 : \"-\"} as of {item.As_Of_Price_Date}
\n }\n
\n ))\n :\n
\n
\n COLLECTION IS EMPTY\n
\n \n \n \n
\n }\n
\n {\n props.cart.length ?\n
\n
\n COLLECTION SUMMARY\n
\n
\n Estimated Total CAD${Math.round(estimatedTotal*100)/100}\n
\n
\n {\n props.cart.length ?\n
\n
\n \n {\n props.cart.map((item,index) => (\n \n \n \n \n ))\n }\n \n
\n :\n
\n }\n
\n
\n Continue to Amazon to purchase your MW Style Find items.\n
\n
\n Marsha Wheeler supports buying local, with many of her finds coming from Canadian suppliers.\n
\n
\n Amazon Quotes\n
\n
\n \"30,000 Canada-based third-party sellers from all 13 provinces and territories – many of which are small and medium-sized businesses - grossed more than $1 billion on Amazon.ca in 2019, growing 40% year-over-year, and more than in $2 billion on Amazon’s stores around the world\"\n
\n
\n \"New `Support Small Storefront` on Amazon.ca spotlights SMB sellers from each region of Canada, including Women-Owned Businesses, Innovators & Handmakers, and Family-Focused Businesses\"\n
\n
\n \"Amazon Web Services (AWS) works with tens of thousands of Canadian startups, customers, and partners to launch and scale businesses that enrich their communities\"\n
\n
\n Amazon Press Release\n
\n
\n 2020 Amazon Canada SMB impact report\n
\n
\n :\n ''\n }\n
\n
\n );\n};\n\nexport default Cart;\n\n/*\n\n{\n props.cart.length ?\n \n :\n \"\"\n}\n*/\n\n/*\n
\n

Cart

\n \n {\n props.cart.length ?\n
\n \n \n {\n props.cart.map((item,index) => (\n \n \n \n \n ))\n }\n \n
\n :\n
\n }\n {\n props.cart.length ?\n {\n props.saveCartDatabase()\n }\n }>Temp Buy Button\n \n :\n
\n }\n {\n props.cart.length ?\n {\n props.clearCart()\n }\n }>Clear Cart\n \n :\n
\n }\n {console.log('current cart status in react app: ' + JSON.stringify(props.cart))}\n {console.log('current cart status in localStorage: ' + localStorage.getItem('cart'))}\n
\n*/\n","import React, { useEffect } from 'react';\nimport Mark from 'mark.js';\nimport { Link } from \"react-router-dom\";\n\nimport '../css/searchpage.css';\n\nconst SearchPage = (props)=>{\n\n/// pass products (how ever it is laid out) as props (app.js, titlebar.js (holds the searchbar), this searchpage)\n// app.js creates index from products and sets up lunr index (put into useEffect function that gets the products from firebase)\n// titlebar.js uses lunr index to search the indexed products and return the found items in order of score\n// searchpage.js aligns the search result id's from titlebar to our actual products so they can be displayed\n// https://rahmanfadhil.com/lunr/ and lunrjs.com\n\n const searchProducts = (searchResults)=>{\n console.log('searching products......................................')\n console.log(searchResults)\n return searchResults.map((item)=>{\n return props.lunrProducts.find((product)=> item.ref === product.product_id);\n });\n };\n\n useEffect(()=>{\n if(props.searchValue !== \"\"){\n let markInfo = [];\n //markInfo.push(props.searchValue);\n props.searchResults.forEach((result, index)=>{\n let wordsArray = Object.keys(result.matchData.metadata);\n if(wordsArray.length > 1){\n wordsArray.forEach((word)=>{\n if(word !== undefined){\n markInfo.push(word);\n }\n })\n }else{\n if(wordsArray[0] !== undefined){\n markInfo.push(wordsArray[0]);\n }\n }\n });\n console.log(markInfo);\n let markInstance = new Mark(document.querySelector(\"#search-node\"));\n markInstance.unmark({\n \tdone: function(){\n \t//markInstance.mark(props.searchValue);\n markInstance.mark(markInfo);\n }\n });\n }\n }); // no array - runs after each and every render, but not linked to a specific prop. Empty array runs after render but only once.\n\n return(\n
\n
\n
\n SEARCH\n
\n
\n {props.searchValue !== \"\" ? props.searchValue : 'please start typing...'}\n
\n
\n
\n
\n {\n props.searchValue !== \"\" && props.searchResults.length > 0 ?\n searchProducts(props.searchResults).map((product, index)=>(\n props.setShowProduct(product)} style={{textDecoration:'none', color:'black'}}>\n
\"product
\n
\n
{product.name}
\n
{product.length}\"H x {product.width}\"W {product.depth > 0 ? ` x ${product.depth}\"D` : \"\"}
\n
{product.description}
\n
\n
    \n {product.departments[0] !== \"\" ? (
  • Department: {product.departments[0]}
  • ) : \"\"}\n {product.color !== \"\" ? (
  • Colour: {product.color}
  • ) : \"\"}\n { product.details.map((detail, index)=>{\n return detail !== \"\" ?\n
  • {detail}
  • \n :\n \"\"\n })\n }\n
\n
\n
\n \n ))\n :\n
No results
\n }\n
\n
\n
\n );\n};\n\nexport default SearchPage\n\n/*\n
\n
\n {`Searching for.... ${props.searchValue}`}\n
\n
\n Results:\n
    \n {\n props.searchValue !== \"\" && props.searchResults.length > 0 ?\n searchProducts(props.searchResults).map((product, index)=>(\n
    \n
  1. Name: {product.name} =>
    \"product
    Description: {product.description} => Department: {product.departments.map(department=> `${department} `)}
  2. \n
      \n {\n product.details.map((detail, index2)=>(\n
    • {detail}
    • \n ))\n }\n
    \n
    \n ))\n :\n
    No results found
    \n }\n
\n
\n
\n*/\n","import React, { useState, useEffect } from 'react';\nimport { Link } from \"react-router-dom\";\n\nimport '../css/footer.css';\n\nconst Footer = (props)=>{\n const [scrollPosition, setScrollPosition] = useState(0);\n\n const handleScroll = () => {\n const position = window.pageYOffset;\n setScrollPosition(position);\n };\n\n useEffect(() => {\n window.addEventListener('scroll', handleScroll, { passive: true });\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n });\n\n\n let top = ()=>{\n window.scrollTo(0, 0);\n };\n\n return(\n
\n {\n scrollPosition > 100 ?\n
top()} className=\"top\">\n Back to Top ^\n
\n :\n ''\n }\n
\n
\n
\n
\n Stay up to date...\n
\n
\n Sign up for emails to be the first to know about our latest finds\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n DEPARTMENTS\n {\n props.departments.map((department,index)=>(\n (department === 'new arrivals') &&\n
new finds
\n ))\n }\n {\n props.departments.map((department, index)=>{\n if(department === 'new arrivals'){\n return ''\n }else{\n return
{department.replace('_', ' ')}
\n }\n\n })\n }\n
\n
\n CONTACT US\n
\n (905) 242-9398\n
\n
\n marshawheelerdesign@gmail.com\n
\n
\n Mon-Fri 9am to 6:30pm\n
\n
\n All times Eastern\n
\n
\n
\n RESOURCES\n
\n Interior Styling Services\n
\n
\n Blog\n
\n
\n Privacy Policy\n
\n
\n Terms of Use\n
\n
\n
\n FOLLOW US\n
\n
\n \n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n Our Commitment to Accessibility\n
\n We strive to make MW Style Finds experience accessible and user-friendly. If you notice any content, feature or functionality that you believe is not fully accessible to all people, please email us at marshawheelerdesign@gmail.com. Please provide a description of the specific feature you feel is not fully accessible or a suggestion for improvement.\n
\n
\n
\n
\n
\n
\n Content copyright {new Date().getFullYear()}. MARSHAWHEELERDESIGN.COM
All rights reserved.
\n
\n
\n
\n
\n )\n};\n\nexport default Footer;\n","import React from 'react';\n\nimport '../css/privacypolicy.css';\n\nconst PrivacyPolicy = ()=>{\n return (\n
\n
Privacy Policy
\n
\n Marsha Wheeler Design and MW Style Finds protects personal information and will never sell, rent or share your information in any way and under any situation without your own authorization. We are firmly committed to our customers' privacy.\n
\n
\n Cookies and IP Addresses\n
\n
\n Your IP address is used to help identify you and your collection and gather general demographic information. We use cookies to keep track of your collection and for other purposes like personalizing the site. Cookies are a small piece of information stored by your internet browser to your computer's hard drive. Your browser is usually set up to initially accept cookies. If you set your browser to reject cookies, the site will not be able to recognize your collection, or any personalization. We do not and cannot use cookies to gather your confidential information that may be stored on your hard drive. Links to Third Party Company’s display their own privacy policy’s in regards to cookies and IP Addresses for your review.\n
\n
\n Personal Information\n
\n
\n Our site uses forms for you to request information and services. We collect your contact information, which includes email addresses and phone numbers when provided by you. All collected information is used for the benefit of Marsha Wheeler Design and MW Style Finds to send information to customers about services we provide, promotional marketing material about our company and great Style Finds we see on Amazon.ca.\n
\n
\n )\n};\n\nexport default PrivacyPolicy;\n","import React from 'react';\nimport { Link } from \"react-router-dom\";\n\nimport '../css/privacypolicy.css';\n\nconst TermsOfUse = ()=>{\n return (\n
\n
Terms of Use
\n
\n This Website (this\"Site\") is owned and operated by Marsha Wheeler Design. Your use of this Site is conditioned on your acceptance of these Terms of Use (these \"Terms\"). By accessing, using or browsing this Site, you acknowledge and agree to be bound to these Terms. If you do not agree to these Terms or if you do not agree with our Privacy Policy, please do not use this Site. Any use of this Site inconsistent with these Terms is deemed unauthorized access. We reserve the right to make changes to these Terms at any time, without notice to you, by posting changes on this Site. Check back from time to time to ensure you are aware of any updates or changes to these Terms.\n
\n
\n Communications\n
\n
\n When you communicate to us through our forms, email, text message, phone call or any other means, you consent to receive communications from us. Both parties have the right to retain copies of these communications.\n
\n
\n Amazon Associate\n
\n
\n As an Amazon Associate I earn from qualifying purchases. MW Style Finds recommends products from the Amazon site, which are researched and/or used by Marsha Wheeler Design. All purchases based off of these style recommendations are between Amazon and the purchaser.\n
\n
\n Pricing\n
\n
\n Prices indicated on MW Style Finds are updated once every 24hrs and listed \"as of\" the last known price by Marsha Wheeler Design. We do not make any guarantee of the price.\n
\n
\n Intellectual Property\n
\n
\n Marsha Wheeler Design owns the rights to the title and interest in this Site, MW logo, code, the look and feel, selection and arrangement, home page carousel images, design and organization of this Site. These rights are protected by Canadian and international copyright laws.\n
\n
\n Copyright Complaint Policy\n
\n
\n Infringement Notification: If you believe in good faith that materials hosted by us infringe your copyright, please provide the written information requested below. Please provide the following information in the following order (including Paragraph Numbers):\n
    \n
  1. A clear identification of the material you claim is infringing the copyrighted work, and information that will allow us to locate that material on the Site, such as a link to the infringing material.
  2. \n
  3. Your contact information so that we can reply to your complaint, preferably including an email address and a telephone number.
  4. \n
  5. Include the following statement: \"I have a good faith belief that the material that is claimed as copyright infringement is not authorized by the copyright owner, its agent, or the law.\"
  6. \n
  7. Include the following statement: \"I swear, under penalty of perjury, that the information in the notification is accurate and I am the copyright owner, or am authorized to act on behalf of the owner, of an exclusive right that is allegedly infringed.\"
  8. \n
  9. The notice must be signed by the person authorized to act on behalf of the owner of an exclusive right that is allegedly infringed. Notices of claims of copyright infringement on this Site should be emailed to: marshawheelerdesign@gmail.com
  10. \n
\n
\n
\n )\n};\n\nexport default TermsOfUse;\n","export default __webpack_public_path__ + \"static/media/logo_large_cropped.3d551b0d.jpg\";","import React, { useState, useEffect } from 'react';\nimport { db, auth } from \"./firebase\";\nimport {\n BrowserRouter as Router,\n Switch,\n Route,\n useParams,\n} from \"react-router-dom\";\nimport lunr from \"lunr\";\n\nimport ScrollToTop from './Components/ScrollToTop.js';\nimport Home from './Components/Home.js';\nimport Subdepartment from './Components/Subdepartment.js';\nimport ProductPage from './Components/ProductPage.js';\nimport ShowProduct from './Components/ShowProduct.js';\nimport ShowProductLink from './Components/ShowProductLink.js';\nimport BlankProductPage from './Components/BlankProductPage.js';\nimport Titlebar from './Components/Titlebar.js';\nimport Cart from './Components/Cart.js';\nimport SearchPage from './Components/SearchPage.js';\nimport Footer from './Components/Footer.js';\nimport PrivacyPolicy from './Components/PrivacyPolicy.js';\nimport TermsOfUse from './Components/TermsOfUse.js';\nimport './css/App.css';\nimport mwlogo from './images/logo_large_cropped.jpg';\n\n//import data from './products.json'; // this represents fetch in useEffect (cannot use fetch to hostinger server while testing on local host CORS issue)\n\nfunction App() {\n const [cart, setCart] = useState([]);\n const [cartUpdated, setCartUpdated] = useState(false);\n const [currentProducts, setCurrentProducts] = useState([]);\n const [showProduct, setShowProduct] = useState({});\n const [currentSelection, setCurrentSelection] = useState('');\n const [allProducts, setAllProducts] = useState({});\n const [subDepartments, setSubDepartments] = useState({});\n const [motherDepartment, setMotherDepartment] = useState('');\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState([]); // write algorithm around allProducts that will populate the search results with product name, description and link to show product\n const [lunrIndex, setLunrIndex] = useState([]);\n const [lunrProducts, setLunrProducts] = useState([]);\n\n\n const [shopByDepartment] = useState(['Style by Department', 'Style by Design', 'Style For Every Room', 'Objects of Beauty', 'Dress up your space', 'Finding your Style', 'Discover Your Style',\"What I'm Crushing On\", \"What We're Loving\", 'Refresh your space', 'Take a Tour']);\n const [randomNumber] = useState(Math.floor(Math.random() * shopByDepartment.length));\n\n const [departmentQuotes] = useState({\n 'artwork': 'Artwork speaks volumes about a person. Show your style by showcasing your \"unique to you\" artwork',\n 'baskets': 'Proper storage is essential to home organization. Decorative baskets are not only functional, but they store your items in style',\n 'decor accessories': 'Accessories add that final layer of style to each room',\n 'florals & greenery': 'Add nature inspired elements into your home to evoke calmness, tranquility and peace',\n 'lighting': 'Introduce overhead and task lighting to create a certain mood for each space',\n 'area rugs': 'Liven up your room by laying a foundation and anchoring your space with area rugs',\n 'pillows': 'Add softness to your space with plush pillows',\n 'throws': 'Create a cozy corner by introducing textured throw blankets',\n 'entertaining essentials': 'Wow your guests this season with style worthy entertaining essentials',\n 'bathroom essentials': 'Add style to function on your everyday bathroom essentials',\n 'bedding': 'Create a bedroom oasis, by crawling under covers of comfort and beauty'\n });\n\n // amazon cart link\n //https://www.amazon.ca/gp/aws/cart/add.html?ASIN.1=B07JKJSJHY&Quantity.1=1&ASIN.2=B07JXF7251&Quantity.2=2\n\n // load once from server - products list\n useEffect(()=>{\n console.log('useEffect called - get products');\n //setProducts(data.products);\n\n auth.signInAnonymously().then(()=>{\n console.log('connection to database complete.');\n }).catch((error)=>{\n var errorCode = error.code;\n var errorMessage = error.message;\n console.log(`Error getting anonymous user: ${errorCode} -> ${errorMessage}`);\n });\n\n auth.onAuthStateChanged((user)=>{\n if(user){\n let firebaseData = {\"products\":{}};\n let firebaseDepartments = {};\n let productsForSearch = [];\n db.collection('website_data').get().then(querySnapshot=>{\n querySnapshot.docs.forEach((doc)=>{\n console.log(doc.id);\n console.log(doc.data());\n if(doc.id === 'products'){\n firebaseData.products = doc.data();\n console.log(firebaseData);\n setAllProducts(firebaseData);\n }\n if(doc.id === 'list_of_subs'){\n firebaseDepartments = doc.data().subDepartments;\n setSubDepartments(firebaseDepartments);\n }\n if(doc.id === 'list_for_searches'){\n productsForSearch = doc.data().productsForSearch;\n setLunrProducts(productsForSearch);\n }\n });\n }).catch((error)=>{\n console.log('Error getting products: ' + error);\n });\n \n }else{\n console.log('Lost database connection.')\n }\n });\n // would fetch from server.\n /*fetch('https://www.surfacetoairmanagement.com/marshawheelerdesign/api2/getproductlist.php?category=all')\n .then(function (response) {\n return response.json();\n })\n .then(function (data) {\n console.log(data);\n updateProducts(data.products);\n });*/\n\n }, []);\n\n useEffect(()=>{\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n // algorithm to search props.allProducts (departments, subdepartments, product names, product descriptions, and variations of search words) - using lunr\n //console.log(lunrProducts);\n setLunrIndex(lunr(function () {\n console.log('index called..................................');\n this.ref(\"product_id\");\n\n // issue fields because of arrays - needs to be build properly array to strings\n /*\n details\n */\n\n this.field(\"name\");\n this.field(\"description\");\n this.field(\"detail1\");\n this.field(\"detail2\");\n this.field(\"detail3\");\n this.field(\"detail4\");\n this.field(\"department0\");\n this.field(\"department1\");\n this.field(\"department2\");\n this.field(\"detail0\");\n this.field(\"subedepartment\");\n this.field(\"color\");\n this.field(\"brand\");\n this.field(\"manufacturer\");\n this.metadataWhitelist = ['position'];\n\n /////////////////////////////////////// create index from products\n for (let i = 0; i < lunrProducts.length; i++) {\n let adjusted = lunrProducts[i];\n adjusted.departments.forEach((department,index)=>{\n adjusted[`department${index}`] = department;\n });\n adjusted.details.forEach((detail,index)=>{\n adjusted[`detail${index}`] = detail;\n });\n //console.log(adjusted);\n this.add(adjusted);\n }\n }));\n ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n }, [lunrProducts]);\n\n useEffect(()=>{\n // set cart\n if(cart.length === 0){\n if(localStorage.getItem('cart') !== null && JSON.parse(localStorage.getItem('cart')).length > 0){\n console.log('useEffect - update cart from localStorage');\n setCart(JSON.parse(localStorage.getItem('cart')));\n JSON.parse(localStorage.getItem('cart')).forEach((item)=>{\n // set value for input - id = ASIN\n });\n }\n }\n }, [cart]);\n\n useEffect(()=>{\n if(allProducts.hasOwnProperty('products')){\n if(allProducts.products[currentSelection] !== undefined){\n setCurrentProducts(allProducts.products[currentSelection]); // main department\n }else{\n // sub department\n if(allProducts.products.hasOwnProperty(motherDepartment)){\n if(allProducts.products[motherDepartment][0].hasOwnProperty('subdepartments')){\n setCurrentProducts(allProducts.products[motherDepartment][0].subdepartments[currentSelection]);\n }\n }\n }\n }\n }, [currentSelection, motherDepartment, allProducts]);\n\n //localStorage.clear();\n const saveCartDatabase = ()=>{\n console.log('save to database');\n console.log(cart);\n db.collection('carts').add({\n 'timestamp': Date.now(),\n cart\n }).then((docRef)=>{\n console.log('Document written with id: ', docRef.id);\n }).catch((error)=>{\n console.log('Error writting document: ', error);\n });\n //cart.map((item, index)=>{\n // console.log(`ASIN: ${item.ASIN} Quantity: ${item.Quantity}`);\n //});\n };\n\n const setCartItem = (ASIN, quantity, imageLink)=>{\n let tempCart = [...cart];\n //let found = false;\n tempCart.forEach((item, index)=>{\n if(item.ASIN === ASIN){\n tempCart[index].Quantity = quantity;\n //found = true;\n setCartUpdated(true);\n if(quantity === 0){\n console.log('splice');\n tempCart.splice(index, 1);\n }\n }\n });\n setCart(tempCart);\n localStorage.setItem('cart',JSON.stringify(tempCart));\n };\n\n const updateCart = (ASIN, quantity, imageLink, name, price, as_of_price_date,length,width,depth)=>{\n let tempCart = [...cart];\n let found = false;\n tempCart.forEach((item, index)=>{\n if(item.ASIN === ASIN){\n tempCart[index].Quantity += quantity;\n found = true;\n setCartUpdated(true);\n if(quantity === \"0\"){\n console.log('splice');\n tempCart.splice(index, 1);\n }\n }\n });\n if(!found){\n tempCart.push({'ASIN': ASIN, 'Quantity': quantity, 'ImageLink': imageLink, 'Name': name, 'Price': price, 'As_Of_Price_Date': as_of_price_date, 'Length': length, 'Width': width, 'Depth': depth});\n setCartUpdated(true);\n }\n setCart(tempCart);\n localStorage.setItem('cart',JSON.stringify(tempCart));\n };\n\n const clearCart = ()=>{\n let tempCart = [...cart];\n tempCart = [];\n setCart(tempCart);\n localStorage.setItem('cart', JSON.stringify(tempCart));\n };\n return (\n \n \n
\n \n
\n \n {\n allProducts.hasOwnProperty('products') ? Object.keys(subDepartments).map((subdepartment, index)=>(\n \n \n \n ))\n :\n \n }\n {\n allProducts.hasOwnProperty('products') ? Object.keys(subDepartments).map((subdepartment, index)=>(\n subdepartment.includes('&') ?\n \n \n \n :''\n ))\n :\n \n }\n {\n allProducts.hasOwnProperty('products') ? Object.keys(allProducts.products).map((department, index)=>(\n allProducts.products[department][0].hasOwnProperty('subdepartments') ? Object.keys(allProducts.products[department][0].subdepartments).map((sub, index)=>(\n \n \n \n ))\n :''\n ))\n :\n \n }\n {\n allProducts.hasOwnProperty('products') ? Object.keys(allProducts.products).map((department, index)=>(\n \n \n \n ))\n :\n \n }\n \n }\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n
\n \n
\n
\n );\n};\n\nexport default App;\n\nfunction Child(){\n let { id } = useParams();\n console.log(decodeURI(id))\n const [perColl, setPerColl] = useState({});\n const [roomNames, setRoomNames] = useState([]);\n const [roomExpanded, setRoomExpanded] = useState([]);\n const [amazonCart, setAmazonCart] = useState([]);\n\n useEffect(()=>{\n db.collection('personalized').doc(`${id}`).get().then((doc)=>{\n console.log('database called for personalized collection');\n if(doc.exists){\n console.log(doc.data());\n setPerColl(doc.data());\n }else{\n console.log(`Doc does not exist: ${id}`);\n }\n }).catch((error)=>{\n console.log(`Error loading personalized collection: ${error}`);\n console.log(error.message);\n });\n }, [id]);\n\n useEffect(()=>{\n let returnArray = [];\n let expansion = [];\n let tempAmazonCart = [];\n if(Object.hasOwnProperty.call(perColl, 'rooms')){\n let rooms = Object.keys(perColl.rooms);\n rooms.forEach((room)=>{\n returnArray[perColl.rooms[room].position] = room;\n expansion[perColl.rooms[room].position] = false;\n perColl.rooms[room].items.forEach((item)=>{\n if(item.source === 'Amazon'){\n tempAmazonCart.push({ASIN: item.ASIN, quantity: item.quantity});\n }\n });\n\n });\n console.log(tempAmazonCart);\n setAmazonCart(tempAmazonCart);\n console.log(returnArray);\n setRoomExpanded(expansion);\n setRoomNames(returnArray);\n }else{\n console.log('no rooms specified');\n setRoomNames(returnArray);\n }\n }, [perColl]);\n\n const expansionClicked = (event, index)=>{\n let expansion = [...roomExpanded];\n expansion[index] = expansion[index] ? false : true;\n setRoomExpanded(expansion);\n };\n\n const itemClicked = (event, link)=>{\n console.log(event.target.className);\n //if(event.target.className !== 'decrement' && event.target.className !== 'increment' && event.target.className !== 'quantity'){\n console.log('item clicked: ' + link);\n //window.location.href = 'http://domain.com';\n window.open(link, '_blank');\n //}\n };\n \n return(\n
\n
\n
PERSONALIZED COLLECTION
\n
\n {id !== \"\" ? id : 'collection not found'}\n
\n
\n
\n
\n
\"product
\n
\n
Notes:
\n
{perColl.note}
\n {\n perColl.amazon_cart_link ?\n
\n
\n \n {\n amazonCart.map((item, index)=>(\n \n \n \n \n ))\n }\n
Press to select all Amazon items
\n \n
\n :\n
\n }\n
\n
\n
\n {\n Object.hasOwnProperty.call(perColl, 'rooms') ?\n roomNames.map((room, index)=>(\n
\n
\n
\n
{room}
\n
expansionClicked(event, index)}>\n {\n roomExpanded[index] ?\n
\n
+
\n
\n :\n
\n
\n
\n }\n
\n
\n {\n perColl.rooms[room].note === '' ?\n
\n :\n !roomExpanded[index] ?\n
\n
Room Notes:
\n
{perColl.rooms[room].note}
\n
\n :\n
\n }\n
\n {\n !roomExpanded[index] ?\n perColl.rooms[room].items.map((item, index)=>(\n
itemClicked(event, item.site_stripe)}>\n
\"product
\n
\n
{item.name}
\n
Item Notes:
\n {\n item.description ?\n
{item.description}
\n :\n
\n }\n {\n item.price ?\n
CAD ${item.price} each as of {item.as_of_price_date}
\n :\n
\n }\n {\n item.quantity ?\n
Recommended quantity: {item.quantity}
\n :\n
\n }\n
View on {item.source}
\n
\n
\n )) \n :\n
\n }\n
\n ))\n :\n
\n }\n
\n
\n
As an Amazon Associate I earn from qualifying purchases.
\n
\n )\n}\n\n/*\nput back in under {PerColl.note} currently line 544 near the logo section in personalizedMain css\n{\n perColl.amazon_cart_link ?\n
\n \n {\n perColl.cart.map((item,index) => (\n \n \n \n \n ))\n }\n
Press to select all Amazon items
\n \n
\n :\n
\n }\n*/\n\n/*\nused to be in perColl.hasOwnproperty('cart') - now rooms\nperColl.cart.map((item, index)=>(\n
itemClicked(event, item.site_stripe)}>\n
\"product
\n
\n
{item.name}
\n
Notes:
\n {\n item.description ?\n
{item.description}
\n :\n
\n }\n {\n item.price ?\n
CAD ${item.price} each as of {item.as_of_price_date}
\n :\n
\n }\n {\n item.quantity ?\n
Recommended quantity: {item.quantity}
\n :\n
\n }\n
View on {item.source}
\n
\n
\n ))\n\n*/\n\n/*db.collection('products').get().then(querySnapshot=>{\n querySnapshot.docs.forEach((doc)=>{\n //firebaseData.products.push({[doc.id]: doc.data()});\n //firebaseData.products[`${doc.id}`] = [];\n let keys = Object.keys(doc.data());\n keys.forEach((key)=>{\n if(doc.data()[key].display && isDateAvailable(doc.data()[key].date_available_start, doc.data()[key].date_available_end)){\n //console.log(`${doc.data()[key].departments[0]}`);\n //console.log(firebaseData2.products.hasOwnProperty(`${doc.data()[key].departments[0]}`));\n doc.data()[key].departments.forEach((department, index)=>{\n if(!firebaseData.products.hasOwnProperty(`${doc.data()[key].departments[index]}`)){\n //console.log('first if true ' + doc.data()[key].departments[index]);\n firebaseData.products[`${doc.data()[key].departments[index]}`] = [];\n////////////////////////////////////////////////////////////////////////////firebaseDepartments.push({'department': doc.data()[key].departments[index], 'subdepartments': []})\n if(doc.data()[key].hasOwnProperty('subdepartment')){\n if(doc.data()[key].subdepartment !== \"\" && doc.data()[key].departments[index] !== 'new arrivals'){\n //console.log('subdepartment----------------------- new');\n firebaseData.products[`${doc.data()[key].departments[index]}`].push({'subdepartments' : {}});\n firebaseDepartments[`${doc.data()[key].departments[index]}`] = [`${doc.data()[key].subdepartment}`];\n if(!firebaseData.products[`${doc.data()[key].departments[index]}`][0]['subdepartments'].hasOwnProperty(`${doc.data()[key].subdepartment}`)){\n firebaseData.products[`${doc.data()[key].departments[index]}`][0]['subdepartments'][`${doc.data()[key].subdepartment}`] = [];\n console.log('push 1: ' + doc.data()[key].departments[index]);\n productsForSearch.push(doc.data()[key]);\n firebaseData.products[`${doc.data()[key].departments[index]}`][0]['subdepartments'][`${doc.data()[key].subdepartment}`].push(doc.data()[key]);\n }else{\n if(Array.isArray(firebaseData.products[`${doc.data()[key].departments[index]}`][0]['subdepartments'][`${doc.data()[key].subdepartment}`])){\n console.log('push 2: ' + doc.data()[key].departments[index]);\n productsForSearch.push(doc.data()[key]);\n firebaseData.products[`${doc.data()[key].departments[index]}`][0]['subdepartments'][`${doc.data()[key].subdepartment}`].push(doc.data()[key]);\n }\n }\n }else{\n console.log('push 3: ' + doc.data()[key].departments[index]);\n if(doc.data()[key].departments[index] !== 'new arrivals'){\n productsForSearch.push(doc.data()[key]);\n }\n firebaseData.products[`${doc.data()[key].departments[index]}`].push(doc.data()[key]);\n }\n }else{\n console.log('push 4: ' + doc.data()[key].departments[index]);\n productsForSearch.push(doc.data()[key]);\n firebaseData.products[`${doc.data()[key].departments[index]}`].push(doc.data()[key]);\n }\n }else{\n //console.log('first if false ' + doc.data()[key].departments[index]);\n if(doc.data()[key].hasOwnProperty('subdepartment')){\n if(doc.data()[key].subdepartment !== \"\" && doc.data()[key].departments[index] !== 'new arrivals'){\n //console.log('subdepartment----------------------- repeat');\n firebaseDepartments[`${doc.data()[key].departments[index]}`].push(`${doc.data()[key].subdepartment}`);\n if(!firebaseData.products[`${doc.data()[key].departments[index]}`][0]['subdepartments'].hasOwnProperty(`${doc.data()[key].subdepartment}`)){\n firebaseData.products[`${doc.data()[key].departments[index]}`][0]['subdepartments'][`${doc.data()[key].subdepartment}`] = [];\n console.log('push 5: ' + doc.data()[key].departments[index]);\n productsForSearch.push(doc.data()[key]);\n firebaseData.products[`${doc.data()[key].departments[index]}`][0]['subdepartments'][`${doc.data()[key].subdepartment}`].push(doc.data()[key]);\n }else{\n if(Array.isArray(firebaseData.products[`${doc.data()[key].departments[index]}`][0]['subdepartments'][`${doc.data()[key].subdepartment}`])){\n console.log('push 6: ' + doc.data()[key].departments[index]);\n productsForSearch.push(doc.data()[key]);\n firebaseData.products[`${doc.data()[key].departments[index]}`][0]['subdepartments'][`${doc.data()[key].subdepartment}`].push(doc.data()[key]);\n }\n }\n }else{\n console.log('push 7: ' + doc.data()[key].departments[index]);\n if(doc.data()[key].departments[index] !== 'new arrivals'){\n productsForSearch.push(doc.data()[key]);\n }\n firebaseData.products[`${doc.data()[key].departments[index]}`].push(doc.data()[key]);\n }\n }else{\n console.log('push 8: ' + doc.data()[key].departments[index]);\n productsForSearch.push(doc.data()[key]);\n firebaseData.products[`${doc.data()[key].departments[index]}`].push(doc.data()[key]);\n }\n }\n });\n\n //firebaseData.products[`${doc.id}`].push(doc.data()[key]);\n }\n });\n });\n setSubDepartments(firebaseDepartments);\n console.log(Object.keys(firebaseDepartments));\n\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n setLunrProducts(productsForSearch);\n //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n \n //return firebaseData;\n }).then((fbData)=>{\n // remove departments with no products to show\n console.log(fbData);\n let keys = Object.keys(fbData.products);\n console.log(keys);\n keys.forEach((key, index) => {\n if(fbData.products[key].length === 0){\n delete fbData.products[key];\n }\n });\n\n setAllProducts(fbData);\n console.log(fbData);\n\n //return fbData;\n }).catch((error)=>{\n console.log('Error getting products: ' + error);\n });*/","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './css/index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}