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.
- package/dist/api/index.d.ts +1 -1
- package/dist/components/billing-info-container/index.d.ts +2 -1
- package/dist/components/myTicketsContainer/index.d.ts +2 -1
- package/dist/components/orderDetailsContainer/index.d.ts +1 -1
- package/dist/components/paymentContainer/index.d.ts +2 -1
- package/dist/env.d.ts +2 -2
- package/dist/tf-checkout-react.cjs.development.js +97 -63
- 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 +98 -64
- package/dist/tf-checkout-react.esm.js.map +1 -1
- package/dist/tf-checkout-styles.css +1 -1
- package/package.json +2 -3
- package/src/api/index.ts +6 -0
- package/src/components/billing-info-container/index.tsx +24 -3
- package/src/components/common/CustomField.tsx +10 -25
- package/src/components/common/SelectField.tsx +0 -13
- package/src/components/myTicketsContainer/index.tsx +22 -10
- package/src/components/orderDetailsContainer/index.tsx +63 -29
- package/src/components/orderDetailsContainer/style.css +27 -8
- package/src/components/paymentContainer/index.tsx +58 -45
- package/src/components/ticketsContainer/TicketRow.tsx +3 -0
- package/src/env.ts +2 -2
|
@@ -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.
|
|
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.
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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 = (
|
|
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 = (
|
|
73
|
-
|
|
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=
|
|
85
|
+
return (
|
|
86
|
+
<div className={`my-ticket ${theme}`}>
|
|
79
87
|
{loading && (
|
|
80
|
-
<div className=
|
|
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={
|
|
101
|
+
renderInput={params => <TextField {...params} label="Events" />}
|
|
94
102
|
/>
|
|
95
|
-
<TableContainer component={Paper} className=
|
|
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
|
|
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>(
|
|
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
|
-
|
|
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=
|
|
71
|
+
<div className="loading">
|
|
67
72
|
<CircularProgress />
|
|
68
73
|
</div>
|
|
69
74
|
) : (
|
|
70
75
|
<>
|
|
71
|
-
<h1 className=
|
|
72
|
-
<div className=
|
|
73
|
-
<h4 className=
|
|
74
|
-
<div>
|
|
75
|
-
<b>Your personal share link for this event is:
|
|
76
|
-
<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(
|
|
90
|
-
|
|
91
|
-
<
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
-
|
|
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
|
-
|
|
49
|
-
|
|
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
|
}
|