Skip to content
Open
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions public/locales/ca-CA/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,8 @@
"transaction_type_name_SetHook": "Establir Hook",
"transaction_type_name_SetRegularKey": "Establir Clau Regular",
"transaction_type_name_SignerListSet": "Etablir Llista de Signantst",
"transaction_type_name_SponsorshipSet": null,
"transaction_type_name_SponsorshipTransfer": null,
"transaction_type_name_TicketCreate": "Crear tiquet",
"transaction_type_name_TrustSet": "Establir Confiança",
"transaction_type_name_VaultCreate": null,
Expand Down
35 changes: 34 additions & 1 deletion public/locales/en-US/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@
"transaction_type_name_SetHook": "Set Hook",
"transaction_type_name_SetRegularKey": "Set Regular Key",
"transaction_type_name_SignerListSet": "Signer List Set",
"transaction_type_name_SponsorshipSet": "Sponsorship Set",
"transaction_type_name_SponsorshipTransfer": "Sponsorship Transfer",
"transaction_type_name_TicketCreate": "Ticket Create",
"transaction_type_name_TrustSet": "Trust Set",
"transaction_type_name_VaultCreate": "Vault Create",
Expand Down Expand Up @@ -730,6 +732,12 @@
"account_page_payment_channels": "Payment Channels",
Comment thread
kuan121 marked this conversation as resolved.
"account_page_payment_channels_text": "{{currency}} available in {{number}} channel(s)",
"account_page_nft_minter": "NFT Minter",
"account_page_sponsored_fees_reserves_title": "Sponsored Fees & Reserves",
"account_page_sponsored_scope": "Scope",
"account_page_sponsored_by": "Sponsored by",
"account_page_sponsored_scope_transaction_fees": "Transaction Fees",
"account_page_sponsored_scope_base_reserve": "Base Reserve",
"account_page_sponsored_none": "No Sponsors",
"account_page_asset_held_title": "Assets Held",
"account_page_asset_issued_title": "Assets Issued",
"account_page_asset_tab_iou": "IOUs ({{count}})",
Expand Down Expand Up @@ -946,5 +954,30 @@
"registered": "Registered",
"included": "Included",
"maintenance_banner.notice": "Scheduled maintenance: {{window}} (~{{duration}} min downtime).",
"maintenance_banner.countdown_prefix": "Starts in"
"maintenance_banner.countdown_prefix": "Starts in",
"sponsor": "Sponsor",
"sponsee": "Sponsee",
"new_sponsor": "New Sponsor",
"fee_amount_delta": "Fee Amount Change",
"max_fee": "Max Fee",
"reserve_count_delta": "Reserve Count Change",
"require_sign_for_fee": "Require Sign For Fee",
"require_sign_for_reserve": "Require Sign For Reserve",
"sponsorship_deleted": "Sponsorship Deleted",
"operation": "Operation",
"object_id": "Object ID",
"sponsorship_operation_create": "Create",
"sponsorship_operation_reassign": "Reassign",
"sponsorship_operation_end": "End",
"sponsorship_set_description_fee": "<Sponsor/> sponsors transaction fees for <Sponsee/>",
"sponsorship_set_description_reserve": "<Sponsor/> sponsors reserves for <Sponsee/>",
"sponsorship_set_description_fee_reserve": "<Sponsor/> sponsors transaction fees and reserves for <Sponsee/>",
"sponsorship_set_description_generic": "<Sponsor/> updates its sponsorship terms for <Sponsee/>",
"sponsorship_set_delete": "<Sponsor/> ends the fee sponsorship for <Sponsee/>",
"sponsorship_transfer_create": "<Account/> assigns <Sponsor/> as its reserve sponsor",
"sponsorship_transfer_reassign": "<Account/> reassigns reserve sponsorship to <Sponsor/>",
"sponsorship_transfer_end_other": "<Account/> ends reserve sponsorship for <Sponsee/>",
"sponsorship_transfer_end_self": "<Account/> ends its reserve sponsorship",
"sponsor_detail": "<Account/> is sponsoring this transaction",
"sponsor_co_signed": "The sponsor co-signed this transaction"
}
2 changes: 2 additions & 0 deletions public/locales/es-ES/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@
"transaction_type_name_SetHook": "Añadir Hook",
"transaction_type_name_SetRegularKey": "Configurar Clave Normal",
"transaction_type_name_SignerListSet": "Configurar Lista de Firmantes",
"transaction_type_name_SponsorshipSet": null,
"transaction_type_name_SponsorshipTransfer": null,
"transaction_type_name_TicketCreate": "Creación de Ticket",
"transaction_type_name_TrustSet": "Configurar Confianza",
"transaction_type_name_VaultCreate": null,
Expand Down
2 changes: 2 additions & 0 deletions public/locales/fr-FR/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@
"transaction_type_name_SetHook": "Crochet enregistré",
"transaction_type_name_SetRegularKey": "Clé régulière définie",
"transaction_type_name_SignerListSet": "Liste de signataires établie",
"transaction_type_name_SponsorshipSet": null,
"transaction_type_name_SponsorshipTransfer": null,
"transaction_type_name_TicketCreate": "Ticket créé",
"transaction_type_name_TrustSet": "Ligne de confiance créée",
"transaction_type_name_VaultCreate": null,
Expand Down
2 changes: 2 additions & 0 deletions public/locales/ja-JP/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@
"transaction_type_name_SetHook": "Hookの設定",
"transaction_type_name_SetRegularKey": "レギュラーキーの設定",
"transaction_type_name_SignerListSet": "署名者リスト設定",
"transaction_type_name_SponsorshipSet": null,
"transaction_type_name_SponsorshipTransfer": null,
"transaction_type_name_TicketCreate": "チケットの作成",
"transaction_type_name_TrustSet": "トラスト設定",
"transaction_type_name_VaultCreate": null,
Expand Down
2 changes: 2 additions & 0 deletions public/locales/ko-KR/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@
"transaction_type_name_SetHook": "Hook 설정",
"transaction_type_name_SetRegularKey": "일반 키 설정",
"transaction_type_name_SignerListSet": "서명자 목록 설정",
"transaction_type_name_SponsorshipSet": null,
"transaction_type_name_SponsorshipTransfer": null,
"transaction_type_name_TicketCreate": "티켓 생성",
"transaction_type_name_TrustSet": "신뢰 설정",
"transaction_type_name_VaultCreate": null,
Expand Down
2 changes: 2 additions & 0 deletions public/locales/my-MM/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@
"transaction_type_name_SetHook": "Hook သတ်မှတ်ရန်",
"transaction_type_name_SetRegularKey": "ပုံမှန်သော့ သတ်မှတ်ရန်",
"transaction_type_name_SignerListSet": "လက်မှတ်ထိုးသူစာရင်း သတ်မှတ်ရန်",
"transaction_type_name_SponsorshipSet": null,
"transaction_type_name_SponsorshipTransfer": null,
"transaction_type_name_TicketCreate": "လက်မှတ် ဖန်တီးရန်",
"transaction_type_name_TrustSet": "ယုံကြည်မှု သတ်မှတ်ရန်",
"transaction_type_name_VaultCreate": null,
Expand Down
71 changes: 71 additions & 0 deletions src/containers/Accounts/SponsoredFeesReserves/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
import { useTranslation } from 'react-i18next'
import { Account } from '../../shared/components/Account'
import { CollapsibleSection } from '../../shared/components/CollapsibleSection'
import { EmptyMessageTableRow } from '../../shared/EmptyMessageTableRow'
import type { AccountState } from '../../../rippled/accountState'
import './styles.scss'

interface Props {
account: AccountState
}

type ScopeKey =
| 'account_page_sponsored_scope_transaction_fees'
| 'account_page_sponsored_scope_base_reserve'

export const SponsoredFeesReserves = ({ account }: Props) => {
const { t } = useTranslation()

const rows: { scopeKey: ScopeKey; sponsor: string }[] = [
...(account.sponsorship ?? [])
.filter(({ feeAmount }) => Number(feeAmount) > 0)
.map(({ owner }) => ({
scopeKey: 'account_page_sponsored_scope_transaction_fees' as ScopeKey,
sponsor: owner,
})),
...(account.info?.sponsor
? [
{
scopeKey: 'account_page_sponsored_scope_base_reserve' as ScopeKey,
sponsor: account.info.sponsor,
},
]
: []),
]

return (
<CollapsibleSection
title={t('account_page_sponsored_fees_reserves_title')}
ariaLabel="Toggle sponsored fees & reserves section"
className="sponsored-fees-reserves-section"
defaultOpen={false}
>
<div className="sponsored-fees-reserves-table-wrapper">
<table className="sponsored-fees-reserves-table">
<thead>
<tr>
<th>{t('account_page_sponsored_scope')}</th>
Comment thread
kuan121 marked this conversation as resolved.
<th>{t('account_page_sponsored_by')}</th>
</tr>
</thead>
<tbody>
{rows.length === 0 ? (
<EmptyMessageTableRow colSpan={2}>
{t('account_page_sponsored_none')}
</EmptyMessageTableRow>
) : (
rows.map(({ scopeKey, sponsor }) => (
<tr key={`${scopeKey}-${sponsor}`}>
<td>{t(scopeKey)}</td>
<td>
<Account account={sponsor} />
</td>
</tr>
))
)}
</tbody>
</table>
</div>
</CollapsibleSection>
)
}
43 changes: 43 additions & 0 deletions src/containers/Accounts/SponsoredFeesReserves/styles.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
@use '../../shared/css/variables' as *;

.sponsored-fees-reserves-section {
padding: 24px 0;
}

.sponsored-fees-reserves-table-wrapper {
-webkit-overflow-scrolling: touch;
overflow-x: auto;
}

.sponsored-fees-reserves-table {
width: 100%;
border-collapse: collapse;

thead th {
@include semibold;

padding: 10px 12px;
color: $black-50;
font-size: 12px;
text-align: left;
text-transform: uppercase;
}

tbody td {
padding: 10px 12px;
border-bottom: 1px solid $black-80;
color: $white;
font-size: 14px;

&.empty-message {
padding: 16px;
color: $black-40;
font-size: 16px;
text-align: center;
}
}

tbody tr:first-child td {
border-top: 1px solid $black-80;
}
}
Loading
Loading