tf-checkout-react 1.4.18 → 1.4.20
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/api/index.d.ts +1 -0
- package/dist/components/confirmationContainer/index.d.ts +3 -0
- package/dist/components/paymentContainer/PaymentPlanSection.d.ts +10 -0
- package/dist/components/stripePayment/index.d.ts +3 -2
- package/dist/tf-checkout-react.cjs.development.js +321 -119
- 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 +321 -119
- package/dist/tf-checkout-react.esm.js.map +1 -1
- package/dist/tf-checkout-styles.css +1 -1
- package/dist/types/payment-plan-configuration.d.ts +18 -0
- package/package.json +2 -2
- package/src/api/index.ts +13 -0
- package/src/components/confirmationContainer/index.tsx +53 -50
- package/src/components/paymentContainer/PaymentPlanSection.tsx +152 -0
- package/src/components/paymentContainer/index.tsx +223 -154
- package/src/components/paymentContainer/style.css +8 -0
- package/src/components/seatMapContainer/SeatMapComponent.tsx +26 -22
- package/src/components/seatMapContainer/TicketsSection.tsx +11 -10
- package/src/components/seatMapContainer/index.tsx +67 -72
- package/src/components/stripePayment/index.tsx +19 -18
- package/src/types/payment-plan-configuration.ts +19 -0
- package/src/types/seatMap.d.ts +1 -0
|
@@ -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}.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}.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}.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}.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}.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%}.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}.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}.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}.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}.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%}.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}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface IPaymentPlanConfig {
|
|
2
|
+
requires_deposit: boolean;
|
|
3
|
+
deposit: number;
|
|
4
|
+
interval: number;
|
|
5
|
+
non_refundable_type: string | null;
|
|
6
|
+
non_refundable_amount: number;
|
|
7
|
+
has_admin_fee: boolean;
|
|
8
|
+
admin_fee: number;
|
|
9
|
+
total_installments: number;
|
|
10
|
+
price_per_installment: number;
|
|
11
|
+
total: number;
|
|
12
|
+
stripe_setup_intent_secret: string;
|
|
13
|
+
saved_card: IPaymentPlanConfigCard;
|
|
14
|
+
}
|
|
15
|
+
export interface IPaymentPlanConfigCard {
|
|
16
|
+
last_4_digits: string | null;
|
|
17
|
+
stripe_payment_method_id: string | null;
|
|
18
|
+
}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.4.
|
|
2
|
+
"version": "1.4.20",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
"react-router-dom": "^6.0.2",
|
|
108
108
|
"react-share": "^4.4.0",
|
|
109
109
|
"rollup-plugin-svg": "^2.0.0",
|
|
110
|
-
"tf-seat-map-view": "9.4.7-beta.
|
|
110
|
+
"tf-seat-map-view": "9.4.7-beta.33",
|
|
111
111
|
"yup": "^0.32.11"
|
|
112
112
|
}
|
|
113
113
|
}
|
package/src/api/index.ts
CHANGED
|
@@ -297,6 +297,19 @@ export const handlePaymentSuccess = (orderHash: string) => {
|
|
|
297
297
|
return res
|
|
298
298
|
}
|
|
299
299
|
|
|
300
|
+
export const createPaymentPlan = (orderHash: string, stripePaymentMethodId: string) => {
|
|
301
|
+
const res = publicRequest.post(`v1/order/${orderHash}/payment_plan/create`, {
|
|
302
|
+
stripe_payment_method_id: stripePaymentMethodId
|
|
303
|
+
},{
|
|
304
|
+
headers: {
|
|
305
|
+
'Referer-Url': isDocumentDefined ? document.referrer : '',
|
|
306
|
+
},
|
|
307
|
+
}).catch(error => {
|
|
308
|
+
throw error
|
|
309
|
+
})
|
|
310
|
+
return res
|
|
311
|
+
}
|
|
312
|
+
|
|
300
313
|
export const handleFreeSuccess = (orderHash: string) => {
|
|
301
314
|
const res = publicRequest
|
|
302
315
|
.post(`v1/order/${orderHash}/complete_free_registration`, undefined, {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable max-len */
|
|
1
2
|
/* eslint-disable react/no-unescaped-entities */
|
|
2
3
|
import './style.css'
|
|
3
4
|
|
|
@@ -25,6 +26,9 @@ export interface IConfirmationLabels {
|
|
|
25
26
|
confirmationTitle?: string;
|
|
26
27
|
confirmationMain?: string;
|
|
27
28
|
confirmationHelper?: string;
|
|
29
|
+
paymentPlanConfirmationTitle?: string;
|
|
30
|
+
paymentPlanConfirmationMain?: string;
|
|
31
|
+
paymentPlanConfirmationHelper?: string;
|
|
28
32
|
}
|
|
29
33
|
|
|
30
34
|
export interface IConfirmationPage {
|
|
@@ -62,11 +66,8 @@ export const ConfirmationContainer = ({
|
|
|
62
66
|
}: IConfirmationPage) => {
|
|
63
67
|
const inputRef = useRef(null)
|
|
64
68
|
const [data, setData] = useState<any>(null)
|
|
65
|
-
const dataEncoded =
|
|
66
|
-
|
|
67
|
-
const dataDecoded = dataEncoded
|
|
68
|
-
? JSON.parse(dataEncoded)
|
|
69
|
-
: { hash: orderHash }
|
|
69
|
+
const dataEncoded = (isBrowser && window.localStorage.getItem('checkoutData')) || ''
|
|
70
|
+
const dataDecoded = dataEncoded ? JSON.parse(dataEncoded) : { hash: orderHash }
|
|
70
71
|
const { hash } = dataDecoded
|
|
71
72
|
const eventId = data?.product_id || ''
|
|
72
73
|
|
|
@@ -76,23 +77,21 @@ export const ConfirmationContainer = ({
|
|
|
76
77
|
try {
|
|
77
78
|
const response = await getConfirmationData(hash)
|
|
78
79
|
const data = _get(response, 'data.data.attributes')
|
|
79
|
-
data.personal_share_sales = data.personal_share_sales.map(
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
salesData.price = data.currency.symbol + d.price?.toFixed(2)
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
return salesData
|
|
80
|
+
data.personal_share_sales = data.personal_share_sales.map((d: any) => {
|
|
81
|
+
const salesData: IReferralPromotion = {
|
|
82
|
+
label: `If your friends buy ${d.sales} tickets`,
|
|
83
|
+
price: '',
|
|
84
|
+
}
|
|
85
|
+
if (d.price === 0) {
|
|
86
|
+
salesData.subLabel = 'Your ticket becomes'
|
|
87
|
+
salesData.price = 'FREE!'
|
|
88
|
+
} else {
|
|
89
|
+
salesData.subLabel = 'Your ticket goes down to'
|
|
90
|
+
salesData.price = data.currency.symbol + d.price?.toFixed(2)
|
|
94
91
|
}
|
|
95
|
-
|
|
92
|
+
|
|
93
|
+
return salesData
|
|
94
|
+
})
|
|
96
95
|
data.personal_share_sales.unshift({
|
|
97
96
|
label: 'Your ticket is currently',
|
|
98
97
|
price: data.currency.symbol + data.product_price?.toFixed(2),
|
|
@@ -120,6 +119,9 @@ export const ConfirmationContainer = ({
|
|
|
120
119
|
confirmationTitle = 'Your Tickets are Confirmed!',
|
|
121
120
|
confirmationMain = 'Your tickets are available in My Tickets section',
|
|
122
121
|
confirmationHelper = 'Please bring them with you to the event',
|
|
122
|
+
paymentPlanConfirmationTitle = 'Your Tickets are Confirmed!',
|
|
123
|
+
paymentPlanConfirmationMain = 'Your payment plan is pending and we are trying to take your initial payment. If your initial payment does not complete, your payment plan will be cancelled.',
|
|
124
|
+
paymentPlanConfirmationHelper = 'You will receive a confirmation with your tickets once your final payment has been made.',
|
|
123
125
|
} = confirmationLabels
|
|
124
126
|
|
|
125
127
|
const pageUrl = isBrowser ? window.location.href.split('?')[0] : ''
|
|
@@ -138,8 +140,7 @@ export const ConfirmationContainer = ({
|
|
|
138
140
|
<div className="message-copy-success-box">
|
|
139
141
|
<div className="message-copy-success">
|
|
140
142
|
<span>
|
|
141
|
-
Copied to your clipboard! Now paste your link in a Snapchat
|
|
142
|
-
message,
|
|
143
|
+
Copied to your clipboard! Now paste your link in a Snapchat message,
|
|
143
144
|
</span>
|
|
144
145
|
<span>your Instagram bio, Whatsapp, Facebook or a text :)</span>
|
|
145
146
|
</div>
|
|
@@ -158,7 +159,9 @@ export const ConfirmationContainer = ({
|
|
|
158
159
|
<img alt="" className="product-image" src={data.product_image} />
|
|
159
160
|
</div>
|
|
160
161
|
<div className="header-product-text">
|
|
161
|
-
<p className="title">
|
|
162
|
+
<p className="title">
|
|
163
|
+
{data.is_payment_plan ? paymentPlanConfirmationTitle : confirmationTitle}
|
|
164
|
+
</p>
|
|
162
165
|
<div
|
|
163
166
|
className="share-message-section"
|
|
164
167
|
dangerouslySetInnerHTML={
|
|
@@ -169,22 +172,30 @@ export const ConfirmationContainer = ({
|
|
|
169
172
|
}
|
|
170
173
|
>
|
|
171
174
|
{data.custom_confirmation_page_text &&
|
|
172
|
-
data.custom_confirmation_page_text_full_replacement ? (
|
|
173
|
-
undefined
|
|
174
|
-
) : (
|
|
175
|
+
data.custom_confirmation_page_text_full_replacement ? undefined : (
|
|
175
176
|
<>
|
|
176
|
-
{data.
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
177
|
+
{Boolean(data.is_payment_plan) && (
|
|
178
|
+
<>
|
|
179
|
+
<span className="main">{paymentPlanConfirmationMain}</span>
|
|
180
|
+
<span className="helper">{paymentPlanConfirmationHelper}</span>
|
|
181
|
+
</>
|
|
182
|
+
)}
|
|
183
|
+
{!data.is_payment_plan && (
|
|
184
|
+
<>
|
|
185
|
+
{data.attach_tickets ? (
|
|
186
|
+
<span className="main">
|
|
187
|
+
Your tickets have been emailed to you
|
|
188
|
+
</span>
|
|
189
|
+
) : (
|
|
190
|
+
<span className="main">{confirmationMain}</span>
|
|
191
|
+
)}
|
|
192
|
+
<span className="helper">
|
|
193
|
+
{data.attach_tickets
|
|
194
|
+
? 'Please bring them with you to the event'
|
|
195
|
+
: confirmationHelper}
|
|
196
|
+
</span>
|
|
197
|
+
</>
|
|
182
198
|
)}
|
|
183
|
-
<span className="helper">
|
|
184
|
-
{data.attach_tickets
|
|
185
|
-
? 'Please bring them with you to the event'
|
|
186
|
-
: confirmationHelper}
|
|
187
|
-
</span>
|
|
188
199
|
</>
|
|
189
200
|
)}
|
|
190
201
|
</div>
|
|
@@ -194,9 +205,7 @@ export const ConfirmationContainer = ({
|
|
|
194
205
|
!data.custom_confirmation_page_text_full_replacement ? (
|
|
195
206
|
<div
|
|
196
207
|
className="custom-confirmation-page-text"
|
|
197
|
-
dangerouslySetInnerHTML={createMarkup(
|
|
198
|
-
data.custom_confirmation_page_text
|
|
199
|
-
)}
|
|
208
|
+
dangerouslySetInnerHTML={createMarkup(data.custom_confirmation_page_text)}
|
|
200
209
|
/>
|
|
201
210
|
) : null}
|
|
202
211
|
{data.disable_referral === false && isReferralEnabled && (
|
|
@@ -230,9 +239,7 @@ export const ConfirmationContainer = ({
|
|
|
230
239
|
</div>
|
|
231
240
|
<div className="share_buttons">
|
|
232
241
|
<div className="share-by-link">
|
|
233
|
-
<h5 className="share-by-link label">
|
|
234
|
-
Send them this link:
|
|
235
|
-
</h5>
|
|
242
|
+
<h5 className="share-by-link label">Send them this link:</h5>
|
|
236
243
|
<div className="share-btn-inner">
|
|
237
244
|
<input
|
|
238
245
|
ref={inputRef}
|
|
@@ -288,16 +295,12 @@ export const ConfirmationContainer = ({
|
|
|
288
295
|
</div>
|
|
289
296
|
)}
|
|
290
297
|
</div>
|
|
291
|
-
<div className="pricing-section_price">
|
|
292
|
-
{' '}
|
|
293
|
-
{pricing.price}
|
|
294
|
-
</div>
|
|
298
|
+
<div className="pricing-section_price"> {pricing.price}</div>
|
|
295
299
|
</div>
|
|
296
300
|
))}
|
|
297
301
|
{showPricingNoteSection && (
|
|
298
302
|
<div className="note-pricing-section">
|
|
299
|
-
^ This is based on the most expensive ticket in your
|
|
300
|
-
order.
|
|
303
|
+
^ This is based on the most expensive ticket in your order.
|
|
301
304
|
</div>
|
|
302
305
|
)}
|
|
303
306
|
</div>
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
import {createFixedFloatNormalizer, currencyNormalizerCreator} from '../../normalizers'
|
|
4
|
+
import {IPaymentPlanConfig} from '../../types/payment-plan-configuration'
|
|
5
|
+
import {CheckboxField} from '../common'
|
|
6
|
+
|
|
7
|
+
interface PaymentPlanSectionProps {
|
|
8
|
+
paymentPlanConfig: IPaymentPlanConfig;
|
|
9
|
+
currency: string;
|
|
10
|
+
paymentPlanUseSavedCard: boolean;
|
|
11
|
+
setPaymentPlanUseSavedCard: (value: boolean) => void;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const PaymentPlanSection = (props: PaymentPlanSectionProps) => {
|
|
15
|
+
const {
|
|
16
|
+
paymentPlanConfig,
|
|
17
|
+
currency,
|
|
18
|
+
paymentPlanUseSavedCard,
|
|
19
|
+
setPaymentPlanUseSavedCard,
|
|
20
|
+
} = props
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<div className="payment_plan">
|
|
24
|
+
<h2 className="payment_plan_title">Payment Plan Terms</h2>
|
|
25
|
+
<div className="payment_plan_block">
|
|
26
|
+
<div className="payment_plan_text">
|
|
27
|
+
By clicking on the “Confirm Payment Plan” button, you are starting your payment
|
|
28
|
+
plan of{' '}
|
|
29
|
+
<span className="payment_plan_highlight">{paymentPlanConfig.total_installments}</span>
|
|
30
|
+
{' '}payments of{' '}
|
|
31
|
+
<span className="payment_plan_highlight">{currencyNormalizerCreator(
|
|
32
|
+
createFixedFloatNormalizer(2)(paymentPlanConfig.price_per_installment),
|
|
33
|
+
currency
|
|
34
|
+
)}</span>
|
|
35
|
+
, which will be drawn from your account every {paymentPlanConfig.interval} days,
|
|
36
|
+
with the first payment taken later today.
|
|
37
|
+
</div>
|
|
38
|
+
{paymentPlanConfig.has_admin_fee && (
|
|
39
|
+
<div className="payment_plan_text">
|
|
40
|
+
This includes a non-refundable admin fee of{' '}
|
|
41
|
+
<span className="payment_plan_highlight">{currencyNormalizerCreator(
|
|
42
|
+
createFixedFloatNormalizer(2)(paymentPlanConfig.admin_fee),
|
|
43
|
+
currency
|
|
44
|
+
)}</span>{' '}
|
|
45
|
+
per payment.
|
|
46
|
+
</div>
|
|
47
|
+
)}
|
|
48
|
+
{paymentPlanConfig.requires_deposit && (
|
|
49
|
+
<div className="payment_plan_text">
|
|
50
|
+
You will also be charged a single, non-refundable deposit of{' '}
|
|
51
|
+
<span className="payment_plan_highlight">{currencyNormalizerCreator(
|
|
52
|
+
createFixedFloatNormalizer(2)(paymentPlanConfig.deposit),
|
|
53
|
+
currency
|
|
54
|
+
)}</span>
|
|
55
|
+
.
|
|
56
|
+
</div>
|
|
57
|
+
)}
|
|
58
|
+
<div className="payment_plan_text payment_plan_note payment_plan_highlight">
|
|
59
|
+
NOTE: If today’s payment fails, your plan will not activate. Your
|
|
60
|
+
tickets will not be issued until you complete your final payment.
|
|
61
|
+
</div>
|
|
62
|
+
{!paymentPlanConfig.non_refundable_type && (
|
|
63
|
+
<div className="payment_plan_text">
|
|
64
|
+
If you do not complete your payments, your order will be canceled. Your{' '}
|
|
65
|
+
<span className="payment_plan_highlight">first payment of{' '}
|
|
66
|
+
{currencyNormalizerCreator(
|
|
67
|
+
createFixedFloatNormalizer(2)(paymentPlanConfig.price_per_installment),
|
|
68
|
+
currency
|
|
69
|
+
)}</span>
|
|
70
|
+
{paymentPlanConfig.has_admin_fee && (
|
|
71
|
+
<>
|
|
72
|
+
, plus the{' '}
|
|
73
|
+
<span className="payment_plan_highlight">non-refundable admin-fee of{' '}
|
|
74
|
+
{currencyNormalizerCreator(
|
|
75
|
+
createFixedFloatNormalizer(2)(paymentPlanConfig.admin_fee),
|
|
76
|
+
currency
|
|
77
|
+
)}</span>
|
|
78
|
+
</>
|
|
79
|
+
)}{' '}
|
|
80
|
+
will not be refunded.
|
|
81
|
+
</div>
|
|
82
|
+
)}
|
|
83
|
+
{paymentPlanConfig.non_refundable_type === 'percent' && (
|
|
84
|
+
<div className="payment_plan_text">
|
|
85
|
+
If you do not complete your payments, you will receive{' '}
|
|
86
|
+
<span className="payment_plan_highlight">
|
|
87
|
+
{createFixedFloatNormalizer(0)(100 - paymentPlanConfig.non_refundable_amount)}%
|
|
88
|
+
</span>
|
|
89
|
+
{' '}of your money back
|
|
90
|
+
{paymentPlanConfig.requires_deposit && (
|
|
91
|
+
<>
|
|
92
|
+
, excluding your{' '}
|
|
93
|
+
{currencyNormalizerCreator(
|
|
94
|
+
createFixedFloatNormalizer(2)(paymentPlanConfig.deposit),
|
|
95
|
+
currency
|
|
96
|
+
)}{' '}
|
|
97
|
+
deposit
|
|
98
|
+
</>
|
|
99
|
+
)}
|
|
100
|
+
.
|
|
101
|
+
</div>
|
|
102
|
+
)}
|
|
103
|
+
{paymentPlanConfig.non_refundable_type === 'fixed' && (
|
|
104
|
+
<div className="payment_plan_text">
|
|
105
|
+
If you do not complete your payments, you will receive all your money back
|
|
106
|
+
{paymentPlanConfig.non_refundable_amount && (
|
|
107
|
+
<>
|
|
108
|
+
except for the non-refundable amount of{' '}
|
|
109
|
+
{currencyNormalizerCreator(
|
|
110
|
+
createFixedFloatNormalizer(2)(paymentPlanConfig.non_refundable_amount),
|
|
111
|
+
currency
|
|
112
|
+
)}
|
|
113
|
+
{paymentPlanConfig.requires_deposit && (
|
|
114
|
+
<>
|
|
115
|
+
, excluding your{' '}
|
|
116
|
+
{currencyNormalizerCreator(
|
|
117
|
+
createFixedFloatNormalizer(2)(paymentPlanConfig.deposit),
|
|
118
|
+
currency
|
|
119
|
+
)}{' '}
|
|
120
|
+
deposit
|
|
121
|
+
</>
|
|
122
|
+
)}
|
|
123
|
+
</>
|
|
124
|
+
)}
|
|
125
|
+
.
|
|
126
|
+
</div>
|
|
127
|
+
)}
|
|
128
|
+
{!!paymentPlanConfig.saved_card?.stripe_payment_method_id && (
|
|
129
|
+
<>
|
|
130
|
+
{paymentPlanUseSavedCard && (
|
|
131
|
+
<div className="payment_plan_text">
|
|
132
|
+
{' '}
|
|
133
|
+
Your payment will proceed with the card ending in ****{' '}
|
|
134
|
+
<span className="payment_plan_highlight">{'' + paymentPlanConfig.saved_card.last_4_digits}</span>
|
|
135
|
+
</div>
|
|
136
|
+
)}
|
|
137
|
+
<div>
|
|
138
|
+
<CheckboxField
|
|
139
|
+
label={<span className='payment_plan_toggle_label'>Use this card</span>}
|
|
140
|
+
required={true}
|
|
141
|
+
onChange={() => {
|
|
142
|
+
setPaymentPlanUseSavedCard(!paymentPlanUseSavedCard)
|
|
143
|
+
}}
|
|
144
|
+
checked={paymentPlanUseSavedCard}
|
|
145
|
+
/>
|
|
146
|
+
</div>
|
|
147
|
+
</>
|
|
148
|
+
)}
|
|
149
|
+
</div>
|
|
150
|
+
</div>
|
|
151
|
+
)
|
|
152
|
+
}
|