tf-checkout-react 1.0.63 → 1.0.64

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.
@@ -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}.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}.login-register-button,.MuiButtonBase-root.MuiButton-root,.MuiButtonBase-root.MuiButton-root:hover{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}.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}.register-container{margin:0 auto;max-width:800px}.register-container .is-half{width:49%}.register-container__twoFields{display:flex;justify-content:space-between;margin-top:15px}.register-container__singleField{margin-top:15px}button{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 .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 -10px}.confirmation-page .referral_text_image_section .referral_text_section{margin:10px}.confirmation-page .referral_text_image_section .referral_title_text{color:#f08057;font-size:28px;padding-bottom:10px}.confirmation-page .referral_text_image_section .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 .share_wrapper .invitation_title{font-size:22px;padding-bottom:12px;padding-top:12px}.confirmation-page .share_wrapper .share_section{display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 -10px}.confirmation-page .share_wrapper .share_section .invitation_section{flex:1 1;padding:0 5px}.confirmation-page .share_wrapper .share_section .invitation_section .share_buttons{display:grid;flex-wrap:wrap;margin:0 -7px}.confirmation-page .share_wrapper .share_section .invitation_section .share_buttons .social-media-btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.confirmation-page .share_wrapper .share_section .invitation_section .share_buttons .social-media-btns .sharing-btn{min-width:130px}.confirmation-page .share_wrapper .share_section .invitation_section .share-btn-inner.share-by-link-copy{padding:0;text-align:left}.confirmation-page .share_wrapper .share_section .invitation_section .sharing-button{flex:1 1}.confirmation-page .share_wrapper .share_section .invitation_section .convenient_buttons.sharing-btn{display:inline}.confirmation-page .share_wrapper .share_section .invitation_section .share-by-link{background:#000;color:#fff;padding:0}.confirmation-page .share_wrapper .share_section .invitation_section .share-by-link.label{margin:0;padding:0;text-align:left}.confirmation-page .share_wrapper .share_section .invitation_section .sharing-btn{flex:1 1;padding:7px;text-align:center}.confirmation-page .share_wrapper .share_section .invitation_section .share-btn-inner{background:#000;color:#fff;padding:10px}.confirmation-page .share_wrapper .share_section .invitation_section .share-btn-inner .svg_wrapper{display:inline}.confirmation-page .share_wrapper .share_section .invitation_section .share-btn-inner .share-input{background-color:#fff;text-align:left;width:300px}.confirmation-page .share_wrapper .share_section .invitation_section .share-text{display:block;font-size:13px;font-weight:600;padding-top:8px;width:100%}.confirmation-page .share_wrapper .pricing-section_wrapper{background:#e3e3e3;border:1px solid #dcdcdc;display:grid;grid-template-columns:1fr 1fr;margin:10px 0;padding:15px}.confirmation-page .share_wrapper .pricing-section_wrapper.free_price{background:#e9835b;border:1px solid #eb7b4a;color:#fff}.confirmation-page .share_wrapper .pricing-section_label{font-weight:600}.confirmation-page .share_wrapper .pricing-section_sublabel{font-size:14px;font-weight:100}.confirmation-page .share_wrapper .pricing-section_price{font-weight:600;text-align:right}body{margin:0;padding:0}.get-tickets-page{width:100%}.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;font-weight:700;line-height:1;text-align:center}.event-detail__tier-price p{margin:0}.event-detail__tier-price .fees{font-size:14px;font-weight:400;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{background-color:#d9edf7;border:1px solid #bce8f1;border-radius:4px;color:#3a87ad;font-size:1em;margin:0 35px;padding:8px 15px;text-align:center;text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.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}.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}.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 h3{margin:10px 0}.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}.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%}.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{font-weight:700}.order-details .tickets-box{margin-top:30px}.order-details .ticket-add-on-table{background-color:#fcf8e3}.order-details .download-button{background-color:#32325d;border:none;border-radius:4px;color:#fff;font-size:12px;font-weight:400;padding:8px 14px;text-decoration:none;transition:all .15s ease}.order-details .download-button:hover{background-color:#505050}
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}.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}.login-register-button,.MuiButtonBase-root.MuiButton-root,.MuiButtonBase-root.MuiButton-root:hover{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}.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}.register-container{margin:0 auto;max-width:800px}.register-container .is-half{width:49%}.register-container__twoFields{display:flex;justify-content:space-between;margin-top:15px}.register-container__singleField{margin-top:15px}button{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 .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 -10px}.confirmation-page .referral_text_image_section .referral_text_section{margin:10px}.confirmation-page .referral_text_image_section .referral_title_text{color:#f08057;font-size:28px;padding-bottom:10px}.confirmation-page .referral_text_image_section .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 .share_wrapper .invitation_title{font-size:22px;padding-bottom:12px;padding-top:12px}.confirmation-page .share_wrapper .share_section{display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 -10px}.confirmation-page .share_wrapper .share_section .invitation_section{flex:1 1;padding:0 5px}.confirmation-page .share_wrapper .share_section .invitation_section .share_buttons{display:grid;flex-wrap:wrap;margin:0 -7px}.confirmation-page .share_wrapper .share_section .invitation_section .share_buttons .social-media-btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.confirmation-page .share_wrapper .share_section .invitation_section .share_buttons .social-media-btns .sharing-btn{min-width:130px}.confirmation-page .share_wrapper .share_section .invitation_section .share-btn-inner.share-by-link-copy{padding:0;text-align:left}.confirmation-page .share_wrapper .share_section .invitation_section .sharing-button{flex:1 1}.confirmation-page .share_wrapper .share_section .invitation_section .convenient_buttons.sharing-btn{display:inline}.confirmation-page .share_wrapper .share_section .invitation_section .share-by-link{background:#000;color:#fff;padding:0}.confirmation-page .share_wrapper .share_section .invitation_section .share-by-link.label{margin:0;padding:0;text-align:left}.confirmation-page .share_wrapper .share_section .invitation_section .sharing-btn{flex:1 1;padding:7px;text-align:center}.confirmation-page .share_wrapper .share_section .invitation_section .share-btn-inner{background:#000;color:#fff;padding:10px}.confirmation-page .share_wrapper .share_section .invitation_section .share-btn-inner .svg_wrapper{display:inline}.confirmation-page .share_wrapper .share_section .invitation_section .share-btn-inner .share-input{background-color:#fff;text-align:left;width:300px}.confirmation-page .share_wrapper .share_section .invitation_section .share-text{display:block;font-size:13px;font-weight:600;padding-top:8px;width:100%}.confirmation-page .share_wrapper .pricing-section_wrapper{background:#e3e3e3;border:1px solid #dcdcdc;display:grid;grid-template-columns:1fr 1fr;margin:10px 0;padding:15px}.confirmation-page .share_wrapper .pricing-section_wrapper.free_price{background:#e9835b;border:1px solid #eb7b4a;color:#fff}.confirmation-page .share_wrapper .pricing-section_label{font-weight:600}.confirmation-page .share_wrapper .pricing-section_sublabel{font-size:14px;font-weight:100}.confirmation-page .share_wrapper .pricing-section_price{font-weight:600;text-align:right}body{margin:0;padding:0}.get-tickets-page{width:100%}.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;font-weight:700;line-height:1;text-align:center}.event-detail__tier-price p{margin:0}.event-detail__tier-price .fees{font-size:14px;font-weight:400;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{background-color:#d9edf7;border:1px solid #bce8f1;border-radius:4px;color:#3a87ad;font-size:1em;margin:0 35px;padding:8px 15px;text-align:center;text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.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}.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}.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 h3{margin:10px 0}.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}.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%}.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 .download-button{background-color:#212529;border:1px solid #fff;border-radius:0;color:#fff;cursor:pointer;display:block;font-family:Bebas Neue;font-size:16px;font-weight:400;line-height:normal;margin-bottom:20px;margin-top:20px;min-height:auto;outline:none;overflow:hidden;padding:12px 0;position:relative;text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:uppercase;width:100%}.order-details .download-button:hover{background-color:#505050}.order-details .personal-link{padding:20px 0}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.63",
2
+ "version": "1.0.64",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -66,8 +66,7 @@
66
66
  "@emotion/react": "^11.5.0",
67
67
  "@emotion/styled": "^11.3.0",
68
68
  "@mui/lab": "^5.0.0-alpha.55",
69
- "@mui/material": "5.1.0",
70
- "@mui/styles": "^5.1.1",
69
+ "@mui/material": "^5.2.2",
71
70
  "@stripe/react-stripe-js": "^1.6.0",
72
71
  "@stripe/stripe-js": "^1.21.1",
73
72
  "axios": "^0.24.0",
package/src/api/index.ts CHANGED
@@ -211,6 +211,12 @@ export const getProfileData = (accessToken: any) =>
211
211
  ...ttfHeaders,
212
212
  Authorization: `Bearer ${accessToken}`,
213
213
  },
214
+ }).catch((e:any)=>{
215
+ if(isWindowDefined){
216
+ const event = new window.CustomEvent('auth_error', e)
217
+ window.document.dispatchEvent(event)
218
+ }
219
+ return e
214
220
  })
215
221
 
216
222
  export const getCountries = () => publicRequest.get('/countries/')
@@ -1,4 +1,4 @@
1
- import React, { FC, useEffect, useState } from 'react'
1
+ import React, { FC, useEffect, useState, useCallback } from 'react'
2
2
  import { AxiosError } from 'axios'
3
3
  import {
4
4
  Field,
@@ -46,6 +46,7 @@ import { getQueryVariable } from '../../utils/getQueryVariable'
46
46
  import { SelectField } from '../common/SelectField'
47
47
  import { ErrorFocus } from '../../utils/formikErrorFocus'
48
48
  import { getImage } from '../../utils/getImage'
49
+ import { ThemeProvider, createTheme } from '@mui/material/styles'
49
50
 
50
51
  const TTFLOGO = getImage('logo-ttf.png')
51
52
 
@@ -95,6 +96,7 @@ export interface IBillingInfoPage {
95
96
  buttonName?: string;
96
97
  theme?: 'light' | 'dark';
97
98
  isLoggedIn?: boolean;
99
+ fontFamily?: string
98
100
  }
99
101
 
100
102
  const LogicRunner: FC<{
@@ -200,7 +202,15 @@ export const BillingInfoContainer = ({
200
202
  onLogin = () => {},
201
203
  onLoginSuccess = () => {},
202
204
  isLoggedIn: pIsLoggedIn = false,
205
+ fontFamily
203
206
  }: IBillingInfoPage) => {
207
+ const themeMui = createTheme({
208
+ typography: {
209
+ allVariants: {
210
+ fontFamily
211
+ },
212
+ },
213
+ })
204
214
  const isWindowDefined = typeof window !== 'undefined'
205
215
  const userData =
206
216
  isWindowDefined && window.localStorage.getItem('user_data')
@@ -263,6 +273,17 @@ export const BillingInfoContainer = ({
263
273
  return qty
264
274
  }
265
275
 
276
+ const handleAuthErrors = useCallback(() => {
277
+ setIsLoggedIn(false)
278
+ }, [])
279
+
280
+ useEffect(() => {
281
+ isWindowDefined && window.document.addEventListener("auth_error", handleAuthErrors)
282
+ return () => {
283
+ isWindowDefined && window.document.removeEventListener("auth_error", handleAuthErrors)
284
+ }
285
+ }, [handleAuthErrors])
286
+
266
287
  useEffect(() => {
267
288
  if ((pIsLoggedIn || access_token) && !isLoggedIn) {
268
289
  setIsLoggedIn(true)
@@ -338,7 +359,7 @@ export const BillingInfoContainer = ({
338
359
  }, [access_token])
339
360
 
340
361
  return (
341
- <>
362
+ <ThemeProvider theme={themeMui}>
342
363
  <Formik
343
364
  initialValues={getInitialValues(
344
365
  dataWithUniqueIds,
@@ -680,6 +701,6 @@ export const BillingInfoContainer = ({
680
701
  onGetProfileDataError={onGetProfileDataError}
681
702
  />
682
703
  )}
683
- </>
704
+ </ThemeProvider>
684
705
  )
685
706
  }
@@ -5,7 +5,6 @@ import _get from 'lodash/get'
5
5
  import _includes from 'lodash/includes'
6
6
 
7
7
  import { FieldInputProps, FormikProps } from 'formik'
8
- import { makeStyles } from '@mui/styles'
9
8
 
10
9
  export interface ISelectOption {
11
10
  label: string | number;
@@ -29,14 +28,6 @@ interface IOtherProps {
29
28
  [key: string]: any;
30
29
  }
31
30
 
32
- const useStyles = makeStyles({
33
- input: {
34
- '&::placeholder': {
35
- color: 'gray',
36
- },
37
- },
38
- })
39
-
40
31
  export const CustomField = ({
41
32
  label,
42
33
  type = 'text',
@@ -50,7 +41,6 @@ export const CustomField = ({
50
41
  const isTouched =
51
42
  Boolean(_get(touched, field.name)) ||
52
43
  (_includes(field.name, 'holder') && !!error && !!submitCount)
53
- const classes = useStyles()
54
44
 
55
45
  return (
56
46
  <TextField
@@ -61,11 +51,6 @@ export const CustomField = ({
61
51
  fullWidth={true}
62
52
  error={!!error && isTouched}
63
53
  helperText={isTouched && error}
64
- InputProps={{
65
- classes: {
66
- input: classes.input,
67
- },
68
- }}
69
54
  SelectProps={{
70
55
  native: true,
71
56
  className: theme,
@@ -74,16 +59,16 @@ export const CustomField = ({
74
59
  {...field}
75
60
  >
76
61
  {isSelectField
77
- ? _map(selectOptions, option => (
78
- <option
79
- key={option.value}
80
- value={option.value}
81
- disabled={option.disabled}
82
- >
83
- {option.label}
84
- </option>
85
- ))
86
- : null}
62
+ ? _map(selectOptions, option => (
63
+ <option
64
+ key={option.value}
65
+ value={option.value}
66
+ disabled={option.disabled}
67
+ >
68
+ {option.label}
69
+ </option>
70
+ ))
71
+ : null}
87
72
  </TextField>
88
73
  )
89
74
  }
@@ -4,7 +4,6 @@ import _map from 'lodash/map'
4
4
  import _get from 'lodash/get'
5
5
 
6
6
  import { FieldInputProps, FormikProps } from 'formik'
7
- import { makeStyles } from '@mui/styles'
8
7
  import { FormControl, InputLabel, FormHelperText } from '@mui/material'
9
8
 
10
9
  export interface ISelectOption {
@@ -29,14 +28,6 @@ interface IOtherProps {
29
28
  [key: string]: any;
30
29
  }
31
30
 
32
- const useStyles = makeStyles({
33
- input: {
34
- '&::placeholder': {
35
- color: 'gray',
36
- },
37
- },
38
- })
39
-
40
31
  export const SelectField = ({
41
32
  label,
42
33
  type = 'text',
@@ -47,7 +38,6 @@ export const SelectField = ({
47
38
  }: ISelectField & IOtherProps) => {
48
39
  const isTouched = Boolean(_get(touched, field.name))
49
40
  const error = _get(errors, field.name)
50
- const classes = useStyles()
51
41
 
52
42
  return (
53
43
  <FormControl fullWidth={true}>
@@ -62,9 +52,6 @@ export const SelectField = ({
62
52
  error={!!error && isTouched}
63
53
  inputProps={{
64
54
  id: field.name,
65
- classes: {
66
- input: classes.input,
67
- },
68
55
  }}
69
56
  native={true}
70
57
  className={theme}
@@ -21,6 +21,8 @@ interface MyTicketsTypes {
21
21
  handleDetailsInfo: (id: string) => void;
22
22
  onGetOrdersSuccess: (res: any) => void;
23
23
  onGetOrdersError: (err: any) => void;
24
+
25
+ theme?: 'light' | 'dark';
24
26
  }
25
27
 
26
28
  interface EventFilter {
@@ -31,7 +33,8 @@ interface EventFilter {
31
33
  export const MyTicketsContainer = ({
32
34
  handleDetailsInfo = () => {},
33
35
  onGetOrdersSuccess = () => {},
34
- onGetOrdersError = () => {}
36
+ onGetOrdersError = () => {},
37
+ theme = 'dark',
35
38
  }: MyTicketsTypes) => {
36
39
  const [data, setData] = useState<any>(null)
37
40
  const [loading, setLoading] = useState(true)
@@ -64,20 +67,25 @@ export const MyTicketsContainer = ({
64
67
  fetchData(newPage + 1, limit, filter)
65
68
  }
66
69
 
67
- const handleChangeRowsPerPage = (event: React.ChangeEvent<HTMLInputElement>) => {
70
+ const handleChangeRowsPerPage = (
71
+ event: React.ChangeEvent<HTMLInputElement>
72
+ ) => {
68
73
  fetchData(1, +event.target.value, filter)
69
74
  setLimit(+event.target.value)
70
75
  }
71
76
 
72
- const onChange = (_event: React.SyntheticEvent<Element, Event>, eventFilter: EventFilter | null) => {
73
- fetchData(1, limit, eventFilter?.url_name || '' )
77
+ const onChange = (
78
+ _event: React.SyntheticEvent<Element, Event>,
79
+ eventFilter: EventFilter | null
80
+ ) => {
81
+ fetchData(1, limit, eventFilter?.url_name || '')
74
82
  setFilter(eventFilter?.url_name || '')
75
83
  }
76
84
 
77
- return (
78
- <div className='my-ticket'>
85
+ return (
86
+ <div className={`my-ticket ${theme}`}>
79
87
  {loading && (
80
- <div className='loading'>
88
+ <div className="loading">
81
89
  <CircularProgress />
82
90
  </div>
83
91
  )}
@@ -90,9 +98,9 @@ export const MyTicketsContainer = ({
90
98
  onChange={onChange}
91
99
  options={data.purchased_events}
92
100
  sx={{ width: 300 }}
93
- renderInput={(params) => <TextField {...params} label="Events" />}
101
+ renderInput={params => <TextField {...params} label="Events" />}
94
102
  />
95
- <TableContainer component={Paper} className='my-ticket-table'>
103
+ <TableContainer component={Paper} className="my-ticket-table">
96
104
  <Table aria-label="collapsible table">
97
105
  <TableHead>
98
106
  <TableRow>
@@ -104,7 +112,11 @@ export const MyTicketsContainer = ({
104
112
  </TableHead>
105
113
  <TableBody>
106
114
  {data.orders?.map((row: RowItems) => (
107
- <MyTicketsRow key={row.id} row={row} handleDetailsInfo={handleDetailsInfo} />
115
+ <MyTicketsRow
116
+ key={row.id}
117
+ row={row}
118
+ handleDetailsInfo={handleDetailsInfo}
119
+ />
108
120
  ))}
109
121
  </TableBody>
110
122
  </Table>
@@ -29,23 +29,28 @@ interface OrderDetailsTypes {
29
29
  }
30
30
 
31
31
  const getTotal = (data: any) => {
32
- if(!data?.total || !_has(data, 'items.ticket_types.length')) return ''
33
-
32
+ if (!data?.total || !_has(data, 'items.ticket_types.length')) return ''
33
+
34
34
  return data.items.ticket_types[0].currency + data.total
35
35
  }
36
36
 
37
37
  export const OrderDetailsContainer = ({
38
38
  onGetOrdersSuccess = () => {},
39
- onGetOrdersError = () => {}
39
+ onGetOrdersError = () => {},
40
40
  }: OrderDetailsTypes) => {
41
- const [data, setData] = useState<any>(null)
41
+ const [data, setData] = useState<any>({})
42
42
  const [loading, setLoading] = useState(true)
43
43
 
44
44
  useEffect(() => {
45
45
  (async () => {
46
46
  try {
47
47
  setLoading(true)
48
- const orderId = window.location.href.split('/').slice(-1)[0]
48
+ let orderId = ''
49
+ if (typeof window !== 'undefined') {
50
+ const params: URLSearchParams = new URL(`${window.location}`)
51
+ .searchParams
52
+ orderId = params.get('o') || ''
53
+ }
49
54
  const response = await getOrderDetails(orderId)
50
55
  onGetOrdersSuccess(response)
51
56
 
@@ -63,17 +68,23 @@ export const OrderDetailsContainer = ({
63
68
  return (
64
69
  <div className="order-details">
65
70
  {loading ? (
66
- <div className='loading'>
71
+ <div className="loading">
67
72
  <CircularProgress />
68
73
  </div>
69
74
  ) : (
70
75
  <>
71
- <h1 className='layout-title'>Order Details</h1>
72
- <div className='order-summary-box'>
73
- <h4 className='sub-title'>Order Summary</h4>
74
- <div>
75
- <b>Your personal share link for this event is:{" "}</b>
76
- <a href={data?.personal_share_link} target='_blank' rel='noreferrer'>{data?.personal_share_link}</a>
76
+ <h1 className="layout-title">Order Details</h1>
77
+ <div className="order-summary-box">
78
+ <h4 className="sub-title">Order Summary</h4>
79
+ <div className="personal-link">
80
+ <b>Your personal share link for this event is: </b>
81
+ <a
82
+ href={data?.personal_share_link}
83
+ target="_blank"
84
+ rel="noreferrer"
85
+ >
86
+ {data?.personal_share_link}
87
+ </a>
77
88
  </div>
78
89
  <TableContainer component={Paper}>
79
90
  <Table aria-label="collapsible table">
@@ -86,23 +97,33 @@ export const OrderDetailsContainer = ({
86
97
  </TableRow>
87
98
  </TableHead>
88
99
  <TableBody>
89
- {data?.items.ticket_types?.map((ticket: TicketTypes, index: number) => (
90
- <TableRow key={index}>
91
- <TableCell><b>Ticket Type: </b>{ticket.name}</TableCell>
92
- <TableCell>{ticket.currency + ticket.price}</TableCell>
93
- <TableCell>{ticket.quantity}</TableCell>
94
- <TableCell>{ticket.currency + ticket.total}</TableCell>
95
- </TableRow>
96
- ))}
97
- {data?.items.add_ons?.map((ticket: TicketTypes, index: number) => (
98
- <TableRow key={index}>
99
- <TableCell><b>Add-On: </b>{ticket.name}</TableCell>
100
- <TableCell>{ticket.currency + ticket.price}</TableCell>
101
- <TableCell>{ticket.quantity}</TableCell>
102
- <TableCell>{ticket.currency + ticket.total}</TableCell>
103
- </TableRow>
104
- ))}
105
- <TableRow className='total-row'>
100
+ {data?.items.ticket_types?.map(
101
+ (ticket: TicketTypes, index: number) => (
102
+ <TableRow key={index}>
103
+ <TableCell>
104
+ <b>Ticket Type: </b>
105
+ {ticket.name}
106
+ </TableCell>
107
+ <TableCell>{ticket.currency + ticket.price}</TableCell>
108
+ <TableCell>{ticket.quantity}</TableCell>
109
+ <TableCell>{ticket.currency + ticket.total}</TableCell>
110
+ </TableRow>
111
+ )
112
+ )}
113
+ {data?.items.add_ons?.map(
114
+ (ticket: TicketTypes, index: number) => (
115
+ <TableRow key={index}>
116
+ <TableCell>
117
+ <b>Add-On: </b>
118
+ {ticket.name}
119
+ </TableCell>
120
+ <TableCell>{ticket.currency + ticket.price}</TableCell>
121
+ <TableCell>{ticket.quantity}</TableCell>
122
+ <TableCell>{ticket.currency + ticket.total}</TableCell>
123
+ </TableRow>
124
+ )
125
+ )}
126
+ <TableRow className="total-row">
106
127
  <TableCell />
107
128
  <TableCell />
108
129
  <TableCell>Total</TableCell>
@@ -113,6 +134,19 @@ export const OrderDetailsContainer = ({
113
134
  </TableContainer>
114
135
  </div>
115
136
  <TicketsTable tickets={data.tickets} />
137
+ <div className="return-button-container">
138
+ <button
139
+ type="button"
140
+ className="return-button"
141
+ onClick={() => {
142
+ if (typeof window !== 'undefined') {
143
+ window.location.assign('/orders')
144
+ }
145
+ }}
146
+ >
147
+ Return to Order History
148
+ </button>
149
+ </div>
116
150
  </>
117
151
  )}
118
152
  </div>
@@ -27,9 +27,11 @@
27
27
  }
28
28
  .order-details .total-row td {
29
29
  font-weight: 700;
30
+ color: white;
30
31
  }
31
32
  .order-details th {
32
33
  font-weight: 700;
34
+ color: white;
33
35
  }
34
36
  .order-details .tickets-box {
35
37
  margin-top: 30px;
@@ -38,16 +40,33 @@
38
40
  background-color: #fcf8e3;;
39
41
  }
40
42
  .order-details .download-button {
41
- border: none;
42
- border-radius: 4px;
43
- text-decoration: none;
44
- color: #fff;
45
- background-color: #32325d;
46
- font-size: 12px;
43
+ width: 100%;
47
44
  font-weight: 400;
48
- transition: all 150ms ease;
49
- padding: 8px 14px;
45
+ font-size: 16px;
46
+ line-height: normal;
47
+ min-height: auto;
48
+ padding: 12px 0;
49
+ border: 1px solid white;
50
+ margin-top: 20px;
51
+ margin-bottom: 20px;
52
+ background-color: #212529;
53
+ border-radius: 0;
54
+ color: #fff;
55
+ position: relative;
56
+ display: block;
57
+ cursor: pointer;
58
+ font-family: 'Bebas Neue';
59
+ text-transform: uppercase;
60
+ text-align: center;
61
+ overflow: hidden;
62
+ text-overflow: ellipsis;
63
+ outline: none;
64
+ text-decoration: none;
50
65
  }
51
66
  .order-details .download-button:hover {
52
67
  background-color: #505050;
68
+ }
69
+
70
+ .order-details .personal-link {
71
+ padding: 20px 0;
53
72
  }