2024-04-13 08:05:45 +00:00
< div class = "mobile-wrapper" >
< div class = "mobile-container" >
< div class = "panel" >
2024-04-13 12:26:30 +00:00
< div class = "field nav-header" >
< app-svg-images name = "officialMempoolSpace" style = "width: 144px; height: 36px" width = "500" height = "126" viewBox = "0 0 500 126" > < / app-svg-images >
2024-04-13 14:18:01 +00:00
< div [ ngSwitch ] = " network " class = "network-label" >
< span * ngSwitchCase = "'signet'" class = "network signet" > < span class = "name" > Bitcoin Signet< / span > < app-svg-images name = "signet" width = "35" height = "35" viewBox = "0 0 65 65" style = "display: inline-block" class = "mainnet ml-2" > < / app-svg-images > < / span >
< span * ngSwitchCase = "'testnet'" class = "network testnet" > < span class = "name" > Bitcoin Testnet< / span > < app-svg-images name = "testnet" width = "35" height = "35" viewBox = "0 0 65 65" style = "display: inline-block" class = "mainnet ml-2" > < / app-svg-images > < / span >
< span * ngSwitchCase = "'liquid'" class = "network liquid" > < span class = "name" > Liquid< / span > < app-svg-images name = "liquid" width = "35" height = "35" viewBox = "0 0 125 125" style = "display: inline-block" class = "mainnet ml-2" > < / app-svg-images > < / span >
< span * ngSwitchCase = "'liquidtestnet'" class = "network liquidtestnet" > < span class = "name" > Liquid Testnet< / span > < app-svg-images name = "liquidtestnet" width = "35" height = "35" viewBox = "0 0 125 125" style = "display: inline-block" class = "mainnet ml-2" > < / app-svg-images > < / span >
< span * ngSwitchDefault class = "network mainnet" > < span class = "name" > Bitcoin< / span > < app-svg-images name = "bitcoin" width = "35" height = "35" viewBox = "0 0 65 65" style = "display: inline-block" class = "mainnet ml-2" > < / app-svg-images > < / span >
< / div >
2024-04-13 12:26:30 +00:00
< / div >
2024-04-13 08:05:45 +00:00
< div class = "field" >
< div class = "label" i18n = "shared.transaction" > Transaction< / div >
< div class = "value" >
< app-truncate [ text ] = " txId " [ lastChars ] = " 12 " [ link ] = " [ ' / tx / ' | relativeUrl , txId ] " >
< app-clipboard [ text ] = " txId " > < / app-clipboard >
< / app-truncate >
< / div >
< / div >
< / div >
< div class = "blockchain-wrapper" [ style ] = " { height: blockchainHeight * 1 . 16 + ' px ' } " >
< app-clockchain [ height ] = " blockchainHeight " [ width ] = " blockchainWidth " mode = "none" > < / app-clockchain >
< / div >
< div class = "panel" >
< div class = "tracker-bar" >
< app-tracker-bar [ stage ] = " trackerStage " > < / app-tracker-bar >
< / div >
2024-04-13 13:56:29 +00:00
< div class = "data" >
2024-04-13 12:26:30 +00:00
@if (tx & & !tx.status?.confirmed & & mempoolPosition?.block != null) {
2024-04-13 13:14:26 +00:00
< div class = "field" >
< div class = "label" i18n = "transaction.first-seen|Transaction first seen" > First seen< / div >
< div class = "value" >
2024-04-14 03:49:26 +00:00
@if (transactionTime > 0) {
2024-04-13 13:14:26 +00:00
< i > < app-time kind = "since" [ time ] = " transactionTime " [ fastRender ] = " true " > < / app-time > < / i >
} @else {
2024-04-14 03:49:26 +00:00
< span class = "skeleton-loader" style = "max-width: 50%;" > < / span >
2024-04-13 13:14:26 +00:00
}
< / div >
< / div >
2024-04-13 08:05:45 +00:00
< div class = "field" >
< div class = "label" i18n = "transaction.eta|Transaction ETA" > ETA< / div >
< div class = "value" >
< span class = "justify-content-end d-flex align-items-center" >
@if (mempoolPosition?.block >= 7) {
< span i18n = "transaction.eta.in-several-hours|Transaction ETA in several hours or more" > In several hours (or more)< / span >
} @else {
< app-time kind = "until" * ngIf = "(da$ | async) as da;" [ time ] = " da . adjustedTimeAvg * ( mempoolPosition . block + 1 ) + now + da . timeOffset " [ fastRender ] = " false " [ fixedRender ] = " true " > < / app-time >
}
@if (isMobile & & paymentType === 'cashapp' & & accelerationEligible & & !tx.acceleration & & acceleratorAvailable & & accelerateCtaType === 'button' & & !tx?.acceleration) {
2024-04-13 23:07:19 +09:00
< a class = "btn btn-sm accelerate btn-small-height" i18n = "transaction.accelerate|Accelerate button label" ( click ) = " onAccelerateClicked ( ) " > Accelerate< / a >
2024-04-13 08:05:45 +00:00
}
< / span >
< / div >
< / div >
} @else if (tx & & tx.status?.confirmed) {
2024-04-13 13:14:26 +00:00
< div class = "field" >
< div class = "label" i18n = "transaction.confirmed-at" > Confirmed at< / div >
< div class = "value" >
‎ {{ tx.status.block_time * 1000 | date:'yyyy-MM-dd HH:mm' }}
< div class = "lg-inline" >
< i class = "symbol" > (< app-time kind = "since" [ time ] = " tx . status . block_time " [ fastRender ] = " true " > < / app-time > )< / i >
< / div >
< / div >
< / div >
2024-04-13 08:05:45 +00:00
< div class = "field" >
< div class = "label" i18n = "transaction.block-height" > Block height< / div >
< div class = "value" >
< span class = "justify-content-end d-flex align-items-center" >
< a [ routerLink ] = " [ ' / block / ' | relativeUrl , tx . status ? . block_height ] " class = "block-link" > {{ tx.status?.block_height }}< / a >
< div class = "confirmations" >
< app-confirmations
*ngIf="tx"
[chainTip]="latestBlock?.height"
[height]="tx?.status?.block_height"
>< / app-confirmations >
< / div >
< / span >
< / div >
< / div >
}
< / div >
< / div >
2024-04-13 09:05:50 +00:00
< div class = "bottom-panel" >
@if (showAccelerationSummary) {
2024-04-13 21:13:11 +09:00
< app-accelerate-checkout * ngIf = "(da$ | async) as da;" [ txid ] = " tx . txid " [ eta ] = " mempoolPosition ? . block > = 7 ? null : da.adjustedTimeAvg * (mempoolPosition.block + 1) + now + da.timeOffset" (close)="showAccelerationSummary = false">< / app-accelerate-checkout >
2024-04-13 09:05:50 +00:00
} @else {
2024-04-13 13:56:29 +00:00
@if (tx?.acceleration & & !tx.status?.confirmed) {
< div class = "progress-icon" >
2024-04-13 13:14:26 +00:00
< fa-icon [ icon ] = " [ ' fas ' , ' wand-magic-sparkles ' ] " [ fixedWidth ] = " true " > < / fa-icon >
2024-04-13 13:56:29 +00:00
< / div >
< span class = "explainer" i18n = "tracker.explain.accelerated" > Your transaction has been accelerated< / span >
} @else {
@switch (trackerStage) {
@case ('waiting') {
< div class = "progress-icon" >
2024-04-13 13:14:26 +00:00
< div class = "spinner-border text-light" style = "width: 1em; height: 1em" > < / div >
2024-04-13 13:56:29 +00:00
< / div >
< span class = "explainer" i18n = "tracker.explain.waiting" > Waiting for your transaction to appear in the mempool< / span >
}
@case ('pending') {
< div class = "progress-icon" >
2024-04-13 13:14:26 +00:00
< fa-icon [ icon ] = " [ ' fas ' , ' hourglass-start ' ] " [ fixedWidth ] = " true " > < / fa-icon >
2024-04-13 13:56:29 +00:00
< / div >
< span class = "explainer" i18n = "tracker.explain.pending" > Your transaction is in the mempool, but it will not be confirmed for some time.< / span >
}
@case ('soon') {
< div class = "progress-icon" >
2024-04-13 13:14:26 +00:00
< fa-icon [ icon ] = " [ ' fas ' , ' hourglass-half ' ] " [ fixedWidth ] = " true " > < / fa-icon >
2024-04-13 13:56:29 +00:00
< / div >
< span class = "explainer" i18n = "tracker.explain.soon" > Your transaction is near the top of the mempool, and is expected to confirm soon.< / span >
}
@case ('next') {
< div class = "progress-icon" >
2024-04-13 13:14:26 +00:00
< fa-icon [ icon ] = " [ ' fas ' , ' hourglass-end ' ] " [ fixedWidth ] = " true " > < / fa-icon >
2024-04-13 13:56:29 +00:00
< / div >
< span class = "explainer" i18n = "tracker.explain.next-block" > Your transaction is expected to confirm in the next block< / span >
}
@case ('confirmed') {
< div class = "progress-icon" >
2024-04-13 13:14:26 +00:00
< fa-icon [ icon ] = " [ ' fas ' , ' circle-check ' ] " [ fixedWidth ] = " true " > < / fa-icon >
2024-04-13 13:56:29 +00:00
< / div >
< span class = "explainer" i18n = "tracker.explain.confirmed" > Your transaction is confirmed!< / span >
2024-04-13 09:05:50 +00:00
}
}
2024-04-13 13:56:29 +00:00
}
2024-04-13 09:05:50 +00:00
}
< / div >
< div class = "footer-link" [ routerLink ] = " [ ' / tx ' | relativeUrl , tx ? . txid ] " >
< span > See more details < fa-icon [ icon ] = " [ ' fas ' , ' arrow-alt-circle-right ' ] " > < / fa-icon > < / span >
< / div >
2024-04-13 08:05:45 +00:00
< / div >
2024-04-08 04:27:49 +00:00
< / div >