Merge branch 'master' into hunicus/bid-boost-link
This commit is contained in:
		
						commit
						fef9b93a05
					
				| @ -150,6 +150,14 @@ | ||||
|       bottom: 56px; | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   @media (max-width: 400px) { | ||||
|     width: calc(100% + 1.5rem); | ||||
|     margin: 0 -0.75rem; | ||||
|     &.sticky-top, &.sticky-bottom { | ||||
|       width: calc(100vw - 30px); | ||||
|     } | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| .cashapp-placeholder { | ||||
|  | ||||
| @ -59,6 +59,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges | ||||
|   defaultBid = 0; | ||||
|   maxCost = 0; | ||||
|   userBid = 0; | ||||
|   accelerationUUID: string; | ||||
|   selectFeeRateIndex = 1; | ||||
|   isMobile: boolean = window.innerWidth <= 767.98; | ||||
|   user: any = undefined; | ||||
| @ -102,6 +103,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges | ||||
|   } | ||||
| 
 | ||||
|   ngOnInit() { | ||||
|     this.accelerationUUID = window.crypto.randomUUID(); | ||||
|     if (this.stateService.ref === 'https://cash.app/') { | ||||
|       this.paymentType = 'cashapp'; | ||||
|     } else { | ||||
| @ -245,7 +247,8 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges | ||||
|     } | ||||
|     this.accelerationSubscription = this.servicesApiService.accelerate$( | ||||
|       this.tx.txid, | ||||
|       this.userBid | ||||
|       this.userBid, | ||||
|       this.accelerationUUID | ||||
|     ).subscribe({ | ||||
|       next: () => { | ||||
|         this.audioService.playSound('ascend-chime-cartoon'); | ||||
| @ -315,6 +318,10 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges | ||||
|      | ||||
|     this.conversionsSubscription = this.stateService.conversions$.subscribe( | ||||
|       async (conversions) => { | ||||
|         if (this.cashAppPay) { | ||||
|           this.cashAppPay.destroy(); | ||||
|         } | ||||
| 
 | ||||
|         const maxCostUsd = this.maxCost / 100_000_000 * conversions.USD; | ||||
|         const paymentRequest = this.payments.paymentRequest({ | ||||
|           countryCode: 'US', | ||||
| @ -348,7 +355,8 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges | ||||
|               that.userBid, | ||||
|               tokenResult.token, | ||||
|               tokenResult.details.cashAppPay.cashtag, | ||||
|               tokenResult.details.cashAppPay.referenceId | ||||
|               tokenResult.details.cashAppPay.referenceId, | ||||
|               that.accelerationUUID | ||||
|             ).subscribe({ | ||||
|               next: () => { | ||||
|                 that.audioService.playSound('ascend-chime-cartoon'); | ||||
| @ -398,7 +406,7 @@ export class AcceleratePreviewComponent implements OnInit, OnDestroy, OnChanges | ||||
| 
 | ||||
|   @HostListener('window:scroll', ['$event']) // for window scroll events
 | ||||
|   onScroll() { | ||||
|     if (this.estimate && this.user && !this.cashappCTA?.nativeElement) { | ||||
|     if (this.estimate && !this.cashappCTA?.nativeElement) { | ||||
|       setTimeout(() => { | ||||
|         this.onScroll(); | ||||
|       }, 200); | ||||
|  | ||||
| @ -458,13 +458,18 @@ | ||||
| </ng-template> | ||||
| 
 | ||||
| <ng-template #firstSeenRow> | ||||
|   @if (!isLoadingTx && transactionTime !== -1) { | ||||
|   @if (isLoadingTx) { | ||||
|     <ng-container *ngTemplateOutlet="skeletonDetailsRow"></ng-container> | ||||
|   } @else if (transactionTime === -1) { | ||||
|     <tr> | ||||
|       <td i18n="transaction.first-seen|Transaction first seen">First seen</td> | ||||
|       <td><span class="skeleton-loader"></span></td> | ||||
|     </tr> | ||||
|   } @else { | ||||
|     <tr> | ||||
|       <td i18n="transaction.first-seen|Transaction first seen">First seen</td> | ||||
|       <td><i><app-time kind="since" [time]="transactionTime" [fastRender]="true"></app-time></i></td> | ||||
|     </tr> | ||||
|   } @else { | ||||
|     <ng-container *ngTemplateOutlet="skeletonDetailsRow"></ng-container> | ||||
|   } | ||||
| </ng-template> | ||||
| 
 | ||||
| @ -615,7 +620,7 @@ | ||||
|         } | ||||
|         <td> | ||||
|           <div class="effective-fee-container"> | ||||
|             @if (accelerationInfo && (accelerationInfo.acceleratedFeeRate >= tx.effectiveFeePerVsize)) { | ||||
|             @if (accelerationInfo?.acceleratedFeeRate && (!tx.effectiveFeePerVsize || accelerationInfo.acceleratedFeeRate >= tx.effectiveFeePerVsize)) { | ||||
|               <app-fee-rate [fee]="accelerationInfo.acceleratedFeeRate"></app-fee-rate> | ||||
|             } @else { | ||||
|               <app-fee-rate [fee]="tx.effectiveFeePerVsize"></app-fee-rate> | ||||
|  | ||||
| @ -676,7 +676,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { | ||||
|         relatives.reduce((prev, val) => prev + val.fee, 0); | ||||
|       this.tx.effectiveFeePerVsize = totalFees / (totalWeight / 4); | ||||
|     } else { | ||||
|       this.tx.effectiveFeePerVsize = cpfpInfo.effectiveFeePerVsize; | ||||
|       this.tx.effectiveFeePerVsize = cpfpInfo.effectiveFeePerVsize || this.tx.effectiveFeePerVsize || this.tx.feePerVsize || (this.tx.fee / (this.tx.weight / 4)); | ||||
|     } | ||||
|     if (cpfpInfo.acceleration) { | ||||
|       this.tx.acceleration = cpfpInfo.acceleration; | ||||
|  | ||||
| @ -128,12 +128,12 @@ export class ServicesApiServices { | ||||
|     return this.httpClient.post<any>(`${SERVICES_API_PREFIX}/accelerator/estimate`, { txInput: txInput }, { observe: 'response' }); | ||||
|   } | ||||
| 
 | ||||
|   accelerate$(txInput: string, userBid: number) { | ||||
|     return this.httpClient.post<any>(`${SERVICES_API_PREFIX}/accelerator/accelerate`, { txInput: txInput, userBid: userBid }); | ||||
|   accelerate$(txInput: string, userBid: number, accelerationUUID: string) { | ||||
|     return this.httpClient.post<any>(`${SERVICES_API_PREFIX}/accelerator/accelerate`, { txInput: txInput, userBid: userBid, accelerationUUID: accelerationUUID }); | ||||
|   } | ||||
| 
 | ||||
|   accelerateWithCashApp$(txInput: string, userBid: number, token: string, cashtag: string, referenceId: string) { | ||||
|     return this.httpClient.post<any>(`${SERVICES_API_PREFIX}/accelerator/accelerate/cashapp`, { txInput: txInput, userBid: userBid, token: token, cashtag: cashtag, referenceId: referenceId }); | ||||
|   accelerateWithCashApp$(txInput: string, userBid: number, token: string, cashtag: string, referenceId: string, accelerationUUID: string) { | ||||
|     return this.httpClient.post<any>(`${SERVICES_API_PREFIX}/accelerator/accelerate/cashapp`, { txInput: txInput, userBid: userBid, token: token, cashtag: cashtag, referenceId: referenceId, accelerationUUID: accelerationUUID }); | ||||
|   } | ||||
| 
 | ||||
|   getAccelerations$(): Observable<Acceleration[]> { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user