tf-checkout-react 1.6.6-beta.27 → 1.6.6-beta.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/addonsContainer/SimpleAddonsContainer.d.ts +1 -1
- package/dist/components/addonsContainer/index.d.ts +1 -1
- package/dist/components/billing-info-container/index.d.ts +1 -0
- package/dist/components/myTicketsContainer/index.d.ts +3 -2
- package/dist/components/paymentContainer/OrderDetails.d.ts +7 -1
- package/dist/components/paymentContainer/index.d.ts +2 -1
- package/dist/tf-checkout-react.cjs.development.js +310 -157
- package/dist/tf-checkout-react.cjs.development.js.map +1 -1
- package/dist/tf-checkout-react.cjs.production.min.js +1 -1
- package/dist/tf-checkout-react.cjs.production.min.js.map +1 -1
- package/dist/tf-checkout-react.esm.js +310 -157
- package/dist/tf-checkout-react.esm.js.map +1 -1
- package/dist/tf-checkout-styles.css +1 -1
- package/dist/utils/getDomain.d.ts +1 -1
- package/package.json +2 -2
- package/src/components/addonsContainer/SimpleAddonsContainer.tsx +4 -0
- package/src/components/addonsContainer/index.tsx +4 -0
- package/src/components/billing-info-container/index.tsx +84 -27
- package/src/components/common/SnackbarAlert.tsx +32 -34
- package/src/components/loginModal/style.css +3 -1
- package/src/components/myTicketsContainer/index.tsx +12 -8
- package/src/components/paymentContainer/OrderDetails.tsx +43 -3
- package/src/components/paymentContainer/index.tsx +25 -23
- package/src/components/paymentContainer/style.css +113 -0
- package/src/types/api/payment.d.ts +2 -2
- package/src/utils/cookies.ts +43 -12
- package/src/utils/getDomain.ts +10 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
.button-container{display:flex;justify-content:center;padding:20px}.billing-info-container{margin:0 auto;max-width:800px}.billing-info-container .is-half{width:49%}.billing-info-container p{color:#000}.billing-info-container .main-header{font-size:2rem;font-weight:600}.billing-info-container__twoFields{display:flex;justify-content:space-between;margin-top:15px}.billing-info-container__singleField{margin-top:15px}button{margin-top:10px}.account-actions-block{color:#182026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif;margin-top:10px}.MuiButtonBase-root.MuiButton-root,.MuiButtonBase-root.MuiButton-root:hover,.login-register-button{background-color:#212529;border:#f28051;border-radius:5px;color:#fff;cursor:pointer;display:block;font-family:Inter-Bold;font-size:26px;font-weight:700;line-height:1.15;margin-top:10px;min-height:46px;outline:none;overflow:hidden;padding:14px 12px 12px;position:relative;text-align:center;text-overflow:ellipsis;text-transform:uppercase;width:49%}.logo-image-container{margin-top:5px;text-align:center;width:49%}.logo-image-container img{height:30px}.login-block{align-items:center;display:flex;flex-direction:column}.login-register-button:hover{background-color:#505050!important;border-color:#505050!important}.login-register-block{display:flex;justify-content:space-between}@media only screen and (max-width:820px){.billing-info-container{width:90%}.billing-info-container .main-header{font-size:1.5rem}}.email-checking{margin-bottom:15px}.timer{background-color:#000;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=);background-position:15px;background-repeat:no-repeat;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;margin:0 0 6px;max-width:300px;overflow:hidden;padding:15px 15px 15px 50px;pointer-events:auto;position:absolute;right:15px;width:300px}.timer .close-icon{cursor:pointer;display:flex;position:absolute;right:10px;top:10px}.timer .countdown{font-weight:700;margin-top:10px}.forgot-password-modal .forgot-password-container{margin:0 auto;max-width:800px}.forgot-password-modal .title{background-color:#fff;font-family:Inter;font-size:18px;font-weight:700}.forgot-password-modal .forgot-password-container__singleField{margin-top:15px}.forgot-password-modal .forgot-password-action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin-top:10px;outline:none;padding:10px;text-transform:uppercase;width:100%}.forgot-password-modal .forgot-password-action-button button:hover:enabled{background-color:#505050;border-color:#505050}.forgot-password-modal .login{margin-top:10px;text-align:center}.forgot-password-modal .login span{cursor:pointer}.forgot-password-modal .login span:hover{text-decoration:underline}.forgot-password-modal button[disabled]{cursor:unset;opacity:.7}.modal-title{align-items:center;background-color:#fff;display:flex;font-family:Inter;font-size:18px;font-weight:700;height:49px;line-height:22px;padding-left:25px;position:relative}.login-modal-body{padding:15px 25px}.login-modal-body input{background:#fff!important}.login-modal-body__email,.login-modal-body__password{margin-bottom:20px}.login-action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin:10px 0;outline:none;padding:10px;width:100%}.login-action-button button:hover{background-color:#505050;border-color:#505050}.server_auth__error{color:red;font-family:Inter;font-size:12px;font-style:normal;padding-left:25px;padding-top:15px}.info-text-for-login{font-size:14px;margin-bottom:4px;padding-left:10px}.forgot-password{text-align:center}.forgot-password span{cursor:pointer}.forgot-password span:hover{text-decoration:underline}.payment_page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif}.payment_page .order_info_section{padding:15px 0}.payment_page .order_info_section .order_info_block{padding-bottom:15px;padding-top:15px}.payment_page .order_info_section .order_info_block .field-underline{border-bottom:1px solid #000;padding-bottom:15px}.payment_page .order_info_section .order_info_block .order_info_title{font-size:14px;font-weight:700;padding-bottom:3px}.payment_page .order_info_section .order_info_block .order_info_text{font-size:16px;line-height:1.15;outline:none}.payment_page .MuiBox-root{margin-left:auto;margin-right:auto;padding:20px;text-align:center}.payment_page .payment_info_label{padding:20px 0;text-align:center}.payment_page .payment_form{color:#fff;padding:20px}.payment_page .payment_form input,.payment_page .payment_form label{color:#fff}.payment_page .payment_button{padding-top:20px;text-align:center}.payment_page .payment_plan .payment_plan_block .payment_plan_text{padding-bottom:10px}.payment_page .payment_plan .payment_plan_highlight{font-weight:700}.card_form_inner{background:#232323;border-radius:8px;margin:0 auto 20px;min-width:325px;padding:15px;width:50%}.card_form_inner .card_label_text{color:#fff}.card_form_inner .StripeElement{margin:5px 0 10px}.card_label_text{color:#fff}.payment_button{padding-top:15px;text-align:center}.payment_button button{background-color:#212529;border-radius:8px;color:#fff;cursor:pointer;font-size:26px;padding:15px 30px;transition:opacity .5s;width:200px}.payment_button button:hover{opacity:.7}.disabled-payment-button button{opacity:.3;pointer-events:none;user-select:none}.checkout_error_block{color:#e53935;font-weight:600;padding:15px 0}.zip_element p{margin-bottom:0}.zip_element input{background-color:#000;border:none;color:#fff;font-size:18px;margin-top:5px;outline:none;width:100%}.signup-modal .signup-container{margin:0 auto;max-width:800px}.signup-modal .title{background-color:#fff;font-family:Inter;font-size:18px;font-weight:700}.signup-modal .signup-container .is-half{width:49%}.signup-modal .signup-container__twoFields{display:flex;justify-content:space-between;margin-top:15px}.signup-modal .signup-container__singleField{margin-top:15px}.signup-modal button{margin-top:10px}.signup-modal .signup-action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin-top:10px;outline:none;padding:10px;text-transform:uppercase;width:100%}.signup-modal .signup-action-button button:hover:enabled{background-color:#505050;border-color:#505050}.signup-modal .login{margin-top:10px;text-align:center}.signup-modal .login span{cursor:pointer}.signup-modal .login span:hover{text-decoration:underline}.signup-modal button[disabled]{cursor:unset;opacity:.7}.confirmation-page{margin:0 auto;max-width:1024px}.confirmation-page button{margin-top:inherit}.confirmation-page .strong-text{font-weight:700}.confirmation-page .title{color:#333;font-size:24px;font-weight:600}.confirmation-page .share-message-section{background:#dff0d8;border:1px solid #d6e9c6;border-radius:5px;color:#2c7221;display:flex;flex-direction:column;margin:20px 0;padding:15px}.confirmation-page .main{font-size:15px;font-weight:700}.confirmation-page .helper,.confirmation-page .main{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif}.confirmation-page .helper{font-size:14px;margin-top:5px}.confirmation-page .referral_text_image_section{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin:20px 0}.confirmation-page .referral_text_section{margin:10px}.confirmation-page .referral_title_text{color:#f08057;font-size:28px;padding-bottom:10px}.confirmation-page .referral_text{font-size:18px}.confirmation-page .referral_text_image_section img{margin:10px;max-width:200px}.confirmation-page .share_wrapper{column-gap:5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:10px}.confirmation-page .invitation_title{font-size:22px;padding-bottom:12px;padding-top:12px}.confirmation-page .share_section{display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 -10px}.confirmation-page .invitation_section{flex:1 1;padding:0 5px}.confirmation-page .share_buttons{display:grid;flex-wrap:wrap;margin:0 -7px}.confirmation-page .convenient_buttons{margin-top:10px}.confirmation-page .social-media-btns{grid-gap:5px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.confirmation-page .sharing-btn{background-color:#000;flex:1 1;min-width:130px}.confirmation-page .sharing-btn a{text-decoration:none}.confirmation-page .share-by-link{background:#000;color:#fff;padding:10px}.confirmation-page .share-by-link.label{margin:0;padding:0;text-align:left}.confirmation-page .share-btn-inner{align-items:center;background-color:#000;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;padding:0;text-align:left;width:100%}.confirmation-page .share-input{background-color:#fff;border:none;outline:none;padding:5px;text-align:left;width:300px}.confirmation-page .share-text{display:block;font-size:13px;font-weight:600;padding-top:8px;width:100%}.confirmation-page .pricing-section_wrapper{background:#e3e3e3;border:1px solid #dcdcdc;display:grid;grid-template-columns:1fr 1fr;margin:10px 0;padding:15px}.confirmation-page .pricing-section_label{font-weight:600}.confirmation-page .pricing-section_sublabel{font-size:14px;font-weight:100}.confirmation-page .pricing-section_price{font-weight:600;text-align:right}.confirmation-page .share-by-link-copy-icon{align-items:center;background-color:#32325d;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;margin-left:8px;padding:10px;transition:all .15s ease}.confirmation-page .share-by-link-copy-icon:hover{background-color:#505050}.confirmation-page .share-by-link-copy-icon img{width:14px}.confirmation-page .social-media-sharing{background-color:#000;color:#fff;cursor:pointer;padding:10px;text-align:center}.confirmation-page .share-icon{border-radius:4px;display:inline-flex}@media only screen and (max-width:1050px){.confirmation-page .share_wrapper{column-gap:0;display:grid;grid-template-columns:unset;margin:15px}}@media only screen and (max-width:480px){.confirmation-page .social-media-btns{grid-template-columns:unset}.confirmation-page .share-input{width:250px}}body{margin:0;padding:0}.event-detail__tier{background-color:#fff;padding:17px 35px 20px}.event-detail__tier-name{color:#000;font-family:Inter-Bold;font-family:Bebas Neue;font-size:.85rem;font-weight:700;letter-spacing:.2em;line-height:1.3;margin-bottom:8px;margin-top:16px;padding-right:20%;text-transform:uppercase}.event-detail__tier-status{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;margin-top:8px;width:100%}.event-detail__tier-status.ticket-button{background-color:#212529;border:3px solid #000;border-radius:0;color:#fff;cursor:pointer;font-weight:700;letter-spacing:.2em;line-height:1.5;margin-bottom:10px;width:200px}.event-tickets-container{align-items:center;display:flex;justify-content:space-between}.event-detail__tier-status.ticket-button.true{background-color:#c1c3c6;border-color:#afb0b1}.event-detail__tier-price{color:#000;font-family:Inter-Bold;font-size:1.5rem;line-height:1;text-align:center}.event-detail__tier-price p{margin:0}.event-detail__tier-price .fees{font-size:14px;margin-top:4px;text-align:left}.event-detail__tier-price .old-price{color:red;font-size:1.3rem;margin-bottom:5px;text-decoration:line-through}.alert-info{align-items:center;background-color:#d9edf7;border:1px solid #bce8f1;border-radius:4px;color:#3a87ad;display:flex;font-size:1em;justify-content:center;margin:0 35px;padding:8px 15px;text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.alert-info svg{margin-right:4px}.event-detail__tier-state{color:#30bc9d;font-family:Inter-Bold;font-size:.75rem;font-weight:300;line-height:1;text-align:right;text-transform:uppercase}.event-detail__tier-state .ticket-not-started-message{color:#000;text-align:left;text-transform:none;width:50px}.promo-code-block input{font-size:14px;padding:1px 8px}.book-button{background-color:#212529;border:3px solid #000;border-radius:0;color:#fff;cursor:pointer;display:block;font-size:26px;font-weight:700;height:50px;letter-spacing:.2em;line-height:1.5;margin:25px auto 10px;text-align:center;width:100%}.book-button:hover{background-color:#505050;border-color:#505050}.loader-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.get-tickets-paper::-webkit-scrollbar{width:5px}.get-tickets-paper::-webkit-scrollbar-track{background:#f1f1f1}.get-tickets-paper::-webkit-scrollbar-thumb{background:#888}.get-tickets-paper::-webkit-scrollbar-thumb:hover{background:#555}.get-tickets .get-tickets__selectbox{width:100%}.disabled{pointer-events:none;user-select:none}.hidden{display:none}.event-closed-message{font-family:Bebas Neue;letter-spacing:.5px}.countdown p{margin:0}.countdown .title{font-weight:700}.countdown .message{font-weight:700;margin-top:20px}.waiting-list{padding:17px 35px 20px}.waiting-list .field-item{margin-bottom:30px}.waiting-list .waiting-list-button{width:100%!important}.waiting-list .waiting-list-button:hover{background-color:#505050}.waiting-list .success-message{margin-bottom:15px;text-align:center}.waiting-list .success-message p{margin:0}.waiting-list .no-tickets-text{font-weight:700;text-align:center}.waiting-list .added-success-message{font-size:22px;margin-bottom:10px}.my-ticket{padding:30px}.my-ticket-table{margin-top:30px}.my-ticket .loading{background-color:rgba(0,0,0,.4);height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100%}.my-ticket .event-info,.my-ticket .loading{align-items:center;display:flex}.my-ticket thead th{font-weight:700}.my-ticket .event-info img{margin-right:10px;width:50px}.my-ticket .order-details-button{background-color:#32325d;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 14px;transition:all .15s ease}.my-ticket .order-details-button:hover{background-color:#505050}.order-details{margin:0 auto;max-width:940px}.order-details .loading{align-items:center;background-color:rgba(0,0,0,.4);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1400}.order-details .layout-title{font-size:24px;font-weight:400}.order-details .sub-title{font-size:18px;font-weight:400;margin:10px 0}.order-details .order-summary-box{margin-top:30px}.order-details .total-row td,.order-details th{color:#fff;font-weight:700}.order-details .tickets-box{margin-top:30px}.order-details .ticket-add-on-table{background-color:#fcf8e3}.order-details .action-button{background-color:#212529;border:1px solid #fff;border-radius:0;color:#fff;cursor:pointer;display:block;font-family:Bebas Neue;font-size:14px;font-weight:400;line-height:normal;margin-bottom:20px;margin-top:20px;min-height:auto;outline:none;overflow:hidden;padding:12px;position:relative;text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:uppercase;width:max-content}.order-details .download-button:hover{background-color:#505050}.order-details .personal-link{padding:20px 0}.order-details .total-referrer{padding:0 0 20px}.resale-modal .field-box{display:flex;margin-bottom:10px}.resale-modal .field-box .icon{align-items:center;display:flex;height:56px;justify-content:center;min-width:44px}.resale-modal .field-box .empty-box{min-width:44px}.resale-modal .resale-action-button button{background-color:#212529;color:#fff;cursor:pointer;width:100%}.resale-modal .resale-action-button button[disabled]{opacity:.7}.resale-modal .resale-action-button button:hover{background-color:#505050;border-color:#505050;width:100%}.reset-password{margin:0 auto;max-width:300px;padding:14px}.reset-password .title{font-size:20px;font-weight:700}.reset-password .field-item{margin-top:14px}.reset-password .action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin-top:14px;outline:none;padding:10px;text-transform:uppercase;width:100%}.reset-password .action-button button:hover:enabled{background-color:#505050;border-color:#505050}.reset-password .action-button button[disabled]{cursor:unset;opacity:.7}
|
|
1
|
+
.button-container{display:flex;justify-content:center;padding:20px}.billing-info-container{margin:0 auto;max-width:800px}.billing-info-container .is-half{width:49%}.billing-info-container p{color:#000}.billing-info-container .main-header{font-size:2rem;font-weight:600}.billing-info-container__twoFields{display:flex;justify-content:space-between;margin-top:15px}.billing-info-container__singleField{margin-top:15px}button{margin-top:10px}.account-actions-block{color:#182026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif;margin-top:10px}.MuiButtonBase-root.MuiButton-root,.MuiButtonBase-root.MuiButton-root:hover,.login-register-button{background-color:#212529;border:#f28051;border-radius:5px;color:#fff;cursor:pointer;display:block;font-family:Inter-Bold;font-size:26px;font-weight:700;line-height:1.15;margin-top:10px;min-height:46px;outline:none;overflow:hidden;padding:14px 12px 12px;position:relative;text-align:center;text-overflow:ellipsis;text-transform:uppercase;width:49%}.logo-image-container{margin-top:5px;text-align:center;width:49%}.logo-image-container img{height:30px}.login-block{align-items:center;display:flex;flex-direction:column}.login-register-button:hover{background-color:#505050!important;border-color:#505050!important}.login-register-block{display:flex;justify-content:space-between}@media only screen and (max-width:820px){.billing-info-container{width:90%}.billing-info-container .main-header{font-size:1.5rem}}.email-checking{margin-bottom:15px}.timer{background-color:#000;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=);background-position:15px;background-repeat:no-repeat;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;margin:0 0 6px;max-width:300px;overflow:hidden;padding:15px 15px 15px 50px;pointer-events:auto;position:absolute;right:15px;width:300px}.timer .close-icon{cursor:pointer;display:flex;position:absolute;right:10px;top:10px}.timer .countdown{font-weight:700;margin-top:10px}.forgot-password-modal .forgot-password-container{margin:0 auto;max-width:800px}.forgot-password-modal .title{background-color:#fff;font-family:Inter;font-size:18px;font-weight:700}.forgot-password-modal .forgot-password-container__singleField{margin-top:15px}.forgot-password-modal .forgot-password-action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin-top:10px;outline:none;padding:10px;text-transform:uppercase;width:100%}.forgot-password-modal .forgot-password-action-button button:hover:enabled{background-color:#505050;border-color:#505050}.forgot-password-modal .login{margin-top:10px;text-align:center}.forgot-password-modal .login span{cursor:pointer}.forgot-password-modal .login span:hover{text-decoration:underline}.forgot-password-modal button[disabled]{cursor:unset;opacity:.7}.modal-title{align-items:center;background-color:#fff;display:flex;font-family:Inter;font-size:18px;font-weight:700;height:49px;line-height:22px;padding-left:25px;position:relative}.login-modal-body{padding:15px 25px}.login-modal-body input{background:#fff!important}.login-modal-body__email,.login-modal-body__password{margin-bottom:20px}.login-action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin:10px 0;outline:none;padding:10px;width:100%}.login-action-button button:hover{background-color:#505050;border-color:#505050}.login-logo-tff{height:60px}.server_auth__error{color:red;font-family:Inter;font-size:12px;font-style:normal;padding-left:25px;padding-top:15px}.info-text-for-login{font-size:14px;margin-bottom:4px;padding-left:10px}.forgot-password{text-align:center}.forgot-password span{cursor:pointer}.forgot-password span:hover{text-decoration:underline}.payment_page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif}.payment_page .order_info_section{padding:15px 0}.payment_page .order_info_section .order_info_block{padding-bottom:15px;padding-top:15px}.payment_page .order_info_section .order_info_block .field-underline{border-bottom:1px solid #000;padding-bottom:15px}.payment_page .order_info_section .order_info_block .order_info_title{font-size:14px;font-weight:700;padding-bottom:3px}.payment_page .order_info_section .order_info_block .order_info_text{font-size:16px;line-height:1.15;outline:none}.payment_page .MuiBox-root{margin-left:auto;margin-right:auto;padding:20px;text-align:center}.payment_page .payment_info_label{padding:20px 0;text-align:center}.payment_page .payment_form{color:#fff;padding:20px}.payment_page .payment_form input,.payment_page .payment_form label{color:#fff}.payment_page .payment_button{padding-top:20px;text-align:center}.payment_page .payment_plan .payment_plan_block .payment_plan_text{padding-bottom:10px}.payment_page .payment_plan .payment_plan_highlight{font-weight:700}.mobile-order-summary{display:none}@media (max-width:767px){.mobile-order-summary{background-color:#f8f8f8;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:block;margin-bottom:15px}.mobile-order-summary-content{align-items:flex-start;cursor:pointer;display:flex;padding:15px}.mobile-order-info-container:after{content:"⌃";display:inline-block;float:right;font-size:15px;font-weight:900;left:6px;position:relative;top:-2px;transform:rotate(180deg);transition:transform .25s,top .25s}.mobile-order-info-container.open:after{top:2px;transform:rotate(0deg)}.mobile-order-info-container.order-info-container-left{text-align:left}.mobile-order-info-container.order-info-container-right{text-align:right}.mobile-order-icon{color:#1976d2;margin-right:15px;padding-top:2px}.mobile-order-info{flex:1}.mobile-order-text{color:#666;font-size:14px;margin-bottom:4px}.mobile-order-total{color:#333;font-size:18px;font-weight:700;margin-bottom:8px}.mobile-order-timer{align-items:center;border-top:1px dashed #ddd;display:flex;margin-top:8px;padding-top:8px}.mobile-timer-icon{color:#f44336;margin-right:8px}.mobile-timer-text{color:#666;font-size:13px}.mobile-timer-countdown{color:#f44336;font-weight:700}.mobile-order-expand{color:#666;padding-top:2px}.order_info_section.collapsed{display:none!important}.order_info_section.expanded{display:grid!important;margin-top:10px}}.card_form_inner{background:#232323;border-radius:8px;margin:0 auto 20px;min-width:325px;padding:15px;width:50%}.card_form_inner .card_label_text{color:#fff}.card_form_inner .StripeElement{margin:5px 0 10px}.card_label_text{color:#fff}.payment_button{padding-top:15px;text-align:center}.payment_button button{background-color:#212529;border-radius:8px;color:#fff;cursor:pointer;font-size:26px;padding:15px 30px;transition:opacity .5s;width:200px}.payment_button button:hover{opacity:.7}.disabled-payment-button button{opacity:.3;pointer-events:none;user-select:none}.checkout_error_block{color:#e53935;font-weight:600;padding:15px 0}.zip_element p{margin-bottom:0}.zip_element input{background-color:#000;border:none;color:#fff;font-size:18px;margin-top:5px;outline:none;width:100%}.signup-modal .signup-container{margin:0 auto;max-width:800px}.signup-modal .title{background-color:#fff;font-family:Inter;font-size:18px;font-weight:700}.signup-modal .signup-container .is-half{width:49%}.signup-modal .signup-container__twoFields{display:flex;justify-content:space-between;margin-top:15px}.signup-modal .signup-container__singleField{margin-top:15px}.signup-modal button{margin-top:10px}.signup-modal .signup-action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin-top:10px;outline:none;padding:10px;text-transform:uppercase;width:100%}.signup-modal .signup-action-button button:hover:enabled{background-color:#505050;border-color:#505050}.signup-modal .login{margin-top:10px;text-align:center}.signup-modal .login span{cursor:pointer}.signup-modal .login span:hover{text-decoration:underline}.signup-modal button[disabled]{cursor:unset;opacity:.7}.confirmation-page{margin:0 auto;max-width:1024px}.confirmation-page button{margin-top:inherit}.confirmation-page .strong-text{font-weight:700}.confirmation-page .title{color:#333;font-size:24px;font-weight:600}.confirmation-page .share-message-section{background:#dff0d8;border:1px solid #d6e9c6;border-radius:5px;color:#2c7221;display:flex;flex-direction:column;margin:20px 0;padding:15px}.confirmation-page .main{font-size:15px;font-weight:700}.confirmation-page .helper,.confirmation-page .main{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif}.confirmation-page .helper{font-size:14px;margin-top:5px}.confirmation-page .referral_text_image_section{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin:20px 0}.confirmation-page .referral_text_section{margin:10px}.confirmation-page .referral_title_text{color:#f08057;font-size:28px;padding-bottom:10px}.confirmation-page .referral_text{font-size:18px}.confirmation-page .referral_text_image_section img{margin:10px;max-width:200px}.confirmation-page .share_wrapper{column-gap:5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:10px}.confirmation-page .invitation_title{font-size:22px;padding-bottom:12px;padding-top:12px}.confirmation-page .share_section{display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 -10px}.confirmation-page .invitation_section{flex:1 1;padding:0 5px}.confirmation-page .share_buttons{display:grid;flex-wrap:wrap;margin:0 -7px}.confirmation-page .convenient_buttons{margin-top:10px}.confirmation-page .social-media-btns{grid-gap:5px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.confirmation-page .sharing-btn{background-color:#000;flex:1 1;min-width:130px}.confirmation-page .sharing-btn a{text-decoration:none}.confirmation-page .share-by-link{background:#000;color:#fff;padding:10px}.confirmation-page .share-by-link.label{margin:0;padding:0;text-align:left}.confirmation-page .share-btn-inner{align-items:center;background-color:#000;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;padding:0;text-align:left;width:100%}.confirmation-page .share-input{background-color:#fff;border:none;outline:none;padding:5px;text-align:left;width:300px}.confirmation-page .share-text{display:block;font-size:13px;font-weight:600;padding-top:8px;width:100%}.confirmation-page .pricing-section_wrapper{background:#e3e3e3;border:1px solid #dcdcdc;display:grid;grid-template-columns:1fr 1fr;margin:10px 0;padding:15px}.confirmation-page .pricing-section_label{font-weight:600}.confirmation-page .pricing-section_sublabel{font-size:14px;font-weight:100}.confirmation-page .pricing-section_price{font-weight:600;text-align:right}.confirmation-page .share-by-link-copy-icon{align-items:center;background-color:#32325d;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;margin-left:8px;padding:10px;transition:all .15s ease}.confirmation-page .share-by-link-copy-icon:hover{background-color:#505050}.confirmation-page .share-by-link-copy-icon img{width:14px}.confirmation-page .social-media-sharing{background-color:#000;color:#fff;cursor:pointer;padding:10px;text-align:center}.confirmation-page .share-icon{border-radius:4px;display:inline-flex}@media only screen and (max-width:1050px){.confirmation-page .share_wrapper{column-gap:0;display:grid;grid-template-columns:unset;margin:15px}}@media only screen and (max-width:480px){.confirmation-page .social-media-btns{grid-template-columns:unset}.confirmation-page .share-input{width:250px}}body{margin:0;padding:0}.event-detail__tier{background-color:#fff;padding:17px 35px 20px}.event-detail__tier-name{color:#000;font-family:Inter-Bold;font-family:Bebas Neue;font-size:.85rem;font-weight:700;letter-spacing:.2em;line-height:1.3;margin-bottom:8px;margin-top:16px;padding-right:20%;text-transform:uppercase}.event-detail__tier-status{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;margin-top:8px;width:100%}.event-detail__tier-status.ticket-button{background-color:#212529;border:3px solid #000;border-radius:0;color:#fff;cursor:pointer;font-weight:700;letter-spacing:.2em;line-height:1.5;margin-bottom:10px;width:200px}.event-tickets-container{align-items:center;display:flex;justify-content:space-between}.event-detail__tier-status.ticket-button.true{background-color:#c1c3c6;border-color:#afb0b1}.event-detail__tier-price{color:#000;font-family:Inter-Bold;font-size:1.5rem;line-height:1;text-align:center}.event-detail__tier-price p{margin:0}.event-detail__tier-price .fees{font-size:14px;margin-top:4px;text-align:left}.event-detail__tier-price .old-price{color:red;font-size:1.3rem;margin-bottom:5px;text-decoration:line-through}.alert-info{align-items:center;background-color:#d9edf7;border:1px solid #bce8f1;border-radius:4px;color:#3a87ad;display:flex;font-size:1em;justify-content:center;margin:0 35px;padding:8px 15px;text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.alert-info svg{margin-right:4px}.event-detail__tier-state{color:#30bc9d;font-family:Inter-Bold;font-size:.75rem;font-weight:300;line-height:1;text-align:right;text-transform:uppercase}.event-detail__tier-state .ticket-not-started-message{color:#000;text-align:left;text-transform:none;width:50px}.promo-code-block input{font-size:14px;padding:1px 8px}.book-button{background-color:#212529;border:3px solid #000;border-radius:0;color:#fff;cursor:pointer;display:block;font-size:26px;font-weight:700;height:50px;letter-spacing:.2em;line-height:1.5;margin:25px auto 10px;text-align:center;width:100%}.book-button:hover{background-color:#505050;border-color:#505050}.loader-container{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.get-tickets-paper::-webkit-scrollbar{width:5px}.get-tickets-paper::-webkit-scrollbar-track{background:#f1f1f1}.get-tickets-paper::-webkit-scrollbar-thumb{background:#888}.get-tickets-paper::-webkit-scrollbar-thumb:hover{background:#555}.get-tickets .get-tickets__selectbox{width:100%}.disabled{pointer-events:none;user-select:none}.hidden{display:none}.event-closed-message{font-family:Bebas Neue;letter-spacing:.5px}.countdown p{margin:0}.countdown .title{font-weight:700}.countdown .message{font-weight:700;margin-top:20px}.waiting-list{padding:17px 35px 20px}.waiting-list .field-item{margin-bottom:30px}.waiting-list .waiting-list-button{width:100%!important}.waiting-list .waiting-list-button:hover{background-color:#505050}.waiting-list .success-message{margin-bottom:15px;text-align:center}.waiting-list .success-message p{margin:0}.waiting-list .no-tickets-text{font-weight:700;text-align:center}.waiting-list .added-success-message{font-size:22px;margin-bottom:10px}.my-ticket{padding:30px}.my-ticket-table{margin-top:30px}.my-ticket .loading{background-color:rgba(0,0,0,.4);height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100%}.my-ticket .event-info,.my-ticket .loading{align-items:center;display:flex}.my-ticket thead th{font-weight:700}.my-ticket .event-info img{margin-right:10px;width:50px}.my-ticket .order-details-button{background-color:#32325d;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 14px;transition:all .15s ease}.my-ticket .order-details-button:hover{background-color:#505050}.order-details{margin:0 auto;max-width:940px}.order-details .loading{align-items:center;background-color:rgba(0,0,0,.4);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1400}.order-details .layout-title{font-size:24px;font-weight:400}.order-details .sub-title{font-size:18px;font-weight:400;margin:10px 0}.order-details .order-summary-box{margin-top:30px}.order-details .total-row td,.order-details th{color:#fff;font-weight:700}.order-details .tickets-box{margin-top:30px}.order-details .ticket-add-on-table{background-color:#fcf8e3}.order-details .action-button{background-color:#212529;border:1px solid #fff;border-radius:0;color:#fff;cursor:pointer;display:block;font-family:Bebas Neue;font-size:14px;font-weight:400;line-height:normal;margin-bottom:20px;margin-top:20px;min-height:auto;outline:none;overflow:hidden;padding:12px;position:relative;text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:uppercase;width:max-content}.order-details .download-button:hover{background-color:#505050}.order-details .personal-link{padding:20px 0}.order-details .total-referrer{padding:0 0 20px}.resale-modal .field-box{display:flex;margin-bottom:10px}.resale-modal .field-box .icon{align-items:center;display:flex;height:56px;justify-content:center;min-width:44px}.resale-modal .field-box .empty-box{min-width:44px}.resale-modal .resale-action-button button{background-color:#212529;color:#fff;cursor:pointer;width:100%}.resale-modal .resale-action-button button[disabled]{opacity:.7}.resale-modal .resale-action-button button:hover{background-color:#505050;border-color:#505050;width:100%}.reset-password{margin:0 auto;max-width:300px;padding:14px}.reset-password .title{font-size:20px;font-weight:700}.reset-password .field-item{margin-top:14px}.reset-password .action-button button{background-color:#212529;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:26px;font-weight:600;height:45px;line-height:18px;margin-top:14px;outline:none;padding:10px;text-transform:uppercase;width:100%}.reset-password .action-button button:hover:enabled{background-color:#505050;border-color:#505050}.reset-password .action-button button[disabled]{cursor:unset;opacity:.7}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function getDomain(url: string, subdomain?: string): string;
|
|
1
|
+
export declare function getDomain(url: string, subdomain?: string, publicSuffix?: string): string;
|
package/package.json
CHANGED
|
@@ -305,6 +305,10 @@ export const AddonsContainter = ({
|
|
|
305
305
|
)
|
|
306
306
|
}
|
|
307
307
|
|
|
308
|
+
if (addons?.length === 0) {
|
|
309
|
+
return null
|
|
310
|
+
}
|
|
311
|
+
|
|
308
312
|
const params = new URL(`${window.location}`).searchParams
|
|
309
313
|
const addOnIsIncluded = params.get('include_add_on') === 'true'
|
|
310
314
|
const isResale = params.get('resale') === 'true'
|
|
@@ -97,6 +97,7 @@ export interface IBillingInfoPage {
|
|
|
97
97
|
onCheckoutUpdateError?: (e: AxiosError) => void;
|
|
98
98
|
initialValues?: FormikValues;
|
|
99
99
|
buttonName?: string;
|
|
100
|
+
freeOrderButtonName?: string;
|
|
100
101
|
theme?: 'light' | 'dark';
|
|
101
102
|
isLoggedIn?: boolean;
|
|
102
103
|
accountInfoTitle?: string | JSX.Element;
|
|
@@ -228,6 +229,7 @@ const BillingInfoContainer = React.memo(
|
|
|
228
229
|
},
|
|
229
230
|
initialValues = {},
|
|
230
231
|
buttonName = 'Submit',
|
|
232
|
+
freeOrderButtonName = 'Complete Registration',
|
|
231
233
|
handleSubmit = _identity,
|
|
232
234
|
theme = 'light',
|
|
233
235
|
onRegisterSuccess = _identity,
|
|
@@ -384,12 +386,16 @@ const BillingInfoContainer = React.memo(
|
|
|
384
386
|
const [pendingVerificationMessage, setPendingVerificationMessage] = useState<string>()
|
|
385
387
|
const [reviewData, setReviewData] = useState<any>({})
|
|
386
388
|
const [checkoutData, setCheckoutData] = useState<any>({})
|
|
389
|
+
const [checkoutUpdateData, setCheckoutUpdateData] = useState<any>({})
|
|
387
390
|
const prevData = useRef(data)
|
|
388
391
|
|
|
389
392
|
const addAddOnsInAttributes = useCallback((checkoutBody: any) => {
|
|
390
393
|
const selectedAddOns = window.localStorage.getItem('add_ons') || '{}'
|
|
391
394
|
checkoutBody.attributes.add_ons = JSON.parse(selectedAddOns)
|
|
392
395
|
}, [])
|
|
396
|
+
const [singleCheckoutAddons, setSingleCheckoutAddOns] = useState<any>({})
|
|
397
|
+
|
|
398
|
+
const orderIsFree = !Number(checkoutData?.total)
|
|
393
399
|
|
|
394
400
|
useEffect(() => {
|
|
395
401
|
const hasUniqueId = _get(dataWithUniqueIds, '[0].uniqueId')
|
|
@@ -500,6 +506,28 @@ const BillingInfoContainer = React.memo(
|
|
|
500
506
|
fetchCart()
|
|
501
507
|
}, [isLoggedIn])
|
|
502
508
|
|
|
509
|
+
useEffect(() => {
|
|
510
|
+
const fetchCheckoutUpdate = async () => {
|
|
511
|
+
if (!eventId) return
|
|
512
|
+
|
|
513
|
+
try {
|
|
514
|
+
const checkoutUpdateResponse = await updateCheckout({
|
|
515
|
+
attributes: {
|
|
516
|
+
event_id: eventId,
|
|
517
|
+
},
|
|
518
|
+
})
|
|
519
|
+
|
|
520
|
+
if (checkoutUpdateResponse.success) {
|
|
521
|
+
setCheckoutUpdateData(checkoutUpdateResponse.data.attributes)
|
|
522
|
+
}
|
|
523
|
+
} catch (error) {
|
|
524
|
+
console.error('Failed to fetch checkout update:', error)
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
fetchCheckoutUpdate()
|
|
529
|
+
}, [eventId])
|
|
530
|
+
|
|
503
531
|
useEffect(() => {
|
|
504
532
|
const collectPaymentData = async () => {
|
|
505
533
|
if (
|
|
@@ -636,11 +664,23 @@ const BillingInfoContainer = React.memo(
|
|
|
636
664
|
async (addOns: { [key: string]: number } = {}) => {
|
|
637
665
|
if (!isSinglePageCheckout) return
|
|
638
666
|
|
|
667
|
+
const mergedAddOns = { ...singleCheckoutAddons }
|
|
668
|
+
|
|
669
|
+
// Update existing entries and add new ones
|
|
670
|
+
Object.entries(addOns).forEach(([key, value]) => {
|
|
671
|
+
const amount = Number(value)
|
|
672
|
+
if (amount) {
|
|
673
|
+
mergedAddOns[key] = amount
|
|
674
|
+
} else {
|
|
675
|
+
delete mergedAddOns[key]
|
|
676
|
+
}
|
|
677
|
+
})
|
|
678
|
+
|
|
639
679
|
try {
|
|
640
680
|
const checkoutUpdateData = {
|
|
641
681
|
attributes: {
|
|
642
682
|
event_id: eventId,
|
|
643
|
-
add_ons:
|
|
683
|
+
add_ons: mergedAddOns,
|
|
644
684
|
},
|
|
645
685
|
}
|
|
646
686
|
|
|
@@ -651,6 +691,7 @@ const BillingInfoContainer = React.memo(
|
|
|
651
691
|
_get(checkoutResponse, 'data.attributes.cart_price_breakdown', {})
|
|
652
692
|
)
|
|
653
693
|
onCheckoutUpdateSuccess(checkoutResponse.data.attributes)
|
|
694
|
+
setSingleCheckoutAddOns(mergedAddOns)
|
|
654
695
|
}
|
|
655
696
|
} catch (error) {
|
|
656
697
|
const errorMessage = _get(
|
|
@@ -679,10 +720,7 @@ const BillingInfoContainer = React.memo(
|
|
|
679
720
|
|
|
680
721
|
// Create updated add-ons object
|
|
681
722
|
const updatedAddOns: { [key: string]: number } = {}
|
|
682
|
-
|
|
683
|
-
if (quantity > 0) {
|
|
684
|
-
updatedAddOns[addonId] = quantity
|
|
685
|
-
}
|
|
723
|
+
updatedAddOns[addonId] = quantity
|
|
686
724
|
|
|
687
725
|
// Call handleAddOnSelect with the updated addons object
|
|
688
726
|
handleAddOnSelect(updatedAddOns)
|
|
@@ -707,6 +745,10 @@ const BillingInfoContainer = React.memo(
|
|
|
707
745
|
dataWithUniqueIds[0].label = 'Get Your Tables'
|
|
708
746
|
}
|
|
709
747
|
|
|
748
|
+
const stripePublishableKey =
|
|
749
|
+
reviewData?.payment_method?.stripe_publishable_key ||
|
|
750
|
+
checkoutUpdateData?.additional_payment_information?.basic_config?.apiKey
|
|
751
|
+
|
|
710
752
|
return (
|
|
711
753
|
<ThemeProvider theme={themeMui}>
|
|
712
754
|
{(loading || cardLoading || isCountriesLoading || isConfigLoading) && (
|
|
@@ -748,7 +790,7 @@ const BillingInfoContainer = React.memo(
|
|
|
748
790
|
enableReinitialize={false}
|
|
749
791
|
onSubmit={async (values, formikHelpers) => {
|
|
750
792
|
try {
|
|
751
|
-
if (!cardRef.current || !stripeRef.current) {
|
|
793
|
+
if ((!cardRef.current || !stripeRef.current) && !orderIsFree) {
|
|
752
794
|
setError('Fill in the card details')
|
|
753
795
|
return
|
|
754
796
|
}
|
|
@@ -852,10 +894,14 @@ const BillingInfoContainer = React.memo(
|
|
|
852
894
|
|
|
853
895
|
const checkoutBody = collectCheckoutBody(values, userDataObj)
|
|
854
896
|
|
|
855
|
-
if (isBrowser) {
|
|
897
|
+
if (isBrowser && !isSinglePageCheckout) {
|
|
856
898
|
addAddOnsInAttributes(checkoutBody)
|
|
857
899
|
}
|
|
858
900
|
|
|
901
|
+
if (isSinglePageCheckout) {
|
|
902
|
+
checkoutBody.attributes.add_ons = singleCheckoutAddons
|
|
903
|
+
}
|
|
904
|
+
|
|
859
905
|
const checkoutResponse = await postOnCheckout(
|
|
860
906
|
checkoutBody,
|
|
861
907
|
flagFreeTicket
|
|
@@ -867,6 +913,8 @@ const BillingInfoContainer = React.memo(
|
|
|
867
913
|
},
|
|
868
914
|
})
|
|
869
915
|
|
|
916
|
+
let paymentResponse = null
|
|
917
|
+
|
|
870
918
|
if (isSinglePageCheckout) {
|
|
871
919
|
const { hash, total } = checkoutResponse.data.attributes
|
|
872
920
|
const paymentDataResponse = await getPaymentData(String(hash))
|
|
@@ -904,21 +952,23 @@ const BillingInfoContainer = React.memo(
|
|
|
904
952
|
const paymentMethod = attributes.payment_method || {}
|
|
905
953
|
const paymentPlanAvailable = paymentMethod.stripe_payment_plan_enabled
|
|
906
954
|
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
955
|
+
if (!isFreeTickets) {
|
|
956
|
+
const card = cardRef.current
|
|
957
|
+
const paymentMethodReq = await stripeRef.current.createPaymentMethod({
|
|
958
|
+
type: 'card',
|
|
959
|
+
card: card || { token: '' },
|
|
960
|
+
billing_details: {
|
|
961
|
+
address: addressRef.current,
|
|
962
|
+
},
|
|
963
|
+
})
|
|
915
964
|
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
965
|
+
await stripeRef.current.confirmCardPayment(
|
|
966
|
+
paymentMethod.stripe_client_secret,
|
|
967
|
+
{
|
|
968
|
+
payment_method: paymentMethodReq.paymentMethod.id,
|
|
969
|
+
}
|
|
970
|
+
)
|
|
971
|
+
}
|
|
922
972
|
|
|
923
973
|
await handlePaymentMiddleWare(
|
|
924
974
|
null,
|
|
@@ -928,13 +978,17 @@ const BillingInfoContainer = React.memo(
|
|
|
928
978
|
isFreeTickets,
|
|
929
979
|
paymentPlanIsAvailable: paymentPlanAvailable,
|
|
930
980
|
showPaymentPlanSection: true,
|
|
931
|
-
handlePayment:
|
|
981
|
+
handlePayment: (data: any) => {
|
|
982
|
+
paymentResponse = data
|
|
983
|
+
},
|
|
932
984
|
setPaymentIsLoading: _identity,
|
|
933
985
|
setError: _identity,
|
|
934
986
|
orderData: updatedOrderData,
|
|
935
987
|
eventId,
|
|
936
988
|
isBrowser,
|
|
937
|
-
onPaymentError:
|
|
989
|
+
onPaymentError: (error: any) => {
|
|
990
|
+
throw error
|
|
991
|
+
},
|
|
938
992
|
}
|
|
939
993
|
)
|
|
940
994
|
}
|
|
@@ -946,7 +1000,8 @@ const BillingInfoContainer = React.memo(
|
|
|
946
1000
|
formikHelpers as FormikHelpers<any>,
|
|
947
1001
|
eventId,
|
|
948
1002
|
checkoutResponse,
|
|
949
|
-
checkoutUpdateResponse
|
|
1003
|
+
checkoutUpdateResponse,
|
|
1004
|
+
paymentResponse
|
|
950
1005
|
)
|
|
951
1006
|
} catch (e) {
|
|
952
1007
|
setLoading(false)
|
|
@@ -1013,7 +1068,7 @@ const BillingInfoContainer = React.memo(
|
|
|
1013
1068
|
onErrorClose()
|
|
1014
1069
|
}}
|
|
1015
1070
|
/>
|
|
1016
|
-
{!isLoggedIn && (
|
|
1071
|
+
{!isLoggedIn && !isSinglePageCheckout && (
|
|
1017
1072
|
<div className="account-actions-block">
|
|
1018
1073
|
<div className="action-item">
|
|
1019
1074
|
<div>{accountInfoTitle}</div>
|
|
@@ -1239,8 +1294,9 @@ const BillingInfoContainer = React.memo(
|
|
|
1239
1294
|
))}
|
|
1240
1295
|
</div>
|
|
1241
1296
|
)}
|
|
1242
|
-
{isSinglePageCheckout && (
|
|
1297
|
+
{isSinglePageCheckout && !orderIsFree && stripePublishableKey && (
|
|
1243
1298
|
<PaymentContainer
|
|
1299
|
+
stripePublishableKey={stripePublishableKey}
|
|
1244
1300
|
formTitle="Payment Information"
|
|
1245
1301
|
orderInfoLabel=""
|
|
1246
1302
|
enableTimer={false}
|
|
@@ -1312,7 +1368,8 @@ const BillingInfoContainer = React.memo(
|
|
|
1312
1368
|
className="login-register-button"
|
|
1313
1369
|
disabled={props.isSubmitting || phoneValidationIsLoading}
|
|
1314
1370
|
>
|
|
1315
|
-
{props.isSubmitting ?
|
|
1371
|
+
{props.isSubmitting ?
|
|
1372
|
+
<CircularProgress size={26} /> : (orderIsFree ? freeOrderButtonName : buttonName)}
|
|
1316
1373
|
</Button>
|
|
1317
1374
|
</div>
|
|
1318
1375
|
</div>
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import { Alert, AlertColor, Snackbar, SnackbarOrigin } from '@mui/material'
|
|
2
|
+
import React from 'react'
|
|
3
3
|
|
|
4
4
|
interface ISnackbarAlertProps {
|
|
5
|
-
isOpen: boolean
|
|
6
|
-
message: string
|
|
7
|
-
type: AlertColor
|
|
8
|
-
position?: SnackbarOrigin
|
|
9
|
-
autoHideDuration?: number
|
|
10
|
-
variant?: 'filled' | 'standard' | 'outlined'
|
|
5
|
+
isOpen: boolean;
|
|
6
|
+
message: string;
|
|
7
|
+
type: AlertColor;
|
|
8
|
+
position?: SnackbarOrigin;
|
|
9
|
+
autoHideDuration?: number;
|
|
10
|
+
variant?: 'filled' | 'standard' | 'outlined';
|
|
11
11
|
|
|
12
|
-
onClose: () => void
|
|
12
|
+
onClose: () => void;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
const SnackbarAlert = ({
|
|
@@ -20,35 +20,33 @@ const SnackbarAlert = ({
|
|
|
20
20
|
autoHideDuration = 3000,
|
|
21
21
|
variant,
|
|
22
22
|
onClose,
|
|
23
|
-
}: ISnackbarAlertProps) =>
|
|
24
|
-
|
|
25
|
-
<
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
}: ISnackbarAlertProps) => (
|
|
24
|
+
<div className="snackbar-alert-container">
|
|
25
|
+
<Snackbar
|
|
26
|
+
autoHideDuration={autoHideDuration}
|
|
27
|
+
open={isOpen}
|
|
28
|
+
anchorOrigin={position || { vertical: 'top', horizontal: 'center' }}
|
|
29
|
+
onClose={onClose}
|
|
30
|
+
classes={{
|
|
31
|
+
root: 'snackbar-alert-snackbar-root',
|
|
32
|
+
}}
|
|
33
|
+
>
|
|
34
|
+
<Alert
|
|
35
|
+
severity={type}
|
|
30
36
|
onClose={onClose}
|
|
37
|
+
variant={variant || 'filled'}
|
|
31
38
|
classes={{
|
|
32
|
-
|
|
39
|
+
icon: 'snackbar-alert-icon',
|
|
40
|
+
root: 'snackbar-alert-alert-root',
|
|
41
|
+
action: 'snackbar-alert-action',
|
|
42
|
+
message: 'snackbar-alert-message',
|
|
43
|
+
filled: 'snackbar-alert-filled',
|
|
33
44
|
}}
|
|
34
45
|
>
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
icon: 'snackbar-alert-icon',
|
|
41
|
-
root: 'snackbar-alert-alert-root',
|
|
42
|
-
action: 'snackbar-alert-action',
|
|
43
|
-
message: 'snackbar-alert-message',
|
|
44
|
-
filled: 'snackbar-alert-filled',
|
|
45
|
-
}}
|
|
46
|
-
>
|
|
47
|
-
{message}
|
|
48
|
-
</Alert>
|
|
49
|
-
</Snackbar>
|
|
50
|
-
</div>
|
|
51
|
-
)
|
|
52
|
-
}
|
|
46
|
+
{message}
|
|
47
|
+
</Alert>
|
|
48
|
+
</Snackbar>
|
|
49
|
+
</div>
|
|
50
|
+
)
|
|
53
51
|
|
|
54
52
|
export default SnackbarAlert
|
|
@@ -31,6 +31,7 @@ interface MyTicketsTypes {
|
|
|
31
31
|
selectEventsLabel?: string;
|
|
32
32
|
openLoginModal?: () => void;
|
|
33
33
|
hideDetailsButton?: boolean;
|
|
34
|
+
customNoOrderContent?: React.ReactNode;
|
|
34
35
|
columns?: IColumnData[];
|
|
35
36
|
}
|
|
36
37
|
|
|
@@ -49,6 +50,7 @@ export const MyTicketsContainer = ({
|
|
|
49
50
|
hideDetailsButton = false,
|
|
50
51
|
columns = [],
|
|
51
52
|
openLoginModal,
|
|
53
|
+
customNoOrderContent = null,
|
|
52
54
|
}: MyTicketsTypes) => {
|
|
53
55
|
const [data, setData] = useState<any>(null)
|
|
54
56
|
const [loading, setLoading] = useState(true)
|
|
@@ -110,6 +112,15 @@ export const MyTicketsContainer = ({
|
|
|
110
112
|
setFilter(eventFilter?.url_name || '')
|
|
111
113
|
}
|
|
112
114
|
|
|
115
|
+
const noOrderContent = customNoOrderContent || (<div className="no_orders_section">
|
|
116
|
+
<div className="nodata_title">
|
|
117
|
+
You have no current ticket orders on this account
|
|
118
|
+
</div>
|
|
119
|
+
<div className="nodata_subtitle">
|
|
120
|
+
Discover your next nite out <a href="/events">here</a>.
|
|
121
|
+
</div>
|
|
122
|
+
</div>)
|
|
123
|
+
|
|
113
124
|
return (
|
|
114
125
|
<div className={`my-ticket ${theme}`}>
|
|
115
126
|
<>
|
|
@@ -191,14 +202,7 @@ export const MyTicketsContainer = ({
|
|
|
191
202
|
!loading && (
|
|
192
203
|
<>
|
|
193
204
|
<h2>My Ticket Orders</h2>
|
|
194
|
-
|
|
195
|
-
<div className="nodata_title">
|
|
196
|
-
You have no current ticket orders on this account
|
|
197
|
-
</div>
|
|
198
|
-
<div className="nodata_subtitle">
|
|
199
|
-
Discover your next nite out <a href="/events">here</a>.
|
|
200
|
-
</div>
|
|
201
|
-
</div>
|
|
205
|
+
{noOrderContent}
|
|
202
206
|
</>
|
|
203
207
|
)
|
|
204
208
|
)}
|
|
@@ -2,21 +2,61 @@
|
|
|
2
2
|
import _identity from 'lodash/identity'
|
|
3
3
|
import _isEmpty from 'lodash/isEmpty'
|
|
4
4
|
import _map from 'lodash/map'
|
|
5
|
-
import React from 'react'
|
|
5
|
+
import React, { useState } from 'react'
|
|
6
6
|
|
|
7
7
|
import { FEES_STYLES } from '../../constants'
|
|
8
8
|
import { createFixedFloatNormalizer, currencyNormalizerCreator } from '../../normalizers'
|
|
9
9
|
import { IOrderData } from '../../types'
|
|
10
10
|
import { CONFIGS } from '../../utils'
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
interface OrderDetailsProps {
|
|
13
|
+
orderData: any;
|
|
14
|
+
paymentFieldsData: any[];
|
|
15
|
+
customMobileText?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const OrderDetails = ({
|
|
19
|
+
orderData = {},
|
|
20
|
+
paymentFieldsData = [],
|
|
21
|
+
customMobileText = 'Your order total'
|
|
22
|
+
}: OrderDetailsProps) => {
|
|
13
23
|
const { currency, guest_count } = orderData
|
|
14
24
|
const hasTableTypes = Boolean(Number(guest_count))
|
|
25
|
+
const [isExpanded, setIsExpanded] = useState(false)
|
|
26
|
+
|
|
27
|
+
// Find the total field to display in the mobile view
|
|
28
|
+
const totalField = paymentFieldsData.find(field => field.id === 'total')
|
|
29
|
+
const totalValue = totalField && orderData.total
|
|
30
|
+
? totalField.normalizer
|
|
31
|
+
? totalField.normalizer(orderData.total, currency, orderData)
|
|
32
|
+
: orderData.total
|
|
33
|
+
: ''
|
|
34
|
+
|
|
35
|
+
const toggleExpand = () => {
|
|
36
|
+
setIsExpanded(!isExpanded)
|
|
37
|
+
}
|
|
15
38
|
|
|
16
39
|
return (
|
|
17
40
|
<div className="payment_page payment_page_single">
|
|
41
|
+
{/* Mobile view summary */}
|
|
42
|
+
<div className="mobile-order-summary">
|
|
43
|
+
<div className="mobile-order-summary-content" onClick={toggleExpand}>
|
|
44
|
+
<div className="mobile-order-info">
|
|
45
|
+
<div className={`mobile-order-info-container order-info-container-left ${isExpanded ? 'open' : ''}`}>
|
|
46
|
+
<div className="mobile-order-text">{customMobileText}</div>
|
|
47
|
+
</div>
|
|
48
|
+
{!isExpanded && (
|
|
49
|
+
<div className="mobile-order-info-container order-info-container-right">
|
|
50
|
+
<div className="mobile-order-total">{totalValue}</div>
|
|
51
|
+
</div>
|
|
52
|
+
)}
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
{/* Original content - will be hidden on mobile when collapsed */}
|
|
18
58
|
<div
|
|
19
|
-
className=
|
|
59
|
+
className={`order_info_section ${isExpanded ? 'expanded' : 'collapsed'}`}
|
|
20
60
|
style={{ display: hasTableTypes ? 'block' : 'grid' }}
|
|
21
61
|
>
|
|
22
62
|
{_map(paymentFieldsData, field => {
|