{"version":3,"file":"js/app.444c8021.js","mappings":"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","sources":["webpack://vue-first-app/./src/Pages/Home/HomePage.vue","webpack://vue-first-app/./src/components/PromoList/PromoList.vue","webpack://vue-first-app/./src/jsonMixin.js","webpack://vue-first-app/./src/components/PromoList/PromoItem.vue","webpack://vue-first-app/./src/components/PromoList/PromoItem.vue?c81b","webpack://vue-first-app/./src/components/PromoList/PromoList.vue?75f7","webpack://vue-first-app/./src/Pages/HowItWorks/HowitworksSteps.vue","webpack://vue-first-app/./src/Pages/HowItWorks/HowitworksSteps.vue?0bfc","webpack://vue-first-app/./src/Pages/Home/VideoPlayer.vue","webpack://vue-first-app/./src/Pages/Home/VideoPlayer.vue?1e94","webpack://vue-first-app/./src/Pages/Home/HomePage.vue?925e","webpack://vue-first-app/./src/Pages/Faq/FaqList.vue","webpack://vue-first-app/./src/Pages/Faq/FaqItem.vue","webpack://vue-first-app/./src/Pages/Faq/FaqItem.vue?98e4","webpack://vue-first-app/./src/Pages/Faq/FaqList.vue?237b","webpack://vue-first-app/./src/Pages/PromoDetail.vue","webpack://vue-first-app/./src/Pages/PromoDetail.vue?6df1","webpack://vue-first-app/./src/Pages/PromoRedeem.vue","webpack://vue-first-app/./src/components/UI/PageLoader.vue","webpack://vue-first-app/./src/components/UI/PageLoader.vue?d8e6","webpack://vue-first-app/./src/Pages/PromoRedeem.vue?de91","webpack://vue-first-app/./src/Pages/PromoLSLV.vue","webpack://vue-first-app/./src/components/PromoList/PromoListLSLV.vue","webpack://vue-first-app/./src/components/PromoList/PromoItemLSLV.vue","webpack://vue-first-app/./src/components/PromoList/PromoItemLSLV.vue?e2ab","webpack://vue-first-app/./src/components/PromoList/PromoListLSLV.vue?e401","webpack://vue-first-app/./src/Pages/PromoLSLV.vue?0ff0","webpack://vue-first-app/./src/router.js","webpack://vue-first-app/./src/App.vue","webpack://vue-first-app/./src/components/Layout/TheNavigation.vue","webpack://vue-first-app/./src/components/Layout/TheNavigation.vue?865d","webpack://vue-first-app/./src/components/Layout/TheFooter.vue","webpack://vue-first-app/./src/components/Layout/TheFooter.vue?59c2","webpack://vue-first-app/./src/App.vue?7ccd","webpack://vue-first-app/./src/main.js","webpack://vue-first-app/webpack/bootstrap","webpack://vue-first-app/webpack/runtime/chunk loaded","webpack://vue-first-app/webpack/runtime/compat get default export","webpack://vue-first-app/webpack/runtime/define property getters","webpack://vue-first-app/webpack/runtime/global","webpack://vue-first-app/webpack/runtime/hasOwnProperty shorthand","webpack://vue-first-app/webpack/runtime/make namespace object","webpack://vue-first-app/webpack/runtime/jsonp chunk loading","webpack://vue-first-app/webpack/startup"],"sourcesContent":["<template>\r\n <div class=\"bg-blue-top-curve-desktop\"></div> \r\n <div class=\"bg-blue\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12 mb-5\">\r\n <h1 class=\"text-uppercase text-center text-pg-blue fw-900 \">\r\n <p class=\"text-center\">\r\n Welcome to<br />\r\n P&G Local Values<span class=\"text-pg-green\">.</span>\r\n </p>\r\n </h1>\r\n <p class=\"text-center fw-bold text-pg-blue\">\r\n P&G Local Values is your destination for earning more when you\r\n <br />shop trusted P&G brands at your local grocer. Find store\r\n <br />promotions in your area, upload your receipt and earn.\r\n </p>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mobile-curve\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\"></div>\r\n <h2 class=\"mb-3 h2 fw-bold text-pg-blue text-center \">\r\n Shop<span class=\"\">.</span> Redeem<span class=\"\">.</span>\r\n Earn<span class=\"\">.</span>\r\n </h2>\r\n </div> </div> \r\n <HowitworksSteps></HowitworksSteps>\r\n </div>\r\n <div class=\"container\">\r\n <div class=\"row\"><h2 class=\"mb-2 mt-5 h2 fw-bold text-pg-blue text-center \">\r\n Available Promotions\r\n </h2>\r\n </div>\r\n </div>\r\n <PromoList></PromoList>\r\n <!-- <div class=\"container\">\r\n <div class=\"col-sm-12 mb-5\">\r\n <small>**Use your Prepaid Mastercard anywhere Mastercard is accepted around the world. The Card is issued by The Bancorp Bank, Member FDIC, pursuant to a license from Mastercard International Incorporated. Mastercard is a registered trademark, and the circles design is a trademark of Mastercard International Incorporated.<br><br>\r\n **Virtual Visa Prepaid Card is issued by Pathward<sup>®</sup>, N.A., Member FDIC, pursuant to a license from Visa U.S.A. Inc. No cash access or recurring payments. Can be used everywhere Visa debit cards are accepted online, or phone/mail orders. Valid for up to 6 months; unused funds will forfeit after the valid thru date. Terms and conditions apply.\r\n </small>\r\n </div>\r\n </div> -->\r\n <div class=\"video-wrap mt-5 pb-5\" id=\"htp\">\r\n <div class=\"container\">\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-md-6\"> \r\n <VideoPlayer videoSrc=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/How-To-Submit-Final.mp4#t=0.001\" />\r\n <p class=\"text-center\">Click Here to learn how to submit.</p>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n\r\n </div>\r\n</template>\r\n<script>\r\nimport PromoList from '../../components/PromoList/PromoList.vue';\r\nimport HowitworksSteps from '../HowItWorks/HowitworksSteps.vue';\r\nimport VideoPlayer from './VideoPlayer.vue';\r\n\r\nexport default {\r\n title: 'Foo Page',\r\n components: {\r\n PromoList,\r\n HowitworksSteps,\r\n VideoPlayer,\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>\r\n","<template>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <PromoItem\r\n v-for=\"promo in filteredPromotions\"\r\n :key=\"promo.id\"\r\n :id=\"promo.id\"\r\n :promoname=\"promo.name\"\r\n :promoimg=\"promo.img\"\r\n :promodesc=\"promo.desc\"\r\n :promoId=\"promo.promoId\"\r\n :promostartdate=\"promo.startdate\"\r\n :promoenddate=\"promo.enddate\"\r\n :promoIsActive=\"promo.isActive\"\r\n @viewDetails=\"goToDetails(promo.id)\"\r\n ></PromoItem>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\nimport jsonMixin from '../../jsonMixin'\r\nimport PromoItem from './PromoItem.vue';\r\n\r\nexport default {\r\n components: { PromoItem },\r\n mixins: [jsonMixin],\r\n computed: {\r\n filteredPromotions() {\r\n return this.promotions.filter(promo => promo.category !== 'LSLV'); \r\n // Adjust `category` to match your actual JSON field that identifies LSLV promotions.\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n\r\n<style scoped></style>\r\n","export default {\r\n data() {\r\n return { promotions: [] };\r\n },\r\n methods: {\r\n async getJsonData() {\r\n try {\r\n const response = await fetch('/Campaigns.json');\r\n if (!response.ok) {\r\n throw new Error(`HTTP error! Status: ${response.status}`);\r\n }\r\n const data = await response.json();\r\n this.promotions = data.promotions;\r\n console.log('Fetched promotions:', this.promotions);\r\n this.updateSelectedPromotion();\r\n } catch (error) {\r\n console.error('Unable to fetch data:', error);\r\n }\r\n },\r\n updateSelectedPromotion() {\r\n if (this.id) {\r\n this.selectedpromotion = this.promotions.find(promo => promo.id === this.id);\r\n console.log('Selected promotion:', this.selectedpromotion);\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.getJsonData();\r\n },\r\n};\r\n","<template>\r\n <div class=\"campaigndiv col-sm-6\" v-if=\"promoIsActive == 1\">\r\n <div class=\"text-center campaignbox\">\r\n <img\r\n :src=\"promoimg\"\r\n class=\"img-fluid rounded-circle\"\r\n alt=\"Banner\"\r\n />\r\n <h4 class=\"fw-bold text-pg-blue mb-3\">\r\n {{ promoname }}\r\n </h4>\r\n <p class=\"promodesc\" v-html=\"promodesc\"></p>\r\n <!-- <p>{{ formattedStartDate }} - {{ formattedEndDate }}</p> -->\r\n <div v-if=\"!ProgramMessage\">\r\n <router-link\r\n class=\"btn-link\"\r\n :to=\"id === 'LSLV' ? { name: 'PromoLSLV' } : { name: 'Promotions', params: { id: id } }\"\r\n>\r\n PROMO DETAILS\r\n </router-link>\r\n <br />\r\n <!-- <router-link\r\n class=\"mt-2 d-inline-block\"\r\n :to=\"{ name: 'Promotion Redeem', params: { id: id } }\"\r\n >\r\n Redeem\r\n </router-link> -->\r\n </div>\r\n <small>\r\n <b>{{ ProgramMessage }}</b>\r\n </small>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n props: {\r\n id: { type: String, required: true },\r\n promoname: { type: String, required: true },\r\n promoimg: { type: String, required: true },\r\n promodesc: { type: String, required: true },\r\n promoId: { type: String, required: true },\r\n promostartdate: { type: String, required: true },\r\n promoenddate: { type: String, required: true },\r\n promoIsActive: { type: String, required: true },\r\n },\r\n data() {\r\n return {\r\n ProgramMessage: '',\r\n };\r\n },\r\n computed: {\r\n formattedStartDate() {\r\n try {\r\n const usTimezoneOptions = { timeZone: 'America/New_York' };\r\n const date = new Date(this.promostartdate);\r\n if (isNaN(date)) {\r\n throw new Error('Invalid date format');\r\n }\r\n return date.toLocaleDateString('en-US', usTimezoneOptions);\r\n } catch (error) {\r\n console.error('Start date error:', error);\r\n return 'Invalid start date';\r\n }\r\n },\r\n formattedEndDate() {\r\n try {\r\n const usTimezoneOptions = { timeZone: 'America/New_York' };\r\n const date = new Date(this.promoenddate);\r\n if (isNaN(date)) {\r\n throw new Error('Invalid date format');\r\n }\r\n return date.toLocaleDateString('en-US', usTimezoneOptions);\r\n } catch (error) {\r\n console.error('End date error:', error);\r\n return 'Invalid end date';\r\n }\r\n },\r\n },\r\n methods: {\r\n filterCampaigns() {\r\n try {\r\n const usTimezoneOptions = { timeZone: 'America/New_York' };\r\n\r\n const currentDate = new Date().toLocaleDateString('en-US', usTimezoneOptions);\r\n const promoStartDate = new Date(this.promostartdate).toLocaleDateString('en-US', usTimezoneOptions);\r\n const promoEndDate = new Date(this.promoenddate).toLocaleDateString('en-US', usTimezoneOptions);\r\n\r\n if (isNaN(new Date(currentDate)) || isNaN(new Date(promoStartDate)) || isNaN(new Date(promoEndDate))) {\r\n throw new Error('Invalid date format');\r\n }\r\n\r\n if (new Date(currentDate) < new Date(promoStartDate)) {\r\n this.ProgramMessage =\r\n 'We’re sorry, but this program hasn’t started yet. Please check back on ' +\r\n promoStartDate;\r\n } else if (new Date(currentDate) > new Date(promoEndDate)) {\r\n this.ProgramMessage = 'We’re sorry, but this program has ended.';\r\n }\r\n } catch (error) {\r\n console.error('Date error:', error);\r\n this.ProgramMessage = 'An error occurred while processing the program dates. Please try again later.';\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.filterCampaigns();\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.campaigndiv {\r\n margin: 0 auto;\r\n}\r\n\r\n.campaignbox {\r\n margin: 20px;\r\n text-align: center;\r\n padding: 30px;\r\n}\r\n\r\n.campaignbox img {\r\n max-width: 160px;\r\n height: 160px;\r\n margin: 0 auto;\r\n margin-bottom: 20px;\r\n border: 5px solid #16a2dd;\r\n}\r\n.promodesc{min-height: 70px;}\r\n@media screen and (max-width: 575px) {\r\n .campaignbox {\r\n width: 93%;\r\n padding: 20px;\r\n }\r\n}\r\n</style>\r\n","import { render } from \"./PromoItem.vue?vue&type=template&id=6b33eb69&scoped=true\"\nimport script from \"./PromoItem.vue?vue&type=script&lang=js\"\nexport * from \"./PromoItem.vue?vue&type=script&lang=js\"\n\nimport \"./PromoItem.vue?vue&type=style&index=0&id=6b33eb69&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6b33eb69\"]])\n\nexport default __exports__","import { render } from \"./PromoList.vue?vue&type=template&id=c6f96c42\"\nimport script from \"./PromoList.vue?vue&type=script&lang=js\"\nexport * from \"./PromoList.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4 text-center\">\r\n <div class=\"htwstep\">\r\n <img\r\n src=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/step1.png\"\r\n alt=\"shop\"\r\n class=\"img-fluid\"\r\n />\r\n <h3 class=\"fw-bold text-pg-blue mb-3 h5\">Shop participating P&G\r\nproducts on your next\r\ngrocery trip.</h3>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 text-center\">\r\n <div class=\"htwstep\">\r\n <img\r\n src=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/step2.png\"\r\n alt=\"upload\"\r\n class=\"img-fluid\"\r\n />\r\n <h3 class=\"fw-bold text-pg-blue mb-3 h5\">Return here & upload\r\n your receipt.</h3>\r\n \r\n </div>\r\n </div>\r\n <div class=\"col-md-4 text-center\">\r\n <div class=\"htwstep\">\r\n <img\r\n src=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/step3.png\"\r\n alt=\"send\"\r\n class=\"img-fluid\"\r\n />\r\n <h3 class=\"fw-bold text-pg-blue mb-3 h5\">Sit back, relax and get\r\n a reward!</h3>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'HowitworksSteps',\r\n};\r\n</script>\r\n\r\n","import { render } from \"./HowitworksSteps.vue?vue&type=template&id=2c3f6b7a\"\nimport script from \"./HowitworksSteps.vue?vue&type=script&lang=js\"\nexport * from \"./HowitworksSteps.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\r\n <div class=\"video-container\">\r\n <video controls width=\"320\" height=\"240\" poster=\"/public/assets/images/videothumbnail.png\">\r\n <source :src=\"videoSrc\" type=\"video/mp4\" />\r\n Your browser does not support the video tag.\r\n </video>\r\n </div>\r\n </template>\r\n \r\n <script>\r\n export default {\r\n name: \"VideoPlayer\",\r\n props: {\r\n videoSrc: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n };\r\n </script>\r\n \r\n <style scoped>\r\n .video-container {\r\n max-width: 100%;\r\n height: auto;\r\n }\r\n video {\r\n width: 100%;\r\n height: auto;\r\n }\r\n </style>\r\n ","import { render } from \"./VideoPlayer.vue?vue&type=template&id=d8b5738c&scoped=true\"\nimport script from \"./VideoPlayer.vue?vue&type=script&lang=js\"\nexport * from \"./VideoPlayer.vue?vue&type=script&lang=js\"\n\nimport \"./VideoPlayer.vue?vue&type=style&index=0&id=d8b5738c&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d8b5738c\"]])\n\nexport default __exports__","import { render } from \"./HomePage.vue?vue&type=template&id=eb90bcb8\"\nimport script from \"./HomePage.vue?vue&type=script&lang=js\"\nexport * from \"./HomePage.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\r\n <div class=\"bg-blue-top-curve-desktop\"></div>\r\n <div class=\"bg-blue\">\r\n <div class=\"mobile-curve\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <h1 class=\"text-center text-pg-blue fw-bold\"> \r\n How It Works\r\n </h1>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-4 text-center\">\r\n <div class=\"htwstep\">\r\n <img\r\n src=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/step1.png\"\r\n alt=\"shop\"\r\n class=\"img-fluid\"\r\n />\r\n <h3 class=\"fw-bold text-pg-blue mb-3 h5\">Shop P&G products</h3>\r\n <p>\r\n Buy participating P&G <br> products from a <br>local retailer in-store or online.\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 text-center\">\r\n <div class=\"htwstep\">\r\n <img\r\n src=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/step2.png\"\r\n alt=\"upload\"\r\n class=\"img-fluid\"\r\n />\r\n <h3 class=\"fw-bold text-pg-blue mb-3 h5\">Upload your receipt</h3>\r\n <p>Return to P&G Local Values<br> to find your participating promotion<br> and upload your receipt by<br>\r\nfollowing the redemption <br>process.</p>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 text-center\">\r\n <div class=\"htwstep\">\r\n <img\r\n src=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/step3.png\"\r\n alt=\"send\"\r\n class=\"img-fluid\"\r\n />\r\n <h3 class=\"fw-bold text-pg-blue mb-3 h5\">Get a reward</h3>\r\n <p>If your receipt passess<br>\r\nvalidation, you will receive the<br>\r\nparticipating program reward,<br>\r\nall just for shopping your<br>\r\nfavourite household items!</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <hr class=\"bgline\">\r\n </div>\r\n </div>\r\n </div>\r\n <FaqItem></FaqItem>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <h5 class=\"fw-bold text-pg-blue mb-3 text-center mb-5 helpemail\">Got a question we didn't answer? <br>Email <a href=\"mailto:help@pglocalvalues.com\">help@pglocalvalues.com</a></h5>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n</template>\r\n\r\n<script>\r\n\r\nimport FaqItem from './FaqItem.vue';\r\nexport default {\r\n components: {\r\n FaqItem,\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n\r\n.helpemail a{color: #003da6; text-decoration: none;}\r\n.helpemail a:hover{color: #003da6; text-decoration: underline;}\r\n@media screen and (max-width: 767px) {\r\n .bgline{display: none;}\r\n}\r\n</style>\r\n","<template>\r\n <div class=\"container\">\r\n <div class=\"row faqs mx-auto py-5\">\r\n <div class=\"col-md-12\">\r\n <h1 class=\"text-center text-pg-blue fw-bold mb-5\">\r\n Frequently Asked Questions\r\n </h1>\r\n </div>\r\n <div class=\"faqwrapper\">\r\n <!-- <div class=\"faqdiv mb-4\">\r\n <h6 class=\"pb-2 fw-bold\">\r\n Can I shop anywhere P&G products are found?\r\n </h6>\r\n <div class=\"copy \">\r\n <p>\r\n P&G Local Values promotions only apply to participating\r\nstores. <a href=\"/\">Verify a grocery store in your area</a> and then shop the\r\nparticipating products to successfully redeem your reward.\r\n </p>\r\n </div>\r\n </div> -->\r\n <div class=\"faqdiv mb-4\">\r\n <h6 class=\"pb-2 fw-bold\">\r\n How will I get my reward?\r\n </h6>\r\n <div class=\"copy\">\r\n <p>\r\n If found to be valid, you will receive either a digital gift card or physical gift card within 6-8 weeks when the program ends. The reward type will be determined by the store of purchase.\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"faqdiv mb-4\">\r\n <h6 class=\"pb-2 fw-bold\">\r\n Can I participate in more than one promotion?\r\n </h6>\r\n <div class=\"copy\">\r\n <p>\r\n You can participate in multiple promotions as long as you\r\nhave a unique qualifying receipt for each promotion. Each\r\npurchase receipt is eligible for one promotion submission\r\nonly. Review individual promotion terms and conditions for\r\nmore information.\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"faqdiv mb-4\">\r\n <h6 class=\"pb-2 fw-bold\">\r\n Do I have to upload a picture of my receipt to redeem\r\nmy reward?\r\n </h6>\r\n <div class=\"copy\">\r\n <p>\r\n To submit online you will need to upload a picture of your receipt.\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"faqdiv mb-4\">\r\n <h6 class=\"pb-2 fw-bold\">I do most of my shopping online. Are online\r\n purchases valid?</h6>\r\n <div class=\"copy\">\r\n <p>\r\n Yes! Online purchase receipts are valid as long as the\r\npurchase is made at one of the promotion's participating\r\ngrocery stores.\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"faqdiv mb-4\">\r\n <h6 class=\"pb-2 fw-bold\"> I don’t see any participating groceries in my area. Now what?\r\n Now what?</h6>\r\n <div class=\"copy\">\r\n <p>\r\n It's possible that there aren't any grocery stores in your area participating in one of our promotions at this time. Promotions are added throughout the year, so bookmark this page and check back later.\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"faqdiv mb-4\">\r\n <h6 class=\"pb-2 fw-bold\">\r\n Can I enter a promotion multiple times?\r\n </h6>\r\n <div class=\"copy\">\r\n <p>\r\n Not at this time. P&G Local Values programs only accept\r\none qualifying receipt per person, per promotion.\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"faqdiv mb-4 d-none\">\r\n <h6 class=\"pb-2 fw-bold\">\r\n I don't see any live promotions in my area. Now what?\r\n </h6>\r\n <div class=\"copy\">\r\n <p>\r\n It's possible that there aren't any grocery stores in your area\r\n participating in one of our promotions at this time. Promotions are\r\n added throughout the year, so bookmark this page and check back\r\n later.\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'FaqItem',\r\n // inject: ['faqs'],\r\n};\r\n</script>\r\n\r\n<style scoped>\r\nul {\r\n list-style: none;\r\n margin: 2rem auto;\r\n padding: 0;\r\n}\r\nli {\r\n margin: 1rem 0;\r\n border: 1px solid #ccc;\r\n padding: 1rem;\r\n}\r\n\r\nh3 {\r\n margin: 0.5rem 0;\r\n}\r\n.faqs .copy p {\r\n font-size: 1rem;\r\n}\r\n</style>\r\n","import { render } from \"./FaqItem.vue?vue&type=template&id=12e4aa26&scoped=true\"\nimport script from \"./FaqItem.vue?vue&type=script&lang=js\"\nexport * from \"./FaqItem.vue?vue&type=script&lang=js\"\n\nimport \"./FaqItem.vue?vue&type=style&index=0&id=12e4aa26&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-12e4aa26\"]])\n\nexport default __exports__","import { render } from \"./FaqList.vue?vue&type=template&id=280dee24&scoped=true\"\nimport script from \"./FaqList.vue?vue&type=script&lang=js\"\nexport * from \"./FaqList.vue?vue&type=script&lang=js\"\n\nimport \"./FaqList.vue?vue&type=style&index=0&id=280dee24&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-280dee24\"]])\n\nexport default __exports__","<template>\r\n <div class=\"container\">\r\n <div class=\"row campaigndiv mt-5 px-md-5\">\r\n <div class=\"col-sm-5\">\r\n <div class=\"text-center campaignbox\">\r\n <img :src=\"selectedpromotion?.img\" class=\"img-fluid rounded-circle\" alt=\"Banner\" />\r\n </div>\r\n </div>\r\n <div class=\"col-sm-7\">\r\n <nav aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\">\r\n <router-link :to=\"{ name: 'Home' }\">Home</router-link>\r\n </li>\r\n <li v-if=\"selectedpromotion?.category === 'LSLV'\" class=\"breadcrumb-item\">\r\n <router-link :to=\"{ name: 'PromoLSLV' }\">LSLV</router-link>\r\n </li>\r\n <li class=\"breadcrumb-item\">\r\n {{ selectedpromotion?.name }}\r\n </li>\r\n </ol>\r\n </nav>\r\n <div class=\"text-left\">\r\n <h1 class=\"text-uppercase fw-900 text-pg-blue mb-1 h2\">\r\n {{ selectedpromotion?.name }}\r\n </h1>\r\n <h2 class=\"text-pg-blue fw-bold h5 mb-4\" v-html=\"selectedpromotion?.desc\">\r\n\r\n </h2>\r\n <router-link v-if=\"isRedeemAvailable\" class=\"btn-link mb-3\" :to=\"{\r\n name: 'Promotion Redeem',\r\n params: { id: selectedpromotion?.id },\r\n }\">\r\n REDEEM\r\n </router-link>\r\n <p v-else-if=\"hasCampaignEnded\" class=\"text-danger fw-bold\">\r\n We’re sorry, but this program has ended.\r\n </p>\r\n <p>\r\n <small>*Terms and conditions apply.\r\n <a :href=\"selectedpromotion?.termslink\" target=\"_blank\">Review for details</a></small>\r\n </p>\r\n <p>\r\n <small>*Click <a :href=\"selectedpromotion?.retailerlink\" target=\"_blank\">here</a> to view participating\r\n retailers\r\n </small>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 mb-5\">\r\n <small v-html=\"selectedpromotion?.disclaimer\"></small>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-blue-top-curve-desktop\"></div>\r\n <div class=\"bg-blue\">\r\n <div class=\"mobile-curve\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <h2 class=\"text-center text-pg-blue fw-bold\">\r\n How It Works\r\n </h2>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <HowitworksSteps></HowitworksSteps>\r\n </div>\r\n <!-- Brands Section -->\r\n <div v-if=\"selectedpromotion?.brands && selectedpromotion.brands.length\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <h2 class=\"text-center text-pg-blue fw-bold mt-5 mb-5\">\r\n\r\n <p class=\"text-center\">Shop products from these participating brands</p>\r\n </h2>\r\n\r\n <div class=\"d-flex flex-wrap align-items-center justify-content-center brand-box\">\r\n <div class=\"brandtitle\">\r\n <p class=\"text-uppercase d-block text-center\">participating brands</p>\r\n </div>\r\n <a v-for=\"(brand, index) in selectedpromotion.brands\" :key=\"index\" :href=\"brand.url\" target=\"_blank\"\r\n rel=\"noreferrer noopener\" class=\"brand block p-4 text-center\">\r\n <img :src=\"brand.logo\" :alt=\"brand.name + ' Logo'\" class=\"mx-auto\" />\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"bg-blue-bottom-curve-desktop\"></div>\r\n <!-- Promotion Faq section -->\r\n <div v-if=\"selectedpromotion?.faqs && selectedpromotion.faqs.length\">\r\n <div class=\"container\">\r\n <div class=\"row faqs mx-auto mb-5 mt-4\">\r\n <div class=\"col-md-12\">\r\n <h2 class=\"text-center text-pg-blue fw-bold mt-5 mb-5\">\r\n\r\n <p class=\"text-center\">Program FAQs</p>\r\n </h2>\r\n </div>\r\n <div class=\"faqwrapper\">\r\n <div class=\"faqdiv mb-4\" v-for=\"faq in selectedpromotion.faqs\" :key=\"faq.question\">\r\n <h6 class=\"pb-2 fw-bold\">\r\n {{ faq.question }}\r\n </h6>\r\n <div class=\"copy\">\r\n <p v-html=\"faq.answer\"></p>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <h5 class=\"fw-bold text-pg-blue mb-3 text-center mb-5 helpemail\">Got a question we didn't answer? <br>Email <a\r\n href=\"mailto:help@pglocalvalues.com\">help@pglocalvalues.com</a></h5>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport HowitworksSteps from './HowItWorks/HowitworksSteps.vue';\r\nimport jsonMixin from '../jsonMixin';\r\n\r\nexport default {\r\n components: { HowitworksSteps },\r\n mixins: [jsonMixin],\r\n props: ['id'],\r\n data() {\r\n return {\r\n selectedpromotion: null,\r\n };\r\n },\r\n computed: {\r\n isRedeemAvailable() {\r\n if (!this.selectedpromotion || !this.selectedpromotion.enddate) {\r\n return false; // If no end date is provided, assume not available\r\n }\r\n const currentDate = new Date();\r\n const promoEndDate = new Date(this.selectedpromotion.enddate);\r\n return currentDate <= promoEndDate; // Check if the current date is before or on the end date\r\n },\r\n hasCampaignEnded() {\r\n if (!this.selectedpromotion || !this.selectedpromotion.enddate) {\r\n return false; // If no end date is provided, assume campaign hasn't ended\r\n }\r\n const currentDate = new Date();\r\n const promoEndDate = new Date(this.selectedpromotion.enddate);\r\n return currentDate > promoEndDate; // Check if the current date is after the end date\r\n },\r\n },\r\n};\r\n\r\n</script>\r\n\r\n<style scoped>\r\n.helpemail a {\r\n color: #003da6;\r\n text-decoration: none;\r\n}\r\n\r\n.helpemail a:hover {\r\n color: #003da6;\r\n text-decoration: underline;\r\n}\r\n\r\n.brand-box {\r\n background-color: #fff;\r\n margin-bottom: 50px;\r\n border: 1px solid #bdbdbd;\r\n padding: 30px;\r\n}\r\n\r\n.brand {\r\n width: 9%;\r\n padding: 10px 10px !important;\r\n margin: 5px;\r\n}\r\n\r\n.p-4 {\r\n padding: 1rem;\r\n}\r\n\r\n.brand img {\r\n height: auto;\r\n max-width: 100%;\r\n}\r\n\r\n.breadcrumb {\r\n background-color: transparent;\r\n padding: 0;\r\n margin-bottom: 0.3rem;\r\n list-style: none;\r\n display: flex;\r\n}\r\n\r\n.breadcrumb-item+.breadcrumb-item::before {\r\n content: '>';\r\n padding: 0 7px;\r\n}\r\n\r\n.campaigndiv {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n margin-bottom: 50px;\r\n}\r\n\r\n.campaignbox img {\r\n max-width: 260px;\r\n height: 260px;\r\n margin: 0 auto;\r\n margin-bottom: 20px;\r\n border: 5px solid #16a2dd;\r\n}\r\n\r\n.brandtitle {\r\n display: block;\r\n width: 100%;\r\n}\r\n\r\n.brandtitle p {\r\n color: #545454;\r\n font-size: 1.3rem;\r\n text-align: center;\r\n position: relative;\r\n z-index: 1;\r\n overflow: hidden;\r\n}\r\n\r\n.brandtitle p:after,\r\n.brandtitle p:before {\r\n position: absolute;\r\n top: 51%;\r\n overflow: hidden;\r\n width: 48%;\r\n height: 2px;\r\n content: '\\a0';\r\n background-color: #cccccc;\r\n margin-left: 2%;\r\n}\r\n\r\n.brandtitle p::before {\r\n margin-left: -50%;\r\n text-align: right;\r\n}\r\n\r\n@media screen and (max-width: 575px) {\r\n .brand {\r\n width: 18%;\r\n padding: 0px !important;\r\n }\r\n\r\n .brand-box[data-v-1a70372c] {\r\n background-color: #fff;\r\n margin-bottom: 0px;\r\n border: none;\r\n padding: 15px;\r\n }\r\n\r\n .bg-blue-top-curve::before {\r\n display: none;\r\n }\r\n\r\n .campaignbox img {\r\n max-width: 100%;\r\n height: auto;\r\n }\r\n\r\n .campaigndiv {\r\n text-align: center;\r\n }\r\n\r\n .breadcrumb {\r\n display: flex;\r\n justify-content: center;\r\n font-size: 12px;\r\n }\r\n\r\n .campaignbox {\r\n width: 100%;\r\n padding: 20px;\r\n }\r\n}\r\n</style>\r\n","import { render } from \"./PromoDetail.vue?vue&type=template&id=0f8dbd45&scoped=true\"\nimport script from \"./PromoDetail.vue?vue&type=script&lang=js\"\nexport * from \"./PromoDetail.vue?vue&type=script&lang=js\"\n\nimport \"./PromoDetail.vue?vue&type=style&index=0&id=0f8dbd45&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0f8dbd45\"]])\n\nexport default __exports__","<template>\r\n <div class=\"bg-blue-top-curve-desktop\"></div>\r\n <div class=\"bg-blue\">\r\n <div class=\"mobile-curve\">\r\n\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 mb-5\"> \r\n <PageLoader class=\"mb-5\" v-show=\"!isLoading\"></PageLoader>\r\n <section class=\"text-center\" v-show=\"isLoading\"> \r\n <div id=\"thank_you_text\" v-if=\"display_thankyou\">\r\n <h2 class=\"text-uppercase fw-900 text-pg-blue mb-3\">THANK YOU FOR YOUR RECEIPT !</h2>\r\n <h5 class=\"text-pg-blue fw-bold h5 mb-4\">We have received your submission.<br>\r\n Please allow 72 hours for receipt processing.</h5> \r\n <router-link\r\n class=\"btn-link mb-4\"\r\n :to=\"{ name: 'Home' }\"\r\n >SEE MORE PROMOTIONS</router-link><br>\r\n <p>Click here to view the program<br> <a :href=\"selectedpromotion?.termslink\" target=\"_blank\">Terms and Conditions</a>.</p> \r\n </div>\r\n <div id=\"upload_title\" v-if=\"!needs_registeration && !display_thankyou\">\r\n <h2 class=\"text-uppercase fw-900 text-pg-blue mb-3\">UPLOAD YOUR RECEIPT</h2> \r\n </div>\r\n <snipp-registration\r\n id=\"snipp-registration\"\r\n v-if=\"!display_thankyou\"\r\n :campaign-id=\"selectedpromotion?.promoId\"\r\n include-continue-button=\"false\"\r\n custom-css=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/snipp_widget.css\"\r\n @snipp-widget-event=\"handleWidgetEvent\"\r\n ></snipp-registration>\r\n <div id=\"upload_desc\" v-if=\"!needs_registeration && !display_thankyou\">\r\n <p>Please note: <br>ONLY JPEG, PNG, GIF, TIFF & PDF file formats are accepted. <br>Maximum of 10MB per photo/proof of purchase\r\n record.</p> \r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n </div> \r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport PageLoader from '../components/UI/PageLoader.vue';\r\nimport jsonMixin from '../jsonMixin';\r\nexport default {\r\n components: { PageLoader },\r\n mixins: [jsonMixin],\r\n props: ['id'],\r\n data() {\r\n return { selectedpromotion: null,\r\n isLoading: false,\r\n display_thankyou: false,\r\n registered:false,\r\n needs_registeration:false};\r\n },\r\n\r\n\r\n methods: {\r\n handleWidgetEvent(e) {\r\n console.log(\"handleWidgetEvent: e: \", e);\r\n let this_page = 'Redeem';\r\n let next_page;\r\n if (e && e.detail && e.detail.length) {\r\n let message = e.detail[0];\r\n if (message.is_registered) {\r\n this.needs_registeration = false;\r\n }\r\n if (message.is_logged_out) {\r\n this.needs_registeration = true;\r\n }\r\n if (message.uppy_close) next_page = 'Redeem';\r\n if (message.upload_result) {\r\n this.display_thankyou = true;\r\n } \r\n }\r\n if (this_page && next_page && this_page != next_page) {\r\n let url = location.href;\r\n url = url.replace(this_page, next_page);\r\n location.href = url;\r\n }\r\n }\r\n },\r\n beforeMount() {\r\n setTimeout(() => (this.isLoading = true), 2000);\r\n },\r\n};\r\n\r\n</script>\r\n\r\n<style scoped>\r\n.campaigndiv {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n max-width: 650px;\r\n margin: 0 auto;\r\n}\r\n.campaignbox img {\r\n max-width: 150px;\r\n height: 150px;\r\n margin: 0 auto;\r\n margin-bottom: 20px; border: 5px solid #16a2dd;\r\n}\r\n@media screen and (max-width: 575px) {\r\n .mobile-curve {\r\n margin-top: 25px;\r\n }\r\n .mobile-curve::after{ display: none;}\r\n .campaigndiv {text-align: center;}\r\n}\r\n</style>\r\n","<template>\r\n <div class=\"spinner\">\r\n <div class=\"lds-roller\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<style scoped>\r\n.spinner {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n}\r\n\r\n.lds-roller {\r\n display: inline-block;\r\n position: relative;\r\n width: 80px;\r\n height: 80px;\r\n}\r\n.lds-roller div {\r\n animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\r\n transform-origin: 40px 40px;\r\n}\r\n.lds-roller div:after {\r\n content: ' ';\r\n display: block;\r\n position: absolute;\r\n width: 7px;\r\n height: 7px;\r\n border-radius: 50%;\r\n background: #003da6;\r\n margin: -4px 0 0 -4px;\r\n}\r\n.lds-roller div:nth-child(1) {\r\n animation-delay: -0.036s;\r\n}\r\n.lds-roller div:nth-child(1):after {\r\n top: 63px;\r\n left: 63px;\r\n}\r\n.lds-roller div:nth-child(2) {\r\n animation-delay: -0.072s;\r\n}\r\n.lds-roller div:nth-child(2):after {\r\n top: 68px;\r\n left: 56px;\r\n}\r\n.lds-roller div:nth-child(3) {\r\n animation-delay: -0.108s;\r\n}\r\n.lds-roller div:nth-child(3):after {\r\n top: 71px;\r\n left: 48px;\r\n}\r\n.lds-roller div:nth-child(4) {\r\n animation-delay: -0.144s;\r\n}\r\n.lds-roller div:nth-child(4):after {\r\n top: 72px;\r\n left: 40px;\r\n}\r\n.lds-roller div:nth-child(5) {\r\n animation-delay: -0.18s;\r\n}\r\n.lds-roller div:nth-child(5):after {\r\n top: 71px;\r\n left: 32px;\r\n}\r\n.lds-roller div:nth-child(6) {\r\n animation-delay: -0.216s;\r\n}\r\n.lds-roller div:nth-child(6):after {\r\n top: 68px;\r\n left: 24px;\r\n}\r\n.lds-roller div:nth-child(7) {\r\n animation-delay: -0.252s;\r\n}\r\n.lds-roller div:nth-child(7):after {\r\n top: 63px;\r\n left: 17px;\r\n}\r\n.lds-roller div:nth-child(8) {\r\n animation-delay: -0.288s;\r\n}\r\n.lds-roller div:nth-child(8):after {\r\n top: 56px;\r\n left: 12px;\r\n}\r\n@keyframes lds-roller {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n</style>\r\n","import { render } from \"./PageLoader.vue?vue&type=template&id=0bf7d85d&scoped=true\"\nconst script = {}\n\nimport \"./PageLoader.vue?vue&type=style&index=0&id=0bf7d85d&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0bf7d85d\"]])\n\nexport default __exports__","import { render } from \"./PromoRedeem.vue?vue&type=template&id=008de262&scoped=true\"\nimport script from \"./PromoRedeem.vue?vue&type=script&lang=js\"\nexport * from \"./PromoRedeem.vue?vue&type=script&lang=js\"\n\nimport \"./PromoRedeem.vue?vue&type=style&index=0&id=008de262&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-008de262\"]])\n\nexport default __exports__","<template>\r\n <div class=\"\">\r\n\r\n <PromoListLSLV></PromoListLSLV>\r\n\r\n <div class=\"bg-blue-top-curve-desktop\"></div>\r\n <div class=\"bg-blue\">\r\n <div class=\"mobile-curve\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <h2 class=\"text-center text-pg-blue fw-bold\">\r\n How It Works\r\n </h2>\r\n </div>\r\n </div>\r\n </div>\r\n <HowitworksSteps></HowitworksSteps>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</template>\r\n<script>\r\nimport PromoListLSLV from '../components/PromoList/PromoListLSLV.vue';\r\nimport HowitworksSteps from './HowItWorks/HowitworksSteps.vue';\r\n\r\nexport default {\r\n title: 'Foo Page',\r\n components: {\r\n PromoListLSLV,\r\n HowitworksSteps,\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped></style>","<template>\r\n <div class=\"container mb-5\">\r\n <div class=\"row\">\r\n <PromoItemLSLV\r\n v-for=\"promo in lsLvPromotions\"\r\n :key=\"promo.id\"\r\n :id=\"promo.id\"\r\n :promocatdate=\"promo.catpromodate\"\r\n :promoname=\"promo.name\"\r\n :promoimg=\"promo.img\"\r\n :promodesc=\"promo.desc\"\r\n :promoId=\"promo.promoId\"\r\n :promostartdate=\"promo.startdate\"\r\n :promoenddate=\"promo.enddate\"\r\n :promoIsActive=\"promo.isActive\"\r\n @viewDetails=\"goToDetails(promo.id)\"\r\n ></PromoItemLSLV>\r\n </div>\r\n </div>\r\n\r\n</template>\r\n\r\n\r\n<script>\r\nimport jsonMixin from '../../jsonMixin'\r\nimport PromoItemLSLV from './PromoItemLSLV.vue';\r\n\r\nexport default {\r\n components: { PromoItemLSLV },\r\n mixins: [jsonMixin],\r\n computed: {\r\n lsLvPromotions() {\r\n return this.promotions.filter(promo => promo.category === 'LSLV'); \r\n // Adjust `category` to the actual property in your JSON that identifies LSLV promotions.\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n\r\n<style scoped></style>\r\n","<template>\r\n <div class=\"campaigndiv\" v-if=\"promoIsActive == 1\">\r\n <div class=\"col-md-9 campaignbox text-start m-auto\">\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-sm-5 text-center\">\r\n <img\r\n :src=\"promoimg\"\r\n class=\"img-fluid rounded-circle\"\r\n alt=\"Banner\"\r\n />\r\n </div>\r\n <div class=\"col-sm-7\">\r\n <nav aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\">\r\n <router-link :to=\"{ name: 'Home' }\">Home</router-link>\r\n </li>\r\n <li class=\"breadcrumb-item\" >\r\n Local Savings, Local Values\r\n </li>\r\n </ol>\r\n </nav>\r\n <h4 class=\"fw-bold text-pg-blue mb-3\">\r\n {{ promoname }}\r\n </h4>\r\n <p class=\"\" v-html=\"promodesc\"></p>\r\n <p><small v-html=\"promocatdate\"></small></p>\r\n <!-- <p>{{ formattedStartDate }} - {{ formattedEndDate }}</p> -->\r\n <div v-if=\"!ProgramMessage\">\r\n <router-link\r\n class=\"btn-link\"\r\n :to=\"{ name: 'Promotions', params: { id: id } }\"\r\n >\r\n See Details\r\n </router-link>\r\n <br />\r\n <!-- <router-link\r\n class=\"mt-2 d-inline-block\"\r\n :to=\"{ name: 'Promotion Redeem', params: { id: id } }\"\r\n >\r\n Redeem\r\n </router-link> -->\r\n </div>\r\n <small>\r\n <b>{{ ProgramMessage }}</b>\r\n </small>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n props: {\r\n id: { type: String, required: true },\r\n promocatdate: { type: String, required: true },\r\n promoname: { type: String, required: true },\r\n promoimg: { type: String, required: true },\r\n promodesc: { type: String, required: true },\r\n promoId: { type: String, required: true },\r\n promostartdate: { type: String, required: true },\r\n promoenddate: { type: String, required: true },\r\n promoIsActive: { type: String, required: true },\r\n },\r\n data() {\r\n return {\r\n ProgramMessage: '',\r\n };\r\n },\r\n computed: {\r\n formattedStartDate() {\r\n try {\r\n const usTimezoneOptions = { timeZone: 'America/New_York' };\r\n const date = new Date(this.promostartdate);\r\n if (isNaN(date)) {\r\n throw new Error('Invalid date format');\r\n }\r\n return date.toLocaleDateString('en-US', usTimezoneOptions);\r\n } catch (error) {\r\n console.error('Start date error:', error);\r\n return 'Invalid start date';\r\n }\r\n },\r\n formattedEndDate() {\r\n try {\r\n const usTimezoneOptions = { timeZone: 'America/New_York' };\r\n const date = new Date(this.promoenddate);\r\n if (isNaN(date)) {\r\n throw new Error('Invalid date format');\r\n }\r\n return date.toLocaleDateString('en-US', usTimezoneOptions);\r\n } catch (error) {\r\n console.error('End date error:', error);\r\n return 'Invalid end date';\r\n }\r\n },\r\n },\r\n methods: {\r\n filterCampaigns() {\r\n try {\r\n const usTimezoneOptions = { timeZone: 'America/New_York' };\r\n\r\n const currentDate = new Date().toLocaleDateString('en-US', usTimezoneOptions);\r\n const promoStartDate = new Date(this.promostartdate).toLocaleDateString('en-US', usTimezoneOptions);\r\n const promoEndDate = new Date(this.promoenddate).toLocaleDateString('en-US', usTimezoneOptions);\r\n\r\n if (isNaN(new Date(currentDate)) || isNaN(new Date(promoStartDate)) || isNaN(new Date(promoEndDate))) {\r\n throw new Error('Invalid date format');\r\n }\r\n\r\n if (new Date(currentDate) < new Date(promoStartDate)) {\r\n this.ProgramMessage =\r\n 'We’re sorry, but this program hasn’t started yet. Please check back on ' +\r\n promoStartDate;\r\n } else if (new Date(currentDate) > new Date(promoEndDate)) {\r\n this.ProgramMessage = 'We’re sorry, but this program has ended.';\r\n }\r\n } catch (error) {\r\n console.error('Date error:', error);\r\n this.ProgramMessage = 'An error occurred while processing the program dates. Please try again later.';\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.filterCampaigns();\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped>\r\n.campaigndiv {\r\n margin: 0 auto;\r\n}\r\n\r\n.campaignbox {\r\n margin: 20px;\r\n text-align: center;\r\n padding: 30px;\r\n}\r\n\r\n.campaignbox img {\r\n max-width: 160px;\r\n height: 160px;\r\n margin: 0 auto;\r\n margin-bottom: 20px;\r\n border: 5px solid #16a2dd;\r\n}\r\n.promodesc{min-height: 70px;}\r\n@media screen and (max-width: 575px) {\r\n .campaignbox {\r\n width: 93%;\r\n padding: 20px;\r\n }\r\n}\r\n</style>\r\n","import { render } from \"./PromoItemLSLV.vue?vue&type=template&id=11516c68&scoped=true\"\nimport script from \"./PromoItemLSLV.vue?vue&type=script&lang=js\"\nexport * from \"./PromoItemLSLV.vue?vue&type=script&lang=js\"\n\nimport \"./PromoItemLSLV.vue?vue&type=style&index=0&id=11516c68&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-11516c68\"]])\n\nexport default __exports__","import { render } from \"./PromoListLSLV.vue?vue&type=template&id=bea8e20c\"\nimport script from \"./PromoListLSLV.vue?vue&type=script&lang=js\"\nexport * from \"./PromoListLSLV.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./PromoLSLV.vue?vue&type=template&id=238e54d0\"\nimport script from \"./PromoLSLV.vue?vue&type=script&lang=js\"\nexport * from \"./PromoLSLV.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createRouter, createWebHistory } from 'vue-router';\r\n\r\nimport Home from './Pages/Home/HomePage.vue';\r\n// import HowItWorks from './Pages/HowItWorks/HowItWorks.vue';\r\nimport FaqList from './Pages/Faq/FaqList.vue';\r\nimport Promodetail from './Pages/PromoDetail.vue';\r\nimport PromoRedeem from './Pages/PromoRedeem.vue';\r\nimport PromoLSLV from './Pages/PromoLSLV.vue';\r\n\r\nconst router = createRouter({\r\n linkActiveClass: 'active',\r\n root: '/Home',\r\n history: createWebHistory(process.env.BASE_URL),\r\n routes: [\r\n {\r\n path: '/Home',\r\n name: 'Home',\r\n component: Home, // our.Domain/Home\r\n meta: { title: 'Home' },\r\n },\r\n {\r\n path: '/:id',\r\n name: 'Promotions',\r\n component: Promodetail,\r\n props: true,\r\n meta: { },\r\n },\r\n {\r\n path: '/:id/Redeem',\r\n name: 'Promotion Redeem',\r\n component: PromoRedeem,\r\n props: true,\r\n meta: { title: '', requiresAuth: true },\r\n },\r\n {\r\n path: '/LSLV',\r\n name: 'PromoLSLV',\r\n component: PromoLSLV,\r\n meta: { title: 'LSLV Promotions' },\r\n },\r\n // {\r\n // path: '/Howitworks',\r\n // name: 'HowItWorks',\r\n // component: HowItWorks, // our.domain/Home\r\n // meta: { title: 'How it Works' },\r\n // },\r\n {\r\n path: '/Faq',\r\n name: 'Faq',\r\n component: FaqList, // our.domain/Faq\r\n meta: { title: 'Faqs' },\r\n },\r\n {\r\n path: '/Home',\r\n component: Home, // our.domain\r\n },\r\n { path: '/:notFound(.*)', component: Home },\r\n { path: '/', redirect: '/Home' },\r\n ],\r\n\r\n scrollBehavior(to, from, savedPosition) {\r\n if (savedPosition) {\r\n return savedPosition;\r\n }\r\n \r\n if (to.hash) {\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n const element = document.querySelector(to.hash);\r\n if (element) {\r\n const yOffset = -80; // Adjust this value if you have a fixed navbar\r\n const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;\r\n \r\n window.scrollTo({ top: y, behavior: 'smooth' });\r\n resolve();\r\n }\r\n }, 500); // Delay to ensure the element is fully rendered\r\n });\r\n }\r\n \r\n return { top: 0 };\r\n }\r\n \r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n // Set the document title\r\n let documenttitle = `${to.meta.title ? to.meta.title + ' |' : ''} P&G Local Values`;\r\n if (to.params.id) {\r\n documenttitle = `P&G Local Values - ${to.params.id}`;\r\n }\r\n document.title = documenttitle;\r\n\r\n // Check if the route requires authentication\r\n if (to.meta.requiresAuth && !from.name) {\r\n // If trying to access a restricted route directly, redirect to Home\r\n next({ name: 'Home' });\r\n } else {\r\n next(); // Allow navigation\r\n }\r\n});\r\n\r\nexport default router;","<template>\r\n <the-navigation></the-navigation>\r\n <main>\r\n <router-view></router-view>\r\n </main>\r\n <the-Footer></the-Footer>\r\n</template>\r\n\r\n<script>\r\nimport TheNavigation from './components/Layout/TheNavigation.vue';\r\nimport TheFooter from './components/Layout/TheFooter.vue';\r\nexport default {\r\n components: {\r\n TheNavigation,\r\n TheFooter,\r\n },\r\n mounted() {\r\n var scripts = [\r\n 'https://snipp-it-widgets.s3.us-west-2.amazonaws.com/SnippWebsocket/snipp-websocket.umd.js',\r\n 'https://snipp-it-widgets.s3.us-west-2.amazonaws.com/SnippCurrentUser/snipp-current-user.umd.js',\r\n 'https://snipp-it-widgets.s3.us-west-2.amazonaws.com/SnippUpload/snipp-upload.umd.js',\r\n 'https://snipp-it-widgets.s3.us-west-2.amazonaws.com/SnippRegistration/snipp-registration.umd.js',\r\n ];\r\n\r\n for (var i = 0; i < scripts.length; i++) {\r\n var script = document.createElement('script');\r\n script.onerror = function () {\r\n alert('Could not load ' + this.src);\r\n };\r\n script.src = scripts[i] + '?ts=' + Date.now();\r\n document.body.appendChild(script);\r\n }\r\n },\r\n};\r\n</script>\r\n\r\n<style>\r\n* {\r\n box-sizing: border-box;\r\n}\r\n\r\nhtml {\r\n font-family: sans-serif;\r\n}\r\n\r\nbody {\r\n margin: 0;\r\n}\r\n</style>\r\n","<template>\r\n <header>\r\n <nav class=\"navbar navbar-expand-lg navbar-light\">\r\n <div class=\"container-fluid align-items-md-start align-items-sm-center\"> \r\n <router-link to=\"/Home\" class=\"navbar-brand\"><img\r\n src=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/pg.logo.svg\"\r\n class=\"img-fluid\"\r\n alt=\"P&G logo\"\r\n /></router-link> \r\n \r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n data-bs-toggle=\"collapse\"\r\n data-bs-target=\"#navbarSupportedContent\"\r\n aria-controls=\"navbarSupportedContent\"\r\n aria-expanded=\"false\"\r\n aria-label=\"Toggle navigation\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div\r\n class=\"collapse navbar-collapse navigation\"\r\n id=\"navbarSupportedContent\"\r\n >\r\n <img\r\n src=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/logo_desktop.png\"\r\n alt=\"\" role=\"none\" aria-hidden=\"true\"\r\n class=\"img-fluid\"\r\n />\r\n <ul class=\"navbar-nav\">\r\n <li class=\"nav-item\">\r\n <router-link to=\"/Home\" class=\"nav-link\">Home</router-link>\r\n </li>\r\n <li class=\"nav-item d-none\">\r\n <router-link to=\"/HowItWorks\" class=\"nav-link\"\r\n >How It Works</router-link\r\n >\r\n </li>\r\n <li class=\"nav-item\">\r\n <router-link to=\"/Faq\" class=\"nav-link\">FAQ</router-link>\r\n </li>\r\n </ul>\r\n </div>\r\n <img\r\n src=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/logo_desktop.png\" alt=\"\" role=\"none\" aria-hidden=\"true\"\r\n class=\"img-fluid d-md-none\"\r\n />\r\n </div>\r\n </nav>\r\n\r\n <!-- <img\r\n src=\"../../../public/assets/images/logo_desktop.png\"\r\n class=\"navheaderimg\"\r\n alt=\"Desktop Logo\"\r\n /> -->\r\n </header>\r\n</template>\r\n\r\n<script>\r\nexport default {};\r\n</script>\r\n\r\n<style scoped>\r\nheader {\r\n width: 100%;\r\n}\r\n.navbar {\r\n padding: 0;\r\n}\r\n.nav {\r\n height: 100%;\r\n text-align: center;\r\n}\r\n.navigation {\r\n margin: 0 auto !important;\r\n position: relative;\r\n margin-left: -70px !important;\r\n}\r\n.navigation ul {\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n margin: 0 auto;\r\n list-style: none;\r\n margin: 0;\r\n padding: 0;\r\n /* height: 100%; */\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n top: 0;\r\n}\r\n.navigation ul li {\r\n padding: 25px 10px;\r\n}\r\n.navigation img {\r\n max-width: 500px;\r\n margin: 0 auto;\r\n}\r\n\r\n.navbar-brand {\r\n max-width: 50px;\r\n margin: 30px 20px;\r\n z-index: 999;\r\n}\r\n.nav-link {\r\n background: transparent;\r\n cursor: pointer;\r\n color: white;\r\n display: inline-block;\r\n text-decoration: none;font-size: 1.2rem;\r\n border-bottom: 2px solid transparent;\r\n}\r\n\r\n.nav-link:hover,\r\n.nav-link:active,\r\n.nav-link.active {\r\n color: white;\r\n border-bottom: 2px solid #97d700;\r\n}\r\n@media screen and (max-width: 575px) {\r\n.navbar-toggler-icon {\r\n display: inline-block;\r\n width: 2em;\r\n height: 1.5em;}\r\n .navigation {\r\n margin-left: 0px !important;\r\n position: absolute;\r\n width: 100%;\r\n top: 114px;\r\n left: 0;\r\n right: 0;\r\n }\r\n .navbar-toggler{border: none;box-shadow: none;}\r\n .navigation img {\r\n max-width: 100%;display: none;\r\n }\r\n ul.navbar-nav {\r\n display: inline;\r\n margin: 0 auto;\r\n text-align: center;\r\n }\r\n ul.navbar-nav li {\r\n display: inline-block;\r\n }\r\n}\r\n</style>\r\n","import { render } from \"./TheNavigation.vue?vue&type=template&id=4a742656&scoped=true\"\nimport script from \"./TheNavigation.vue?vue&type=script&lang=js\"\nexport * from \"./TheNavigation.vue?vue&type=script&lang=js\"\n\nimport \"./TheNavigation.vue?vue&type=style&index=0&id=4a742656&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4a742656\"]])\n\nexport default __exports__","<template>\r\n <footer class=\"py-3 px-5\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-md-2 text-center\">\r\n <router-link to=\"/Home\" class=\"navbar-brand\"><img\r\n src=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/pg.logo.svg\"\r\n class=\"img-fluid footerlogo\"\r\n alt=\"P&G logo\"\r\n /></router-link> \r\n \r\n </div>\r\n <div class=\"col-md-10 text-left\">\r\n <!-- <p>\r\n Shop your favorite P&G brands at your local grocer to unlock reward\r\n opportunities.\r\n </p> -->\r\n <div class=\"footer-left col p-0\">\r\n <ul class=\"list-inline mb-2\" id=\"footer-nav\">\r\n <li class=\"list-inline-item p\">\r\n <a\r\n href=\"javascript:void(0)\"\r\n onclick=\"Optanon.ToggleInfoDisplay();\"\r\n >Do Not Sell or Share My Personal Information / Opt-Out of\r\n Targeted Advertising</a\r\n >\r\n </li>\r\n <li class=\"list-inline-item\">\r\n <a\r\n rel=\"noopener noreferrer\"\r\n href=\"http://www.pg.com/en_US/terms_conditions/index.shtml\"\r\n target=\"_blank\"\r\n >Terms & Conditions</a\r\n >\r\n </li>\r\n <li class=\"list-inline-item\">\r\n <a\r\n href=\"http://www.pg.com/en_US/contact_us/index.shtml\"\r\n target=\"_blank\"\r\n >Contact Us</a\r\n >\r\n </li>\r\n <li class=\"list-inline-item\">\r\n <a\r\n rel=\"noopener noreferrer\"\r\n href=\"https://privacypolicy.pg.com/en/#statePrivacyNotice\"\r\n target=\"_blank\"\r\n >Privacy</a\r\n >\r\n </li>\r\n <li class=\"list-inline-item\">\r\n <a href=\"https://privacypolicy.pg.com/CHD-en\" target=\"_blank\"\r\n >Consumer Health Data Privacy Policy</a\r\n >\r\n </li>\r\n <li class=\"list-inline-item\">\r\n <a href=\"https://preferencecenter.pg.com/en-us/\" target=\"_blank\"\r\n >Your Privacy Choices <img src=\"https://snippcheck.blob.core.windows.net/files/PGLocalValues/privacyoptions.png\" alt=\"Your Privacy Choices\" class=\"img-fluid\"></a\r\n >\r\n </li>\r\n </ul>\r\n <p><small>NOTICE: We may sell your sensitive personal data.</small></p>\r\n <p>\r\n <small\r\n >© {{ new Date().getFullYear() }} Procter & Gamble. All rights\r\n reserved. </small\r\n >\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </footer>\r\n</template>\r\n\r\n<script>\r\nexport default {};\r\n</script>\r\n\r\n<style scoped>\r\nfooter {\r\n width: 100%;\r\n background-color: #012169;\r\n color: #fff;\r\n}\r\n.footerlogo {\r\n max-width: 80px;\r\n margin-bottom: 20px;\r\n}\r\na {\r\n font: inherit;\r\n background: transparent;\r\n border: 1px solid transparent;\r\n cursor: pointer;\r\n color: white;\r\n padding-right: 0.5rem;\r\n margin: 5px 0;\r\n display: inline-block;\r\n text-decoration: none;\r\n}\r\na:hover {\r\n text-decoration: underline;\r\n}\r\n#footer-nav li + li:before {\r\n content: \" | \";\r\n color: #fff;\r\n margin-right: 7px;\r\n}\r\n@media screen and (max-width: 575px) {\r\n .list-inline-item {\r\n display: block;\r\n}\r\n #footer-nav li + li:before {\r\ndisplay: none;\r\n}\r\n footer {\r\n text-align: center;\r\n }\r\n}\r\n</style>\r\n","import { render } from \"./TheFooter.vue?vue&type=template&id=6e474b58&scoped=true\"\nimport script from \"./TheFooter.vue?vue&type=script&lang=js\"\nexport * from \"./TheFooter.vue?vue&type=script&lang=js\"\n\nimport \"./TheFooter.vue?vue&type=style&index=0&id=6e474b58&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6e474b58\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=67158508\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=67158508&lang=css\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createApp } from 'vue';\r\n\r\nimport router from './router.js';\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport '../public/assets/css/main.css';\r\nimport bootstrap from 'bootstrap/dist/js/bootstrap.min.js';\r\n\r\nimport App from './App.vue';\r\n\r\nconst app = createApp(App);\r\n\r\napp.use(router);\r\napp.use(bootstrap);\r\napp.mount('#app');\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkvue_first_app\"] = self[\"webpackChunkvue_first_app\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(2577); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["class","id","_createElementBlock","_Fragment","_createElementVNode","_hoisted_1","_createStaticVNode","_hoisted_2","_createVNode","_component_HowitworksSteps","_component_PromoList","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_component_VideoPlayer","videoSrc","_renderList","$options","filteredPromotions","promo","_createBlock","_component_PromoItem","key","promoname","name","promoimg","img","promodesc","desc","promoId","promostartdate","startdate","promoenddate","enddate","promoIsActive","isActive","onViewDetails","$event","_ctx","goToDetails","data","promotions","methods","getJsonData","response","fetch","ok","Error","status","json","this","console","log","updateSelectedPromotion","error","selectedpromotion","find","mounted","$props","src","alt","_toDisplayString","innerHTML","$data","ProgramMessage","_createCommentVNode","_component_router_link","to","params","default","_withCtx","_cache","_createTextVNode","_","props","type","String","required","computed","formattedStartDate","usTimezoneOptions","timeZone","date","Date","isNaN","toLocaleDateString","formattedEndDate","filterCampaigns","currentDate","promoStartDate","promoEndDate","__exports__","components","PromoItem","mixins","jsonMixin","filter","category","controls","width","height","poster","title","PromoList","HowitworksSteps","VideoPlayer","render","_component_FaqItem","FaqItem","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","isRedeemAvailable","hasCampaignEnded","_hoisted_15","href","termslink","target","_hoisted_16","retailerlink","_hoisted_17","_hoisted_18","disclaimer","_hoisted_19","_hoisted_20","_hoisted_21","brands","length","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","brand","index","url","rel","logo","_hoisted_27","_hoisted_26","faqs","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","faq","question","_hoisted_32","_hoisted_33","answer","_hoisted_34","_component_PageLoader","isLoading","display_thankyou","needs_registeration","_component_snipp_registration","onSnippWidgetEvent","handleWidgetEvent","script","PageLoader","registered","e","next_page","this_page","detail","message","is_registered","is_logged_out","uppy_close","upload_result","location","replace","beforeMount","setTimeout","_component_PromoListLSLV","lsLvPromotions","_component_PromoItemLSLV","promocatdate","catpromodate","PromoItemLSLV","PromoListLSLV","router","createRouter","linkActiveClass","root","history","createWebHistory","process","routes","path","component","Home","meta","Promodetail","PromoRedeem","requiresAuth","PromoLSLV","FaqList","redirect","scrollBehavior","from","savedPosition","hash","Promise","resolve","element","document","querySelector","yOffset","y","getBoundingClientRect","top","window","pageYOffset","scrollTo","behavior","beforeEach","next","documenttitle","_component_the_navigation","_component_router_view","_component_the_Footer","role","onclick","getFullYear","TheNavigation","TheFooter","scripts","i","createElement","onerror","alert","now","body","appendChild","app","createApp","App","use","bootstrap","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","value","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","bind","push","__webpack_exports__"],"sourceRoot":""}