{"version":3,"sources":["webpack:///./src/components/PublicEvent.vue","webpack:///./src/components/PublicEvent.vue?c7a1","webpack:///./src/components/SignupParticipant.vue","webpack:///./src/components/SignupParticipant.vue?3d92","webpack:///./src/components/SignupParticipant.vue?411b","webpack:///./src/components/ResetPassword.vue","webpack:///./src/components/ResetPassword.vue?bc1d","webpack:///./src/components/PublicStore.vue?8290","webpack:///./src/components/VirtualFundraising.vue","webpack:///./src/components/VirtualFundraising.vue?ff6a","webpack:///./src/components/StoreDetail.vue?791a","webpack:///./src/components/ProductDetail.vue?08ba","webpack:///./src/helpers/axios_interceptors.js","webpack:///./src/main.js","webpack:///./src/components/StoreDetail.vue","webpack:///./src/components/StoreDetail.vue?5f7a","webpack:///./src/components/Profile.vue?82c8","webpack:///./src/components/PrivacyPolicy.vue?4963","webpack:///./src/components/RunningEvent.vue?c345","webpack:///./src/components/PieChart.vue","webpack:///./src/components/PieChart.vue?ecda","webpack:///./src/components/TermsOfUse.vue","webpack:///./src/components/TermsOfUse.vue?9097","webpack:///./src/components/PrivacyPolicy.vue","webpack:///./src/components/PrivacyPolicy.vue?ae05","webpack:///./src/components/VirtualFundraising.vue?43fd","webpack:///./src/components/PublicStore.vue","webpack:///./src/components/Product.vue","webpack:///./src/components/Product.vue?7d97","webpack:///./src/components/ProductDetail.vue","webpack:///./src/components/ProductDetail.vue?18c8","webpack:///./src/components/PublicStore.vue?1b21","webpack:///./src/components/Product.vue?8660","webpack:///./src/components/Settings.vue","webpack:///./src/components/Profile.vue","webpack:///./src/components/Profile.vue?af79","webpack:///./src/components/Settings.vue?87e7","webpack:///./src/components/TermsOfUse.vue?25c6","webpack:///./src/components/RunningEvent.vue","webpack:///./src/components/RunningEvent.vue?1eb7"],"names":["name","components","data","render","class","id","style","proceed","title","proceedErrorMessage","closable","type","effect","length","store","organizerName","event","description","src","imageSrc","error","currentStep","model","rules","step1Rules","ref","label-position","top","hide-required-asterisk","show-message","label","prop","targetAmount","autosize","next","disabled","form1Valid","step2Rules","setCropData","setSelectedImage","showUploadButton","formattdPhone","step3Rules","errorMessage1","formattedPhone","focusOut","email","confirmEmail","firstName","lastName","sendConfirmPhoneCode","loading","step4Rules","phoneCode","maxlength","show-word-limit","autocomplete","confirmPhoneCode","plain","resendConfirmPhoneCode","step5Rules","submitStore","authenticateLogin","ImageUploader","emailExists","isMounted","errorMessage","step3FormValid","file","statusMessage","userExists","preventNextIteration","imageCropData","code","phone","emailCode","encryptedEmailcode","eventId","login","mobile","password","required","message","trigger","pattern","confirmPassword","validator","rule","value","callback","methods","includes","key","this","replace","match","stepForm","$refs","validate","valid","prev","validateForm","form","isValid","a","post","then","response","catch","loginUrl","status","dispatch","sendVerificationCode","resendConfirmEmailCode","confirmEmailCode","encryptedCode","$message","formData","FormData","append","raw","Object","entries","headers","gotoLogin","router","push","computed","mounted","$route","params","get","created","currentUserDetail","formattedphone","__scopeId","resetPassword","successMessage","passwordData","passwordRules","submitChanges","routeToLogin","token","query","size","toNewEvent","stores","interval","indicator-position","height","eventImageSrc","subTotal","eventSubTotal","href","publicUrl","target","toLogin","openDetail","filter","i","axiosSetUp","axios","interceptors","request","use","config","getters","accessToken","Authorization","Promise","reject","originalRequest","url","commit","_retry","Chart","register","ChartDataLabels","ElAlert","ElAside","ElAutocomplete","ElAvatar","ElBacktop","ElBadge","ElBreadcrumb","ElBreadcrumbItem","ElButton","ElButtonGroup","ElCalendar","ElCard","ElCarousel","ElCarouselItem","ElCascader","ElCascaderPanel","ElCheckbox","ElCheckboxButton","ElCheckboxGroup","ElCol","ElCollapse","ElCollapseItem","ElCollapseTransition","ElColorPicker","ElContainer","ElDatePicker","ElDialog","ElDivider","ElDrawer","ElDropdown","ElDropdownItem","ElDropdownMenu","ElFooter","ElForm","ElFormItem","ElHeader","ElIcon","ElImage","ElInput","ElInputNumber","ElLink","ElMain","ElMenu","ElMenuItem","ElMenuItemGroup","ElOption","ElOptionGroup","ElPageHeader","ElPagination","ElPopconfirm","ElPopover","ElPopper","ElProgress","ElRadio","ElRadioButton","ElRadioGroup","ElRate","ElRow","ElScrollbar","ElSelect","ElSlider","ElStep","ElSteps","ElSubmenu","ElSwitch","ElTabPane","ElTable","ElTableColumn","ElTabs","ElTag","ElTimePicker","ElTimeSelect","ElTimeline","ElTimelineItem","ElTooltip","ElTransfer","ElTree","ElUpload","plugins","ElInfiniteScroll","ElLoading","ElMessage","ElMessageBox","ElNotification","appInsights","ApplicationInsights","connectionString","loadAppInsights","trackPageView","axiosSetup","createdApp","createApp","App","zIndex","forEach","component","VueCropper","plugin","directive","el","binding","vnode","element","querySelectorAll","$this","$","$label","parents","find","attr","addClass","window","setTimeout","trim","focus","getElementsByTagName","mount","novalidate","editMode","storeEdit","image","endDate","startDate","Date","now","storeEditRules","saveChanges","targetamount","icon","placement","width","auto-close","click","content","reference","data-copy","copyCode","eventStartDate","toLocaleDateString","eventEndDate","hasRunningEvent","toEvent","isMobile","smsUrl","invDonatorSMSVisible","invDonatorVisible","shareOnFacebook2","shareOnTwitter","parseFloat","toFixed","totalDirectDonationsNet","totalPopcornSales","totalEarnedProfits","donationsCount","text-inside","stroke-width","percentage","storePercent","parseInt","downloadCSV","safeEventOrderDetails","formatter","formatDate","calculatePopcornAmount","cell-class-name","getCellClass","formatCurrency","calculateFeesDeducted","calculateEarnings","dialogWidth","dialogTop","footer","inviteDonatorsSMS","invitedDonatorsSMS","donator","counter","addInvitedDonatorSMS","circle","removeDonatorSMS","EventTimer","invPartVisible","invitedDonators","storeorderdetails","reduce","sum","order","directDonation","directDonationAmount","directDonationFee","netDirectDonations","totalNetEarnings","grossSales","Array","isArray","orderTotal","total","console","log","totalNetSales","totalEarnings","extractRawEarnings","Intl","NumberFormat","currency","format","earned","toString","Math","trunc","isNaN","min","donators","dn","split","p","items","amount","storeviewid","orderdate","screen","marks","0","color","20","40","60","80","100","test","navigator","userAgent","encodeURI","column","greenColumns","redColumns","calculateEarningsPerStore","popcornEarnings","openSalesBreakdown","showSalesBreakdown","_","__","date","d","getTime","month","day","year","row","csvRows","map","createdAt","number","buyerName","seller","shippingFee","String","join","csvContent","blob","Blob","link","document","createElement","URL","createObjectURL","setAttribute","body","appendChild","removeChild","addInvitedDonator","last","validateEmail","regExp","removeDonator","splice","validatePhone","inviteDonators","emails","storeId","phones","shareOnFacebook3","FB","ui","method","display","picture","error_message","action_type","action_properties","JSON","stringify","object","shareOnFacebook","sendOnFacebook","open","put","extends","props","chartData","chartOptions","renderChart","msg","back","wi","hi","iframe","querySelector","screenWidth","storeOwner","eventTitle","storePercentEl","products","product","showProduct","closedProduct","leaderstores","storeleader","index","onmouseover","onmouseout","fullscreen","visible","before-close","bagsList","weight","freeShipping","totalPrice","setCount","count","enableAddToCart","addToCart","paymentSuccess","filledBags","foraceUpdate","selectedBags","bag","addFlavour","removeFlavour","selectedBagsCount","quantity","arrow","price","ingredients","show-close","close-on-click-modal","PaymentFormButton","b","item","selected","sBag","emptyItems","v","ShippingMethodID","shippingMethodID","shippingCost","bags","paymentFail","paymentMethod","orderStatus","paymentError","orderData","orderNum","deliveryMethod","shippingAddressString","billingAddressString","Product","ProductDetail","currentProduct","storeState","percentage1","eventCode","productDetail","opendate","alert","confirmButtonText","tab-position","tabsPosition","checkIfUserIsOrganizer","event1Rules","events","selectedevent","allStoresSubTotal","eventPayToName","eventPayToAddress","drag:action","on-change","w9Selected","auto-upload","drag","submitPayinfo","w9file","enableSubmit","profile","profileRules","Profile","Address","w9Url","val","eventPayOutAmount","concat","handleUploadError","handleUploadSuccess","getEventDetails","eventEdit","eventEditRules","confirmStopEvent","to","totalPopcornSalesNet","eventBreakDown","participantsCount","masterInviteUrl","invPartInfoVisible","invPartVisibleSMS","invitedParticipants2","participanttest","inviteStatus","createDate","resendInvite","setSelectedFile","invitedParticipant","storeGoalData","owner","netPopcornEarnings","earnedAmount","calculatedTotals","eventorderdetails","inviteParticipants","emailErrorMessage","emailValidRules","inviteParticipantsSMS","phoneValidRules","FileUploader","totalSales","eventSubtotal","totalElgibleProfit","shippingCosts","adminFee","invitedParticipants","invitestatus","organizername","createdate","storecode","csvEmails","responsive","animation","duration","hover","animationDiration","responsiveAnimationDuration","labels","position","storeMap","toLowerCase","salesMap","acc","sellerName","popcornSales","values","subtotal","participants","ps","orderBy","donatorsOrders","ordernum","participantname","eventChartData","datatemplate","datasets","backgroundColor","round","totalStoresEarned","participantsChartData","letters","floor","random","donatorsChartData","storeLink","calcTotals","calculateStoreGoalPercentage","storeOrders","directDonationFees","popcornAmount","safeCalculateEarnings","earnings","extractRawFeeDeducted","rawFee","organizerStoreTotal","organizerStoreSubTotal","readFile","resp1","inviteParticipantsCSV","resolve","fr","FileReader","onload","x","result","onerrror","readAsText","loadparticipants","addInvitedParticipant","removeParticipant","inviteRec","$confirm","cancelButtonText","stopEvent"],"mappings":"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","file":"js/app~21833f8f.a88d1e73.js","sourcesContent":["<template>\r\n <div></div>\r\n</template>\r\n\r\n<script>\r\n\r\n \r\n export default {\r\n name: \"PublicEvent\",\r\n components: { },\r\n data() {\r\n return {\r\n \r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style scoped>\r\n \r\n</style>","import { render } from \"./PublicEvent.vue?vue&type=template&id=0c49286f\"\nimport script from \"./PublicEvent.vue?vue&type=script&lang=js\"\nexport * from \"./PublicEvent.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","<template>\r\n <div v-if=\"!proceed\" class=\"global-message\">\r\n <el-alert v-show=\"proceedErrorMessage.length > 0\" :title=\"proceedErrorMessage\" :closable=\"false\"\r\n type=\"error\"\r\n effect=\"dark\">\r\n </el-alert>\r\n </div>\r\n <div id=\"\" class=\"container form-input form-center\" v-if=\"proceed\">\r\n <div class=\"row mt-5\">\r\n <div class=\"col-12 order-last order-sm-first col-sm-6 col-md-4 mt-sm-0 mt-3\" style=\"max-height:200px\">\r\n <div class=\"h5 font-weight-bold\">The Fundraising coordinator:</div>\r\n <div class=\"h6 font-weight-bold\">{{store.organizerName}} has invited you to participate in the Fundraiser:</div>\r\n <div class=\"h5\" style=\"color: #983222\">{{event.title}}</div>\r\n <div class=\"mt-2\" style=\"color: #983222\">Fundraiser Description:</div>\r\n <div class=\"\" style=\"color: #983222\">{{event.description}}</div>\r\n </div>\r\n <div class=\"col-12 order-first order-sm-last col-sm-6 col-md-8\">\r\n <div class=\"image-cover\" style=\"height:300px\">\r\n <el-image :src=\"event.imageSrc\" style=\"border-radius:30px\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\" style=\"justify-content:center\">\r\n <div class=\"col-12\">\r\n <transition name=\"el-fade-in-linear\" v-if=\"currentStep==1\">\r\n <div class=\"widget step\">\r\n <hr />\r\n <el-form :model=\"store\" :rules=\"step1Rules\" ref=\"step1Form\" :label-position=\"top\" hide-required-asterisk=\"true\" show-message=\"false\">\r\n <section class=\"\">\r\n <p class=\"\">Please personalize your store title for the event fundraiser, by entering your information into the fields below and click Next to complete the sign up process! This is your own personized eCommerce Store that you will be sending out to buyers, please add an appropriate title, description and picture that they will be able to identify you.</p>\r\n <p class=\"\">Remember you will earn 50% of your sales, minus shipping costs. So if you sell $1000 of Colorado Jack Popcorn your fundraiser will recieve $500 back. You will be able to track your totals in your own personal dashboard once you have signed up.</p>\r\n </section>\r\n <el-form-item label=\"Store Title\" prop=\"title\">\r\n <el-input v-model=\"store.title\" v-fancylabel></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"What is your sales goal for your store?\" prop=\"targetAmount\">\r\n <el-input type=\"tel\" v-model=\"store.targetAmount\" v-fancylabel></el-input>\r\n </el-form-item>\r\n <el-form-item prop=\"description\" label=\"Please add a description\">\r\n <el-input type=\"textarea\" :autosize=\"{ minRows: 5, maxRows: 10}\" v-model=\"store.description\" v-fancylabel></el-input>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button style=\"background-color: #983222\" type=\"primary\" @click=\"next('step1Form')\" :disabled=\"!form1Valid\" v-if=\"currentStep==1\" class=\"float-left\">NEXT</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </transition>\r\n <transition name=\"el-fade-in-linear\" v-if=\"currentStep==2\">\r\n <div class=\"widget step\">\r\n <hr />\r\n <el-form :model=\"store\" :rules=\"step2Rules\" ref=\"step2Form\" :label-position=\"top\" hide-required-asterisk=\"true\" show-message=\"false\">\r\n <section class=\"form-title\">\r\n <p class=\"mt-5 center\">Upload media for your store, this image will be overlayed on top of the Fundraiser image. Typically a picture of yourself would be preferred. This image can be changed once your store has been created.</p>\r\n </section>\r\n <el-form-element>\r\n <div style=\"height:200px;margin: 0 auto; margin-bottom:20px\">\r\n <ImageUploader @crop=\"setCropData\" @image-selected=\"setSelectedImage\" :showUploadButton=\"false\"></ImageUploader>\r\n </div>\r\n </el-form-element>\r\n <div class=\"mt-3\">\r\n <el-form-item>\r\n <el-button style=\"background-color: #983222\" type=\"primary\" @click=\"currentStep--\" class=\"float-left\">BACK</el-button>\r\n <el-button style=\"background-color: #983222\" type=\"primary\" @click=\"currentStep++\" v-if=\"currentStep==2\" class=\"float-left\">NEXT</el-button>\r\n </el-form-item>\r\n </div>\r\n </el-form>\r\n </div>\r\n </transition>\r\n <transition name=\"el-fade-in-linear\" v-if=\"currentStep==3&&store.formattdPhone!=''\">\r\n <div class=\"widget step\">\r\n <hr />\r\n <el-form :model=\"store\" :rules=\"step3Rules\" ref=\"step3Form\" :label-position=\"top\" hide-required-asterisk=\"true\" show-message=\"false\">\r\n <el-alert class=\"mt-4\" v-show=\"errorMessage1\" :title=\"errorMessage1\"\r\n type=\"error\"\r\n effect=\"dark\">\r\n </el-alert>\r\n <section class=\"form-title\">\r\n <h4>Complete your profile</h4>\r\n </section>\r\n <el-form-item label=\"User phone - 555-555-5555\" prop=\"phone\">\r\n <el-input type=\"text\" v-model=\"store.formattedPhone\" v-on:keyup.enter=\"focusOut\" @blur=\"focusOut\" v-fancylabel>{{store.formattedPhone}}</el-input>\r\n </el-form-item>\r\n <el-form-item label=\"Email Address\" prop=\"email\">\r\n <el-input type=\"text\" v-model=\"store.email\" v-fancylabel @change=\"confirmEmail\" v-on:keyup.enter=\"confirmEmail\" v-on:keydown.tab=\"confirmEmail\">{{store.email}}</el-input>\r\n </el-form-item>\r\n <el-form-item label=\"First Name\" prop=\"firstName\">\r\n <el-input type=\"text\" v-model=\"store.firstName\" v-fancylabel></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"Last Name\" prop=\"lastName\">\r\n <el-input type=\"text\" v-model=\"store.lastName\" v-fancylabel></el-input>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button style=\"background-color: #983222\" type=\"primary\" @click=\"currentStep--\" class=\"float-left\">BACK</el-button>\r\n <el-button style=\"background-color: #983222\" type=\"primary\" @click=\"sendConfirmPhoneCode\" :loading=\"loading\" class=\"float-left\">VERIFY PHONE</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </transition>\r\n <transition name=\"el-fade-in-linear\" v-if=\"currentStep==4&&store.formattdPhone!=''\">\r\n <div class=\"widget step\">\r\n <el-alert class=\"mt-4\" v-show=\"errorMessage1\" :title=\"errorMessage1\"\r\n type=\"error\"\r\n effect=\"dark\">\r\n </el-alert>\r\n <hr />\r\n <el-form :model=\"store\" :rules=\"step4Rules\" ref=\"step4Form\" :label-position=\"top\" hide-required-asterisk=\"true\" show-message=\"false\" @submit.prevent>\r\n <section class=\"form-title\">\r\n <h5 style=\"font-weight:500\">We have sent you a verification code to your phone {{store.formattedPhone}}, once you recieve it please enter it here:</h5>\r\n </section>\r\n <el-form-item>\r\n <el-input type=\"text\" style=\"width: 100%;\" v-model=\"store.phoneCode\" maxlength=\"6\" show-word-limit class=\"email-code\" autocomplete=\"off\" v-focus v-fancylabel v-on:keyup.enter=\"confirmPhoneCode\"></el-input>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button type=\"danger\" style=\"background-color: #983222\" @click=\"confirmPhoneCode\" :loading=\"loading\" class=\"float-left\">CONFIRM</el-button>\r\n <el-button type=\"primary\" plain @click=\"resendConfirmPhoneCode\" :loading=\"loading\" class=\"float-left\">RESEND</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </transition>\r\n <transition name=\"el-fade-in-linear\" v-if=\"currentStep==5\">\r\n <div class=\"widget step\">\r\n <hr />\r\n <el-alert class=\"mt-4\" v-show=\"errorMessage1\" :title=\"errorMessage1\"\r\n type=\"error\"\r\n effect=\"dark\">\r\n </el-alert>\r\n <el-form :model=\"store\" :rules=\"step5Rules\" ref=\"step5Form\" :label-position=\"top\" hide-required-asterisk=\"true\" show-message=\"false\" @submit.prevent>\r\n <div class=\"row col-12\" style=\"text-align: left\">\r\n <div class=\"col-md-4\">Phone Verfication Status:</div>\r\n <div class=\"row col-8 center font-weight-bold\" style=\"justify-content: left; color: #983222\">Success</div>\r\n </div>\r\n <div class=\"row col-12\" style=\"text-align: left\">\r\n <div class=\"col-md-4\">STORE TITLE:</div>\r\n <div class=\"row col-8 center font-weight-bold\" style=\"justify-content: left; color: #983222\">{{store.title}}</div>\r\n </div>\r\n <div class=\"row col-12\" style=\"text-align: left\">\r\n <div class=\"col-md-4\">STORE DESCRIPTION:</div>\r\n <div class=\"row col-8 center font-weight-bold\" style=\"justify-content: left; color: #983222\">{{store.description}}</div>\r\n </div>\r\n <div class=\"row col-12\" style=\"text-align: left\">\r\n <div class=\"col-md-4\">SALES GOAL:</div>\r\n <div class=\"row col-8 center font-weight-bold\" style=\"justify-content: left; color: #983222\">{{store.targetAmount}}</div>\r\n </div>\r\n <div class=\"row col-12\" style=\"text-align: left\">\r\n <div class=\"col-md-4\">NAME:</div>\r\n <div class=\"row col-8 center\" style=\"justify-content: left; color: #983222\"><span class=\"font-weight-bold\">{{store.firstName +' ' + store.lastName}}</span></div>\r\n </div>\r\n <div class=\"row col-12\" style=\"text-align: left\">\r\n <div class=\"col-md-4\">EMAIL:</div>\r\n <div class=\"row col-8 center font-weight-bold\" style=\"justify-content: left; color: #983222\">{{store.email}}</div>\r\n </div>\r\n <div class=\"row col-12\" style=\"text-align: left\">\r\n <div class=\"col-md-4\">PHONE:</div>\r\n <div class=\"row col-8 center font-weight-bold\" style=\"justify-content: left; color: #983222\">{{store.formattedPhone}}</div>\r\n </div>\r\n <div class=\"row col-12\" style=\"text-align: center; justify-content:center\">\r\n <div class=\"col-md-4\"></div>\r\n <div class=\"row col-8 center font-weight-bold\" style=\"justify-content:center\">\r\n <el-button type=\"danger\" style=\"background-color: #983222; width: 100%;\" @click=\"submitStore\" :loading=\"loading\" class=\"center\">Create Store</el-button>\r\n </div>\r\n </div>\r\n </el-form>\r\n </div>\r\n </transition>\r\n <transition name=\"el-fade-in-linear\" v-if=\"currentStep==6\">\r\n <div class=\"widget step\">\r\n <section class=\"row col-12\">\r\n <div class=\"col-md-4\"></div>\r\n <div class=\"col-md-8 h2 font-weight-bold center\" style=\"justify-content: center; text-align: center\">\r\n <i class=\"el-icon-circle-check\" style=\"color:#67C23A;\"></i>CONGRATULATIONS\r\n </div>\r\n <div class=\"row col-12 h5 mt-4\" style=\"text-align: center\">\r\n <div class=\"col-md-4\"></div>\r\n <div class=\"row col-8 center\" style=\"justify-content: center\"><span class=\"font-weight-bold\">{{store.firstName +' ' + store.lastName}}</span></div>\r\n </div>\r\n <div class=\"row col-12\" style=\"text-align: center\">\r\n <div class=\"col-md-4\"></div>\r\n <div class=\"row col-8 center h5\" style=\"justify-content:center\">Thanks for creating your Online Store:</div>\r\n </div>\r\n <div class=\"row col-12\" style=\"text-align: center\">\r\n <div class=\"col-md-4\"></div>\r\n <div class=\"row col-8 center h5 font-weight-bold\" style=\"justify-content:center\">{{store.title}}</div>\r\n </div>\r\n <div class=\"row col-12\">\r\n <div class=\"col-md-4\"></div>\r\n <div class=\"col-8 mt-4 center\" style=\"justify-content:center; text-align:center\">\r\n <el-button style=\"background-color: #983222\" type=\"primary\" @click=\"authenticateLogin\" :loading=\"loading\">Go to your Dashboard</el-button>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n </transition>\r\n </div> \r\n </div> \r\n </div>\r\n</template>\r\n\r\n<script>\r\n import axios from \"axios\"\r\n import store from \"@/store\"\r\n import ImageUploader from \"./ImageUploader\"\r\n import router from \"../router\";\r\n import { mapGetters } from \"vuex\"\r\n\r\n export default {\r\n name: 'SignupParticipant',\r\n components: { ImageUploader },\r\n data() {\r\n return {\r\n emailExists: false,\r\n isMounted: false,\r\n currentStep: 1, \r\n errorMessage: '',\r\n errorMessage1: '',\r\n step3FormValid:false,\r\n loading: false,\r\n file: null,\r\n proceed: false,\r\n proceedErrorMessage: '',\r\n statusMessage: '',\r\n userExists: false,\r\n preventNextIteration: false,\r\n event: {},\r\n store: { \r\n imageCropData: {},\r\n title: '',\r\n targetAmount:'',\r\n description: '',\r\n firstName: '',\r\n lastName: '',\r\n code: '',\r\n email: '',\r\n organizerName: '',\r\n phone: \"0\",\r\n formattedPhone: '',\r\n emailCode: '',\r\n phoneCode: '',\r\n encryptedEmailcode: '',\r\n eventId: '',\r\n },\r\n login: {\r\n mobile: '',\r\n email: '',\r\n password: ''\r\n },\r\n step1Rules: {\r\n title: [\r\n { required: true, message: 'store title is required', trigger: 'blur' }\r\n ],\r\n description: [\r\n { required: true, message: 'store description is required', trigger: 'blur' }\r\n ],\r\n targetAmount: [/* eslint-disable-next-line no-useless-escape*/\r\n { required: true, type:'string',pattern: /^\\d+(\\.\\d{1,2})?$/g, message: 'Enter the target amount', trigger: 'blur' }\r\n ],\r\n },\r\n step2Rules: {\r\n \r\n },\r\n step3Rules: {\r\n firstName: [\r\n { required: true, message: 'First Name is required', trigger: 'blur' }\r\n ],\r\n lastName: [\r\n { required: true, message: 'Last Name is required', trigger: 'blur' }\r\n ], \r\n email: [\r\n { required: true, type: 'email', message: 'Invalid email address', trigger: 'blur' }\r\n ],\r\n phone: [\r\n { required: true, type: 'string', pattern: /^\\(?\\d{3}\\)?[-\\s]?\\d{3}[-\\s]?\\d{4}$/g, message: 'A valid Phone Number is required', trigger: 'blur' }\r\n ] \r\n },\r\n step4Rules: {\r\n emailCode: [\r\n { required: true, message: 'Invalid verification code', trigger: 'blur' }\r\n ]\r\n },\r\n step5Rules: {\r\n password: [\r\n { required: true, type: 'string', pattern: /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,15}$/g, message: 'Password must be 8 to 15 characters with at least one lowercase, one uppercase letter, one numeric digit, and one special character:', trigger: 'blur' }\r\n ],\r\n confirmPassword: [\r\n {\r\n required: true,\r\n validator: (rule, value, callback) => {\r\n return value === this.store.password;\r\n }\r\n , message: 'Passwords are not matched', trigger: 'blur'\r\n }\r\n ],\r\n }\r\n }\r\n },\r\n methods: {\r\n focusOut: function (event) {\r\n if (['Arrow', 'Backspace', 'Shift'].includes(event.key)) {\r\n this.preventNextIteration = true;\r\n return;\r\n }\r\n if (this.preventNextIteration) {\r\n this.preventNextIteration = false;\r\n return;\r\n }\r\n this.store.phone = this.store.formattedPhone.replace(/-/g, '').match(/(\\d{1,10})/g)[0];\r\n\r\n // Format display value based on calculated currencyValue\r\n this.store.formattedPhone = this.store.phone.replace(/(\\d{1,3})(\\d{1,3})(\\d{1,4})/g, '$1-$2-$3'); \r\n },\r\n next(stepForm) {\r\n this.$refs[stepForm].validate((valid) => {\r\n if (valid)\r\n this.currentStep++;\r\n }); \r\n }, \r\n prev() {\r\n this.currentStep--;\r\n },\r\n validateForm(form) {\r\n let isValid = false;\r\n this.$refs[form].validate((valid) => {\r\n isValid = valid;\r\n });\r\n return isValid;\r\n },\r\n setCropData(data) {\r\n this.store.imageCropData = data;\r\n },\r\n setSelectedImage(file) {\r\n this.file = file;\r\n },\r\n confirmEmail() { \r\n this.loading = true;\r\n axios.post('/api/users/VerifyEmail', { email: this.store.email, firstName: this.store.firstName, lastName: this.store.lastName }).then(response => {\r\n this.loading = false;\r\n if (response.data) {\r\n this.store.firstName = response.data.firstName;\r\n this.store.lastName = response.data.lastName;\r\n this.emailExists = true;\r\n }\r\n else {\r\n this.emailExists = false;\r\n }\r\n //this.currentStep++;\r\n }).catch((error) => {\r\n this.errorMessage = error.response.data;\r\n this.loading = false;\r\n if (this.errorMessage == 'Okay, it looks like you are already registered your user account associated with this email.') {\r\n this.emailExists = true;\r\n }\r\n }); \r\n },\r\n authenticateLogin() {\r\n if (this.userExists) {\r\n this.loading = true;\r\n const loginUrl = \"/api/users/authenticate\";\r\n this.login.mobile = this.store.formattedPhone;\r\n axios.post(loginUrl, this.login).then(response => {\r\n this.loading = false;\r\n if (response.status === 200) {\r\n store.dispatch(\"login\", response);\r\n }\r\n else {\r\n this.errorMessage = response.message;\r\n }\r\n }).catch((error) => {\r\n this.loading = false;\r\n if (error && error.response && error.response.data)\r\n this.errorMessage = error.response.data.message;\r\n });\r\n } \r\n },\r\n sendVerificationCode() {\r\n if (this.validateForm('step3Form') === true) {\r\n this.loading = true;\r\n axios.post('/api/users/SendVerifyEmailCodeParticipant', { email: this.store.email, firstName: this.store.firstName, lastName: this.store.lastName }).then(response => {\r\n this.loading = false;\r\n this.store.encryptedEmailcode = response.data;\r\n this.currentStep++;\r\n }).catch((error) => {\r\n this.errorMessage = error.response.data;\r\n this.loading = false;\r\n if (this.errorMessage == 'Okay, it looks like you are already signed up, please sign in with your existing email address, once your signed in, you can choose to Create a New Fundraiser from the menu, if you do not have an existing event already running.') {\r\n this.emailExists = true;\r\n }\r\n });\r\n }\r\n },\r\n async resendConfirmEmailCode() {\r\n this.loading = true;\r\n await axios.post('/api/users/SendVerifyEmailCodeParticipant', { email: this.store.email, firstName: this.store.firstName, lastName: this.store.lastName }).then(response => {\r\n this.loading = false;\r\n if (response.status === 200) {\r\n this.store.encryptedEmailcode = response.data;\r\n }\r\n }).catch((error) => {\r\n this.errorMessage = error.response.data;\r\n this.loading = false;\r\n });\r\n },\r\n async confirmEmailCode() {\r\n this.loading = true;\r\n this.errorMessage = '';\r\n await axios.post('/api/users/VerifyEmailCode', { code: this.store.emailCode, encryptedCode: this.store.encryptedEmailcode }).then(response => {\r\n this.loading = false;\r\n this.currentStep++;\r\n }).catch((error) => {\r\n this.errorMessage = error.response.data;\r\n this.loading = false;\r\n });\r\n },\r\n sendConfirmPhoneCode() {\r\n if (this.validateForm('step3Form') === true) {\r\n this.loading = true;\r\n axios.post('/api/users/sendverifymobilecode', { phone: this.store.formattedPhone }).then(response => {\r\n this.loading = false;\r\n this.currentStep++;\r\n }).catch((error) => {\r\n this.errorMessage1 = error.response.data;\r\n this.loading = false;\r\n });\r\n }\r\n },\r\n async confirmPhoneCode() {\r\n this.loading = true;\r\n this.errorMessage = '';\r\n await axios.post('/api/users/verifymobilecode', { phone: this.store.formattedPhone, code: this.store.phoneCode }).then(response => {\r\n this.statusMessage = response.data.statusMessage;\r\n this.userExists = response.data.userExists;\r\n if (this.statusMessage == \"approved\") {\r\n this.loading = false;\r\n this.currentStep++;\r\n }\r\n this.loading = false;\r\n }).catch((error) => {\r\n this.errorMessage1 = error.response.data;\r\n this.loading = false;\r\n });\r\n },\r\n async resendConfirmPhoneCode() {\r\n this.loading = true;\r\n await axios.post('/api/users/sendverifymobilecode', { phone: this.store.formattedPhone }).then(response => {\r\n this.loading = false;\r\n if (response.status === 200) {\r\n this.$message({\r\n message: 'SMS login code resent.',\r\n type: 'success'\r\n });\r\n }\r\n }).catch((error) => {\r\n this.errorMessage1 = error.response.data;\r\n this.loading = false;\r\n });\r\n },\r\n async submitStore() { \r\n if (this.validateForm('step5Form') === true) {\r\n //set file\r\n var formData = new FormData();\r\n if (this.file != null) {\r\n formData.append(\"file\", this.file.raw);\r\n for (const [key, value] of Object.entries(this.store.imageCropData)) {\r\n formData.append(\"imageCropData.\" + key, value);\r\n }\r\n }\r\n\r\n for (const [key, value] of Object.entries(this.store)) {\r\n if (key === \"imageCropData\")\r\n continue;\r\n formData.append(key, value);\r\n }\r\n for (const [key, value] of Object.entries(this.store.imageCropData)) {\r\n formData.append(\"imageCropData.\" + key, value);\r\n }\r\n\r\n this.loading = true;\r\n await axios.post('/api/Participants/signupApp', formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n }).then(response => {\r\n this.userExists = true;\r\n this.loading = false;\r\n this.currentStep++; \r\n }).catch((error) => {\r\n this.errorMessage1 = error.response.data;\r\n this.loading = false;\r\n });\r\n }\r\n },\r\n gotoLogin() {\r\n router.push('/login');\r\n }\r\n },\r\n computed:{\r\n form1Valid() {\r\n let isValid = true;\r\n //if (!this.isMounted)\r\n // return false;\r\n //this.$refs['step1Form'].validate((valid) => {\r\n // isValid = valid;\r\n // });\r\n return isValid;\r\n },\r\n ...mapGetters([\r\n 'currentUserDetail'\r\n ])\r\n },\r\n async mounted() {\r\n this.store.code = this.$route.params.code;\r\n \r\n //check code\r\n if (this.$route.params.code != null) {\r\n await axios.get('/api/participants/CheckInviteCode?code=' + this.store.code).then(response => {\r\n this.store.organizerName = response.data.organizerName;\r\n this.store.email = response.data.email;\r\n this.store.phone = response.data.phone;\r\n this.store.eventId = response.data.event.id;\r\n this.event = response.data.event;\r\n this.proceed = true;\r\n }).catch((error) => {\r\n this.proceedErrorMessage = error.response.data;\r\n this.proceed = false;\r\n });\r\n }\r\n else if (this.$route.params.mobile != null) {\r\n await axios.get('/api/participants/CheckAppInviteCode/' + this.$route.params.mobile).then(response => {\r\n this.store.organizerName = response.data.organizerName;\r\n this.store.eventId = response.data.event.id;\r\n this.event = response.data.event;\r\n this.proceed = true;\r\n }).catch((error) => {\r\n this.proceedErrorMessage = error.response.data;\r\n this.proceed = false;\r\n });\r\n }\r\n \r\n },\r\n created() {\r\n this.store.email = this.currentUserDetail.email;\r\n this.store.formattedphone = this.currentUserDetail.phone;\r\n this.store.phone = this.currentUserDetail.phone;\r\n this.store.firstName = this.currentUserDetail.firstName;\r\n this.store.lastName = this.currentUserDetail.lastName;\r\n }\r\n }\r\n</script>\r\n\r\n\r\n<style scoped>\r\n .email-code {\r\n text-align: center;\r\n font-size:20px;\r\n width:45%;\r\n }\r\n button.facebook-button {\r\n background-color:#3b579d;\r\n border:0;\r\n border-radius:3px;\r\n padding:15px 20px;\r\n color:white;\r\n font-size:1rem;\r\n min-width:250px;\r\n }\r\n button.google-button {\r\n background-color: #DB4437;\r\n border: 0;\r\n border-radius: 3px;\r\n padding: 15px 20px;\r\n color: white;\r\n font-size: 1rem;\r\n min-width: 250px;\r\n }\r\n button.facebook-button i, button.google-button i {\r\n font-size: 1.3rem;\r\n }\r\n</style>\r\n","import { render } from \"./SignupParticipant.vue?vue&type=template&id=143b4872&scoped=true\"\nimport script from \"./SignupParticipant.vue?vue&type=script&lang=js\"\nexport * from \"./SignupParticipant.vue?vue&type=script&lang=js\"\n\nimport \"./SignupParticipant.vue?vue&type=style&index=0&id=143b4872&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-143b4872\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./SignupParticipant.vue?vue&type=style&index=0&id=143b4872&scoped=true&lang=css\"","<template>\r\n <div class=\"res-card center\"> \r\n <template v-if=\"resetPassword\">\r\n <section class=\"h5 font-weight-bold mb-3\">\r\n <span>RESET PASSWORD</span>\r\n </section>\r\n <div class=\"mb-3\">\r\n <el-alert v-show=\"errorMessage.length > 0\" :title=\"errorMessage\"\r\n type=\"error\"\r\n effect=\"dark\">\r\n </el-alert>\r\n <el-alert v-show=\"successMessage.length > 0\" :title=\"successMessage\"\r\n type=\"success\"\r\n effect=\"dark\">\r\n </el-alert>\r\n </div>\r\n <el-form :model=\"passwordData\" :rules=\"passwordRules\" ref=\"changePasswordForm\" :label-position=\"top\" hide-required-asterisk=\"true\" show-message=\"false\" @submit.prevent>\r\n \r\n <el-form-item label=\"PASSWORD\" prop=\"password\">\r\n <el-input type=\"password\" v-model=\"passwordData.password\" v-focus v-fancylabel v-on:keyup.enter=\"submitChanges\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"CONFIRM PASSWORD\" prop=\"confirmPassword\">\r\n <el-input type=\"password\" v-model=\"passwordData.confirmPassword\" v-fancylabel v-on:keyup.enter=\"submitChanges\"></el-input>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button type=\"primary\" @click=\"submitChanges\" :loading=\"loading\" class=\"float-left\">SUBMIT</el-button>\r\n </el-form-item>\r\n </el-form>\r\n </template>\r\n <template v-else>\r\n <section>You have reset your password click below to login with the new password</section>\r\n <section class=\"text-center\">\r\n <el-button type=\"primary\" @click=\"routeToLogin\" >LOGIN</el-button>\r\n </section>\r\n </template>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import axios from \"axios\"\r\n import router from \"../router\"; // our vue router instance\r\n\r\n export default {\r\n name: 'PasswordAndSecurity',\r\n components: { },\r\n data() {\r\n return {\r\n loading: false,\r\n resetPassword: true,\r\n errorMessage: '',\r\n successMessage:'',\r\n passwordData: {},\r\n passwordRules: {\r\n password: [\r\n { required: true, type: 'string', pattern: /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,15}$/g, message: 'Password must be 8 to 15 characters with at least one lowercase, one uppercase letter, one numeric digit, and one special character:', trigger: 'blur' }\r\n ],\r\n confirmPassword: [\r\n {\r\n required: true,\r\n validator: (rule, value, callback) => {\r\n return value === this.passwordData.password;\r\n }\r\n , message: 'Passwords are not matched', trigger: 'blur'\r\n }\r\n ]\r\n }\r\n }\r\n },\r\n methods: {\r\n submitChanges() {\r\n this.$refs[\"changePasswordForm\"].validate((valid) => {\r\n if (valid) {\r\n this.loading = true;\r\n this.passwordData.token = this.$route.query.token;\r\n this.passwordData.email = this.$route.query.email;\r\n axios.post(\"/api/users/resetpassword\", this.passwordData).then(response => {\r\n this.loading = false;\r\n if (response.data == \"1\") {\r\n this.resetPassword = false;\r\n this.errorMessage = \"\";\r\n this.successMessage = \"You have reset your password we are redirecting you to the login page\";\r\n router.push(\"/login\");\r\n }\r\n else {\r\n this.successMessage = \"\";\r\n this.errorMessage = \"Please try again later.\";\r\n }\r\n }).catch((error) => {\r\n this.loading = false;\r\n this.successMessage = \"\";\r\n this.errorMessage = \"Please try again later.\";\r\n });\r\n }\r\n });\r\n },\r\n routeToLogin() {\r\n router.push(\"/login\");\r\n }\r\n },\r\n computed: {\r\n \r\n },\r\n mounted() {\r\n \r\n },\r\n created() {\r\n \r\n }\r\n }\r\n</script>\r\n\r\n\r\n<style>\r\n \r\n</style>\r\n","import { render } from \"./ResetPassword.vue?vue&type=template&id=1515a822\"\nimport script from \"./ResetPassword.vue?vue&type=script&lang=js\"\nexport * from \"./ResetPassword.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./PublicStore.vue?vue&type=style&index=0&id=a663680a&scoped=true&lang=css\"","<template>\r\n <div class=\"row center col-md-12 justify-content-center mb-1\" style=\"padding-right:unset; padding-left:unset\">\r\n <!-- <img src=\"https://coloradojackgivebacksa.blob.core.windows.net/vuepublicpage/popcorn3200x800.webp\" class=\"col-md-12\" style=\"aspect-ratio:16/4; padding-left:0; padding-right:0\" />-->\r\n <img src=\"https://coloradojackgivebacksa.blob.core.windows.net/vuepublicpage/virutalfundraising.webp\" class=\"col-md-12 img-fluid\" style=\"padding-left:0; padding-right:0\" />\r\n </div>\r\n\r\n <!--<div class=\"row center col-md-10 justify-content-center mb-5\">\r\n <img src=\"https://coloradojackgivebacksa.blob.core.windows.net/vuepublicpage/kid_virtual.webp\" class=\"img-fluid col-md-4\" style=\"padding-left:0; padding-right:0\" />\r\n <div class=\"col-md-6\" style=\"color: white; background-color: #983222\">\r\n <H1 class=\"mb-2\" style=\"color: white;\">WHY ONLINE FUNDRAISING?</H1>\r\n <p class=\"mt-2 ml-5 el-icon-check\" style=\"color: white;\"> The product will be shipped directly to the donator, so there is no product to distribute and no payments to collect.</p>\r\n <p class=\"mt-2 ml-5 el-icon-check\" style=\"color: white;\"> The donator will pay for their order on the Online store.</p>\r\n <p class=\"mt-2 ml-5 el-icon-check\" style=\"color: white;\"> Invites are sent directly from the computer or mobile device to donators.</p>\r\n <p class=\"mt-2 ml-5 el-icon-check\" style=\"color: white;\"> Keep 50% of what you sell. Minus the shipping and handling fee's</p>\r\n <p class=\"mt-2 ml-5 el-icon-check\" style=\"color: white;\"> No order forms or paper to keep track of.</p>\r\n\r\n <h2 class=\"mt-2 ml-5\" style=\"color: white;\">Are you ready to start a new Online Fundraiser?</h2>\r\n <div class=\"mb-2\" style=\"text-align:center\">\r\n <el-button type=\"danger\" style=\"background-color: white; color: #983222; width: 60%; padding-bottom: 20px\" size=\"large\" @click=\"toNewEvent\">Start Today!</el-button>\r\n </div>\r\n </div>\r\n </div>-->\r\n <!-- <hr class=\"col-md-12 mb-1\" style=\"color: #983222; height: 20px; background-color: #983222;\" />-->\r\n\r\n <div class=\"row center col-md-10 justify-content-center mb-5\">\r\n <div class=\"col-md-10\" style=\"color: black; justify-content:center\">\r\n <H1 class=\"mb-2\" style=\"color: black;\">How does it work?</H1>\r\n <div class=\"row col-10 center\">\r\n <p class=\"mt-2 \" style=\"color: black;\">1. A fundraising coordinator will choose to create a new Online Fundraiser.</p>\r\n </div>\r\n <div class=\"row col-10 center\">\r\n <p class=\"mt-2 \" style=\"color: black;\">2. Once the fundraiser has been created, the coordinator will invite each team member/seller to create their own eCommerce store, in conjunction with the fundraiser, via email or sms.</p>\r\n </div>\r\n <div class=\"row col-10 center\">\r\n <p class=\"mt-2 \" style=\"color: black;\">3. After the team members/sellers accept the invite, they will be brought to a seller signup page where they will be prompted to create their own account and password. </p>\r\n </div>\r\n <div class=\"row col-10 center\">\r\n <p class=\"mt-2 \" style=\"color: black;\">4. The system will then automatically create a new online store customized for each fundraising seller. The sellers can then share a link to their store with others via SMS/Email or social media.</p>\r\n </div>\r\n <div class=\"row col-10 center\">\r\n <p class=\"mt-2 \" style=\"color: black;\">5. Sellers will also be able to monitor store goals and store donations in their seller dashboard.</p>\r\n </div>\r\n\r\n <div class=\"row mb-2 col-10 center\" style=\"text-align:center; justify-content:center\">\r\n <el-button type=\"danger\" style=\"background-color: #983222; color: white; padding-bottom: 20px; min-width:300px\" size=\"large\" @click=\"toNewEvent\">Start Today!</el-button>\r\n </div>\r\n </div> \r\n </div>\r\n <hr />\r\n <div class=\"row center justify-content-center\" v-if=\"stores.length > 0\">\r\n <h1 class=\"mb-2\" style=\"color: black;\">Check out some of the current online fundraising stores!</h1>\r\n </div>\r\n <div class=\"row center col-12 justify-content-center\" v-if=\"stores.length > 0\">\r\n <el-carousel interval=\"4000\" indicator-position=\"outside\" height=\"900px\" style=\"width:1200px\">\r\n <el-carousel-item v-for=\"store in stores\" :key=\"store.id\">\r\n <el-card style=\"padding-top:30px; padding-right:60px; padding-left:60px; padding-bottom:30px;\">\r\n <div class=\"image-cover\">\r\n <el-image :src=\"store.imageSrc\" style=\"border-radius:30px\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n <div class=\"img-overlay\">\r\n <el-image :src=\"store.eventImageSrc\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n </div>\r\n </div>\r\n <h6 class=\"mt-1\">Total store sales: ${{store.subTotal}} towards goal of: ${{store.targetAmount}}</h6>\r\n <h6 class=\"mt-1\">Fundraising team total sales: ${{store.eventSubTotal}}</h6>\r\n <h2 class=\"mt-2\" style=\"color: #983222;\"><a :href=\"store.publicUrl\" target=\"_blank\" class=\"center\"><h5 class=\"center\" style=\"justify-content: center; color: #9A3324\">{{store.title}}</h5></a></h2>\r\n <h6 class=\"mt-2 overflow-auto\" style=\"text-align:left\">{{store.description}}</h6>\r\n </el-card>\r\n </el-carousel-item>\r\n </el-carousel>\r\n </div>\r\n\r\n</template>\r\n\r\n<script>\r\n import axios from \"axios\"\r\n import router from \"../router\";\r\n import { mapGetters } from \"vuex\"\r\n\r\nexport default {\r\n name: 'VirtualFundraising',\r\n data() {\r\n return {\r\n stores: [],\r\n }\r\n },\r\n methods: {\r\n toNewEvent() {\r\n router.push(\"/Signup\");\r\n },\r\n toLogin() {\r\n router.push(\"/login\");\r\n },\r\n openDetail(store) {\r\n //this.loading = true;\r\n router.push('/store/public/' + store.code); \r\n //this.loading = false;\r\n },\r\n },\r\n computed: {\r\n ...mapGetters([\r\n 'isAuthenticated', 'cart', 'currentUserDetail'\r\n ])\r\n },\r\n created() {\r\n axios.get(\"/api/stores/getpublicstores\").then(response => {\r\n this.stores = response.data.filter(i => i.status === \"Open\"); \r\n //this.stores = response.data; \r\n });\r\n \r\n }\r\n}\r\n</script>\r\n\r\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\r\n<style scoped>\r\n\r\n \r\n\r\n /* page content */\r\n h1, h2, h3, h4, h5 {\r\n /*font-family: Trebuchet MS;*/\r\n font-weight: bold;\r\n text-align: center;\r\n }\r\n h6 {\r\n /*font-family: Trebuchet MS;*/\r\n text-align: center;\r\n }\r\n\r\n .res-card {\r\n background-color: white;\r\n }\r\n \r\n .multi-bg-example {\r\n width: 100%;\r\n height: 800px;\r\n background-image: url(\"https://coloradojackgivebacksa.blob.core.windows.net/publicwebsiteimages/5 Flavors with corn cobs.png\");\r\n background-repeat: no-repeat;\r\n background-position: bottom right, left, right;\r\n }\r\n\r\n .jumbotron-welcome {\r\n background-image: url(\"https://coloradojackgivebacksa.blob.core.windows.net/vuepublicpage/Kid.jpg\");\r\n background-size: cover;\r\n color: white;\r\n }\r\n\r\n /* Small devices (landscape phones, 544px and up) */\r\n @media (min-width: 380px) {\r\n p {\r\n font-size: 1.0rem;\r\n }\r\n h1 {\r\n font-size: 1.5rem;\r\n }\r\n h2 {\r\n font-size: 1.0rem;\r\n }\r\n h5 {\r\n font-size: 1.0rem;\r\n }\r\n h6 {\r\n font-size: 1.0rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Small devices (landscape phones, 544px and up) */\r\n @media (min-width: 544px) {\r\n p {\r\n font-size: 1.0rem;\r\n }\r\n h1 {\r\n font-size: 1.5rem;\r\n }\r\n h2 {\r\n font-size: 1.25rem;\r\n }\r\n h5 {\r\n font-size: 1.00rem;\r\n }\r\n h6 {\r\n font-size: 1.0rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Medium devices (tablets, 768px and up) The navbar toggle appears at this breakpoint */\r\n @media (min-width: 768px) {\r\n p {\r\n font-size: 1.0rem;\r\n }\r\n h1 {\r\n font-size: 2.0rem;\r\n }\r\n h2 {\r\n font-size: 1.75rem;\r\n }\r\n h5 {\r\n font-size: 1.25rem;\r\n }\r\n h6 {\r\n font-size: 1.0rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Large devices (desktops, 992px and up) */\r\n @media (min-width: 992px) {\r\n p {\r\n font-size: 1.25rem;\r\n }\r\n h1 {\r\n font-size: 2.5rem;\r\n }\r\n h2 {\r\n font-size: 2.0rem;\r\n }\r\n h5 {\r\n font-size: 1.5rem;\r\n }\r\n h6 {\r\n font-size: 1.1rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Extra large devices (large desktops, 1200px and up) */\r\n @media (min-width: 1200px) {\r\n p {\r\n font-size: 1.50rem;\r\n }\r\n h1 {\r\n font-size: 3.0rem;\r\n }\r\n h2 {\r\n font-size: 2.5rem;\r\n }\r\n h5 {\r\n font-size: 2.0rem;\r\n }\r\n h6 {\r\n font-size: 1.2rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n .video-container {\r\n position: relative;\r\n padding-bottom: 56.25%;\r\n padding-top: 30px;\r\n height: 0;\r\n overflow: hidden;\r\n }\r\n\r\n .video-container iframe, .video-container object, .video-container embed {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n /* .el-carousel__item h1 {\r\n display: flex;\r\n color: #475669;\r\n opacity: 0.75;\r\n line-height: 600px;\r\n margin: 0;\r\n max-width: 100%;\r\n }*/\r\n</style>\r\n","import { render } from \"./VirtualFundraising.vue?vue&type=template&id=eb5eab24&scoped=true\"\nimport script from \"./VirtualFundraising.vue?vue&type=script&lang=js\"\nexport * from \"./VirtualFundraising.vue?vue&type=script&lang=js\"\n\nimport \"./VirtualFundraising.vue?vue&type=style&index=0&id=eb5eab24&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-eb5eab24\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StoreDetail.vue?vue&type=style&index=0&id=ed6598c2&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ProductDetail.vue?vue&type=style&index=0&id=16b07b16&lang=css\"","import axios from \"axios\";\r\nimport store from \"../store\";\r\nimport router from \"../router\";\r\n\r\nexport default function axiosSetUp() {\r\n // Add a request interceptor\r\n axios.interceptors.request.use(\r\n function (config) {\r\n // Do something before request is sent\r\n const token = store.getters.accessToken;\r\n if (token) {\r\n config.headers.Authorization = `Bearer ${token}`;\r\n }\r\n return config;\r\n },\r\n function (error) {\r\n // Do something with request error\r\n return Promise.reject(error);\r\n }\r\n );\r\n\r\n // Add a response interceptor\r\n axios.interceptors.response.use(\r\n function (response) {\r\n // Any status code that lie within the range of 2xx cause this function to trigger\r\n // Do something with response data\r\n return response;\r\n },\r\n async function (error) {\r\n // Any status codes that falls outside the range of 2xx cause this function to trigger\r\n // Do something with response error\r\n const originalRequest = error.config;\r\n if (error && error.response &&\r\n error.response.status === 401 &&\r\n originalRequest.url.includes(\"users/refresh-token/\")\r\n ) {\r\n store.commit(\"clearUserData\");\r\n router.push(\"/login\");\r\n return Promise.reject(error);\r\n } else if (error.response.status === 401 && !originalRequest._retry) {\r\n originalRequest._retry = true;\r\n await store.dispatch(\"refreshToken\");\r\n return axios(originalRequest);\r\n }\r\n return Promise.reject(error);\r\n }\r\n );\r\n}","import 'bootstrap/dist/css/bootstrap.css'\r\nimport 'bootstrap/dist/js/bootstrap.js'\r\nimport './assets/css/app.css'\r\nimport './assets/css/element-override.css'\r\nimport './assets/fontawesome-free-5.15.3-web/css/all.min.css'\r\nimport { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport store from './store'\r\nimport axiosSetup from \"./helpers/axios_interceptors\";\r\nimport 'element-plus/lib/theme-chalk/index.css';\r\nimport { Chart } from 'chart.js';\r\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\r\nimport VueCropper from 'vue-cropperjs';\r\nimport 'cropperjs/dist/cropper.css';\r\nimport * as $ from \"jquery\";\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\n\r\nChart.register(ChartDataLabels);\r\n\r\nimport {\r\n ElAlert,\r\n ElAside,\r\n ElAutocomplete,\r\n ElAvatar,\r\n ElBacktop,\r\n ElBadge,\r\n ElBreadcrumb,\r\n ElBreadcrumbItem,\r\n ElButton,\r\n ElButtonGroup,\r\n ElCalendar,\r\n ElCard,\r\n ElCarousel,\r\n ElCarouselItem,\r\n ElCascader,\r\n ElCascaderPanel,\r\n ElCheckbox,\r\n ElCheckboxButton,\r\n ElCheckboxGroup,\r\n ElCol,\r\n ElCollapse,\r\n ElCollapseItem,\r\n ElCollapseTransition,\r\n ElColorPicker,\r\n ElContainer,\r\n ElDatePicker,\r\n ElDialog,\r\n ElDivider,\r\n ElDrawer,\r\n ElDropdown,\r\n ElDropdownItem,\r\n ElDropdownMenu,\r\n ElFooter,\r\n ElForm,\r\n ElFormItem,\r\n ElHeader,\r\n ElIcon,\r\n ElImage,\r\n ElInput,\r\n ElInputNumber,\r\n ElLink,\r\n ElMain,\r\n ElMenu,\r\n ElMenuItem,\r\n ElMenuItemGroup,\r\n ElOption,\r\n ElOptionGroup,\r\n ElPageHeader,\r\n ElPagination,\r\n ElPopconfirm,\r\n ElPopover,\r\n ElPopper,\r\n ElProgress,\r\n ElRadio,\r\n ElRadioButton,\r\n ElRadioGroup,\r\n ElRate,\r\n ElRow,\r\n ElScrollbar,\r\n ElSelect,\r\n ElSlider,\r\n ElStep,\r\n ElSteps,\r\n ElSubmenu,\r\n ElSwitch,\r\n ElTabPane,\r\n ElTable,\r\n ElTableColumn,\r\n ElTabs,\r\n ElTag,\r\n ElTimePicker,\r\n ElTimeSelect,\r\n ElTimeline,\r\n ElTimelineItem,\r\n ElTooltip,\r\n ElTransfer,\r\n ElTree,\r\n ElUpload,\r\n ElInfiniteScroll,\r\n ElLoading,\r\n ElMessage,\r\n ElMessageBox,\r\n ElNotification,\r\n} from 'element-plus';\r\n\r\nconst components = [\r\n ElAlert,\r\n ElAside,\r\n ElAutocomplete,\r\n ElAvatar,\r\n ElBacktop,\r\n ElBadge,\r\n ElBreadcrumb,\r\n ElBreadcrumbItem,\r\n ElButton,\r\n ElButtonGroup,\r\n ElCalendar,\r\n ElCard,\r\n ElCarousel,\r\n ElCarouselItem,\r\n ElCascader,\r\n ElCascaderPanel,\r\n ElCheckbox,\r\n ElCheckboxButton,\r\n ElCheckboxGroup,\r\n ElCol,\r\n ElCollapse,\r\n ElCollapseItem,\r\n ElCollapseTransition,\r\n ElColorPicker,\r\n ElContainer,\r\n ElDatePicker,\r\n ElDialog,\r\n ElDivider,\r\n ElDrawer,\r\n ElDropdown,\r\n ElDropdownItem,\r\n ElDropdownMenu,\r\n ElFooter,\r\n ElForm,\r\n ElFormItem,\r\n ElHeader,\r\n ElIcon,\r\n ElImage,\r\n ElInput,\r\n ElInputNumber,\r\n ElLink,\r\n ElMain,\r\n ElMenu,\r\n ElMenuItem,\r\n ElMenuItemGroup,\r\n ElOption,\r\n ElOptionGroup,\r\n ElPageHeader,\r\n ElPagination,\r\n ElPopconfirm,\r\n ElPopover,\r\n ElPopper,\r\n ElProgress,\r\n ElRadio,\r\n ElRadioButton,\r\n ElRadioGroup,\r\n ElRate,\r\n ElRow,\r\n ElScrollbar,\r\n ElSelect,\r\n ElSlider,\r\n ElStep,\r\n ElSteps,\r\n ElSubmenu,\r\n ElSwitch,\r\n ElTabPane,\r\n ElTable,\r\n ElTableColumn,\r\n ElTabs,\r\n ElTag,\r\n ElTimePicker,\r\n ElTimeSelect,\r\n ElTimeline,\r\n ElTimelineItem,\r\n ElTooltip,\r\n ElTransfer,\r\n ElTree,\r\n ElUpload,\r\n]\r\n\r\nconst plugins = [\r\n ElInfiniteScroll,\r\n ElLoading,\r\n ElMessage,\r\n ElMessageBox,\r\n ElNotification,\r\n]\r\n\r\nconst appInsights = new ApplicationInsights({\r\n config: {\r\n connectionString: 'InstrumentationKey=b3ee4aac-8975-4892-bc79-ea11f1848ccc;IngestionEndpoint=https://centralus-0.in.applicationinsights.azure.com/;LiveEndpoint=https://centralus.livediagnostics.monitor.azure.com/'\r\n /* ...Other Configuration Options... */\r\n }\r\n});\r\nappInsights.loadAppInsights();\r\nappInsights.trackPageView(); // Manually call trackPageView to establish the current user/session/pageview\r\n\r\n// call the axios setup method here\r\naxiosSetup();\r\n\r\nconst createdApp = createApp(App);\r\ncreatedApp.use(store).use(router).use(ElSelect, { size: 'large', zIndex: 3000 });\r\n\r\ncomponents.forEach(component => {\r\n createdApp.component(component.name, component)\r\n})\r\n\r\ncreatedApp.component('VueCropper',VueCropper);\r\n\r\nplugins.forEach(plugin => {\r\n createdApp.use(plugin)\r\n})\r\n\r\ncreatedApp.directive('fancylabel', {\r\n //When the bound element is mounted into the DOM...\r\n mounted(el, binding, vnode) {\r\n const element = el.querySelectorAll('input,textarea,select')[0];\r\n if (element) {\r\n const $this = $(element);\r\n \r\n const $label = $this.parents(\".el-form-item\").find(\"label.el-form-item__label\");\r\n if ($this.attr('disabled'))\r\n $label.addClass(\"top\");\r\n //Wait 100 ms for the input to get it's value rendered because the directive added to el-input not input\r\n window.setTimeout(function () {\r\n if (element.value != null && element.value.trim().length > 0) {\r\n $label.addClass(\"top\");\r\n }\r\n }, 100);\r\n\r\n $this.focus(function () {\r\n $label.addClass(\"top\");\r\n });\r\n\r\n }\r\n }\r\n});\r\n\r\ncreatedApp.directive('focus', {\r\n // When the bound element is mounted into the DOM...\r\n mounted(el, binding, vnode) {\r\n const element = el.querySelectorAll('input,textarea,select')[0];\r\n if (element) { \r\n const $this = $(element);\r\n const $label = $this.parents(\".el-form-item\").find(\"label.el-form-item__label\");\r\n $label.addClass(\"top\");\r\n element.focus();\r\n }\r\n }\r\n});\r\n\r\ncreatedApp.directive('focusbutton', {\r\n // When the bound element is mounted into the DOM...\r\n mounted(el, binding, vnode) {\r\n const element = el.getElementsByTagName('button')[0];\r\n if (element) {\r\n element.focus();\r\n }\r\n }\r\n});\r\n\r\n\r\ncreatedApp.mount('#app')\r\n\r\n","<template>\r\n <div class=\"container\" :loading=\"loading\">\r\n <div class=\"row no-gutters\" v-if=\"!editMode\">\r\n <div class=\"col-8 h4 font-weight-normal pt-2 pb-2 p-sm-0 pb-sm-3 elipssis center\" style=\"justify-content: center; text-align: center\">\r\n <a :href=\"store.publicUrl\" class=\"center\"><h5 class=\"center\" style=\"justify-content: center; color: #9A3324\">{{storeEdit.title}}</h5></a>\r\n </div>\r\n </div>\r\n <div class=\"row no-gutters\">\r\n <div class=\"col image-cover\">\r\n <el-image style=\"border-radius:30px\" :src=\"store.eventImageSrc\" v-if=\"!editMode\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n <div class=\"img-overlay mt-lg-5\">\r\n <el-image :src=\"store.imageSrc\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n </div>\r\n <ImageUploader @crop=\"setCropData\" @image-selected=\"setSelectedImage\" v-if=\"editMode\" :image=\"store.imageSrc\"></ImageUploader>\r\n </div>\r\n </div>\r\n <div class=\"row pt-1 pb-1\" style=\"justify-content:center; text-align:center\">\r\n <div class=\"header-text col-10 col-lg-6 mb-1 mb-lg-0 mt-3\">\r\n <div v-if=\"store.status=='Open'||store.status=='Draft'\">\r\n <div class=\"row\">\r\n <div class=\"col-12\"><h4>Store will open in:</h4></div>\r\n </div>\r\n <div class=\"row no-gutters\">\r\n <div class=\"col-12\"><h5 style=\"color: #983222\"><EventTimer v-bind:startDate=\"Date.now()\" v-bind:endDate=\"store.startDate\" v-if=\"store.endDate!=null\"></EventTimer></h5></div>\r\n </div>\r\n </div>\r\n <div v-else>\r\n <div class=\"row\">\r\n <div class=\"col-12\"><h4>Store Closed</h4></div>\r\n </div>\r\n </div>\r\n </div> \r\n </div>\r\n <div class=\"row no-gutters mt-lg-5\" v-if=\"editMode\">\r\n <div class=\"col-12\">\r\n <el-form :model=\"storeEdit\" :rules=\"storeEditRules\" ref=\"storeEditForm\" :label-position=\"top\" hide-required-asterisk=\"true\">\r\n <el-form-item label=\"TITLE\" prop=\"title\">\r\n <el-input v-model=\"storeEdit.title\" v-fancylabel v-on:keyup.enter=\"saveChanges\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"DESCRIPTION\" prop=\"description\">\r\n <el-input v-model=\"storeEdit.description\" v-fancylabel v-on:keyup.enter=\"saveChanges\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"STORE TARGET AMOUNT\" prop=\"targetamount\">\r\n <el-input v-model=\"storeEdit.targetamount\" v-fancylabel v-on:keyup.enter=\"saveChanges\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </div>\r\n <!-- <hr class=\"d-none d-sm-block\" />-->\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <h6><label class=\"top-label\">Closed Store Information</label></h6>\r\n <div class=\"title\">\r\n <div style=\"overflow: hidden; \">\r\n <div class=\"row\" v-if=\"store.status=='Open'||store.status=='Draft'\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Edit Store:</h6></div>\r\n <el-button-group class=\"col-8\">\r\n <el-button style=\"width: 130px; background-color: #983222\" class=\"mr-2\" type=\"info\" size=\"small\" icon=\"el-icon-edit-outline\" @click=\"editMode=true\" v-if=\"!editMode\" title=\"Edit Store, this button allows you to make changes to Store title, Description and Store Picture!\">Edit Store</el-button>\r\n <el-button style=\"width: 130px; background-color: red\" class=\"mr-2\" type=\"info\" size=\"small\" icon=\"el-icon-check\" :loading=\"loading\" @click=\"saveChanges\" v-if=\"editMode\" title=\"Save Changes to Store!\">Save Changes</el-button>\r\n </el-button-group>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Store Status:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>{{store.status}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Store Title:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>{{storeEdit.title}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Store Description:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>{{storeEdit.description}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Open your Store page:</h6></div>\r\n <div class=\"col-8 text-left\">\r\n <div class=\"col-8 elipssis pl-0\" v-if=\"store.code!=null\"><a :href=\"store.publicUrl\" target=\"_blank\" class=\"center\"><h6 class=\"center\" style=\"justify-content: center; color: #9A3324\">{{storeEdit.title}}</h6></a></div>\r\n <!--<a :href=\"store.publicUrl\" id=\"storeCode\" :data-copy=\"store.publicUrl\" title=\"Go to Online store page\"><h6 style=\"color: #9A3324\">{{storeEdit.title}}</h6></a>-->\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Copy Link to Online Store:</h6></div>\r\n <el-popover placement=\"top\"\r\n :width=\"650\"\r\n auto-close=\"4000\"\r\n :trigger=\"click\"\r\n effect=\"dark\"\r\n content=\"Copied Online Store to clipboard, you can now paste the link into an Email or SMS message!\">\r\n <template #reference>\r\n <h6 class=\"col-7 el-icon-copy-document c-pointer h6\" style=\"color: #9A3324\" title=\"Copy Online Store URL to your clipboard, then you can paste into an email or text message\" id=\"storeCode\" :data-copy=\"store.publicUrl\" @click=\"copyCode\"> {{store.publicUrl}}</h6>\r\n </template>\r\n </el-popover>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Fundraiser Start Date:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>{{new Date(store.eventStartDate).toLocaleDateString(\"en-US\",{ year: 'numeric', month: 'long', day: 'numeric' })}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Fundraiser End Date:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>{{new Date(store.eventEndDate).toLocaleDateString(\"en-US\",{ year: 'numeric', month: 'long', day: 'numeric' })}}</h6></div>\r\n </div>\r\n <div class=\"row\" v-if=\"hasRunningEvent\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Fundraiser:</h6></div>\r\n <a class=\"col-8 text-left nav-link c-pointer\" style=\"font-size:16px; color: #9A3324\" @click=\"toEvent\"><h6>Go Back to Running Fundraiser Dashboard</h6></a>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Share Store:</h6></div>\r\n <div class=\"col-8\" v-if=\"store.status=='Open'||store.status=='Draft'\">\r\n <el-button-group>\r\n <a style=\"background-color:aquamarine\" class=\"el-button el-button--small mr-2\" v-bind:href=\"smsUrl\" v-if=\"isMobile\"><i class=\"fas fa-sms\" style='color: white'></i></a>\r\n <el-button v-if=\"!isMobile\" class=\"mr-1\" size=\"small\" type=\"success\" icon=\"fas fa-sms\" @click=\"invDonatorSMSVisible=true\" title=\"Share your fundraising Store via SMS!\"></el-button>\r\n <el-button class=\"mr-1\" type=\"primary\" size=\"small\" icon=\"fas fa-envelope\" @click=\"invDonatorVisible=true\" title=\"Share your fundraising Store via Email!\"></el-button>\r\n <a class=\"share-facebook el-button el-button--small mr-1\" @click=\"shareOnFacebook2\"><i class=\"fab fa-facebook\" title=\"Share your Fundraising Store on Facebook\"></i></a>\r\n <a class=\"share-twitter el-button el-button--small\" @click=\"shareOnTwitter\"><i class=\"fab fa-twitter\" title=\"Share your Fundraising Store on Twitter\"></i></a>\r\n <!--<a style=\"width:130px; background-color:aquamarine\" class=\"el-button el-button--small mr-2\" href=\"`sms:+17018665998?&body={this.store.publicUrl}`\" v-if=\"isMobile\">Share SMS on Phone</a>-->\r\n </el-button-group>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"statistics\">\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Store Fundrainsing Goal:</h6></div>\r\n <div class=\"col-2 text-left\"><h6 class=\"money\">{{parseFloat(storeEdit.targetamount).toFixed(2)}}</h6></div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Total Direct Donations (After Fees):</h6></div>\r\n <div class=\"col-8 text-left\"><h6 class=\"money\">{{totalDirectDonationsNet}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Total Popcorn Earnings (50%):</h6></div>\r\n <div class=\"col-8 text-left\"><h6 class=\"money\">{{totalPopcornSales}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Total Fundraiser Earnings:</h6></div>\r\n <div class=\"col-8 text-left\"><h6 class=\"\">{{totalEarnedProfits}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Number of Donations:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>{{store.donationsCount}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Store Progress (%):</h6></div>\r\n <div class=\"col-8 font-weight-normal\">\r\n <el-progress text-inside=\"true\" stroke-width=\"20\" :percentage=\"storePercent\" status=\"success\" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12\">\r\n <label class=\"top-label\"><h6>STORE EARNINGS BREAKDOWN</h6></label>\r\n <el-badge :value=\"store.donationsCount\" v-if=\"parseInt(store.donationsCount)>0\" class=\"count\" title=\"This is the Number of people that have donated to your cause!\">\r\n </el-badge>\r\n\r\n <div class=\"donators\">\r\n <div class=\"row\" style=\"justify-content:center\">\r\n <el-button size=\"small\" style=\"background-color: #983222;\" type=\"danger\" @click=\"downloadCSV\">Download CSV</el-button>\r\n </div>\r\n <hr />\r\n\r\n <el-table :data=\"safeEventOrderDetails\" size=\"mini\" style=\"width:100%\" height=\"350\">\r\n <el-table-column prop=\"createdAt\" label=\"Order Date\" width=\"150\" :formatter=\"formatDate\" />\r\n <el-table-column prop=\"number\" label=\"Order Number\" width=\"175\" />\r\n <el-table-column prop=\"buyerName\" label=\"Buyer Name\" width=\"150\" />\r\n <el-table-column label=\"Popcorn Sale Earnings\"\r\n width=\"160\"\r\n :formatter=\"calculatePopcornAmount\"\r\n :cell-class-name=\"getCellClass\" />\r\n <el-table-column prop=\"directDonationAmount\"\r\n label=\"Direct Donations\"\r\n width=\"150\"\r\n :formatter=\"formatCurrency\"\r\n :cell-class-name=\"getCellClass\" />\r\n <el-table-column label=\"Processing Fee\"\r\n width=\"150\"\r\n :formatter=\"calculateFeesDeducted\"\r\n :cell-class-name=\"getCellClass\" /> \r\n <el-table-column label=\"Order Earnings\"\r\n width=\"150\"\r\n :formatter=\"calculateEarnings\"\r\n :cell-class-name=\"getCellClass\" />\r\n </el-table>\r\n\r\n <!-- Summary Section -->\r\n <hr />\r\n <div class=\"summary-section\">\r\n <div class=\"row\">\r\n <div class=\"col-9\"><h6>Total Profit Earned:</h6></div>\r\n <div class=\"col-3 text-left\"><h6 style=\"color: green\">{{ totalEarnedProfits }}</h6></div>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"fundraiser-earnings-explainer\">\r\n <h6>📊 How Fundraiser Earnings Are Calculated:</h6>\r\n <ul>\r\n <li><strong>Popcorn Sales:</strong> 50% of total popcorn sales go directly to the fundraiser.</li>\r\n <li><strong>Direct Donations:</strong> 90% of each donation goes to the fundraiser, with a 10% fee deducted to cover credit card processing, hosting, website maintenance, and operational costs.</li>\r\n </ul>\r\n <p><strong>Final Formula:</strong></p>\r\n <p>\r\n <code>Total Earnings = (Popcorn Sales / 2) + (Direct Donations × 90%)</code>\r\n </p>\r\n </div>\r\n </div>\r\n </div> \r\n </div>\r\n </div>\r\n\r\n <el-dialog title=\"INVITE BUYERS WITH SMS\" :width=\"dialogWidth\" :top=\"dialogTop\" v-model=\"invDonatorSMSVisible\">\r\n <div class=\"\" style=\"overflow:auto\">\r\n <form novalidate>\r\n <el-alert v-show=\"errorMessage.length>0\" :title=\"errorMessage\"\r\n type=\"error\"\r\n effect=\"dark\">\r\n </el-alert>\r\n <div class=\"row no-gutters pb-2 h5\">\r\n <div class=\"col-12 text-break\">\r\n Currently your store is not open for ordering, but you can still invite buyers to view it, they can use the link later once the store is open.\r\n </div>\r\n </div>\r\n <div class=\"row no-gutters pb-2 h5\">\r\n <div class=\"col-12\">\r\n PHONE NUMBER\r\n </div>\r\n </div>\r\n <div class=\"row no-gutters align-items-center pb-2\" v-for=\"donator in invitedDonatorsSMS\" :key=\"donator.counter\">\r\n <div class=\"col-9\">\r\n <el-input type=\"text\" size=\"medium\" @input=\"addInvitedDonatorSMS\" v-model=\"donator.phone\"></el-input>\r\n </div>\r\n <div class=\"col-1\"></div>\r\n <div class=\"col-2\" v-if=\"donator.counter > 0\">\r\n <el-button style=\"background-color: #983222\" type=\"danger\" icon=\"el-icon-close\" circle @click=\"removeDonatorSMS(donator)\"></el-button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"invDonatorSMSVisible=false\">Cancel</el-button>\r\n <el-button style=\"background-color: #983222\" type=\"danger\" @click=\"inviteDonatorsSMS\" :loading=\"loading\">INVITE</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n\r\n\r\n</template>\r\n\r\n<script>\r\n\r\n import axios from \"axios\"\r\n import EventTimer from \"./EventTimer.vue\";\r\n import { copyToClipboard } from \"../assets/js/app.js\";\r\n import ImageUploader from \"./ImageUploader\"\r\n import router from \"../router\";\r\n import { reactive } from 'vue'\r\n import { mapGetters } from \"vuex\"\r\n import { initFacebookSdk, } from '@/services';\r\n\r\n export default {\r\n name: \"OpenStore\",\r\n components: { EventTimer, ImageUploader },\r\n data() {\r\n return {\r\n smsUrl: '',\r\n isMobile: false,\r\n errorMessage: '',\r\n invPartVisible: false,\r\n invDonatorVisible: false,\r\n invitedDonators: [{ counter: 0, email: '' }],\r\n invDonatorSMSVisible: false,\r\n invitedDonatorsSMS: [{ counter: 0, phone: '' }],\r\n store: {},\r\n storeorderdetails: {},\r\n storeEdit: {},\r\n loading: true,\r\n editMode: false,\r\n file: null,\r\n storeEditRules: {\r\n title: [\r\n { required: true, message: 'Title is required', trigger: 'change' }\r\n ],\r\n description: [\r\n { required: true, message: 'Description reason is required', trigger: 'change' }\r\n ],\r\n targetamount: [\r\n { required: true, message: 'Store Target Amount is required', trigger: 'change' }\r\n ]\r\n }\r\n }\r\n },\r\n computed: {\r\n // 🟢 **Total Direct Donations (Net)**\r\n // Direct donations minus **10% fee (always)**\r\n totalDirectDonationsNet() {\r\n if (!this.safeEventOrderDetails || this.safeEventOrderDetails.length === 0) return 0;\r\n\r\n return this.safeEventOrderDetails.reduce((sum, order) => {\r\n let directDonation = parseFloat(order.directDonationAmount) || 0;\r\n\r\n // Deduct 10% fee (always applied)\r\n const directDonationFee = directDonation * 0.10;\r\n const netDirectDonations = directDonation - directDonationFee;\r\n\r\n return sum + netDirectDonations;\r\n }, 0).toFixed(2);\r\n },\r\n // 🟢 **Total Popcorn Sales (Fundraiser's 50% Share)**\r\n // Popcorn sales = (Subtotal - Direct Donations) / 2\r\n totalPopcornSales() {\r\n if (!this.safeEventOrderDetails || this.safeEventOrderDetails.length === 0) return 0;\r\n\r\n return this.safeEventOrderDetails.reduce((sum, order) => {\r\n const subTotal = parseFloat(order.subTotal) || 0;\r\n const directDonationAmount = parseFloat(order.directDonationAmount) || 0;\r\n\r\n // Extract popcorn earnings (50% of popcorn sales)\r\n return sum + ((subTotal - directDonationAmount) / 2);\r\n }, 0).toFixed(2);\r\n },\r\n // 🟢 **Total Net Earnings (Final Fundraiser Profit)**\r\n // Net Earnings = Popcorn Earnings + Direct Donations (after 10% fee)\r\n totalNetEarnings() {\r\n return (parseFloat(this.totalDirectDonationsNet) + parseFloat(this.totalPopcornSales)).toFixed(2);\r\n },\r\n // 🟢 **Gross Sales** (Total of all orders)\r\n grossSales() {\r\n if (!this.storeorderdetails || !Array.isArray(this.storeorderdetails)) return 0;\r\n\r\n return this.storeorderdetails.reduce((sum, order) => {\r\n if (!order || typeof order !== \"object\") return sum; // Skip invalid orders\r\n\r\n const orderTotal = parseFloat(order.total) || 0; // Ensure total is a number\r\n console.log(`Adding Order Total: ${orderTotal}`); // Debug each order\r\n\r\n return sum + orderTotal;\r\n }, 0).toFixed(2);\r\n },\r\n // 🟢 **Total Net Sales** (Sum of all order subtotals excluding shipping)\r\n totalNetSales() {\r\n if (!this.storeorderdetails || !Array.isArray(this.storeorderdetails)) return 0;\r\n\r\n return this.storeorderdetails.reduce((sum, order) => {\r\n if (!order || typeof order !== \"object\") return sum; // Skip invalid orders\r\n\r\n const subTotal = parseFloat(order.subTotal) || 0; // Ensure subTotal is a number\r\n console.log(`Adding Order Subtotal: ${subTotal}`); // Debug each order\r\n\r\n return sum + subTotal;\r\n }, 0).toFixed(2);\r\n },\r\n // 🟢 **Total Earned Profits (Store Profits)**\r\n totalEarnedProfits() {\r\n if (!this.storeorderdetails || !Array.isArray(this.storeorderdetails) || this.storeorderdetails.length === 0) {\r\n return \"$0.00\"; // Handle empty or invalid data\r\n }\r\n\r\n // Sum up earnings per order\r\n const totalEarnings = this.storeorderdetails.reduce((sum, order) => {\r\n return sum + this.extractRawEarnings(order); // Extract raw number for calculation\r\n }, 0);\r\n\r\n // Format as currency\r\n return new Intl.NumberFormat(\"en-US\", {\r\n style: \"currency\",\r\n currency: \"USD\"\r\n }).format(totalEarnings);\r\n },\r\n safeEventOrderDetails() {\r\n return Array.isArray(this.storeorderdetails) ? this.storeorderdetails : [];\r\n },\r\n storePercent() {\r\n // Ensure both values are valid\r\n if (!this.totalEarnedProfits || !this.store || !this.store.targetAmount) return 0;\r\n\r\n // Remove \"$\" and convert to a number\r\n const earned = parseFloat(this.totalEarnedProfits.toString().replace(/[$,]/g, \"\")) || 0;\r\n const target = parseFloat(this.store.targetAmount) || 1; // Prevent division by zero\r\n\r\n console.log(`✔ Calculating Percentage: Earned ${earned}, Target ${target}`);\r\n\r\n let percentage = Math.trunc((earned / target) * 100);\r\n return isNaN(percentage) ? 0 : Math.min(percentage, 100);\r\n },\r\n donators() {\r\n let dn = [];\r\n if (this.store.donators != null) {\r\n this.store.donators.split(',').forEach(p => {\r\n let items = p.split('_');\r\n dn.push({ name: items[0], amount: items[1], storeviewid: items[2], orderdate: items[3] });\r\n });\r\n }\r\n return dn;\r\n },\r\n dialogWidth() {\r\n if (screen.width <= 576)\r\n return \"100%\";\r\n else return \"500px\";\r\n },\r\n dialogTop() {\r\n if (screen.width <= 576)\r\n return \"0\";\r\n else return \"15vh\";\r\n },\r\n marks() {\r\n const marks = reactive({\r\n 0: {\r\n style: {\r\n color: '#1989FA',\r\n },\r\n label: '0%',\r\n },\r\n 20: {\r\n style: {\r\n color: '#1989FA',\r\n },\r\n label: '20%',\r\n },\r\n 40: {\r\n style: {\r\n color: '#1989FA',\r\n },\r\n label: '40%',\r\n },\r\n 60: {\r\n style: {\r\n color: '#1989FA',\r\n },\r\n label: '60%',\r\n },\r\n 80: {\r\n style: {\r\n color: '#1989FA',\r\n },\r\n label: '80%',\r\n },\r\n 100: {\r\n style: {\r\n color: '#1989FA',\r\n },\r\n label: '100%',\r\n },\r\n })\r\n return marks;\r\n },\r\n ...mapGetters([\r\n 'hasRunningEvent', 'runningEventEndDate'\r\n ])\r\n },\r\n created() {\r\n this.isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\r\n initFacebookSdk();\r\n axios.get('/api/stores/' + this.$route.params.id).then(response => {\r\n this.loading = false;\r\n this.store = response.data;\r\n this.storeEdit.id = this.store.id;\r\n this.storeEdit.title = this.store.title;\r\n this.storeEdit.description = this.store.description;\r\n this.storeEdit.targetamount = this.store.targetAmount;\r\n\r\n this.smsUrl = \"sms:?&body=\" + encodeURI('Hi, please checkout my new Colorado Jack Giveback fundraising store: ' + '\\n' + this.store.title + ' ' + this.store.publicUrl + '\\n' + this.store.description);\r\n\r\n axios.get('/api/stores/StoreOrderDetails/' + this.store.id).then(response => {\r\n this.storeorderdetails = response.data;\r\n this.loading = false;\r\n }).catch((error) => {\r\n this.loading = false;\r\n }); \r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n\r\n\r\n },\r\n methods: { \r\n // 🟢 **Apply Cell Class Based on Column**\r\n getCellClass({ column }) {\r\n const greenColumns = [\"Order Earnings\", \"Popcorn Sales\", \"Direct Donations\"];\r\n const redColumns = [\"Shipping Fee\", \"Fees Deducted\"];\r\n\r\n if (greenColumns.includes(column.label)) {\r\n return \"green-cell\";\r\n } else if (redColumns.includes(column.label)) {\r\n return \"red-cell\";\r\n }\r\n return \"\";\r\n },\r\n // 🟢 **Calculate Total Earnings Per Store**\r\n calculateEarningsPerStore() {\r\n if (!this.storeorderdetails || !Array.isArray(this.storeorderdetails) || this.storeorderdetails.length === 0) {\r\n return \"$0.00\";\r\n }\r\n\r\n // Sum the earnings for all orders in this store\r\n const totalEarnings = this.storeorderdetails.reduce((sum, order) => {\r\n return sum + this.extractRawEarnings(order);\r\n }, 0);\r\n\r\n return this.formatCurrency(null, null, totalEarnings);\r\n },\r\n // 🟢 **Extract Raw Earnings for an Order**\r\n extractRawEarnings(order) {\r\n if (!order || typeof order !== \"object\") return 0;\r\n\r\n const subTotal = parseFloat(order.subTotal) || 0;\r\n let directDonationAmount = parseFloat(order.directDonationAmount) || 0;\r\n const directDonationFee = directDonationAmount * 0.10; // Always deduct 10%\r\n\r\n // Calculate Net Direct Donation (after fee deduction)\r\n const netDirectDonations = directDonationAmount - directDonationFee;\r\n\r\n // Calculate Popcorn Earnings (50% of Popcorn Sales)\r\n const popcornEarnings = (subTotal - directDonationAmount) / 2;\r\n\r\n return popcornEarnings + netDirectDonations;\r\n },\r\n // 🟢 **Open Sales Breakdown Modal**\r\n openSalesBreakdown() {\r\n if (!Array.isArray(this.storeorderdetails) || this.storeorderdetails.length === 0) {\r\n console.error(\"No sales data available!\");\r\n return;\r\n }\r\n this.showSalesBreakdown = true;\r\n },\r\n // 🟢 **Format Date to MM/DD/YYYY**\r\n formatDate(_, __, date) {\r\n if (!date) return \"\";\r\n const d = new Date(date);\r\n return isNaN(d.getTime()) ? \"\" : d.toLocaleDateString(\"en-US\", { month: \"short\", day: \"numeric\", year: \"numeric\" });\r\n },\r\n // 🟢 **Calculate Popcorn Earnings per Order**\r\n calculatePopcornAmount(row) {\r\n if (!row || typeof row !== \"object\") return \"$0.00\";\r\n const subTotal = parseFloat(row.subTotal) || 0;\r\n const directDonationAmount = parseFloat(row.directDonationAmount) || 0;\r\n return this.formatCurrency(null, null, (subTotal - directDonationAmount) / 2);\r\n },\r\n // 🟢 **Calculate Fees Deducted per Order**\r\n calculateFeesDeducted(row) {\r\n if (!row || typeof row !== \"object\") return \"$0.00\";\r\n\r\n const directDonationAmount = parseFloat(row.directDonationAmount) || 0;\r\n const directDonationFee = directDonationAmount * 0.10; // Always deduct 10%\r\n\r\n return this.formatCurrency(null, null, directDonationFee);\r\n },\r\n // 🟢 **Calculate Total Earnings per Order**\r\n calculateEarnings(row) {\r\n if (!row || typeof row !== \"object\") return \"$0.00\";\r\n\r\n const subTotal = parseFloat(row.subTotal) || 0;\r\n let directDonationAmount = parseFloat(row.directDonationAmount) || 0;\r\n const directDonationFee = directDonationAmount * 0.10; // Always deduct 10%\r\n\r\n // Net Direct Donations\r\n const netDirectDonations = directDonationAmount - directDonationFee;\r\n\r\n // Popcorn Earnings (50% of Popcorn Sales)\r\n const popcornEarnings = (subTotal - directDonationAmount) / 2;\r\n\r\n // Final Total Earnings\r\n const totalEarnings = popcornEarnings + netDirectDonations;\r\n\r\n return this.formatCurrency(null, null, totalEarnings);\r\n },\r\n // 🟢 **Format Currency to USD**\r\n formatCurrency(_, __, value) {\r\n if (value == null || isNaN(value)) return \"$0.00\";\r\n return new Intl.NumberFormat(\"en-US\", {\r\n style: \"currency\",\r\n currency: \"USD\"\r\n }).format(value);\r\n },\r\n downloadCSV() {\r\n if (!Array.isArray(this.storeorderdetails) || this.storeorderdetails.length === 0) {\r\n console.error(\"No event order details available!\");\r\n return;\r\n }\r\n\r\n console.log(\"Downloading CSV...\");\r\n\r\n const headers = [\r\n \"ORDER DATE\", \"ORDER NUMBER\", \"BUYER NAME\", \"SELLER NAME\",\r\n \"POPCORN SALE EARNING\", \"DIRECT DONATION SALES\", \"PROCESSING FEE\",\r\n \"SHIPPING FEE\", \"SUBTOTAL\", \"ORDER TOTAL\", \"ORDER EARNINGS\"\r\n ];\r\n\r\n const csvRows = this.storeorderdetails.map(row => {\r\n console.log(\"Row data:\", row); // Debug each row\r\n\r\n // Ensure numbers are valid and correctly formatted\r\n const directDonationAmount = parseFloat(row.directDonationAmount) || 0;\r\n const directDonationFee = directDonationAmount * 0.10; // Always 10% deduction\r\n\r\n return [\r\n this.formatDate(null, null, row.createdAt),\r\n row.number,\r\n row.buyerName,\r\n row.seller,\r\n this.calculatePopcornAmount(row),\r\n this.formatCurrency(null, null, directDonationAmount),\r\n this.formatCurrency(null, null, directDonationFee),\r\n this.formatCurrency(null, null, row.shippingFee),\r\n this.formatCurrency(null, null, row.subTotal),\r\n this.formatCurrency(null, null, row.total),\r\n this.calculateEarnings(row)\r\n ].map(value => {\r\n if (value == null) return \"\"; // Prevent null errors\r\n return `\"${String(value).replace(/\"/g, '\"\"')}\"`; // Escape quotes for CSV\r\n }).join(\",\");\r\n });\r\n\r\n const csvContent = [headers.join(\",\"), ...csvRows].join(\"\\n\");\r\n\r\n console.log(\"Generated CSV:\", csvContent); // Debug the final CSV\r\n\r\n // Create and trigger a download link\r\n const blob = new Blob([csvContent], { type: \"text/csv;charset=utf-8;\" });\r\n const link = document.createElement(\"a\");\r\n link.href = URL.createObjectURL(blob);\r\n link.setAttribute(\"download\", \"fundraiser_sales.csv\");\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n },\r\n addInvitedDonator() {\r\n this.errorMessage = '';\r\n let last = this.invitedDonators[this.invitedDonators.length - 1];\r\n if (this.validateEmail(last.email.trim())) {\r\n this.invitedDonators.push({ counter: this.invitedDonators.length, email: '' });\r\n }\r\n },\r\n validateEmail(email) {\r\n var regExp = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$/;\r\n if (email.trim().match(regExp)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n },\r\n removeDonator(p) {\r\n for (var i = 0; i < this.invitedDonators.length; i++) {\r\n if (this.invitedDonators[i] === p) {\r\n this.invitedDonators.splice(i, 1);\r\n break;\r\n }\r\n }\r\n },\r\n addInvitedDonatorSMS() {\r\n this.errorMessage = '';\r\n let last = this.invitedDonatorsSMS[this.invitedDonatorsSMS.length - 1];\r\n if (last.phone.trim().length > 9) {\r\n //validate phone against regex\r\n if (this.validatePhone(last.phone.trim())) {\r\n this.invitedDonatorsSMS.push({ counter: this.invitedDonatorsSMS.length, phone: '' });\r\n }\r\n else {\r\n this.errorMessage = 'invalid phone number!';\r\n }\r\n }\r\n },\r\n validatePhone(phone) {\r\n var regExp = /^[+]?[(]?[0-9]{3}[)]?[-\\s.]?[0-9]{3}[-\\s.]?[0-9]{4,6}$/;\r\n if (regExp.test(phone)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n },\r\n removeDonatorSMS(p) {\r\n for (var i = 0; i < this.invitedDonatorsSMS.length; i++) {\r\n if (this.invitedDonatorsSMS[i] === p) {\r\n this.invitedDonatorsSMS.splice(i, 1);\r\n break;\r\n }\r\n }\r\n },\r\n inviteDonators() {\r\n this.loading = true;\r\n var emails = [];\r\n this.invitedDonators.forEach(p => {\r\n if (p != '' && this.validateEmail(p.email))\r\n emails.push(p.email);\r\n });\r\n\r\n axios.post('/api/participants/InviteDonator/', { storeId: this.store.id, emails: emails }).then(response => {\r\n this.loading = false;\r\n this.invDonatorVisible = false;\r\n this.$message({\r\n message: 'Donator emails have been sent and invited to view your store! - Emails: ' + emails.toString(),\r\n type: 'success'\r\n });\r\n\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n },\r\n inviteDonatorsSMS() {\r\n this.loading = true;\r\n var phones = [];\r\n this.invitedDonatorsSMS.forEach(p => {\r\n if (p != '' && this.validatePhone(p.phone))\r\n phones.push(p.phone);\r\n });\r\n\r\n axios.post('/api/participants/SendSMSDonorInvite/', { storeId: this.store.id, phones: phones }).then(response => {\r\n this.loading = false;\r\n this.invDonatorSMSVisible = false;\r\n this.$message({\r\n message: 'Donators have been sent an sms message and invited to view your store!',\r\n type: 'success'\r\n });\r\n\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n },\r\n shareOnFacebook3() {\r\n window.FB.ui(\r\n {\r\n method: 'feed',\r\n name: this.store.title,\r\n link: this.store.publicUrl,\r\n description: this.store.description,\r\n display: 'popup',\r\n picture: this.store.imageSrc\r\n },\r\n // callback\r\n function (response) {\r\n if (response && !response.error_message) {\r\n this.$message({\r\n message: 'Successfully shared your public fundraising store on facebook!',\r\n type: 'success'\r\n });\r\n } else {\r\n this.$message({\r\n message: 'Error sharing your public fundraising store on facebook! ' + response.error_message,\r\n type: 'error'\r\n });\r\n }\r\n }\r\n );\r\n },\r\n shareOnFacebook2() {\r\n window.FB.ui(\r\n {\r\n method: 'share_open_graph',\r\n action_type: 'og.shares',\r\n display: 'popup',\r\n action_properties: JSON.stringify({\r\n object: {\r\n 'og:url': this.store.publicUrl,\r\n 'og:title': this.store.title,\r\n 'og:description': this.store.description,\r\n 'og:image:width': '600',\r\n 'og:image:height': '600',\r\n 'og:image': this.store.imageSrc\r\n }\r\n })\r\n },\r\n // callback\r\n function (response) {\r\n if (response && !response.error_message) {\r\n this.$message({\r\n message: 'Successfully shared your public fundraising store on facebook!',\r\n type: 'success'\r\n });\r\n } else {\r\n this.$message({\r\n message: 'Error sharing your public fundraising store on facebook! ' + response.error_message,\r\n type: 'error'\r\n });\r\n }\r\n }\r\n );\r\n },\r\n shareOnFacebook() {\r\n window.FB.ui(\r\n {\r\n method: 'share',\r\n href: this.store.publicUrl,\r\n },\r\n // callback\r\n function (response) {\r\n if (response && !response.error_message) {\r\n this.$message({\r\n message: 'Successfully shared your public fundraising store on facebook!',\r\n type: 'success'\r\n });\r\n } else {\r\n this.$message({\r\n message: 'Error sharing your public fundraising store on facebook! ' + response.error_message,\r\n type: 'error'\r\n });\r\n }\r\n }\r\n );\r\n },\r\n sendOnFacebook() {\r\n window.FB.ui(\r\n {\r\n method: 'send',\r\n link: this.store.publicUrl,\r\n },\r\n // callback\r\n function (response) {\r\n if (response && !response.error_message) {\r\n this.$message({\r\n message: 'Successfully shared your public fundraising store on facebook!',\r\n type: 'success'\r\n });\r\n } else {\r\n this.$message({\r\n message: 'Error sharing your public fundraising store on facebook! ' + response.error_message,\r\n type: 'error'\r\n });\r\n }\r\n }\r\n );\r\n },\r\n //sendSMS() {\r\n // this.smsUrl = \"sms:?& body=\" + this.store.publicUrl\r\n //},\r\n shareOnTwitter() {\r\n window.open(\"https://twitter.com/share?url=\" + this.store.publicUrl, \"_blank\");\r\n },\r\n copyCode() {\r\n copyToClipboard(\"storeCode\");\r\n },\r\n setCropData(data) {\r\n this.storeEdit.imageCropData = data;\r\n },\r\n setSelectedImage(file) {\r\n this.file = file;\r\n },\r\n saveChanges() {\r\n this.$refs[\"storeEditForm\"].validate((valid) => {\r\n if (valid) {\r\n this.loading = true;\r\n var formData = new FormData();\r\n if (this.file != null) {\r\n formData.append(\"file\", this.file.raw);\r\n for (const [key, value] of Object.entries(this.storeEdit.imageCropData)) {\r\n formData.append(\"imageCropData.\" + key, value);\r\n }\r\n }\r\n\r\n for (const [key, value] of Object.entries(this.storeEdit)) {\r\n if (key === \"imageCropData\")\r\n continue;\r\n formData.append(key, value);\r\n }\r\n\r\n axios.put('/api/stores', formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n }).then(response => {\r\n this.loading = false;\r\n this.editMode = false;\r\n this.store.imageSrc = response.data;\r\n this.$message({\r\n message: 'Changes saved to the store.',\r\n type: 'success'\r\n });\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n },\r\n toEvent() {\r\n router.push(\"/event/running\");\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style scoped>\r\n img {\r\n height: 300px;\r\n object-fit: cover;\r\n border-radius: 4px;\r\n width: 100%\r\n }\r\n\r\n .fundraiser-earnings-explainer {\r\n border: 1px solid #ccc;\r\n border-radius: 10px;\r\n padding: 15px;\r\n background-color: #f9f9f9;\r\n }\r\n\r\n .fundraiser-earnings-explainer ul {\r\n padding-left: 20px;\r\n }\r\n\r\n .fundraiser-earnings-explainer code {\r\n background: #eee;\r\n padding: 3px 6px;\r\n border-radius: 5px;\r\n }\r\n\r\n .fundraiser-earnings-explainer ul {\r\n list-style-type: disc; /* Ensures bullets are shown */\r\n margin-left: 20px; /* Adds left indentation */\r\n padding-left: 20px;\r\n }\r\n\r\n .fundraiser-earnings-explainer li {\r\n display: list-item; /* Ensures each <li> behaves as a block */\r\n margin-bottom: 5px; /* Adds spacing between items */\r\n }\r\n\r\n .green-cell {\r\n color: green !important;\r\n font-weight: bold;\r\n }\r\n\r\n .red-cell {\r\n color: red !important;\r\n font-weight: bold;\r\n }\r\n\r\n\r\n .participants, .donators {\r\n border: 1px solid #ccc;\r\n border-radius: 10px;\r\n padding: 20px;\r\n min-height: 250px;\r\n }\r\n\r\n .top-label {\r\n position: relative;\r\n top: 22px;\r\n background: #fff;\r\n left: 15px;\r\n font-weight: normal;\r\n padding: 0 5px;\r\n }\r\n\r\n .count {\r\n top: 25px;\r\n left: 15px;\r\n }\r\n\r\n .title {\r\n border: 1px solid #ccc;\r\n border-radius: 10px;\r\n padding: 20px;\r\n /*min-height: 200px;*/\r\n flex-direction: inherit;\r\n }\r\n\r\n /* Small devices (landscape phones, 544px and up) */\r\n @media (min-width: 370px) {\r\n h5 {\r\n font-size: 1.0rem;\r\n }\r\n\r\n h6 {\r\n font-size: .80rem;\r\n font-weight: normal;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Small devices (landscape phones, 544px and up) */\r\n @media (min-width: 544px) {\r\n h5 {\r\n font-size: 1.00rem;\r\n }\r\n\r\n h6 {\r\n font-size: .90rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Medium devices (tablets, 768px and up) The navbar toggle appears at this breakpoint */\r\n @media (min-width: 768px) {\r\n h5 {\r\n font-size: 1.25rem;\r\n }\r\n\r\n h6 {\r\n font-size: .95rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Large devices (desktops, 992px and up) */\r\n @media (min-width: 992px) {\r\n h5 {\r\n font-size: 1.5rem;\r\n }\r\n\r\n h6 {\r\n font-size: 1.0rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Extra large devices (large desktops, 1200px and up) */\r\n @media (min-width: 1200px) {\r\n h5 {\r\n font-size: 1.75rem;\r\n }\r\n\r\n h6 {\r\n font-size: 1.25rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n</style>","import { render } from \"./StoreDetail.vue?vue&type=template&id=ed6598c2&scoped=true\"\nimport script from \"./StoreDetail.vue?vue&type=script&lang=js\"\nexport * from \"./StoreDetail.vue?vue&type=script&lang=js\"\n\nimport \"./StoreDetail.vue?vue&type=style&index=0&id=ed6598c2&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-ed6598c2\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Profile.vue?vue&type=style&index=0&id=9e818b86&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./PrivacyPolicy.vue?vue&type=style&index=0&id=7fc1c8cc&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./RunningEvent.vue?vue&type=style&index=0&id=410da691&scoped=true&lang=css\"","<script>\r\nimport { defineComponent } from 'vue'\r\nimport { Line, Pie } from 'vue3-chart-v2'\r\n\r\nexport default defineComponent({\r\n name: 'PieChart',\r\n extends: Pie,\r\n props: {\r\n chartData: {\r\n type: Object,\r\n required: true\r\n },\r\n chartOptions: {\r\n type: Object,\r\n required: false\r\n },\r\n },\r\n mounted() {\r\n this.renderChart(this.chartData, this.chartOptions)\r\n }\r\n})\r\n</script>","import script from \"./PieChart.vue?vue&type=script&lang=js\"\nexport * from \"./PieChart.vue?vue&type=script&lang=js\"\n\nexport default script","<template> \r\n <div class=\"container\">\r\n <div class=\"row col-12 center pt-5\" style=\"justify-content:center\">\r\n <iframe src=\"https://coloradojackgivebacksa.blob.core.windows.net/termsandconditions/ColoradoJackGiveBack.TERMS.pdf#zoom=75\" id=\"child-iframe\"></iframe>\r\n </div> \r\n </div>\r\n </template>\r\n\r\n<script> \r\n import * as $ from \"jquery\"\r\n import router from \"../router\";\r\n\r\n export default {\r\n name: 'TermsOfUse',\r\n props: {\r\n msg: String\r\n }, \r\n methods: {\r\n back() {\r\n router.push(\"/Login\");\r\n }\r\n },\r\n mounted() {\r\n var wi = $(window).width();\r\n var hi = $(window).height();\r\n\r\n var iframe = document.querySelector(\"#child-iframe\");\r\n if (wi <= 576) {\r\n iframe.width = \"100%\";\r\n iframe.height = hi - 200;\r\n }\r\n else {\r\n iframe.width = \"80%\";\r\n iframe.height = hi - 250;\r\n }\r\n }\r\n }\r\n\r\n</script>\r\n\r\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\r\n<style scoped> \r\n\r\n /* page content */\r\n h1, h2 {\r\n color: white;\r\n /*font-family: Trebuchet MS;*/\r\n font-weight: bold;\r\n text-align: center;\r\n }\r\n\r\n h1 {\r\n font-size: 6rem;\r\n margin-top: 30vh;\r\n }\r\n\r\n h2 {\r\n font-size: 3rem;\r\n }\r\n\r\n</style>\r\n","import { render } from \"./TermsOfUse.vue?vue&type=template&id=7e17e8e2&scoped=true\"\nimport script from \"./TermsOfUse.vue?vue&type=script&lang=js\"\nexport * from \"./TermsOfUse.vue?vue&type=script&lang=js\"\n\nimport \"./TermsOfUse.vue?vue&type=style&index=0&id=7e17e8e2&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-7e17e8e2\"\n\nexport default script","<template>\r\n <div class=\"container\">\r\n <div class=\"row col-12 center pt-5\" style=\"justify-content:center\">\r\n <iframe src=\"https://coloradojackgivebacksa.blob.core.windows.net/termsandconditions/PrivacyPolicyColoradoJackGiveback.pdf#zoom=50\" id=\"child-iframe\"></iframe>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script> \r\n import * as $ from \"jquery\"\r\n import router from \"../router\";\r\n\r\n export default {\r\n name: 'PrivacyPolicy',\r\n props: {\r\n msg: String\r\n },\r\n computed: {\r\n dialogWidth() {\r\n if (screen.width <= 576)\r\n return \"100%\";\r\n else return \"500px\";\r\n },\r\n dialogTop() {\r\n if (screen.width <= 576)\r\n return \"0\";\r\n else return \"15vh\";\r\n },\r\n screenWidth() {\r\n return screen.width;\r\n }\r\n },\r\n methods: {\r\n back() {\r\n router.push(\"/Login\");\r\n }\r\n },\r\n mounted() {\r\n var wi = $(window).width();\r\n var hi = $(window).height();\r\n\r\n var iframe = document.querySelector(\"#child-iframe\");\r\n if (wi <= 576) {\r\n iframe.width = \"100%\";\r\n iframe.height = hi - 200;\r\n }\r\n else {\r\n iframe.width = \"80%\";\r\n iframe.height = hi - 250;\r\n }\r\n }\r\n }\r\n\r\n</script>\r\n\r\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\r\n<style scoped>\r\n\r\n iframe {\r\n overflow: scroll;\r\n }\r\n /* page content */\r\n h1, h2 {\r\n color: white;\r\n font-family: Trebuchet MS;\r\n font-weight: bold;\r\n text-align: center;\r\n }\r\n\r\n h1 {\r\n font-size: 6rem;\r\n margin-top: 30vh;\r\n }\r\n\r\n h2 {\r\n font-size: 3rem;\r\n }\r\n\r\n</style>\r\n","import { render } from \"./PrivacyPolicy.vue?vue&type=template&id=7fc1c8cc&scoped=true\"\nimport script from \"./PrivacyPolicy.vue?vue&type=script&lang=js\"\nexport * from \"./PrivacyPolicy.vue?vue&type=script&lang=js\"\n\nimport \"./PrivacyPolicy.vue?vue&type=style&index=0&id=7fc1c8cc&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-7fc1c8cc\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./VirtualFundraising.vue?vue&type=style&index=0&id=eb5eab24&scoped=true&lang=css\"","<template>\r\n <div class=\"container\" :loading=\"loading\">\r\n <template v-if=\"store.id!=null\">\r\n <div class=\"row col-10 pt-4 center\">\r\n <!--<h6><a :href=\"store.publicUrl\">{{store.title}}</a></h6>-->\r\n <h6 class=\"center\" style=\"justify-content:center; font-size: .75rem;\">Store created by: {{store.storeOwner.firstName}} {{store.storeOwner.lastName}}</h6>\r\n </div>\r\n <div class=\"row col-10 center\">\r\n <h6 class=\"center\" style=\"justify-content:center; font-size: .75rem;\">On behalf of the fundraising event:</h6>\r\n </div>\r\n <div class=\"row col-10 pb-sm-2 center\">\r\n <h6 class=\"center\" style=\"justify-content:center; font-size: .75rem;\">{{store.eventTitle}}</h6>\r\n </div>\r\n <div class=\"pb-3\">\r\n <div class=\"image-cover\">\r\n <el-image :src=\"store.imageSrc\" style=\"border-radius:30px;\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n <div class=\"img-overlay\">\r\n <el-image :src=\"store.eventImageSrc\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n </div>\r\n </div>\r\n <div class=\"row no-gutters\">\r\n <div class=\"row col-10 font-weight-bold center mt-1\" style=\"justify-content:center\">\r\n <h2 class=\"font-weight-bolder center\" style=\"color: #983222\">{{store.title}}</h2>\r\n </div>\r\n <div class=\"row col-10 center mb-4\">\r\n <h5 class=\"center\" style=\"color: #983222\">{{store.description}}</h5>\r\n </div>\r\n <!--<div class=\"header-text col-12 col-lg-6 pt-3 elipssis\">Overall Event title: {{store.eventTitle}} fundraiser</div>-->\r\n <template v-if=\"store.status=='Open'\">\r\n <div class=\"cojackdesc row col-12 center\">\r\n <div class=\"header-text pt-2 pb-2 col-12 col-lg-6 row no-gutters\">\r\n <div class=\"col-10 font-weight-bold ml-2\"><h5 class=\"font-weight-bold\">{{store.storeOwner.firstName}} {{store.storeOwner.lastName}}'s store will be closed in:</h5></div>\r\n <div class=\"col-10 mb-3 ml-5 mr-2\">\r\n <EventTimer v-bind:startDate=\"store.startDate\" v-bind:endDate=\"store.endDate\"></EventTimer>\r\n </div>\r\n </div>\r\n <div class=\"header-text pt-2 pb-2 col-12 col-lg-6 row no-gutters\">\r\n <div class=\"col-10 font-weight-bold mb-1 ml-2\">\r\n <h5 class=\"font-weight-bold\">Store Sales Attained:</h5>\r\n <h6>${{store.subTotal}} in sales towards goal of ${{store.targetAmount}}</h6>\r\n </div>\r\n <div class=\"col-10 mb-3 ml-5 mr-2\">\r\n <!--<el-slider v-model=\"storePercent\" range :marks=\"marks\"></el-slider>-->\r\n <el-progress text-inside=\"true\" stroke-width=\"30\" :percentage=\"storePercentEl\" status=\"success\"/>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </template>\r\n </div>\r\n </div>\r\n </template>\r\n\r\n <div class=\"center row align-items-center\">\r\n <template v-if=\"store.status=='Closed'\">\r\n <div class=\"col-12 text-center\"><i class=\"el-icon-lock\" style=\"font-size:10rem\"></i></div>\r\n <div class=\"col-12 text-center mt-5 h2 font-weight-bold\">CLOSED</div>\r\n </template>\r\n <template v-else-if=\"store.status=='Draft'\">\r\n <div class=\"col-12 text-center\"><i class=\"el-icon-time\" style=\"font-size:10rem\"></i></div>\r\n <div class=\"col-12 text-center mt-2 h2 font-weight-bold\">OPENING SOON</div>\r\n <div class=\"col-12 text-center mt-2 h2 font-weight-bold\">{{new Date(store.startDate).toLocaleDateString(\"en-US\",{ year: 'numeric', month: 'long', day: 'numeric' })}}</div>\r\n </template>\r\n <template v-else-if=\"!store.status && !loading\">\r\n <div class=\"col-12 text-center\"><i class=\"el-icon-warning\" style=\"font-size:10rem\"></i></div>\r\n <div class=\"col-12 text-center mt-5 h3 font-weight-bold\">STORE DOES NOT EXIST</div>\r\n </template>\r\n </div>\r\n\r\n <div class=\"row mt-2\">\r\n <div class=\"col-12 col-md-6\" v-for=\"product in store.products\" :key=\"product.id\">\r\n <div v-if=\"store.status=='Open'\">\r\n <Product :product=\"product\" @click=\"showProduct(product)\"></Product>\r\n </div>\r\n <div v-else>\r\n <Product :product=\"product\" @click=\"closedProduct(product)\"></Product>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"leaders row no-gutters\" style=\"justify-content:center;\" v-if=\"!loading\">\r\n <div class=\"col-12 row no-gutters\" style=\"justify-content:center\">\r\n <h5 class=\"\" style=\"text-align: center; padding-top:1rem;\">50% of each bag you purchase will be donated back to the fundraiser!</h5>\r\n </div>\r\n <div class=\"mt-1 mb-1 col-12 row no-gutters\" style=\"border-radius: 10px; justify-content: center\">\r\n <hr class=\"row col-12\" style=\"color:red\" />\r\n <h5 class=\"col-12 row no-gutters\" style=\"justify-content: center; color: #9A3324\">Fundraiser Top Sellers:</h5>\r\n <ul class=\"infinite-list row col-12\" style=\"justify-content:center; border-radius:10px\">\r\n <li class=\"infinite-list-item row col-12 col-md-12\" v-for=\"(storeleader,index) in leaderstores\" :key=\"storeleader.id\">\r\n <div class=\"col-2\"><h5>{{index + 1}}</h5></div>\r\n <div class=\"col-2\">\r\n <el-image :src=\"storeleader.imageSrc\" class=\"smallimg-overlay\" style=\"border-radius: 10px; max-height: 40px; max-width: 40px\"></el-image>\r\n </div>\r\n <div class=\"col-6\"><a :href=\"store.publicUrl\" target=\"_blank\" class=\"center\"><h6 class=\"center\" style=\"justify-content: center; color: #9A3324\">{{storeleader.storeOwner.name}}</h6></a></div>\r\n <div class=\"col-2\"><h5>${{storeleader.subTotal}}</h5></div>\r\n <!-- <div class=\"col-2\" v-if=\"storeleader.subTotal>'0'\"><h5>${{storeleader.subTotal}}</h5></div>-->\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <ProductDetail ref=\"productDetail\" ></ProductDetail>\r\n</template>\r\n\r\n<script>\r\n import axios from \"axios\"\r\n import Product from \"./Product.vue\";\r\n import ProductDetail from \"./ProductDetail.vue\";\r\n import store from \"@/store\"\r\n import EventTimer from \"./EventTimer.vue\";\r\n import { initFacebookSdk, } from '@/services';\r\n import { reactive } from 'vue';\r\n import { ElMessage, ElMessageBox } from 'element-plus';\r\n\r\n export default {\r\n name: \"PublicStore\",\r\n components: { Product, ProductDetail, EventTimer },\r\n data() {\r\n return {\r\n store: { products: [] },\r\n leaderstores: [],\r\n currentProduct: {},\r\n loading: false,\r\n storeState: true\r\n }\r\n },\r\n computed: {\r\n storePercentEl() {\r\n const percentage1 = Math.trunc(((this.store.subTotal) / this.store.targetAmount) * 100);\r\n\r\n return percentage1;\r\n },\r\n storePercent() {\r\n const percentage = Math.trunc(((this.store.subTotal) / this.store.targetAmount) * 100);\r\n \r\n return [0, percentage];\r\n },\r\n marks() {\r\n const test = Math.trunc(((this.store.subTotal) / this.store.targetAmount) * 100);\r\n //this.value = [0, test];\r\n const marks = reactive({\r\n 0: {\r\n style: {\r\n color: '#1989FA',\r\n },\r\n label: '0%',\r\n },\r\n 20: {\r\n style: {\r\n color: '#1989FA',\r\n },\r\n label: '20%',\r\n },\r\n 40: {\r\n style: {\r\n color: '#1989FA',\r\n },\r\n label: '40%',\r\n },\r\n 60: {\r\n style: {\r\n color: '#1989FA',\r\n },\r\n label: '60%',\r\n },\r\n 80: {\r\n style: {\r\n color: '#1989FA',\r\n },\r\n label: '80%',\r\n },\r\n 100: {\r\n style: {\r\n color: '#1989FA',\r\n },\r\n label: '100%',\r\n },\r\n })\r\n return marks;\r\n }, \r\n },\r\n created() {\r\n initFacebookSdk();\r\n //get store detail\r\n //save store\r\n store.dispatch(\"setStoreCode\", this.$route.params.code);\r\n this.loading = true;\r\n axios.get(\"/api/stores/public/\" + this.$route.params.code).then(response => {\r\n this.loading = false;\r\n this.store = response.data;\r\n\r\n axios.get('/api/stores/getPublicStoresByEvent/' + response.data.eventCode).then(response => {\r\n this.leaderstores = response.data;\r\n this.loading = false;\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n }).catch((error) => {\r\n this.loading = false;\r\n }); \r\n\r\n },\r\n methods: {\r\n showProduct(product) {\r\n if (this.store.status != 'Open') {\r\n this.storeState = false;\r\n }\r\n\r\n this.currentProduct = product;\r\n this.$refs.productDetail.showProduct(this.currentProduct.id);\r\n }, \r\n closedProduct(product) {\r\n if (this.store.status == \"Draft\") {\r\n let opendate = new Date(this.store.startDate).toLocaleDateString(\"en-US\", { year: 'numeric', month: 'long', day: 'numeric' });\r\n ElMessageBox.alert('This store will be opening soon! ' + opendate, 'Store coming soon!', {\r\n // if you want to disable its autofocus\r\n // autofocus: false,\r\n confirmButtonText: 'OK',\r\n })\r\n }\r\n\r\n if (this.store.status == \"Closed\") {\r\n ElMessageBox.alert('This fundraiser has ended and the store has been closed!', 'Store closed!', {\r\n // if you want to disable its autofocus\r\n // autofocus: false,\r\n confirmButtonText: 'OK',\r\n })\r\n } \r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style scoped>\r\n\r\n .cojackdesc {\r\n position: relative;\r\n border: 1px solid #ccc;\r\n border-radius: 10px; \r\n }\r\n\r\n .container{\r\n padding-right:1px;\r\n padding-left:1px;\r\n }\r\n\r\n /* Small devices (landscape phones, 544px and up) */\r\n @media (min-width: 350px) {\r\n p {\r\n font-size: 1.0rem;\r\n }\r\n\r\n h1 {\r\n font-size: 1.5rem;\r\n }\r\n\r\n h2 {\r\n font-size: 1.2rem;\r\n }\r\n\r\n h5 {\r\n font-size: 1.0rem;\r\n }\r\n\r\n h6 {\r\n font-size: .80rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Small devices (landscape phones, 544px and up) */\r\n @media (min-width: 544px) {\r\n p {\r\n font-size: 1.0rem;\r\n }\r\n\r\n h1 {\r\n font-size: 1.5rem;\r\n }\r\n\r\n h2 {\r\n font-size: 1.25rem;\r\n }\r\n\r\n h5 {\r\n font-size: 1.00rem;\r\n }\r\n\r\n h6 {\r\n font-size: 1.0rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Medium devices (tablets, 768px and up) The navbar toggle appears at this breakpoint */\r\n @media (min-width: 768px) {\r\n p {\r\n font-size: 1.0rem;\r\n }\r\n\r\n h1 {\r\n font-size: 2.0rem;\r\n }\r\n\r\n h2 {\r\n font-size: 1.75rem;\r\n }\r\n\r\n h5 {\r\n font-size: 1.25rem;\r\n }\r\n\r\n h6 {\r\n font-size: 1.0rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Large devices (desktops, 992px and up) */\r\n @media (min-width: 992px) {\r\n p {\r\n font-size: 1.25rem;\r\n }\r\n\r\n h1 {\r\n font-size: 2.5rem;\r\n }\r\n\r\n h2 {\r\n font-size: 2.0rem;\r\n }\r\n\r\n h5 {\r\n font-size: 1.5rem;\r\n }\r\n\r\n h6 {\r\n font-size: 1.25rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Extra large devices (large desktops, 1200px and up) */\r\n @media (min-width: 1200px) {\r\n p {\r\n font-size: 1.50rem;\r\n }\r\n\r\n h1 {\r\n font-size: 3.0rem;\r\n }\r\n\r\n h2 {\r\n font-size: 2.5rem;\r\n }\r\n\r\n h5 {\r\n font-size: 2.0rem;\r\n }\r\n\r\n h6 {\r\n font-size: 1.60rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n .card-header {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n }\r\n\r\n .text {\r\n font-size: 10px;\r\n }\r\n\r\n .item {\r\n margin-bottom: 10px;\r\n }\r\n\r\n .infinite-list {\r\n /*height: 250px;*/\r\n padding: 0px;\r\n margin: 10px;\r\n list-style: none;\r\n border-radius:10px;\r\n }\r\n\r\n .infinite-list .infinite-list-item {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n height: 40px;\r\n background: #f2f2f2;\r\n margin: 2px;\r\n /* border: solid #ccc;\r\n border-radius: 1px;*/\r\n /* color: var(--el-color-primary);*/\r\n }\r\n\r\n .infinite-list .infinite-list-item + .list-item {\r\n margin-top: 12px;\r\n }\r\n\r\n .smallimg-overlay {\r\n border: 1px solid #fff;\r\n border-radius: 100%;\r\n overflow: hidden;\r\n }\r\n\r\n .leaders {\r\n position: relative;\r\n border: 1px solid #ccc;\r\n border-radius: 10px;\r\n }\r\n \r\n\r\n</style>","<template> \r\n <div class=\"product mb-4 c-pointer p-3\" onmouseover=\"this.style.background='#f2f2f2';\" onmouseout=\"this.style.background='white';\">\r\n <!--<div class=\"free-shipping h3 font-weight-bold text-center bg-danger text-white p-2\" v-bind:class=\"{hidden:!product.freeShipping}\">FREE SHIPPING</div>-->\r\n <div v-if=\"product.id<4\" class=\"free-shipping h3 font-weight-bold text-center text-white p-2\" style=\"background-color: #983222\" v-bind:class=\"{hidden:product.id>3}\">CREATE YOUR OWN VARIETY PACK</div>\r\n <div v-else class=\"free-shipping h3 font-weight-bold text-center text-white p-2\" style=\"background-color: #983222\" v-bind:class=\"{show:product.id<4}\">INDIVIDUAL SNACK PACKS</div>\r\n\r\n\r\n <!--<div class=\"free-shipping h3 font-weight-bold text-center text-white p-2\" style=\"background-color: #983222\" v-bind:class=\"{hidden:product.id<4}\">INDIVIDUAL SNACK SIZES</div>-->\r\n <div class=\"prod-image\">\r\n <el-image :src=\"product.imageSrc\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n </div>\r\n\r\n <div class=\"prod-info\">\r\n <div class=\"prod-title font-weight-bold text-center mt-1\">{{product.name}}</div>\r\n <!-- <div class=\"prod-price d-flex\" v-if=\"product.price>0\"><span class=\"bg-warning\">${{product.price}}</span></div>-->\r\n </div>\r\n \r\n\r\n </div>\r\n</template>\r\n\r\n<script>\r\n\r\n export default {\r\n name: \"Product\",\r\n components: {},\r\n props: {\r\n product: Object\r\n },\r\n data() {\r\n return {\r\n \r\n }\r\n }, \r\n created() {\r\n \r\n },\r\n methods: {\r\n \r\n }\r\n }\r\n</script>\r\n\r\n<style scoped>\r\n .product {\r\n position:relative;\r\n border: 1px solid #ccc;\r\n border-radius:10px;\r\n }\r\n img {\r\n width: 100%;\r\n height: 360px;\r\n object-fit: contain;\r\n }\r\n .price {\r\n background: #EA6E41;\r\n border-radius: 100%;\r\n font-weight: 700;\r\n font-size: 1rem;\r\n color: white;\r\n }\r\n .prod-info {\r\n background-repeat: no-repeat;\r\n background-position: center;\r\n font-size: 1.2rem;\r\n height: 100px; \r\n }\r\n .prod-title {\r\n font-size: 1.5rem;\r\n height: 200px;\r\n text-align: center;\r\n font-weight:bold;\r\n }\r\n .prod-price {\r\n position: absolute;\r\n right: 10px;\r\n bottom: 10px;\r\n color: rgb(118,108,105);\r\n font-weight: bold;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n .prod-price span {\r\n border-radius: 100%;\r\n width: 65px;\r\n height: 65px;\r\n text-align: center;\r\n line-height: 4rem;\r\n }\r\n .prod-image{\r\n height:400px;\r\n }\r\n</style>","import { render } from \"./Product.vue?vue&type=template&id=03db784c&scoped=true\"\nimport script from \"./Product.vue?vue&type=script&lang=js\"\nexport * from \"./Product.vue?vue&type=script&lang=js\"\n\nimport \"./Product.vue?vue&type=style&index=0&id=03db784c&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-03db784c\"\n\nexport default script","<template>\r\n <el-dialog fullscreen=\"true\"\r\n v-model=\"visible\" :before-close=\"open=false\">\r\n <div class=\"container content\">\r\n <template v-if=\"product.bagsList.length==1\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-sm-8\" style=\"text-align:center\">\r\n <div class=\"col-12 font-weight-bold title\">\r\n <div class=\"h5 text-center font-weight-bold\" style=\"word-break: keep-all; text-align: center;\">{{product.name}}</div>\r\n <div class=\"h5 mt-2\" style=\"word-break: keep-all; text-align: center;\">{{product.description}}</div>\r\n <!--<div class=\"h6 mt-2\">Product Ingredients: {{product.bagsList[0].ingredients}}</div>-->\r\n <div class=\"h6 mt-2\">Product Weight: {{product.bagsList[0].weight}}</div>\r\n </div>\r\n <div class=\"col-12 text-center\">\r\n <el-image :src=\"product.bagsList[0].imageSrc\" style=\"max-width:170px\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n </div>\r\n </div>\r\n <div class=\"col-12 col-sm-4 text-center\">\r\n <!--<div class=\"free-shipping h3 font-weight-bold text-center bg-danger text-white p-2\" v-bind:class=\"{hidden:!product.freeShipping}\">FREE SHIPPING</div>-->\r\n <div class=\"free-shipping h3 font-weight-bold text-center bg-danger text-white p-2\" v-if=\"product.freeShipping\">FREE SHIPPING</div>\r\n <div class=\"h3 mt-3\">SUBTOTAL</div>\r\n <div class=\"total h2 mt-3 font-weight-bold\">${{totalPrice.toFixed(2)}}</div>\r\n <!--<div class=\"mt-5\">To add more than one of these Quantity configurations, add to the overall quanity field below.</div>-->\r\n <div class=\"h4 mt-3\">Overall Quantity</div>\r\n <div class=\"counter mt-2 row align-items-center no-gutters\" style=\"margin:0 auto\">\r\n <div class=\"col p-0\">\r\n <el-button icon=\"el-icon-minus\" circle @click=\"setCount(-1)\"></el-button>\r\n </div>\r\n <div class=\"count-box-mul col p-0\">\r\n <el-input v-model=\"product.count\"></el-input>\r\n </div>\r\n <div class=\"col p-0\">\r\n <el-button icon=\"el-icon-plus\" circle @click=\"setCount(1)\"></el-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-3 row addcart\">\r\n <el-button type=\"danger\" style=\"background-color: #983222; font-size:inherit\" class=\"addCartBtn\" :disabled=\"!enableAddToCart\" @click=\"addToCart()\">ADD TO CART ${{totalPrice.toFixed(2)}}</el-button>\r\n <el-button class=\"addCartBtn\" @click=\"visible=false\">CANCEL</el-button>\r\n\r\n </div>\r\n <div class=\"col-12\">\r\n <payment-form-button v-on:payment-success=\"paymentSuccess\" :product=\"this.product\" :total=\"totalPrice.toFixed(2)\" :filledBags=\"this.filledBags\" ref=\"paymentFormButton\" :key=\"foraceUpdate\"></payment-form-button>\r\n </div>\r\n </div>\r\n </div>\r\n </template>\r\n <template v-else >\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"font-weight-bold title\">\r\n <template v-if=\"screenWidth<992\">\r\n <div class=\"h6 text-center font-weight-bold\" style=\"word-break: normal\">{{product.name}}</div>\r\n <div class=\"mt-1 h5 font-weight-bold text-center color\" style=\"color: #983222\">CHOOSE YOUR FLAVORS</div>\r\n </template>\r\n <template v-else>\r\n <div class=\"h4 text-center font-weight-bold\" style=\"word-break: normal\">{{product.name}}</div>\r\n <div class=\"mt-3 h3 font-weight-bold text-center\" style=\"color: #983222\">CHOOSE YOUR FLAVORS</div>\r\n </template> \r\n </div>\r\n <div class=\"bags-slots mt-2\" style=\"overflow:auto\">\r\n <template v-if=\"screenWidth<992\">\r\n <ul style=\"width:780px;margin:0 auto;\">\r\n <li class=\"mr-1 ml-1 text-center bag-slot\" :class=\"{'empty':bag.id==null,'filled':bag.id!==null}\" style=\"position:relative\" v-for=\"(bag,index) in selectedBags\" :key=\"bag.id\">\r\n <div :class=\"{hidden:bag.id==null}\" class=\"h6 font-weight-bold\">{{bag.count}}</div>\r\n <img :class=\"{'empty-slot':bag.id==null,'filled-slot':bag.id!==null}\" @click=\"addFlavour(bag)\" :src=\"bag.imageSrc\" />\r\n <div :class=\"{hidden:bag.id!==null}\" class=\"h6 font-weight-bold\" style=\"margin-top:-40px\">{{index + 1}}</div>\r\n <a :class=\"{hidden:bag.id==null}\" class=\"d-inline-block mt-2 text-danger font-weight-bold caps c-pointer\" @click=\"removeFlavour(bag)\" style=\"text-decoration:none\">REMOVE</a>\r\n </li>\r\n </ul>\r\n </template>\r\n <template v-else>\r\n <ul style=\"width:780px;margin:0 auto;text-align:center\">\r\n <li class=\"mr-1 ml-1 text-center bag-slot\" :class=\"{'empty':bag.id==null,'filled':bag.id!==null}\" style=\"position:relative\" v-for=\"(bag,index) in selectedBags\" :key=\"bag.id\">\r\n <div :class=\"{hidden:bag.id==null}\" class=\"h2 font-weight-bold\">{{bag.count}}</div>\r\n <el-button @click=\"addFlavour(bag)\" class=\"add-flavour-action absolute-center\" v-if=\"selectedBagsCount<product.quantity\">ADD FLAVOR</el-button>\r\n <img :class=\"{'empty-slot':bag.id==null,'filled-slot':bag.id!==null}\" :src=\"bag.imageSrc\" />\r\n <div :class=\"{hidden:bag.id!==null}\" class=\"h2 font-weight-bold\" style=\"margin-top:-40px\">{{index + 1}}</div>\r\n <a :class=\"{hidden:bag.id==null}\" class=\"d-inline-block mt-2 text-danger font-weight-bold caps c-pointer\" @click=\"removeFlavour(bag)\" style=\"text-decoration:none\">REMOVE</a>\r\n </li>\r\n </ul>\r\n </template>\r\n </div>\r\n\r\n <el-carousel arrow=\"always\" height=\"575px\" interval=\"5000\" indicator-position=\"none\">\r\n <el-carousel-item class=\"bag-slot\" v-for=\"bag in product.bagsList\" :key=\"bag.id\" width=\"300\">\r\n <div class=\"product-image\" style=\"max-width:220px; margin:20px auto\">\r\n <template v-if=\"screenWidth<992\">\r\n <el-button @click=\"addFlavour(bag)\" :loading=\"loading\" class=\"add-flavour-action absolute-center\" v-if=\"selectedBagsCount<product.quantity\">ADD FLAVOR</el-button>\r\n <el-image :src=\"bag.imageSrc\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n </template>\r\n <template v-else text-align:center>\r\n <el-button @click=\"addFlavour(bag)\" :loading=\"loading\" class=\"add-flavour-action absolute-center\" v-if=\"selectedBagsCount<product.quantity\">ADD FLAVOR</el-button>\r\n <el-image :src=\"bag.imageSrc\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n </template>\r\n <div class=\"h5 caps\" style=\"height:auto; max-width: 300px; margin: 0 auto; word-break: normal; text-align: center\">\r\n {{bag.name}}\r\n </div>\r\n <div class=\"h6 caps\" style=\"height: 25px; max-width: 300px; margin: 0 auto; word-break: normal; text-align: center\">\r\n {{bag.weight}}\r\n </div>\r\n <div class=\"h6 mt-2\" style=\"margin:0 auto; word-break:normal; text-align:center\">\r\n {{bag.description}}\r\n </div>\r\n <div class=\"h4 font-weight-bold mt-2\" style=\"color: #983222; text-align: center\">\r\n ${{bag.price.toFixed(2)}}\r\n </div>\r\n <div class=\"h-75 mt-1\" style=\"margin:0 auto; word-break:normal; text-align:center\" v-if=\"bag.ingredients!=null\">\r\n Ingredients: {{bag.ingredients}}\r\n </div>\r\n <!--<div class=\"col-12 row counter mt-3 align-items-center\" style=\"max-width: 380px;margin: 0 auto\">\r\n </div>-->\r\n </div>\r\n </el-carousel-item>\r\n </el-carousel>\r\n </div>\r\n </div>\r\n <el-dialog :show-close=\"false\" :close-on-click-modal =\"false\" v-model=\"enableAddToCart\" :width=\"dialogWidth\" :top=\"dialogTop\" >\r\n <div class=\"text-center\">\r\n <div class=\"free-shipping h3 font-weight-bold text-center bg-danger text-white p-2\" v-bind:class=\"{hidden:!product.freeShipping}\">FREE SHIPPING</div>\r\n <div class=\"h3 mt-5\">SUBTOTAL</div>\r\n <div class=\"total h2 mt-3 font-weight-bold\">${{totalPrice.toFixed(2)}}</div>\r\n <div class=\"mt-3 text-center\">\r\n <!--<div class=\"mt-5\">Quantity configuration, you can add multiple product configurations below</div>-->\r\n <div class=\"mt-2\" style=\"margin:0 auto\">\r\n <div class=\"h4\">Overall Product Quantity</div>\r\n <div class=\"counter mt-2 row align-items-center no-gutters\" style=\"margin:0 auto\">\r\n <div class=\"col p-0\">\r\n <el-button icon=\"el-icon-minus\" circle @click=\"setCount(-1)\"></el-button>\r\n </div>\r\n <div class=\"count-box-mul col p-0\">\r\n <el-input v-model=\"product.count\"></el-input>\r\n </div>\r\n <div class=\"col p-0\">\r\n <el-button icon=\"el-icon-plus\" circle @click=\"setCount(1)\"></el-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-5 addcart text-center\">\r\n <el-button type=\"danger\" style=\"background-color: #983222\" class=\"addCartBtn\" :disabled=\"!enableAddToCart\" @click=\"addToCart()\">ADD TO CART ${{totalPrice.toFixed(2)}}</el-button>\r\n <el-button class=\"addCartBtn\" @click=\"showProduct(product.id)\">CANCEL</el-button>\r\n <payment-form-button v-on:payment-success=\"paymentSuccess\" :product=\"this.product\" :total=\"totalPrice.toFixed(2)\" :filledBags=\"this.filledBags\" ref=\"paymentFormButton\" :key=\"foraceUpdate\"></payment-form-button>\r\n </div>\r\n <div class=\"h5 mt-5\">\r\n <div class=\"text-danger\" v-if=\"selectedBagsCount>product.quantity\">\r\n You have selected {{selectedBagsCount}} bag<span v-if=\"selectedBagsCount>1\">s</span>. Please remove {{selectedBagsCount-product.quantity}} bag<span v-if=\"selectedBagsCount-product.quantity>1\">s</span> to enable the Add To Cart button...\r\n </div>\r\n <div class=\"text-info\" v-if=\"selectedBagsCount > 0 && selectedBagsCount<product.quantity\">\r\n You have selected {{selectedBagsCount}} bag<span v-if=\"selectedBagsCount>1\">s</span>. Please add {{product.quantity-selectedBagsCount}} bag<span v-if=\"product.quantity-selectedBagsCount>1\">s</span> to enable the Add To Cart button...\r\n </div>\r\n </div>\r\n </div>\r\n </el-dialog>\r\n </template> \r\n </div>\r\n \r\n </el-dialog>\r\n</template>\r\n\r\n<script>\r\n\r\n import axios from \"axios\"\r\n import store from \"@/store\"\r\n import PaymentFormButton from \"./PaymentFormButton\"\r\n import OrderReview from \"./OrderReview\"\r\n import router from \"../router\";\r\n\r\n export default {\r\n name: \"ProductDetail\",\r\n components: { PaymentFormButton },\r\n data() {\r\n return {\r\n product: {},\r\n visible: false,\r\n selectedBags: [],\r\n loading: false,\r\n foraceUpdate: 0, \r\n // productCountDialogVisible: false;\r\n }\r\n },\r\n computed: {\r\n filledBags() {\r\n return this.selectedBags.filter(b=>b.id!=null);\r\n },\r\n totalPrice() {\r\n if (this.product.bagsList.length == 1)\r\n return this.product.count * this.product.price;\r\n else {\r\n let total = 0;\r\n this.filledBags.forEach((item) => {\r\n total += (item.price * item.count);\r\n });\r\n return total * this.product.count;\r\n }\r\n },\r\n enableAddToCart() {\r\n if (this.product.bagsList.length == 1)\r\n return true;\r\n else {\r\n let count = 0;\r\n this.filledBags.forEach(item => {\r\n count += item.count;\r\n });\r\n\r\n return count == this.product.quantity;\r\n }\r\n },\r\n selectedBagsCount() {\r\n let count = 0;\r\n this.filledBags.forEach(item => {\r\n count += item.count;\r\n });\r\n return count;\r\n },\r\n dialogWidth() {\r\n if (screen.width <= 576)\r\n return \"100%\";\r\n else return \"500px\";\r\n },\r\n dialogTop() {\r\n if (screen.width <= 576)\r\n return \"0\";\r\n else return \"15vh\";\r\n },\r\n screenWidth() {\r\n return screen.width;\r\n }\r\n },\r\n methods: {\r\n \r\n showProduct(id) {\r\n //get store detail\r\n this.product.count = 1;\r\n axios.get(\"/api/products/\" + id).then(response => {\r\n this.product = response.data;\r\n this.product.count = 1;\r\n this.selectedBags=[];\r\n this.product.bagsList.forEach((item, index) => {\r\n if (index < this.product.quantity) {\r\n item.count = 0;\r\n item.selected = false;\r\n this.selectedBags.push({ id: null, count: 0, imageSrc: 'https://coloradojackgivebacksa.blob.core.windows.net/bags/empty-slot.png' })\r\n }\r\n });\r\n\r\n this.visible = true;\r\n this.foraceUpdate++;\r\n }).catch((error) => {\r\n });\r\n },\r\n addFlavour(bag) {\r\n this.loading = true;\r\n let sBag = this.selectedBags.filter(item => item.id == bag.id);\r\n if (sBag.length > 0)\r\n sBag[0].count++;\r\n else {\r\n let emptyItems = this.selectedBags.filter(item => item.id == null);\r\n if (emptyItems.length > 0) {\r\n bag.selected = true;\r\n emptyItems[0].id = bag.id;\r\n emptyItems[0].name = bag.name;\r\n emptyItems[0].price = bag.price;\r\n emptyItems[0].count = 1; \r\n emptyItems[0].imageSrc = bag.imageSrc;\r\n }\r\n }\r\n this.loading = false;\r\n },\r\n removeFlavour(bag) {\r\n bag.count--;\r\n if (bag.count == 0) { \r\n bag.id = null;\r\n bag.imageSrc = 'https://coloradojackgivebacksa.blob.core.windows.net/bags/empty-slot.png';\r\n }\r\n },\r\n setCount(v) {\r\n if (this.product.count + v > 0)\r\n this.product.count += v;\r\n },\r\n //setBagCount(bagId,v) {\r\n // //get bag\r\n // const bag = this.product.bagsList.filter(b => b.id === bagId)[0];\r\n // if (bag.count + v >= 0) \r\n // bag.count += v; \r\n //},\r\n addToCart() {\r\n //define product to add to cart\r\n let product = {\r\n id: this.product.id, name: this.product.name, freeShipping: this.product.freeShipping, ShippingMethodID: this.product.shippingMethodID, shippingCost: this.product.shippingCost, total: this.totalPrice, quantity: this.product.quantity, count: this.product.count, price: this.product.price, imageSrc: this.product.imageSrc, bags: []\r\n };\r\n\r\n if (this.product.bagsList.length == 1) {\r\n let item = this.product.bagsList[0];\r\n product.bags.push({ id: item.id, name: item.name, imageSrc: item.imageSrc, price: product.price, total: product.price, count: product.quantity });\r\n \r\n product.total = product.price * product.count;\r\n }\r\n else if (this.product.bagsList.length > 1) {\r\n this.product.price = 0;\r\n product.total = 0;\r\n this.filledBags.forEach((item) => {\r\n let bag = { id: item.id, name: item.name, imageSrc: item.imageSrc, price: item.price, total: (item.count * item.price), count: item.count };\r\n product.bags.push(bag);\r\n product.price += item.price * item.count;\r\n });\r\n product.total = product.price * product.count; \r\n }\r\n \r\n //send to cart\r\n store.dispatch(\"addToCart\", product);\r\n this.visible = false;\r\n },\r\n paymentFail(paymentMethod, orderStatus) {\r\n this.paymentError = orderStatus.message;\r\n // alert(failError);\r\n },\r\n //will be called from payment form when user payes with Google/Apple pay\r\n paymentSuccess(paymentMethod, orderData) {\r\n let order = {};\r\n order.number = orderData.orderNum;\r\n order.total = parseFloat(orderData.total);\r\n order.deliveryMethod = orderData.deliveryMethod;\r\n order.email = orderData.email;\r\n order.shippingAddressString = orderData.shippingAddressString;\r\n order.billingAddressString = orderData.billingAddressString;\r\n store.dispatch('setCompletedOrder', order);\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .counter .el-button {\r\n width: 50px;\r\n height: 50px;\r\n }\r\n .el-button.is-circle {\r\n border-radius: 50%;\r\n padding: 8px !important;\r\n }\r\n .counter .count {\r\n padding: 0px 50px;\r\n font-size: 56px;\r\n font-weight: bold;\r\n }\r\n\r\n .counter .el-button i {\r\n font-size: 32px;\r\n }\r\n\r\n .addcart .el-button {\r\n font-size: 20px;\r\n }\r\n\r\n .count-box input {\r\n width: 100px;\r\n font-size: 24px;\r\n text-align: center;\r\n font-weight: bold;\r\n }\r\n .count-box-mul input {\r\n font-size: 24px;\r\n text-align: center;\r\n font-weight: bold;\r\n }\r\n img.empty-slot {\r\n /*max-width:120px;*/\r\n max-width: 70px;\r\n }\r\n img.filled-slot {\r\n height: 80px;\r\n }\r\n\r\n .product-image {\r\n max-width: 170px;\r\n margin: 0 auto;\r\n position: relative; \r\n }\r\n .product-image img {\r\n transition: all .5s ease-out;\r\n }\r\n .product-image:hover img, .bag-slot.filled:hover img {\r\n opacity: .3;\r\n }\r\n .product-image:hover .add-flavour-action, .bag-slot.filled:hover .add-flavour-action {\r\n opacity: 1;\r\n }\r\n\r\n .add-flavour-action {\r\n z-index: 1;\r\n opacity: 0;\r\n box-shadow: 0 5px 20px 0 rgb(0 0 0 / 50%);\r\n transition: all .5s ease-out !important;\r\n background-color: #983222 !important;\r\n color: #fff !important;\r\n border: none !important;\r\n }\r\n\r\n .bag-slot .add-flavour-action {\r\n padding: 10px !important;\r\n font-size: 12px !important;\r\n }\r\n\r\n .addcart button {\r\n width: 48%;\r\n border-radius: 1px;\r\n }\r\n .addCartBtn {\r\n font-size: 12px !important;\r\n /*padding-right: 60px !important;*/\r\n text-align:center;\r\n }\r\n .el-carousel__item h3 {\r\n /*color: #475669;*/\r\n font-size: 14px;\r\n /*opacity: 0.75;*/\r\n /*line-height: 200px;*/\r\n margin: 0;\r\n text-align: center;\r\n }\r\n\r\n .el-carousel__item:nth-child(2n) {\r\n /*background-color: azure #99a9bf;*/\r\n background-color: white;\r\n }\r\n\r\n .el-carousel__item:nth-child(2n + 1) {\r\n /*background-color: #d3dce6;*/\r\n background-color: white;\r\n }\r\n\r\n .el-carousel__arrow {\r\n background-color: #262626;\r\n }\r\n\r\n</style>","import { render } from \"./ProductDetail.vue?vue&type=template&id=16b07b16\"\nimport script from \"./ProductDetail.vue?vue&type=script&lang=js\"\nexport * from \"./ProductDetail.vue?vue&type=script&lang=js\"\n\nimport \"./ProductDetail.vue?vue&type=style&index=0&id=16b07b16&lang=css\"\nscript.render = render\n\nexport default script","import { render } from \"./PublicStore.vue?vue&type=template&id=a663680a&scoped=true\"\nimport script from \"./PublicStore.vue?vue&type=script&lang=js\"\nexport * from \"./PublicStore.vue?vue&type=script&lang=js\"\n\nimport \"./PublicStore.vue?vue&type=style&index=0&id=a663680a&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-a663680a\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Product.vue?vue&type=style&index=0&id=03db784c&scoped=true&lang=css\"","<template>\r\n <div class=\"container mt-5\">\r\n <el-tabs :tab-position=\"tabsPosition\" style=\"min-height: 400px; overflow: auto;\">\r\n <el-tab-pane label=\"Profile\"><profile></profile></el-tab-pane>\r\n <el-tab-pane label=\"Address\"><Address></Address></el-tab-pane>\r\n <!--<el-tab-pane label=\"Identity Verification\"><IdentityVerification></IdentityVerification></el-tab-pane>\r\n <el-tab-pane label=\"Password & Security\"><PasswordAndSecurity></PasswordAndSecurity></el-tab-pane>-->\r\n <el-tab-pane label=\"Payment Methods\" v-if=\"checkIfUserIsOrganizer\">\r\n <!--<section class=\"h5 font-weight-medium mt-5\">\r\n <div class=\"row col-md-10 mb-2\">\r\n <h5 style=\"color: #983222\">Thank you for participating in a Colorado Jack Fundraiser! We are ready to prepare your check for 50% of your gross sales (sales less shipping costs). </h5>\r\n </div>\r\n </section>-->\r\n <section class=\"h5 font-weight-medium mt-5\">\r\n <span>FUNDRAISER PAYOUT INFORMATION</span>\r\n <h5 class=\"mt-3\">Thank you for participating in a Colorado Jack Fundraiser!</h5>\r\n <h6>Click on the fundraiser title below and complete the form then click submit to provide your information to our staff for final payout review. </h6>\r\n <!-- <span class=\"float-right\"><el-button icon=\"el-icon-edit\" circle @click=\"editMode=true\"></el-button></span>-->\r\n </section>\r\n <template v-if=\"editMode\">\r\n <div class=\"row mt-3\">\r\n <div class=\"col-12 col-sm-6\">\r\n <el-form :model=\"event\" :rules=\"event1Rules\" ref=\"event1Form\" :label-position=\"top\" hide-required-asterisk=\"true\" show-message=\"false\" @submit.prevent>\r\n <el-collapse class=\"ml-3\" style=\"white-space: nowrap;overflow: hidden;text-overflow: clip\">\r\n <el-collapse-item v-for=\"event in events\" :title=\"event.title\" :name=\"event.id\" :key=\"event.id\" @change=\"selectedevent(event)\" style=\"color: #983222; font-size:medium\">\r\n <div v-if=\"event.status=='Ended'\" class=\"col-12\" style=\"background-color:lightgrey\"> \r\n <div class=\"row col-md-12 mb-2\" style=\"white-space: normal;overflow: auto;\">\r\n <h6>We are ready to prepare your check for 50% of your gross sales (sales less shipping costs). </h6>\r\n </div> \r\n <section style=\"height: 720px;white-space: normal;overflow: auto;text-overflow: ellipsis\">\r\n <div class=\"row\">\r\n <div class=\"col-6 font-weight-medium text-left\" style=\"font-size:14px\">FUNDRAISER TITLE</div>\r\n <div class=\"col-6 font-weight-medium text-left\" style=\"font-size:14px\">ESTIMATED PAYOUT</div>\r\n </div>\r\n <hr class=\"m-1\" />\r\n <div class=\"row \">\r\n <div class=\"col-6 font-weight-medium text-left\">{{event.title}}</div>\r\n <div class=\"col-6 font-weight-medium text-left\">${{event.allStoresSubTotal / 2}}</div>\r\n </div>\r\n <hr class=\"m-1 mb-2\" />\r\n <section>\r\n <el-form-item label=\"MAKE CHECK PAYABLE TO:\" prop=\"eventPayToName\">\r\n <el-input type=\"text\" v-model=\"event.eventPayToName\" autocomplete=\"off\" v-focus v-fancylabel v-on:keyup.enter=\"submitChanges\"></el-input>\r\n </el-form-item>\r\n </section>\r\n <section style=\"padding:0px\">\r\n <el-form-item label=\"ADDRESS TO SEND CHECK TO:\" prop=\"eventPayToAddress\">\r\n <el-input type=\"text\" v-model=\"event.eventPayToAddress\" autocomplete=\"off\" v-focus v-fancylabel v-on:keyup.enter=\"submitChanges\"></el-input>\r\n </el-form-item>\r\n </section>\r\n <section style=\"padding:0px\">\r\n <h6 class=\"text-center\" style=\"font-weight:500\">Please upload your W-9 information! If you need the W-9 form you can fill out a PDF online at <a href=\"https://www.irs.gov/pub/irs-pdf/fw9.pdf\" target=\"_blank\">Visit irs w-9</a> then upload to this site. If you have questions email us at <a href=\"mailto:info@coloradojackgiveback.com\">info@coloradojackgiveback.com</a>.</h6>\r\n <div style=\"height:200px;margin: 0 auto; margin-bottom:20px\">\r\n <el-upload class=\"avatar-uploader\" drag:action=\"url+filename+query\" :on-change=\"w9Selected\" :auto-upload=\"false\" drag>\r\n <i class=\"el-icon-upload\"></i>\r\n <div class=\"el-upload__text\">Drop file here or <em>click to upload</em></div>\r\n <div class=\"el-upload__tip\">Only files with an and .pdf .jpg .jpeg extension</div>\r\n </el-upload>\r\n </div>\r\n </section>\r\n <hr />\r\n <section style=\"padding:0px\">\r\n <el-form-item>\r\n <div style=\"text-align:center;justify-content:center\">\r\n <h6 v-if=\"submitPayinfo&&event.w9file!=null\" style=\"color: #983222; font-size:large\">Thanks, we have submitted your information! </h6>\r\n <el-button v-else type=\"primary\" :disabled=\"!this.enableSubmit\" @click=\"submitChanges\" :loading=\"loading\" class=\"float-left\">SUBMIT</el-button>\r\n </div>\r\n </el-form-item>\r\n </section>\r\n </section>\r\n </div>\r\n <div v-else>\r\n <h6 style=\"color: #983222\">Looks like this fundraiser hasn't ended yet. Check back here once the fundraiser has ended. </h6>\r\n </div>\r\n </el-collapse-item>\r\n </el-collapse>\r\n \r\n </el-form>\r\n </div>\r\n </div>\r\n </template>\r\n <hr />\r\n <div class=\"row center col-md-10 justify-content-center mt-lg-5 mb-5\">\r\n <div class=\"col-md-5\">\r\n <H2 class=\"center\" style=\"color: #983222\">If you need more help please contact us.</H2>\r\n <p class=\"mt-3 font-weight-medium\" style=\"color: #983222;\">EMAIL ADDRESS</p>\r\n <p class=\"mt-2\"><a href=\"mailto:info@coloradojackgiveback.com\">info@coloradojackgiveback.com</a></p>\r\n <p class=\"mt-2 font-weight-medium\" style=\"color: #983222\">MAILING ADDRESS</p>\r\n <p class=\"mt-2\">1702 Schwan Ave NE, Devils Lake, ND 58301</p>\r\n </div>\r\n <div class=\"col-md-5 \">\r\n <div class=\"row justify-content-center mt-3 \">\r\n <img src=\"https://coloradojackgivebacksa.blob.core.windows.net/vuepublicpage/normalpopcorn.png\" class=\"img-fluid mb-3\" />\r\n </div>\r\n </div>\r\n </div>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import Profile from \"./Profile\"\r\n import Address from \"./Address\"\r\n //import PasswordAndSecurity from \"./PasswordAndSecurity\"\r\n //import IdentityVerification from \"./IdentityVerification\"\r\n import axios from \"axios\"\r\n import store from \"@/store\"\r\n import { mapGetters } from \"vuex\"\r\n\r\n export default {\r\n name: 'Settings',\r\n //components: { Profile, Address, PasswordAndSecurity, IdentityVerification },\r\n components: { Profile, Address },\r\n data() {\r\n return {\r\n editMode: true,\r\n submitPayinfo: false,\r\n loading: false,\r\n events: {},\r\n event: {},\r\n email: '',\r\n status: '',\r\n w9Url: \"\",\r\n enableSubmit: false,\r\n event1Rules: {\r\n eventPayToAddress: [\r\n { required: true, message: 'Check Mailing address is required', trigger: 'blur' }\r\n ],\r\n eventPayToName: [\r\n { required: true, message: 'Check payable to is required', trigger: 'blur' }\r\n ]\r\n }\r\n }\r\n },\r\n methods: {\r\n selectedevent(val) {\r\n this.event = val;\r\n this.event.eventPayOutAmount = this.event.allStoresSubTotal / 2;\r\n this.event.email = this.email;\r\n this.event.organizerName = this.currentUserDetail.firstName.concat(\" \", this.currentUserDetail.lastName);\r\n //this.event.eventPaidOut = false;\r\n }, \r\n w9Selected(file) {\r\n this.w9Url = URL.createObjectURL(file.raw);\r\n this.event.w9file = file;\r\n if (this.event.w9file != '') {\r\n this.enableSubmit = true;\r\n }\r\n console.log(this.w9Url);\r\n },\r\n handleUploadError() {\r\n console.log(\"File upload failed.\");\r\n },\r\n handleUploadSuccess() {\r\n console.log(\"File upload succeeded!\");\r\n },\r\n validateForm(form) {\r\n let isValid = false;\r\n this.$refs[form].validate((valid) => {\r\n isValid = valid;\r\n });\r\n return isValid;\r\n },\r\n submitChanges() { \r\n if (this.event.eventPayToAddress != '' && this.event.eventPayToName != '' && this.event.w9file != null) {\r\n //var test = this.settings.event;\r\n var formData = new FormData();\r\n // formData.append(\"allStoresSubTotal:\", this.event.allStoresSubTotal)\r\n for (const [key, value] of Object.entries(this.event)) {\r\n formData.append(key, value);\r\n }\r\n\r\n //add w9file to formdata\r\n if (this.event.w9file != null) {\r\n formData.append(\"w9file\", this.event.w9file.raw);\r\n //for (const [key, value] of Object.entries(this.event.w9file)) {\r\n // formData.append(\"w9filedata.\" + key, value);\r\n //} \r\n }\r\n\r\n this.loading = true;\r\n axios.put(\"/api/events/\", formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n }).then(response => {\r\n this.$message({\r\n message: 'Changes saved to the payment method.',\r\n type: 'success'\r\n });\r\n this.submitPayinfo = true;\r\n this.loading = false;\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n }\r\n else {\r\n this.$message({\r\n message: 'Not all required fields have been filled.',\r\n type: 'failure'\r\n });\r\n }\r\n },\r\n async getEventDetails() {\r\n await axios.get('/api/events/').then(response => {\r\n this.events = response.data;\r\n }).catch((error) => {\r\n\r\n });\r\n },\r\n },\r\n computed: {\r\n tabsPosition() {\r\n if (screen.width <= 768)\r\n return \"'top'\";\r\n else\r\n return \"left\";\r\n }, \r\n ...mapGetters([\r\n 'isAuthenticated', 'currentUserDetail', 'hasRunningEvent', 'runningEventEndDate'\r\n ]),\r\n checkIfUserIsOrganizer() {\r\n if (this.status) {\r\n return this.status.includes(\"o/e\");\r\n } \r\n return false;\r\n },\r\n },\r\n mounted() {\r\n \r\n },\r\n created() {\r\n this.getEventDetails(); \r\n this.email = this.currentUserDetail.email;\r\n this.status = this.currentUserDetail.status; \r\n }\r\n }\r\n</script>\r\n\r\n\r\n<style scoped>\r\n \r\n</style>\r\n","<template>\r\n <section class=\"h5 font-weight-medium mt-5\">\r\n <span>PROFILE</span>\r\n <span class=\"float-right\"><el-button icon=\"el-icon-edit\" circle @click=\"editMode=true\"></el-button></span>\r\n </section>\r\n <hr /> \r\n <template v-if=\"editMode\">\r\n <div class=\"row mt-5\"> \r\n <div class=\"col-12 col-sm-6\" style=\"height: 300px\">\r\n <section>\r\n <div class=\"font-weight-medium\">\r\n EMAIL\r\n </div>\r\n <div class=\"mt-2\" style=\"color: #983222\">\r\n {{profile.email}}\r\n </div>\r\n </section>\r\n <section>\r\n <div class=\"font-weight-medium\">\r\n MOBILE PHONE\r\n </div>\r\n <div class=\"mt-2\" style=\"color: #983222\">\r\n {{profile.phone}}\r\n </div>\r\n </section>\r\n <el-form :model=\"profile\" :rules=\"profileRules\" ref=\"profileForm\" :label-position=\"top\" hide-required-asterisk=\"true\" show-message=\"false\" @submit.prevent>\r\n <section>\r\n <el-form-item label=\"FIRST NAME\" prop=\"firstName\" style=\"color: #983222\">\r\n <el-input type=\"text\" v-model=\"profile.firstName\" autocomplete=\"off\" v-focus v-fancylabel v-on:keyup.enter=\"submitChanges\"></el-input>\r\n </el-form-item>\r\n </section>\r\n <section>\r\n <el-form-item label=\"LAST NAME\" prop=\"lastName\" style=\"color: #983222\">\r\n <el-input type=\"text\" v-model=\"profile.lastName\" autocomplete=\"off\" v-fancylabel v-on:keyup.enter=\"submitChanges\"></el-input>\r\n </el-form-item>\r\n </section>\r\n </el-form>\r\n </div>\r\n <div class=\"col-12 col-sm-6 justify-content-end d-flex\" style=\"height: 200px\" >\r\n <div style=\"width:250px;height:250px\">\r\n <ImageUploader @crop=\"setCropData\" @image-selected=\"setSelectedImage\" :image=\"profile.imageSrc\"></ImageUploader>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mt-5\" style=\"padding-top:30px; justify-content:center\">\r\n <el-form-item>\r\n <el-button type=\"primary\" plain @click=\"editMode=false\" class=\"center\">CANCEL</el-button>\r\n <el-button type=\"primary\" @click=\"submitChanges\" :loading=\"loading\" class=\"center\">SUBMIT CHANGES</el-button>\r\n </el-form-item>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <div class=\"row\"> \r\n <div class=\"col-12 col-sm-6\">\r\n <section>\r\n <div class=\"font-weight-medium\">\r\n EMAIL\r\n </div>\r\n <div class=\"mt-2 font-weight-light\">\r\n {{profile.email}}\r\n </div>\r\n </section>\r\n <section>\r\n <div class=\"font-weight-medium\">\r\n MOBILE PHONE\r\n </div>\r\n <div class=\"mt-2 font-weight-light\">\r\n {{profile.phone}}\r\n </div>\r\n </section>\r\n <section>\r\n <div class=\"font-weight-medium\">\r\n FIRST NAME\r\n </div>\r\n <div class=\"mt-2 font-weight-light\">\r\n {{profile.firstName}}\r\n </div>\r\n </section>\r\n <section>\r\n <div class=\"font-weight-medium\">\r\n LAST NAME\r\n </div>\r\n <div class=\"mt-2 font-weight-light\">\r\n {{profile.lastName}}\r\n </div>\r\n </section>\r\n </div>\r\n <div class=\"col-12 col-sm-6 justify-content-end d-flex\">\r\n <div style=\"width:300px;height:300px\" class=\"profile-image\">\r\n <el-image :src=\"profile.imageSrc\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n </div>\r\n </div>\r\n </div>\r\n </template>\r\n\r\n</template>\r\n\r\n<script>\r\n import axios from \"axios\"\r\n import store from \"@/store\"\r\n import { mapGetters } from \"vuex\"\r\n import ImageUploader from \"./ImageUploader\"\r\n\r\n export default {\r\n name: 'Profile',\r\n components: { ImageUploader },\r\n data() {\r\n return {\r\n editMode: false,\r\n loading: false,\r\n file: null,\r\n profile: {\r\n email: '',\r\n phone: '',\r\n firstName: '',\r\n lastName: '',\r\n imageSrc: '',\r\n imageCropData: {}\r\n },\r\n profileRules: {\r\n firstName: [\r\n { required: true, message: 'First Name is required', trigger: 'blur' }\r\n ],\r\n lastName: [\r\n { required: true, message: 'Last Name is required', trigger: 'blur' }\r\n ]\r\n }\r\n }\r\n },\r\n methods: {\r\n setSelectedImage(file) {\r\n this.file = file;\r\n },\r\n setCropData(data) {\r\n this.profile.imageCropData = data;\r\n },\r\n submitChanges() {\r\n this.$refs[\"profileForm\"].validate((valid) => {\r\n if (valid) {\r\n var formData = new FormData();\r\n if (this.file != null) {\r\n formData.append(\"file\", this.file.raw);\r\n for (const [key, value] of Object.entries(this.profile.imageCropData)) {\r\n formData.append(\"imageCropData.\" + key, value);\r\n }\r\n }\r\n\r\n for (const [key, value] of Object.entries(this.profile)) {\r\n if (key === \"imageCropData\")\r\n continue;\r\n formData.append(key, value);\r\n }\r\n this.loading = true;\r\n axios.put(\"/api/users\", formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n }).then(response => {\r\n this.currentUserDetail.firstName = this.profile.firstName;\r\n this.currentUserDetail.lastName = this.profile.lastName;\r\n this.currentUserDetail.imageSrc = response.data;\r\n this.profile.imageSrc = response.data;\r\n store.commit(\"setLoggedInUser\", this.currentUserDetail);\r\n this.$message({\r\n message: 'Changes saved to the event.',\r\n type: 'success'\r\n });\r\n this.editMode = false;\r\n this.loading = false;\r\n }).catch((error) => {\r\n this.loading = false;\r\n }); \r\n }\r\n }); \r\n }\r\n },\r\n computed:{\r\n ...mapGetters([\r\n 'currentUserDetail'\r\n ])\r\n },\r\n mounted() {\r\n \r\n },\r\n created() {\r\n this.profile.email = this.currentUserDetail.email;\r\n this.profile.phone = this.currentUserDetail.phone;\r\n this.profile.firstName = this.currentUserDetail.firstName;\r\n this.profile.lastName = this.currentUserDetail.lastName;\r\n this.profile.imageSrc = this.currentUserDetail.imageSrc;\r\n }\r\n }\r\n</script>\r\n\r\n\r\n<style>\r\n .profile-image img{\r\n border-radius:100% !important;\r\n }\r\n</style>\r\n","import { render } from \"./Profile.vue?vue&type=template&id=9e818b86\"\nimport script from \"./Profile.vue?vue&type=script&lang=js\"\nexport * from \"./Profile.vue?vue&type=script&lang=js\"\n\nimport \"./Profile.vue?vue&type=style&index=0&id=9e818b86&lang=css\"\nscript.render = render\n\nexport default script","import { render } from \"./Settings.vue?vue&type=template&id=149ab26d\"\nimport script from \"./Settings.vue?vue&type=script&lang=js\"\nexport * from \"./Settings.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./TermsOfUse.vue?vue&type=style&index=0&id=7e17e8e2&scoped=true&lang=css\"","<template>\r\n <div class=\"container\" :loading=\"loading\">\r\n <div class=\"row pt-5\" style=\"justify-content:center\" v-if=\"!editMode\">\r\n <h5 style=\"color: #983222\">Fundraiser Details:</h5>\r\n </div>\r\n <!--<div class=\"row no-gutters\" v-if=\"!editMode\">\r\n <div class=\"h4 font-weight-medium pt-2 pb-2 p-sm-0 pb-sm-3 elipssis center\" v-if=\"event.storeId!=null\"><router-link :to=\"{ name: 'OpenStore',params: { id: event.storeId }}\" style=\"color: #9A3324\">{{eventEdit.title}}</router-link></div>\r\n </div>-->\r\n <div class=\"row no-gutters\" v-if=\"!editMode\">\r\n <div class=\"center\"><h6 style=\"\">Fundraiser default image - you can edit this image by choosing \"Edit Fundraiser\" button below. Participants will choose there own image for there online store, but the default fundraiser image will be displayed in a circle in the upper right hand corner of each participants store.</h6></div>\r\n </div>\r\n <div class=\"row no-gutters\">\r\n <div class=\"col image-cover\">\r\n <el-image :src=\"event.imageSrc\" style=\"border-radius:30px\" v-if=\"!editMode\">\r\n <template #error>\r\n <div class=\"image-slot\">\r\n <i class=\"el-icon-picture-outline\"></i>\r\n </div>\r\n </template>\r\n </el-image>\r\n <ImageUploader @crop=\"setCropData\" @image-selected=\"setSelectedImage\" v-if=\"editMode\" :image=\"event.imageSrc\"></ImageUploader>\r\n </div>\r\n </div>\r\n <div class=\"row pt-3 pb-3\" style=\"justify-content:center; text-align:center\">\r\n <div class=\"header-text col-10 col-lg-6 mb-1 mb-lg-0 mt-5\">\r\n <div class=\"row no-gutters\">\r\n <div class=\"col-4\"><h5 style=\"color: #983222\">Time Remaining:</h5></div>\r\n <div class=\"col-8\"><h5 style=\"color: #983222\"><EventTimer v-bind:startDate=\"event.startDate\" v-bind:endDate=\"event.endDate\" v-if=\"event.endDate!=null\"></EventTimer></h5></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row no-gutters mt-lg-5\" v-if=\"editMode\">\r\n <div class=\"col-12\">\r\n <el-form :model=\"eventEdit\" :rules=\"eventEditRules\" ref=\"eventEditForm\" :label-position=\"top\" hide-required-asterisk=\"true\">\r\n <el-form-item label=\"TITLE\" prop=\"title\">\r\n <el-input v-model=\"eventEdit.title\" v-fancylabel v-on:keyup.enter=\"saveChanges\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"DESCRIPTION\" prop=\"description\">\r\n <el-input v-model=\"eventEdit.description\" v-fancylabel v-on:keyup.enter=\"saveChanges\"></el-input>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <label class=\"top-label\">Fundraiser Information</label>\r\n <div class=\"title\">\r\n <div style=\"overflow: hidden;\">\r\n <div class=\"row\">\r\n <div class=\"col-4\"><h6>Edit Fundraiser:</h6></div>\r\n <div class=\"col-8\">\r\n <el-button-group>\r\n <el-button style=\"width:150px\" class=\"mr-2\" type=\"primary\" size=\"small\" icon=\"el-icon-edit-outline\" @click=\"editMode=true\" v-if=\"!editMode\" title=\"Edit Fundraiser, this button allows you to make changes to Fundraiser title, Description and Event Picture!\">Edit Fundraiser</el-button>\r\n <el-button style=\"width:150px\" class=\"mr-2\" type=\"primary\" size=\"small\" icon=\"el-icon-check\" :loading=\"loading\" @click=\"saveChanges\" v-if=\"editMode\" title=\"Save Changes to Store!\">Save Changes</el-button>\r\n <el-button type=\"danger\" style=\"background-color: #983222; width:150px\" size=\"small\" icon=\"el-icon-remove\" @click=\"confirmStopEvent\" title=\"Warning: this button removes the Fundraiser!\">Delete Fundraiser</el-button>\r\n </el-button-group>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 \"><h6>Fundraiser Title:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>{{eventEdit.title}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 \"><h6>Fundraiser Description:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>{{eventEdit.description}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 \"><h6>Store Details Page:</h6></div>\r\n <div class=\"col-8 text-left\" v-if=\"event.storeId!=null\"><h6><router-link style=\"color: #9A3324\" :to=\"{ name: 'OpenStore',params: { id: event.storeId }}\">{{eventEdit.title}}</router-link></h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4\"><h6>Organizer Email:</h6></div>\r\n <h6 class=\"col-8 text-left\">{{profile.email}}</h6>\r\n </div>\r\n <hr />\r\n\r\n <div class=\"row\">\r\n <div class=\"col-4\"><h6>START DATE:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>{{new Date(event.startDate).toLocaleDateString(\"en-US\",{ year: 'numeric', month: 'long', day: 'numeric' })}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4\"><h6>END DATE:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>{{new Date(event.endDate).toLocaleDateString(\"en-US\",{ year: 'numeric', month: 'long', day: 'numeric' })}}</h6></div>\r\n </div>\r\n <hr />\r\n <div class=\"statistics\">\r\n <div class=\"row\">\r\n <div class=\"col-4\"><h6>Fundraiser Goal:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>${{parseFloat(event.targetAmount).toFixed(2)}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4\"><h6>Total Popcorn Earnings (50%):</h6></div>\r\n <div class=\"col-8 text-left\"><h6 style=\"color:green\">${{ totalPopcornSalesNet }}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4\"><h6>Total Direct Donations (After Fees):</h6></div>\r\n <div class=\"col-8 text-left\"><h6 style=\"color:green\">${{ totalDirectDonationsNet }}</h6></div>\r\n </div>\r\n <!--<div class=\"row\">\r\n <div class=\"col-4\"><h6><strong>Total Net Earnings:</strong></h6></div>\r\n <div class=\"col-8 text-left\"><h6 style=\"color:green\"><strong>${{ totalNetEarnings }}</strong></h6></div>\r\n </div>-->\r\n <div class=\"row\">\r\n <div class=\"col-4\"><h6><strong>Total Fundraiser Earnings:</strong></h6></div>\r\n <div class=\"col-8 text-left\">\r\n <el-button class=\"earnings-button\"\r\n type=\"primary\"\r\n size=\"medium\"\r\n @click=\"eventBreakDown=true\"\r\n title=\"Click to view fundraiser dollar breakdown\">\r\n 💰 ${{ parseFloat(totalNetEarnings).toFixed(2) }}\r\n </el-button>\r\n </div>\r\n\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4\"><h6>Number of Participants:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>{{event.participantsCount}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4\"><h6>Number of Donations:</h6></div>\r\n <div class=\"col-8 text-left\"><h6>{{event.donationsCount}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4\"><h6>Master Invite Code:</h6></div>\r\n <div class=\"col-8 text-left\"><h6 style=\"color: #983222\">{{event.code}}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-4 font-weight-normal\"><h6>Master invite Link</h6></div>\r\n <el-popover placement=\"top\"\r\n :width=\"650\"\r\n auto-close=\"4000\"\r\n :trigger=\"click\"\r\n effect=\"dark\"\r\n content=\"Copied participant invite url, you can now paste the link into an Email or SMS message!\">\r\n <template #reference>\r\n <h6 class=\"col-7 el-icon-copy-document c-pointer h6\" style=\"color: #9A3324\" title=\"Copied participant invite url to your clipboard, then you can paste into an email or text message\" id=\"eventCode\" :data-copy=\"masterInviteUrl\" @click=\"copyCode\"> MasterUrlInviteCode</h6>\r\n </template>\r\n </el-popover>\r\n </div>\r\n <div class=\"row\" v-if=\"isMobile\">\r\n <div class=\"col-4\"><h6>Invite Sellers with your phones SMS:</h6></div>\r\n <div class=\"col-8 text-left\">\r\n <a style=\"background-color:aquamarine\" class=\"el-button el-button--large mr-2\" v-bind:href=\"smsUrl\" v-if=\"isMobile\"><i class=\"fas fa-sms\" style='color: white'></i></a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"fundraiser-earnings-explainer\">\r\n <h6>📊 How Fundraiser Earnings Are Calculated:</h6>\r\n <ul>\r\n <li><strong>Popcorn Sales:</strong> 50% of total popcorn sales go directly to the fundraiser.</li>\r\n <li><strong>Direct Donations:</strong> 90% of each donation goes to the fundraiser, with a 10% fee deducted to cover credit card processing, hosting, website maintenance, and operational costs.</li>\r\n </ul>\r\n <p><strong>Final Formula:</strong></p>\r\n <p>\r\n <code>Total Earnings = (Popcorn Sales / 2) + (Direct Donations × 90%)</code>\r\n </p>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <label class=\"top-label\">SELLER INVITE STATUS</label>\r\n <el-badge :value=\"event.participantsCount\" v-if=\"parseInt(event.participantsCount)>0\" class=\"count\" title=\"This is the status of the email invitation that was sent to the sellers!\"></el-badge>\r\n\r\n <div class=\"participants\">\r\n <div class=\"row col-10 center\" style=\"text-align:left\">\r\n <ul>\r\n <li><h6><el-button type=\"info\" @click=\"invPartInfoVisible=true\" icon=\"el-icon-info\" circle title=\"more info\"></el-button> To get started, please invite Sellers(team members) to create their own fully functional eCommerce store front! Just click the 'Invite Sellers With Email/SMS' buttons below and enter their email address or phone number. The email and sms messages are sent from our servers.</h6></li>\r\n <li><h6>It should only take a few minutes for the Seller to setup their site, once they start the setup.</h6></li>\r\n <li><h6>As you invite more sellers, it allows your fundraising event to reach more potential buyers!</h6></li>\r\n <li>\r\n <h6>\r\n If you would like to send the email or sms out to the sellers yourself, and bypass our servers, use the copy seller invite url:\r\n <el-popover placement=\"top\"\r\n :width=\"650\"\r\n auto-close=\"4000\"\r\n :trigger=\"click\"\r\n effect=\"dark\"\r\n content=\"Copied seller invite url, you can now paste the link into an Email or SMS message!\">\r\n <template #reference>\r\n <h6 class=\"el-icon-copy-document c-pointer h6\" style=\"color: #983222\" title=\"Copied participant invite url to your clipboard, then you can paste into an email or text message\" id=\"eventCode\" :data-copy=\"masterInviteUrl\" @click=\"copyCode\"> MasterUrlInviteCode</h6>\r\n </template>\r\n </el-popover>\r\n </h6>\r\n </li>\r\n <li><h6 style=\"\">Also you can send the Master Invite Code - {{event.code}} directly to your participants they can use this in the mobile app to join your fundraiser or to join through the website.</h6></li>\r\n </ul>\r\n </div>\r\n <hr />\r\n <div class=\"row col-12 center\" style=\"justify-content:center\">\r\n <div class=\"col-sm-6\" style=\"text-align:center\">\r\n <el-button size=\"medium\" style=\"background-color: #983222; justify-content:center; width:230px\" type=\"danger\" @click=\"invPartVisible=true\" title=\"Invite others to participate/sell in the Fundraiser, they will create their own unique eCommerce store, under your Fundraiser!\">INVITE SELLERS WITH EMAIL</el-button>\r\n </div>\r\n <div class=\"col-sm-6\" style=\"text-align:center\">\r\n <el-button size=\"medium\" style=\"background-color: #008000; justify-content: center; width: 230px\" type=\"primary\" @click=\"invPartVisibleSMS=true\" title=\"Invite others to participate/sell in the Fundraiser, they will create their own unique eCommerce store, under your Fundraiser!\">INVITE SELLERS WITH SMS</el-button>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"row no-gutters\">\r\n <div class=\"col-4 text-left\"><h6>Email/Phone:</h6></div>\r\n <div class=\"col-2 text-right\"><h6>Status:</h6></div>\r\n <div class=\"col-2 text-right\"><h6>Invite Date:</h6></div>\r\n <div class=\"col-4 text-right\"><h6>Resend Invite:</h6></div>\r\n </div>\r\n <hr class=\"m-1\" />\r\n <div style=\"overflow: auto; height: 300px; \">\r\n <div class=\"row pt-1 pb-1 no-gutters\" v-for=\"participanttest in invitedParticipants2\" :key=\"participanttest.status\">\r\n <!-- <div class=\"col-4 elipssis pl-0\" v-if=\"participanttest.storeCode!=null\"><a :href=\"store.publicUrl\" target=\"_blank\" class=\"center\"><h6 class=\"center\" style=\"justify-content: center; color: #9A3324\">{{participanttest.email ?? participanttest.phone}}</h6></a></div>-->\r\n <div class=\"col-4 elipssis pl-0\"><h6>{{participanttest.email ?? participanttest.phone}}</h6></div>\r\n <div class=\"col-2 text-right\"><h6>{{participanttest.inviteStatus}}</h6></div>\r\n <div class=\"col-2 text-right\"><h6>{{(new Date(participanttest.createDate)).toLocaleDateString(\"en-US\")}}</h6></div>\r\n <div class=\"col-4\">\r\n <div class=\"row col-12 center\" style=\"justify-content:right\">\r\n <el-button size=\"small\" v-if=\"participanttest.inviteStatus=='Invited'\" style=\"background-color: #983222;\" type=\"danger\" :loading=\"loading\" @click=\"resendInvite(participanttest)\" title=\"Resend invite to participant!\">RESEND</el-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"row col-10 center\">\r\n <h6>If you have many participants to invite, you can upload a comma delimted .csv or .txt file that contains emails that you would like to invite to participate in the Event! The format example: email1@example.com,email2@example.com with no space between the comma and email address.</h6>\r\n </div>\r\n <div class=\"row col-10 center mb-5\" style=\"justify-content:center; align-content:center\">\r\n <FileUploader @file-selected=\"setSelectedFile\" :file=\"invitedParticipant.file\" class=\"center\" style=\"justify-content:center; align-content:center\"></FileUploader>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12 sellers-container\" v-if=\"parseInt(event.participantsCount) > 0\">\r\n <label class=\"top-label\">TOP ACTIVE SELLERS</label>\r\n <div class=\"sellers\">\r\n <!-- Column Headers -->\r\n <div class=\"row no-gutters sellers-header\">\r\n <div class=\"col-4 mb-2 ml-2\"></div>\r\n <div class=\"col-3 text-right\"><h6>GOAL</h6></div>\r\n <div class=\"col-1 text-right\"><h6>POPCORN</h6></div>\r\n <div class=\"col-1 text-right\"><h6>DONATIONS</h6></div>\r\n <div class=\"col-1 text-right\"><h6>NET SALES</h6></div>\r\n <div class=\"col-1 text-right\"><h6>EARNED</h6></div>\r\n </div>\r\n <hr class=\"m-1\" />\r\n\r\n <!-- Seller Data -->\r\n <div>\r\n <div class=\"row pt-1 pb-1 no-gutters seller-row\" v-for=\"store in storeGoalData\" :key=\"store.name\">\r\n <div class=\"header-text col-12 row no-gutters\">\r\n <div class=\"col-12 font-weight-medium mb-1 ml-2 seller-name\">\r\n <h6>{{ store.owner }} - Store Goal Attained:</h6>\r\n </div>\r\n <div class=\"col-4 mb-2 ml-2\">\r\n <el-progress text-inside=\"true\" stroke-width=\"15\" :percentage=\"store.percentage\" />\r\n </div>\r\n <div class=\"col-3 text-right\"><h6>${{ store.targetAmount.toFixed(2) }}</h6></div>\r\n <div class=\"col-1 text-right\"><h6>${{ store.netPopcornEarnings }}</h6></div>\r\n <div class=\"col-1 text-right\"><h6>${{ store.netDirectDonations }}</h6></div>\r\n <div class=\"col-1 text-right\"><h6>${{ store.amount.toFixed(2) }}</h6></div>\r\n <div class=\"col-1 text-right\"><h6 style=\"color: green;\">${{ store.earnedAmount }}</h6></div>\r\n </div>\r\n </div>\r\n <hr />\r\n\r\n <!-- Totals Row -->\r\n <div class=\"row no-gutters totals-row\">\r\n <div class=\"col-4 mb-2 ml-2\"><h6>TOTALS:</h6></div>\r\n <div class=\"col-3 text-right\"></div>\r\n <div class=\"col-1 text-right\"></div>\r\n <div class=\"col-1 text-right\"></div>\r\n <div class=\"col-1 text-right\"><h6>${{ parseFloat(this.event.allStoresSubTotal).toFixed(2) }}</h6></div>\r\n <div class=\"col-1 text-right\"><h6 style=\"color: green;\">${{ parseFloat(totalEarnedProfits).toFixed(2) }}</h6></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <el-dialog title=\"TOTAL PROFITS\" style=\"font-weight:normal\" :width=\"dialogWidth\" :top=\"dialogTop\" v-model=\"eventBreakDown\">\r\n <div class=\"\">\r\n <el-form :model=\"calculatedTotals\" show-message=\"false\" @submit.prevent>\r\n <div class=\"row no-gutters pb-2 h5\">\r\n <div class=\"col-12\">\r\n <div class=\"word-line-break mt-3\"><span>ORDERS BREAKDOWN</span></div>\r\n <div class=\"word-line-break mt-5\"><span>FUNDRAISER SALES - All BUYERS AND SELLERS</span></div>\r\n <el-button type=\"primary\" @click=\"downloadCSV\">Download CSV</el-button>\r\n <div class=\"donators\">\r\n <el-table :data=\"this.eventorderdetails\" size=\"mini\" style=\"width:100%\" height=\"350\">\r\n <el-table-column prop=\"createdAt\" label=\"Order Date\" width=\"150\" :formatter=\"formatDate\" />\r\n <el-table-column prop=\"number\" label=\"Order Number\" width=\"175\" />\r\n <el-table-column prop=\"buyerName\" label=\"Buyer Name\" width=\"150\" />\r\n <!--<el-table-column prop=\"status\" label=\"Order Status\" width=\"150\" />-->\r\n <el-table-column prop=\"seller\" label=\"Seller Name\" width=\"150\" />\r\n <el-table-column label=\"Popcorn Sales\" width=\"160\" :formatter=\"calculatePopcornAmount\" />\r\n <el-table-column prop=\"directDonationAmount\" label=\"Direct Donations\" width=\"150\" :formatter=\"formatCurrency\" />\r\n <el-table-column prop=\"shippingFee\" label=\"Shipping\" width=\"150\" :formatter=\"formatCurrency\" />\r\n <el-table-column prop=\"directDonationFee\" label=\"Processing Fees\" width=\"165\" :formatter=\"formatCurrency\" />\r\n <el-table-column prop=\"subTotal\" label=\"Order Subtotal\" width=\"150\" :formatter=\"formatCurrency\" />\r\n <el-table-column prop=\"total\" label=\"Order Total\" width=\"150\" :formatter=\"formatCurrency\" />\r\n <el-table-column label=\"Order Earnings\" width=\"150\" :formatter=\"calculateEarnings\" />\r\n </el-table>\r\n </div>\r\n <!-- Summary Section Moved Below -->\r\n <div class=\"mt-4\">\r\n <hr />\r\n <div class=\"center\">\r\n <div class=\"row\">\r\n <div class=\"col-6\"><h6>Total Popcorn Sales (Net):</h6></div>\r\n <div class=\"col-6 text-left\"><h6 style=\"color:green\">${{ totalPopcornSalesNet }}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-6\"><h6>Total Direct Donations (Net):</h6></div>\r\n <div class=\"col-6 text-left\"><h6 style=\"color:green\">${{ totalDirectDonationsNet }}</h6></div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-6\"><h6><strong>Total Net Earnings:</strong></h6></div>\r\n <div class=\"col-6 text-left\"><h6 style=\"color:green\"><strong>${{ totalNetEarnings }}</strong></h6></div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr />\r\n <div class=\"fundraiser-earnings-explainer\">\r\n <h6>📊 How Fundraiser Earnings Are Calculated:</h6>\r\n <ul>\r\n <li><strong>Popcorn Sales:</strong> 50% of total popcorn sales go directly to the fundraiser.</li>\r\n <li><strong>Direct Donations:</strong> 90% of each donation goes to the fundraiser, with a 10% fee deducted to cover credit card processing, hosting, website maintenance, and operational costs.</li>\r\n </ul>\r\n <p><strong>Final Formula:</strong></p>\r\n <p>\r\n <code>Total Earnings = (Popcorn Sales / 2) + (Direct Donations × 90%)</code>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </el-form>\r\n </div>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"eventBreakDown=false\">Close</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"Example Seller Invite Email\" :width=\"dialogWidth\" :top=\"dialogTop\" v-model=\"invPartInfoVisible\">\r\n <div class=\"\" style=\"overflow:auto\">\r\n <div class=\"row no-gutters pb-2\">\r\n <div class=\"col-12 text-break\">\r\n This is an example of the email the seller will recieve to sign up for the Fundraiser.\r\n </div>\r\n </div>\r\n <div class=\"row no-gutters pb-2\">\r\n <div class=\"col-12 text-break\">\r\n The seller will click on the Join Fundraiser button to start setting up their account and fundraiser store.\r\n </div>\r\n </div>\r\n <div class=\"row no-gutters pb-2\">\r\n <div class=\"col-12 text-break\">\r\n The email will be sent from info@coloradojackgiveback.com.\r\n </div>\r\n </div>\r\n <div class=\"row no-gutters pb-2 h5\">\r\n <img src=\"https://coloradojackgivebacksa.blob.core.windows.net/vuepublicpage/participantInvite.jpg\" class=\"img-fluid center\" style=\"max-width:100%; height:auto\" />\r\n </div>\r\n </div>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button type=\"danger\" style=\"background-color: #983222\" @click=\"invPartInfoVisible=false\" :loading=\"loading\">Ok</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"INVITE SELLERS WITH EMAIL\" :width=\"dialogWidth\" :top=\"dialogTop\" v-model=\"invPartVisible\">\r\n <div class=\"\">\r\n <el-alert v-show=\"emailErrorMessage.length > 0\" :title=\"emailErrorMessage\" :closable=\"false\"\r\n type=\"error\"\r\n effect=\"dark\">\r\n </el-alert>\r\n </div>\r\n <div class=\"\" style=\"overflow:auto\">\r\n <el-form :model=\"invitedParticipant\" :rules=\"emailValidRules\" ref=\"emailValid\" :label-position=\"top\" hide-required-asterisk=\"true\" show-message=\"false\" @submit.prevent>\r\n\r\n <!--<form :rules=\"emailValidRules\">-->\r\n <div class=\"row no-gutters pb-2\">\r\n <div class=\"col-12 text-break\">\r\n Invite others to Sell on behalf of your Fundraiser via an Email address. Enter their email address below and they will recieve an email to signup for this Fundraiser.\r\n </div>\r\n </div>\r\n <div class=\"row no-gutters pb-2 h5\">\r\n <div class=\"col-12\">\r\n EMAIL\r\n </div>\r\n </div>\r\n <el-form-item label=\"EMAIL\" prop=\"email\">\r\n <!--<el-input type=\"email\" v-model=\"invitedParticipant.email\" autocomplete=\"on\" v-fancylabel v-on:keyup.enter=\"addEmailField\"></el-input>-->\r\n <el-input type=\"email\" v-model=\"invitedParticipant.email\" autocomplete=\"on\" v-fancylabel></el-input>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"invPartVisible=false\">Cancel</el-button>\r\n <el-button type=\"danger\" style=\"background-color: #983222\" @click=\"inviteParticipants\" :loading=\"loading\">INVITE</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n\r\n <el-dialog title=\"INVITE SELLERS WITH SMS\" :width=\"dialogWidth\" :top=\"dialogTop\" v-model=\"invPartVisibleSMS\">\r\n <div class=\"\">\r\n <el-alert v-show=\"emailErrorMessage.length > 0\" :title=\"emailErrorMessage\" :closable=\"false\"\r\n type=\"error\"\r\n effect=\"dark\">\r\n </el-alert>\r\n </div>\r\n <div class=\"\" style=\"overflow:auto\">\r\n <el-form :model=\"invitedParticipant\" :rules=\"phoneValidRules\" ref=\"phoneValid\" :label-position=\"top\" hide-required-asterisk=\"true\" show-message=\"false\" @submit.prevent>\r\n\r\n <!--<form :rules=\"emailValidRules\">-->\r\n <div class=\"row no-gutters pb-2\">\r\n <div class=\"col-12 text-break\">\r\n Invite Sellers to your Fundraiser via an SMS text message. Enter the Sellers phone number below and they will recieve an sms from our server number(701-929-7768) with a link to signup for this Fundraiser.\r\n </div>\r\n </div>\r\n <div class=\"row no-gutters pb-2 h5\">\r\n <div class=\"col-12\">\r\n Phone Number\r\n </div>\r\n </div>\r\n <el-form-item label=\"Phone\" prop=\"phone\">\r\n <!--<el-input type=\"email\" v-model=\"invitedParticipant.email\" autocomplete=\"on\" v-fancylabel v-on:keyup.enter=\"addEmailField\"></el-input>-->\r\n <el-input type=\"string\" v-model=\"invitedParticipant.phone\" autocomplete=\"on\" v-fancylabel></el-input>\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"invPartVisibleSMS=false\">Cancel</el-button>\r\n <el-button type=\"danger\" style=\"background-color: green\" @click=\"inviteParticipantsSMS\" :loading=\"loading\">INVITE</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n\r\n\r\n <el-dialog title=\"INVITE BUYERS TO STORE WITH EMAIL\" :width=\"dialogWidth\" :top=\"dialogTop\" v-model=\"invDonatorVisible\">\r\n <div class=\"\" style=\"overflow:auto\">\r\n <form novalidate>\r\n <div class=\"row no-gutters pb-2\">\r\n <div class=\"col-12 text-break\">\r\n Invite Buyers to Donate to your Fundraiser via Email. Enter their email address below and they will recieve an email which will include a direct link to your Fundraising Store.\r\n </div>\r\n </div>\r\n <div class=\"row no-gutters pb-2 h5\">\r\n <div class=\"col-12\">\r\n EMAIL\r\n </div>\r\n </div>\r\n <div class=\"row no-gutters align-items-center pb-2\" v-for=\"donator in invitedDonators\" :key=\"donator.counter\">\r\n <div class=\"col-9\">\r\n <el-input type=\"text\" size=\"medium\" @input=\"addInvitedDonator\" v-model=\"donator.email\"></el-input>\r\n </div>\r\n <div class=\"col-1\"></div>\r\n <div class=\"col-2\" v-if=\"donator.counter > 0\">\r\n <el-button type=\"danger\" style=\"background-color: #983222\" icon=\"el-icon-close\" circle @click=\"removeDonator(donator)\"></el-button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <template #footer>\r\n <span class=\"dialog-footer\">\r\n <el-button @click=\"invDonatorVisible=false\">Cancel</el-button>\r\n <el-button type=\"danger\" style=\"background-color: #983222\" @click=\"inviteDonators\" :loading=\"loading\">INVITE</el-button>\r\n </span>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n\r\n <!--<label class=\"top-label\">Fundriaser Charts</label>\r\n <div class=\"participants\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-lg-4 pl-0 center\" style=\"text-align:center\">\r\n <label class=\"font-weight-medium\" style=\"justify-content:center\">Fundraiser Goal chart:</label>\r\n <DoughnutChart v-bind:chartData=\"eventChartData\" v-bind:chartOptions=\"chartOptions\" :key=\"eventChartData.labels\" />\r\n </div>\r\n <div class=\"col-12 col-lg-4 pl-0 center\" style=\"text-align:center\" v-if=\"parseInt(event.participantsCount)>0\">\r\n <label class=\"font-weight-medium\" style=\"justify-content:center\">Seller totals chart:</label>\r\n <PieChart v-bind:chartData=\"participantsChartData\" v-bind:chartOptions=\"chartOptions\" :key=\"participantsChartData.labels\" />\r\n </div>\r\n <div class=\"col-12 col-lg-4 pl-0 center\" style=\"text-align:center\" v-if=\"parseInt(event.donationsCount)>0\">\r\n <label class=\"font-weight-medium\" style=\"justify-content:center\">Donator totals chart:</label>\r\n <PieChart v-bind:chartData=\"donatorsChartData\" v-bind:chartOptions=\"chartOptions\" :key=\"donatorsChartData.labels\" />\r\n </div>\r\n </div>\r\n </div>-->\r\n </div>\r\n</template>\r\n\r\n<script>\r\n\r\n import axios from \"axios\"\r\n import EventTimer from \"./EventTimer.vue\";\r\n import { copyToClipboard } from \"../assets/js/app.js\";\r\n //import PieChart from './PieChart.vue'\r\n //import DoughnutChart from './DoughnutChart.vue'\r\n import ImageUploader from \"./ImageUploader\"\r\n import ChartDataLabels from 'chartjs-plugin-datalabels';\r\n import router from \"../router\";\r\n import { mapGetters } from \"vuex\"\r\n import { initFacebookSdk, } from '@/services';\r\n import _ from \"lodash\"; \r\n import FileUploader from \"./FileUploader\"\r\n \r\n export default {\r\n name: \"RunningEvent\",\r\n components: { EventTimer, ImageUploader, FileUploader },\r\n data() {\r\n return {\r\n smsUrl: '',\r\n isMobile: false,\r\n calculatedTotals: {\r\n totalSales: 0,\r\n eventSubtotal: 0,\r\n totalElgibleProfit: 0,\r\n shippingCosts:0,\r\n adminFee:0,\r\n },\r\n emailErrorMessage: '',\r\n invPartVisible: false,\r\n invPartVisibleSMS: false,\r\n invPartInfoVisible: false,\r\n eventBreakDown: false,\r\n invitedParticipants: [{ counter: 0, email: '' }],\r\n invitedParticipants2: [{ email: '', phone: '', invitestatus: '', organizername: '', createdate: '', storecode: ''}],\r\n invitedParticipant: {\r\n email: '',\r\n phone: '',\r\n invitestatus: '',\r\n organizername: '',\r\n createdate: '',\r\n file:''\r\n },\r\n masterInviteUrl: '',\r\n csvEmails: null,\r\n file: null,\r\n invDonatorVisible: false,\r\n invitedDonators: [{ counter: 0, email: '' }],\r\n event: {},\r\n stores: {\r\n storeOwner: {}\r\n },\r\n eventorderdetails: {},\r\n eventEdit: {\r\n imageCropData: {}\r\n }, \r\n loading: true,\r\n editMode: false,\r\n eventEditRules: {\r\n title: [\r\n { required: true, message: 'Title is required', trigger: 'change' }\r\n ],\r\n description: [\r\n { required: true, message: 'Description reason is required', trigger: 'change' }\r\n ]\r\n },\r\n emailValidRules: {\r\n email: [\r\n { required: true, type: 'email', message: 'Invalid email address', trigger: 'blur' }\r\n ]\r\n },\r\n phoneValidRules: {\r\n phone: [\r\n { required: true, type: 'string', pattern: /^\\(?\\d{3}\\)?[-\\s]?\\d{3}[-\\s]?\\d{4}$/g, message: 'A valid Phone Number is required', trigger: 'blur' }\r\n ],\r\n },\r\n profile: {\r\n email: '',\r\n firstName: '',\r\n lastName: '',\r\n imageSrc: '',\r\n imageCropData: {}\r\n },\r\n chartOptions: {\r\n responsive: true,\r\n animation: {\r\n duration:0\r\n },\r\n hover: {\r\n animationDiration:0\r\n },\r\n responsiveAnimationDuration:0,\r\n plugins: {\r\n ChartDataLabels:{\r\n labels: [\r\n {\r\n render: 'label',\r\n position: 'outside'\r\n },\r\n {\r\n render: 'percentage'\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n },\r\n computed: { \r\n storeGoalData() {\r\n if (!this.eventorderdetails || !Array.isArray(this.eventorderdetails)) return [];\r\n\r\n console.log(\"Event Order Details:\", this.eventorderdetails);\r\n console.log(\"Store Data from API:\", this.stores);\r\n\r\n // Ensure we have stores before trying to access index 0\r\n if (this.stores.length > 0 && this.stores[0].storeOwner) {\r\n console.log(\"First Store Owner Name:\", this.stores[0].storeOwner.name);\r\n } else {\r\n console.log(\"No valid store owners found.\");\r\n }\r\n\r\n // Create a map for store target amounts and owners using `storeOwner.name`\r\n const storeMap = {};\r\n if (this.stores && Array.isArray(this.stores)) {\r\n this.stores.forEach(store => {\r\n storeMap[store.storeOwner.name.toLowerCase().trim()] = {\r\n targetAmount: parseFloat(store.targetAmount) || 0,\r\n owner: store.storeOwner && store.storeOwner.name ? store.storeOwner.name : \"No Owner\"\r\n };\r\n });\r\n }\r\n\r\n console.log(\"Store Data Map:\", storeMap);\r\n\r\n // Group sales by seller name and calculate earnings\r\n const salesMap = this.eventorderdetails.reduce((acc, order) => {\r\n const sellerName = order.seller ? order.seller.toLowerCase().trim() : \"unknown seller\";\r\n\r\n if (!acc[sellerName]) {\r\n acc[sellerName] = {\r\n seller: sellerName,\r\n amount: 0, // Total sales\r\n targetAmount: storeMap[sellerName] ? storeMap[sellerName].targetAmount : 0,\r\n owner: storeMap[sellerName] ? storeMap[sellerName].owner : \"No Owner\",\r\n earnedAmount: 0, // Total earnings\r\n netPopcornEarnings: 0, // New: Net Popcorn Earnings\r\n netDirectDonations: 0 // New: Net Direct Donations\r\n };\r\n }\r\n\r\n // Add order subtotal (total sales)\r\n acc[sellerName].amount += parseFloat(order.subTotal) || 0;\r\n\r\n // Extract earnings-related values\r\n const directDonationAmount = parseFloat(order.directDonationAmount) || 0;\r\n const directDonationFee = parseFloat(order.directDonationFee) || 0;\r\n const popcornSales = acc[sellerName].amount - directDonationAmount;\r\n\r\n // Calculate net earnings separately\r\n const netPopcornEarnings = popcornSales / 2; // 50% of popcorn sales\r\n const netDirectDonations = directDonationAmount - directDonationFee; // 90% of donations\r\n\r\n // Assign values\r\n acc[sellerName].netPopcornEarnings = netPopcornEarnings;\r\n acc[sellerName].netDirectDonations = netDirectDonations;\r\n acc[sellerName].earnedAmount = netPopcornEarnings + netDirectDonations; // Total earnings\r\n\r\n return acc;\r\n }, {});\r\n\r\n console.log(\"Final Store Sales & Earnings Map:\", salesMap);\r\n\r\n // Convert to an array for looping in the template\r\n return Object.values(salesMap).map(store => ({\r\n ...store,\r\n percentage: store.targetAmount > 0\r\n ? Math.min((store.amount / store.targetAmount) * 100, 100).toFixed(2)\r\n : 0,\r\n earnedAmount: store.earnedAmount.toFixed(2), // Store's total earnings\r\n netPopcornEarnings: store.netPopcornEarnings.toFixed(2), // Net Popcorn Earnings\r\n netDirectDonations: store.netDirectDonations.toFixed(2) // Net Direct Donations\r\n }));\r\n },\r\n // Total Popcorn Sales (Net) - 50% of total popcorn sales\r\n totalPopcornSalesNet() {\r\n if (!this.eventorderdetails || !Array.isArray(this.eventorderdetails)) return 0;\r\n\r\n return this.eventorderdetails.reduce((sum, order) => {\r\n const popcornSales = (parseFloat(order.subTotal) || 0) - (parseFloat(order.directDonationAmount) || 0);\r\n return sum + (popcornSales / 2); // 50% of popcorn sales\r\n }, 0).toFixed(2);\r\n },\r\n // 🟢 **Total Direct Donations (Net)** - Direct donations minus **10% fees** (always)\r\n totalDirectDonationsNet() {\r\n if (!this.eventorderdetails || !Array.isArray(this.eventorderdetails)) return 0;\r\n\r\n return this.eventorderdetails.reduce((sum, order) => {\r\n let directDonation = parseFloat(order.directDonationAmount) || 0;\r\n const directDonationFee = directDonation * 0.10; // Always take 10%\r\n\r\n return sum + (directDonation - directDonationFee); // Net donation amount\r\n }, 0).toFixed(2);\r\n },\r\n // 🟢 **Total Net Earnings** = (Popcorn Earnings) + (Net Direct Donations)\r\n totalNetEarnings() {\r\n return (parseFloat(this.totalPopcornSalesNet) + parseFloat(this.totalDirectDonationsNet)).toFixed(2);\r\n },\r\n // 🟢 **Gross Sales** = Total of all orders\r\n grossSales() {\r\n if (!this.eventorderdetails || !Array.isArray(this.eventorderdetails)) return 0;\r\n\r\n return this.eventorderdetails.reduce((sum, order) => {\r\n if (!order || typeof order !== \"object\") return sum; // Skip invalid orders\r\n\r\n const orderTotal = parseFloat(order.total) || 0; // Ensure total is a number\r\n return sum + orderTotal;\r\n }, 0).toFixed(2);\r\n },\r\n // 🟢 **Total Net Sales** = Sum of all order subtotals (excluding shipping)\r\n totalNetSales() {\r\n if (!this.eventorderdetails || !Array.isArray(this.eventorderdetails)) return 0;\r\n\r\n return this.eventorderdetails.reduce((sum, order) => {\r\n if (!order || typeof order !== \"object\") return sum; // Skip invalid orders\r\n\r\n const subTotal = parseFloat(order.subTotal) || 0; // Ensure subTotal is a number\r\n return sum + subTotal;\r\n }, 0).toFixed(2);\r\n },\r\n //// 🟢 **Total Earned Profits** = Sum of all store earnings\r\n //totalEarnedProfits() {\r\n // if (!this.participants || this.participants.length === 0) return 0;\r\n\r\n // return this.participants.reduce((sum, participant) => {\r\n // return sum + this.calculateEarningsPerStore(participant);\r\n // }, 0).toFixed(2);\r\n //},\r\n totalEarnedProfits() {\r\n if (!this.stores || !Array.isArray(this.stores) || this.stores.length === 0) return \"0.00\";\r\n\r\n return this.stores.reduce((sum, store) => {\r\n return sum + this.calculateEarningsPerStore(store);\r\n }, 0).toFixed(2);\r\n },\r\n safeEventOrderDetails() {\r\n return Array.isArray(this.eventorderdetails) ? this.eventorderdetails : [];\r\n },\r\n storePercentEl(subtotal, targetamount) {\r\n const percentage1 = Math.trunc(((subtotal / 2) / targetamount) * 100);\r\n\r\n return percentage1;\r\n },\r\n participants() {\r\n let ps = [];\r\n if (this.event.participants != null) {\r\n this.event.participants.split(',').forEach(p => {\r\n let items = p.split('_');\r\n ps.push({ name: items[0], targetAmount: items[1], amount: parseInt(items[2]) });\r\n });\r\n }\r\n //let ps1 = ps.sort((a, b) => (a.amount > b.amount) ? 1 : -1); \r\n let test = _.orderBy(ps, 'amount','desc');\r\n \r\n return test;\r\n },\r\n donators() {\r\n let dn = [];\r\n if (this.event.donators != null) {\r\n this.event.donators.split(',').forEach(p => {\r\n let items = p.split('_');\r\n dn.push({ name: items[0], amount: items[1] });\r\n });\r\n } \r\n return dn;\r\n },\r\n donatorsOrders() {\r\n let dn = [];\r\n if (this.event.donatorsOrders != null) {\r\n this.event.donatorsOrders.split(',').forEach(p => {\r\n let items = p.split('_');\r\n dn.push({ name: items[0], amount: items[1], ordernum: items[2], orderdate: items[3], participantname: items[4] });\r\n });\r\n }\r\n return dn;\r\n },\r\n eventChartData() {\r\n let datatemplate = {\r\n labels: [], datasets: [{ label:'Fundraiser Totals', \r\n data: [], backgroundColor: []\r\n }]\r\n };\r\n if (this.event != null) {\r\n // Calculate percentage of fundraiser progress\r\n let percentage = (this.totalSales * 100) / this.event.targetAmount;\r\n\r\n // Event Goal Data\r\n datatemplate.labels.push('Event Goal: $' + parseFloat(this.event.targetAmount).toFixed(2));\r\n datatemplate.datasets[0].data.push(100 - Math.round(percentage));\r\n datatemplate.datasets[0].backgroundColor.push('#E46651');\r\n\r\n // Eligible Payout Amount (Updated)\r\n datatemplate.labels.push('Eligible Payout Amount: $' + parseFloat(this.totalStoresEarned).toFixed(2));\r\n datatemplate.datasets[0].data.push(Math.round(percentage));\r\n datatemplate.datasets[0].backgroundColor.push('#41B883');\r\n }\r\n return datatemplate;\r\n },\r\n participantsChartData() {\r\n let datatemplate = {\r\n labels: [], datasets: [{\r\n data: [], backgroundColor: [] }]\r\n };\r\n if (this.event.participants != null) {\r\n this.event.participants.split(',').forEach(p => {\r\n if (p != null) {\r\n let items = p.split('_');\r\n if (items != null) {\r\n var letters = '0123456789ABCDEF';\r\n var color = '#';\r\n for (var i = 0; i < 6; i++) {\r\n color += letters[Math.floor(Math.random() * 16)];\r\n }\r\n datatemplate.labels.push(items[0].trim());\r\n datatemplate.datasets[0].data.push(items[2]);\r\n datatemplate.datasets[0].backgroundColor.push(color);\r\n }\r\n }\r\n });\r\n }\r\n return datatemplate; \r\n },\r\n donatorsChartData() {\r\n let datatemplate = {\r\n labels: [], datasets: [{\r\n data: [], backgroundColor: []\r\n }]\r\n };\r\n if (this.event.donators != null) {\r\n this.event.donators.split(',').forEach(p => {\r\n if (p != null) {\r\n let items = p.split('_');\r\n if (items != null) {\r\n var letters = '0123456789ABCDEF';\r\n var color = '#';\r\n for (var i = 0; i < 6; i++) {\r\n color += letters[Math.floor(Math.random() * 16)];\r\n }\r\n datatemplate.labels.push(items[0].trim());\r\n datatemplate.datasets[0].data.push(items[1].toString());\r\n datatemplate.datasets[0].backgroundColor.push(color);\r\n }\r\n }\r\n });\r\n }\r\n\r\n return datatemplate;\r\n },\r\n ...mapGetters([\r\n 'currentUserDetail'\r\n ]),\r\n dialogWidth() {\r\n if (screen.width <= 576)\r\n return \"100%\";\r\n else return \"80%\";\r\n },\r\n dialogTop() {\r\n if (screen.width <= 576)\r\n return \"0\";\r\n else return \"15vh\";\r\n }\r\n },\r\n created() {\r\n axios.get('/api/events/running/').then(response => {\r\n this.loading = false;\r\n this.event = response.data;\r\n this.event.storeLink = \"/store/open/\" + this.event.storeId;\r\n this.eventEdit.id = response.data.id;\r\n this.eventEdit.title = this.event.title;\r\n this.eventEdit.code = this.event.code;\r\n this.eventEdit.description = this.event.description;\r\n this.calcTotals();\r\n\r\n axios.get('/api/participants/getparticipants?id=' + response.data.id).then(response => {\r\n this.invitedParticipants2 = response.data;\r\n this.loading = false;\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n\r\n axios.get('/api/participants/getmasterinvitecodeurl?eventId=' + this.eventEdit.id).then(response => {\r\n this.masterInviteUrl = response.data;\r\n this.loading = false;\r\n this.smsUrl = \"sms:?&body=\" + encodeURI('Hi, please checkout new Colorado Jack Giveback fundraiser, click the link below to setup your online store: ' + '\\n' + this.event.title + ' ' + this.masterInviteUrl);\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n\r\n axios.get('/api/organizers/eventorderdetails?eventId=' + response.data.id).then(response => {\r\n this.eventorderdetails = response.data;\r\n this.loading = false;\r\n }).catch((error) => {\r\n this.loading = false;\r\n }); \r\n\r\n axios.get('/api/stores/getPublicStoresByEvent/' + this.event.code).then(response => {\r\n this.stores = response.data;\r\n this.loading = false;\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n this.profile.email = this.currentUserDetail.email;\r\n this.profile.firstName = this.currentUserDetail.firstName;\r\n this.profile.lastName = this.currentUserDetail.lastName;\r\n this.profile.imageSrc = this.currentUserDetail.imageSrc;\r\n initFacebookSdk();\r\n this.isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\r\n },\r\n methods: {\r\n calculateStoreGoalPercentage(amount, targetAmount) {\r\n if (!targetAmount || targetAmount <= 0) return 0; // Prevent division by zero\r\n let percentage = (parseFloat(amount) / parseFloat(targetAmount)) * 100;\r\n return Math.min(percentage, 100).toFixed(2); // Ensure it doesn't exceed 100%\r\n },\r\n calculateEarningsPerStore(store) {\r\n if (!store || typeof store !== \"object\") return 0;\r\n\r\n // Find all orders that belong to this store\r\n const storeOrders = this.eventorderdetails.filter(order =>\r\n order.title.toLowerCase().trim() === store.title.toLowerCase().trim()\r\n );\r\n console.log('store owner:' + store )\r\n\r\n if (storeOrders.length === 0) return 0; // No matching orders\r\n\r\n // Aggregate order earnings\r\n const subTotal = storeOrders.reduce((sum, order) => sum + (parseFloat(order.subTotal) || 0), 0);\r\n let directDonationAmount = storeOrders.reduce((sum, order) => sum + (parseFloat(order.directDonationAmount) || 0), 0);\r\n const directDonationFees = storeOrders.reduce((sum, order) => sum + (parseFloat(order.directDonationFee) || 0), 0);\r\n\r\n // Popcorn Sales (Subtotal - Direct Donations)\r\n const popcornAmount = subTotal - directDonationAmount;\r\n\r\n // Popcorn Earnings (50% of Popcorn Sales)\r\n const popcornEarnings = popcornAmount / 2;\r\n\r\n // **Deduct direct donation fees** to get Net Direct Donations\r\n const netDirectDonations = directDonationAmount - directDonationFees;\r\n\r\n // Final Store Earnings Calculation\r\n const totalEarnings = popcornEarnings + netDirectDonations;\r\n\r\n console.log(`Store Earnings Calculation: Popcorn (${popcornEarnings.toFixed(2)}) + Net Donations (${netDirectDonations.toFixed(2)}) = ${totalEarnings.toFixed(2)}`);\r\n\r\n return totalEarnings;\r\n }, \r\n openSalesBreakdown() {\r\n if (!Array.isArray(this.eventorderdetails) || this.eventorderdetails.length === 0) {\r\n console.error(\"No sales data available!\");\r\n return;\r\n }\r\n this.showSalesBreakdown = true;\r\n },\r\n formatDate(_, __, date) {\r\n if (!date) return \"\";\r\n const d = new Date(date);\r\n return isNaN(d.getTime()) ? \"\" : d.toLocaleDateString(\"en-US\", { month: \"short\", day: \"numeric\", year: \"numeric\" });\r\n },\r\n calculatePopcornAmount(row) {\r\n if (!row || typeof row !== \"object\") return \"$0.00\";\r\n const subTotal = parseFloat(row.subTotal) || 0;\r\n const directDonationAmount = parseFloat(row.directDonationAmount) || 0;\r\n return this.formatCurrency(null, null, subTotal - directDonationAmount);\r\n },\r\n calculateEarnings(row) {\r\n if (!row || typeof row !== \"object\") return 0;\r\n\r\n // Ensure values are valid numbers\r\n const subTotal = parseFloat(row.subTotal) || 0;\r\n let directDonationAmount = parseFloat(row.directDonationAmount) || 0;\r\n const directDonationFee = parseFloat(row.directDonationFee) || 0; // New column\r\n\r\n // 1. Calculate Popcorn Earnings (50% of Popcorn Sales)\r\n const popcornEarnings = (subTotal - directDonationAmount) / 2;\r\n\r\n // 2. Deduct 10% from Direct Donations\r\n const netDirectDonations = directDonationAmount - directDonationFee;\r\n\r\n // 3. Final Fundraiser Earnings Calculation\r\n const totalEarnings = popcornEarnings + netDirectDonations;\r\n\r\n console.log(`Order Earnings Calculation: Popcorn (${popcornEarnings}) + Net Donations (${netDirectDonations}) = ${totalEarnings}`);\r\n\r\n // Ensure a valid currency format\r\n return isNaN(totalEarnings) ? 0 : totalEarnings;\r\n },\r\n formatCurrency(_, __, value) {\r\n if (value == null || isNaN(value)) return \"$0.00\";\r\n return new Intl.NumberFormat(\"en-US\", {\r\n style: \"currency\",\r\n currency: \"USD\"\r\n }).format(value);\r\n },\r\n downloadCSV() {\r\n if (!Array.isArray(this.eventorderdetails) || this.eventorderdetails.length === 0) {\r\n console.error(\"No event order details available!\");\r\n return;\r\n }\r\n\r\n console.log(\"Downloading CSV...\");\r\n\r\n const headers = [\r\n \"ORDER DATE\", \"ORDER NUMBER\", \"BUYER NAME\", \"SELLER NAME\",\r\n \"POPCORN SALES\", \"DIRECT DONATION SALES\", \"DIRECT DONATION FEE\",\r\n \"SHIPPING FEES\", \"SUBTOTAL\", \"ORDER TOTAL\", \"ORDER EARNINGS\"\r\n ];\r\n\r\n const csvRows = this.eventorderdetails.map(row => {\r\n console.log(\"Row data:\", row); // Debug each row\r\n\r\n return [\r\n this.formatDate(null, null, row.createdAt),\r\n row.number,\r\n row.buyerName,\r\n row.seller,\r\n this.calculatePopcornAmount(row),\r\n this.formatCurrency(null, null, row.directDonationAmount),\r\n this.formatCurrency(null, null, row.directDonationFee),\r\n this.formatCurrency(null, null, row.shippingFee),\r\n this.formatCurrency(null, null, row.subTotal),\r\n this.formatCurrency(null, null, row.total),\r\n this.calculateEarnings(row)\r\n ].map(value => {\r\n if (value == null) return \"\"; // Prevent null errors\r\n return `\"${String(value).replace(/\"/g, '\"\"')}\"`; // Escape quotes\r\n }).join(\",\");\r\n });\r\n\r\n const csvContent = [headers.join(\",\"), ...csvRows].join(\"\\n\");\r\n\r\n console.log(\"Generated CSV:\", csvContent); // Debug the final CSV\r\n\r\n // Create and trigger a download link\r\n const blob = new Blob([csvContent], { type: \"text/csv;charset=utf-8;\" });\r\n const link = document.createElement(\"a\");\r\n link.href = URL.createObjectURL(blob);\r\n link.setAttribute(\"download\", \"fundraiser_sales.csv\");\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }, \r\n safeCalculateEarnings(row) {\r\n const earnings = this.calculateEarnings(row);\r\n return isNaN(earnings) ? \"0.00\" : earnings.toFixed(2); // Ensure valid earnings\r\n },\r\n extractRawFeeDeducted(row) {\r\n if (!row || typeof row !== \"object\") return \"0.00\";\r\n\r\n // Convert formatted string back to number (remove `$` and `,`)\r\n const rawFee = this.calculateFeesDeducted(row).replace(/[$,]/g, \"\");\r\n\r\n return rawFee; // Return raw number for CSV\r\n }, \r\n calcTotals() {\r\n this.calculatedTotals.totalSales = this.event.organizerStoreTotal;\r\n this.calculatedTotals.shippingCosts = parseFloat(this.event.organizerStoreTotal - this.event.organizerStoreSubTotal).toFixed(2);\r\n this.calculatedTotals.eventSubtotal = parseFloat(this.event.organizerStoreSubTotal - (this.event.organizerStoreTotal * .035)).toFixed(2);\r\n this.calculatedTotals.adminFee = parseFloat(this.event.organizerStoreTotal * .035).toFixed(2);\r\n this.calculatedTotals.totalElgibleProfit = parseFloat((this.event.organizerStoreSubTotal - (this.event.organizerStoreTotal * .035)) / 2).toFixed(2);\r\n },\r\n async setSelectedFile(file) {\r\n if (file.raw.type == 'text/csv' || file.raw.type == 'text/plain') {\r\n const resp1 = await this.readFile(file);\r\n this.csvEmails = resp1.split(\",\");\r\n this.inviteParticipantsCSV(this.csvEmails);\r\n }\r\n else {\r\n this.$message({\r\n message: 'Invalid file type! Please choose a .txt or csv file type.',\r\n type: 'warning'\r\n });\r\n }\r\n },\r\n readFile(file) {\r\n return new Promise((resolve, reject) => {\r\n let fr = new FileReader();\r\n fr.onload = x => resolve(fr.result);\r\n fr.onerrror = reject;\r\n fr.readAsText(file.raw) // or readAsText(file) to get raw content\r\n })\r\n },\r\n validateForm(form) {\r\n let isValid = false;\r\n this.$refs[form].validate((valid) => {\r\n isValid = valid;\r\n });\r\n return isValid;\r\n }, \r\n loadparticipants() {\r\n axios.get('/api/participants/getparticipants?id=' + this.event.id).then(response => {\r\n this.invitedParticipants2 = response.data;\r\n this.loading = false;\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n },\r\n copyCode() {\r\n copyToClipboard(\"eventCode\");\r\n },\r\n setSelectedImage(file) {\r\n this.file = file;\r\n },\r\n setCropData(data) {\r\n this.eventEdit.imageCropData = data;\r\n },\r\n\r\n addInvitedDonator() {\r\n let last = this.invitedDonators[this.invitedDonators.length - 1];\r\n if (last.email.trim().length > 0)\r\n this.invitedDonators.push({ counter: this.invitedDonators.length, email: '' });\r\n },\r\n removeDonator(p) {\r\n for (var i = 0; i < this.invitedDonators.length; i++) {\r\n if (this.invitedDonators[i] === p) {\r\n this.invitedDonators.splice(i, 1);\r\n break;\r\n }\r\n }\r\n },\r\n inviteDonators() {\r\n this.loading = true;\r\n var emails = [];\r\n this.invitedDonators.forEach(p => {\r\n if (p != '')\r\n emails.push(p.email);\r\n });\r\n\r\n axios.post('/api/participants/InviteDonator/', { storeId: this.event.storeId, emails: emails }).then(response => {\r\n this.loading = false;\r\n this.invDonatorVisible = false;\r\n this.$message({\r\n message: 'Buyers have been sent an email and invited to view your store!',\r\n type: 'success'\r\n });\r\n\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n },\r\n addInvitedParticipant() {\r\n //let last = this.invitedParticipants2[this.invitedParticipants2.length - 1];\r\n //if (last.email.trim().length > 0)\r\n // this.invitedParticipants2.push({ counter: this.invitedParticipants2.length, email: '' });\r\n \r\n //let last = this.invitedParticipants2[this.invitedParticipants2.length - 1];\r\n //if (last.email.trim().length > 0)\r\n // this.invitedParticipants2.push({ email: '', invitestatus: '', organizername: '', emailcreatedate: '' });\r\n },\r\n removeParticipant(p) {\r\n for (var i = 0; i < this.invitedParticipants2.length; i++) {\r\n if (this.invitedParticipants2[i] === p) {\r\n this.invitedParticipants2.splice(i, 1);\r\n break;\r\n }\r\n }\r\n },\r\n inviteParticipantsCSV(emails) {\r\n this.loading = true;\r\n axios.post('/api/participants/invite/', { eventId: this.event.id, emails: emails }).then(response => {\r\n this.loading = false;\r\n this.invPartVisible = false;\r\n this.$message({\r\n message: 'Participant invited to the event.',\r\n type: 'success'\r\n });\r\n this.invitedParticipant.email = '';\r\n //reload particpant view\r\n this.loadparticipants();\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n },\r\n inviteParticipants() {\r\n if (this.validateForm('emailValid') === true) {\r\n this.loading = true;\r\n var emails = [];\r\n if (this.invitedParticipant.email != this.profile.email) {\r\n emails.push(this.invitedParticipant.email);\r\n //this.invitedParticipants2.forEach(p => {\r\n // if (p != '')\r\n // emails.push(p.email);\r\n //});\r\n\r\n axios.post('/api/participants/invite/', { eventId: this.event.id, emails: emails }).then(response => {\r\n this.loading = false;\r\n this.invPartVisible = false;\r\n this.$message({\r\n message: 'Participant invited to the event.',\r\n type: 'success'\r\n });\r\n this.invitedParticipant.email = '';\r\n //reload particpant view\r\n this.loadparticipants();\r\n }).catch((error) => {\r\n this.emailErrorMessage = error.response.data;\r\n this.loading = false;\r\n });\r\n }\r\n else {\r\n this.emailErrorMessage = \"Fundraising Organizer Email not allowed to be added to Participant Invite list!\";\r\n this.loading = false;\r\n }\r\n \r\n } \r\n },\r\n inviteParticipantsSMS() {\r\n if (this.validateForm('phoneValid') === true) {\r\n this.loading = true;\r\n var phones = [];\r\n if (this.invitedParticipant.phone != this.profile.phone) {\r\n phones.push(this.invitedParticipant.phone);\r\n\r\n axios.post('/api/participants/inviteSMS/', { eventId: this.event.id, phones: phones }).then(response => {\r\n this.loading = false;\r\n this.invPartVisibleSMS = false;\r\n this.$message({\r\n message: 'Participant invited via sms to the event.',\r\n type: 'success'\r\n });\r\n //reload particpant view\r\n this.loadparticipants();\r\n }).catch((error) => {\r\n this.emailErrorMessage = error.response.data;\r\n this.loading = false;\r\n });\r\n }\r\n else {\r\n this.emailErrorMessage = \"Fundraising Organizer phone not allowed to be added to Participant Invite list!\";\r\n this.loading = false;\r\n }\r\n\r\n }\r\n },\r\n resendInvite(inviteRec) {\r\n this.loading = true;\r\n var emails = [];\r\n var phones = [];\r\n\r\n if (inviteRec.phone != null) {\r\n phones.push(inviteRec.phone);\r\n axios.post('/api/participants/ResendInviteSMS/', { eventId: this.event.id, phones: phones }).then(response => {\r\n\r\n this.invPartVisibleSMS = false;\r\n this.$message({\r\n message: 'Participant resent SMS invite to the event.',\r\n type: 'success'\r\n });\r\n\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n }\r\n else {\r\n emails.push(inviteRec.email); \r\n axios.post('/api/participants/ResendInvite/', { eventId: this.event.id, emails: emails }).then(response => {\r\n\r\n this.invPartVisible = false;\r\n this.$message({\r\n message: 'Participant resent email invite to the event.',\r\n type: 'success'\r\n });\r\n\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n }\r\n this.loading = false;\r\n },\r\n confirmStopEvent() {\r\n this.$confirm('You will not be able to run the event again. Continue?', 'Warning', {\r\n confirmButtonText: 'OK',\r\n cancelButtonText: 'Cancel',\r\n type: 'warning'\r\n }).then(() => {\r\n this.stopEvent();\r\n });\r\n },\r\n stopEvent() {\r\n this.loading = true;\r\n axios.post('/api/events/stop/' + this.event.id).then(response => {\r\n this.loading = false;\r\n this.$message({\r\n message: 'The event stopped successfully.',\r\n type: 'success'\r\n });\r\n\r\n router.push('/event/detail/' + this.event.id);\r\n\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n },\r\n saveChanges() {\r\n this.$refs[\"eventEditForm\"].validate((valid) => {\r\n if (valid) {\r\n this.loading = true;\r\n var formData = new FormData();\r\n if (this.file != null) {\r\n formData.append(\"file\", this.file.raw);\r\n for (const [key, value] of Object.entries(this.eventEdit.imageCropData)) {\r\n formData.append(\"imageCropData.\" + key, value);\r\n }\r\n }\r\n\r\n for (const [key, value] of Object.entries(this.eventEdit)) {\r\n if (key === \"imageCropData\")\r\n continue;\r\n formData.append(key, value);\r\n }\r\n\r\n axios.put('/api/events', formData, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n }).then(response => {\r\n this.loading = false;\r\n this.editMode = false;\r\n this.event.imageSrc = response.data;\r\n this.event.title = this.eventEdit.title;\r\n this.event.description = this.eventEdit.description;\r\n this.$message({\r\n message: 'Changes saved to the event.',\r\n type: 'success'\r\n });\r\n }).catch((error) => {\r\n this.loading = false;\r\n });\r\n }\r\n }); \r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style scoped>\r\n img {\r\n height: 300px;\r\n object-fit: cover;\r\n }\r\n\r\n .fundraiser-earnings-explainer {\r\n border: 1px solid #ccc;\r\n border-radius: 10px;\r\n padding: 15px;\r\n background-color: #f9f9f9;\r\n }\r\n\r\n .fundraiser-earnings-explainer ul {\r\n padding-left: 20px;\r\n }\r\n\r\n .fundraiser-earnings-explainer code {\r\n background: #eee;\r\n padding: 3px 6px;\r\n border-radius: 5px;\r\n }\r\n\r\n .fundraiser-earnings-explainer ul {\r\n list-style-type: disc; /* Ensures bullets are shown */\r\n margin-left: 20px; /* Adds left indentation */\r\n padding-left: 20px;\r\n }\r\n\r\n .fundraiser-earnings-explainer li {\r\n display: list-item; /* Ensures each <li> behaves as a block */\r\n margin-bottom: 5px; /* Adds spacing between items */\r\n }\r\n\r\n .participants, .donators {\r\n border: 1px solid #ccc;\r\n border-radius: 10px;\r\n padding: 20px;\r\n min-height: 370px;\r\n }\r\n .sellers {\r\n border: 1px solid #ccc;\r\n border-radius: 10px;\r\n padding: 20px;\r\n }\r\n\r\n .top-label {\r\n position: relative;\r\n top: 22px;\r\n background: #fff;\r\n left: 15px;\r\n font-weight: normal;\r\n padding: 0 5px;\r\n font-size:large;\r\n }\r\n .count {\r\n top: 25px;\r\n left: 15px;\r\n }\r\n .title {\r\n border: 1px solid #ccc;\r\n border-radius: 10px;\r\n padding: 20px;\r\n /*min-height: 250px;*/\r\n flex-direction:inherit;\r\n }\r\n\r\n /* Small devices (landscape phones, 544px and up) */\r\n @media (min-width: 370px) {\r\n h5 {\r\n font-size: 1.0rem;\r\n }\r\n h6 {\r\n font-size: .80rem;\r\n font-weight:normal;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Small devices (landscape phones, 544px and up) */\r\n @media (min-width: 544px) { \r\n h5 {\r\n font-size: 1.00rem;\r\n }\r\n h6 {\r\n font-size: .90rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Medium devices (tablets, 768px and up) The navbar toggle appears at this breakpoint */\r\n @media (min-width: 768px) { \r\n h5 {\r\n font-size: 1.25rem;\r\n }\r\n h6 {\r\n font-size: .95rem;\r\n }\r\n /*1rem = 16px*/\r\n } \r\n\r\n /* Large devices (desktops, 992px and up) */\r\n @media (min-width: 992px) {\r\n h5 {\r\n font-size: 1.5rem;\r\n }\r\n\r\n h6 {\r\n font-size: 1.0rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* Extra large devices (large desktops, 1200px and up) */\r\n @media (min-width: 1200px) {\r\n h5 {\r\n font-size: 1.75rem;\r\n }\r\n\r\n h6 {\r\n font-size: 1.25rem;\r\n }\r\n /*1rem = 16px*/\r\n }\r\n\r\n /* General container for sellers */\r\n .sellers-container {\r\n font-size: 14px;\r\n }\r\n\r\n /* Make headers and totals row smaller */\r\n .sellers-header h6,\r\n .totals-row h6 {\r\n font-size: 12px;\r\n font-weight: bold;\r\n white-space: nowrap; /* Prevent text wrapping */\r\n }\r\n\r\n /* Reduce spacing on smaller screens */\r\n .seller-row {\r\n font-size: 12px;\r\n padding: 5px 0;\r\n }\r\n\r\n .seller-name h6 {\r\n font-size: 13px;\r\n font-weight: bold;\r\n }\r\n\r\n /* Make the progress bar smaller */\r\n .el-progress {\r\n max-width: 100%;\r\n }\r\n\r\n /* Responsive Design: Smaller font & stacked layout */\r\n @media (max-width: 768px) {\r\n .sellers-header h6{\r\n font-size: 4px;\r\n }\r\n .totals-row h6,\r\n .seller-row h6 {\r\n font-size: 6px;\r\n }\r\n\r\n /* Stack columns */\r\n .seller-row, .totals-row {\r\n flex-wrap: wrap;\r\n }\r\n\r\n /* Reduce the progress bar size */\r\n .el-progress {\r\n width: 100%;\r\n }\r\n\r\n /* Adjust column widths for better fit */\r\n .col-4 {\r\n width: 70%;\r\n text-align: center;\r\n margin-bottom: 5px;\r\n }\r\n\r\n .col-3, .col-1 {\r\n width: 20%;\r\n text-align: center;\r\n margin-bottom: 5px;\r\n }\r\n }\r\n\r\n \r\n</style>","import { render } from \"./RunningEvent.vue?vue&type=template&id=410da691&scoped=true\"\nimport script from \"./RunningEvent.vue?vue&type=script&lang=js\"\nexport * from \"./RunningEvent.vue?vue&type=script&lang=js\"\n\nimport \"./RunningEvent.vue?vue&type=style&index=0&id=410da691&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-410da691\"\n\nexport default script"],"sourceRoot":""}