web/satellite: update transactions table design
This change slightly modifies the token transactions table to match the figma and account for bonuses. Issue: https://github.com/storj/storj/issues/5755 Change-Id: I2bb27d5e331223a1e5e807ace09bbd6c3bc2c3b0
This commit is contained in:
parent
058dbd4cb7
commit
09c87a1a0d
@ -165,8 +165,8 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #body>
|
<template #body>
|
||||||
<token-transaction-item
|
<token-transaction-item
|
||||||
v-for="item in displayedHistory"
|
v-for="(item, index) in displayedHistory"
|
||||||
:key="item.id"
|
:key="index"
|
||||||
:item="item"
|
:item="item"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
@ -940,10 +940,15 @@ $align: center;
|
|||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 0.3rem;
|
gap: 0.3rem;
|
||||||
|
|
||||||
|
@media screen and (width <= 650px) {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
&__address {
|
&__address {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
width: 100%;
|
||||||
gap: 0.3rem;
|
gap: 0.3rem;
|
||||||
|
|
||||||
&__label {
|
&__label {
|
||||||
@ -953,6 +958,8 @@ $align: center;
|
|||||||
|
|
||||||
&__value {
|
&__value {
|
||||||
font-family: 'font_bold', sans-serif;
|
font-family: 'font_bold', sans-serif;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,38 +6,38 @@
|
|||||||
<th class="align-left data mobile">
|
<th class="align-left data mobile">
|
||||||
<div class="few-items">
|
<div class="few-items">
|
||||||
<p class="array-val">
|
<p class="array-val">
|
||||||
Deposit on {{ item.formattedType }}
|
STORJ {{ item.formattedType }}
|
||||||
</p>
|
</p>
|
||||||
<p class="array-val">
|
<p class="array-val">
|
||||||
<span v-if="item.type === 'storjscan'">{{ item.amount.value }}</span>
|
<span class="amount">+ {{ item.formattedAmount }}</span>
|
||||||
<span v-else>{{ item.received.value }}</span>
|
|
||||||
</p>
|
</p>
|
||||||
<p
|
<p
|
||||||
class="array-val" :class="{
|
class="array-val" :class="{
|
||||||
pending_txt: item.status === 'pending',
|
pending_txt: item.status === 'pending',
|
||||||
confirmed_txt: item.status === 'confirmed',
|
confirmed_txt: item.status === 'confirmed' || item.status === 'complete',
|
||||||
rejected_txt: item.status === 'rejected',
|
rejected_txt: item.status === 'rejected',
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
{{ item.formattedStatus }}
|
{{ item.formattedStatus }}
|
||||||
</p>
|
</p>
|
||||||
<p class="array-val">
|
<p class="array-val">
|
||||||
{{ item.timestamp.toLocaleDateString('en-US', {day:'numeric', month:'short', year:'numeric'}) }}
|
{{ item.timestamp.toLocaleDateString('en-US', {day:'numeric', month:'short', year:'numeric'}) }},
|
||||||
|
{{ item.timestamp.toLocaleTimeString('en-US', {hour:'numeric', minute:'numeric'}) }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th class="align-left data tablet-laptop">
|
<th class="align-left data tablet-laptop">
|
||||||
<p>{{ item.timestamp.toLocaleDateString('en-US', {day:'numeric', month:'short', year:'numeric'}) }}</p>
|
<p class="date">{{ item.timestamp.toLocaleDateString('en-US', {day:'2-digit', month:'2-digit', year:'numeric'}) }}</p>
|
||||||
|
<p class="time">{{ item.timestamp.toLocaleTimeString('en-US', {hour:'numeric', minute:'numeric'}) }}</p>
|
||||||
</th>
|
</th>
|
||||||
<th class="align-left data tablet-laptop">
|
<th class="align-left data tablet-laptop">
|
||||||
<p>Deposit on {{ item.formattedType }}</p>
|
<p>STORJ {{ item.formattedType }}</p>
|
||||||
<p class="laptop">{{ item.wallet }}</p>
|
<p class="laptop">{{ item.wallet }}</p>
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th class="align-right data tablet-laptop">
|
<th class="align-left data tablet-laptop">
|
||||||
<p v-if="item.type === 'storjscan'">{{ item.amount.value }}</p>
|
<p class="amount">+ {{ item.formattedAmount }}</p>
|
||||||
<p v-else>{{ item.received.value }}</p>
|
|
||||||
</th>
|
</th>
|
||||||
|
|
||||||
<th class="align-left data tablet-laptop">
|
<th class="align-left data tablet-laptop">
|
||||||
@ -45,7 +45,7 @@
|
|||||||
<span
|
<span
|
||||||
class="status__dot" :class="{
|
class="status__dot" :class="{
|
||||||
pending: item.status === 'pending',
|
pending: item.status === 'pending',
|
||||||
confirmed: item.status === 'confirmed',
|
confirmed: item.status === 'confirmed' || item.status === 'complete',
|
||||||
rejected: item.status === 'rejected'
|
rejected: item.status === 'rejected'
|
||||||
}"
|
}"
|
||||||
/>
|
/>
|
||||||
@ -57,13 +57,14 @@
|
|||||||
<a
|
<a
|
||||||
v-if="item.link" class="download-link" target="_blank"
|
v-if="item.link" class="download-link" target="_blank"
|
||||||
rel="noopener noreferrer" :href="item.link"
|
rel="noopener noreferrer" :href="item.link"
|
||||||
>View on {{ item.linkName }}</a>
|
>View</a>
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { NativePaymentHistoryItem } from '@/types/payments';
|
import { formatPrice } from '@/utils/strings';
|
||||||
|
import { NativePaymentHistoryItem, NativePaymentType } from '@/types/payments';
|
||||||
import { useResize } from '@/composables/resize';
|
import { useResize } from '@/composables/resize';
|
||||||
|
|
||||||
const props = withDefaults(defineProps<{
|
const props = withDefaults(defineProps<{
|
||||||
@ -82,6 +83,19 @@ function goToTxn() {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
.amount {
|
||||||
|
color: var(--c-green-5);
|
||||||
|
}
|
||||||
|
|
||||||
|
p,
|
||||||
|
span {
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.time {
|
||||||
|
color: var(--c-grey-5);
|
||||||
|
}
|
||||||
|
|
||||||
.pending {
|
.pending {
|
||||||
background: var(--c-yellow-4);
|
background: var(--c-yellow-4);
|
||||||
}
|
}
|
||||||
|
@ -611,14 +611,17 @@ export class NativePaymentHistoryItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public get formattedType(): string {
|
public get formattedType(): string {
|
||||||
return this.type.charAt(0).toUpperCase() + this.type.substring(1);
|
if (this.type.includes('bonus')) {
|
||||||
|
return 'Bonus';
|
||||||
|
}
|
||||||
|
return 'Deposit';
|
||||||
}
|
}
|
||||||
|
|
||||||
public get linkName(): string {
|
public get formattedAmount(): string {
|
||||||
if (this.type === 'storjscan') {
|
if (this.type === 'coinpayments') {
|
||||||
return 'Etherscan';
|
return this.received.formattedValue;
|
||||||
}
|
}
|
||||||
return this.formattedType;
|
return this.amount.formattedValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -631,6 +634,10 @@ export class TokenAmount {
|
|||||||
public get value(): number {
|
public get value(): number {
|
||||||
return Number.parseFloat(this._value);
|
return Number.parseFloat(this._value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public get formattedValue(): string {
|
||||||
|
return formatPrice(this._value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user