Order view

This commit is contained in:
koalasat
2025-05-11 14:11:15 +02:00
parent 58763df9db
commit ebfac49875
22 changed files with 282 additions and 284 deletions

View File

@ -259,301 +259,296 @@ const OrderDetails = ({
setOpenWorldmap(false); setOpenWorldmap(false);
}} }}
/> />
<Grid item xs={12}> <List dense={true} style={{ width: '100%' }}>
<List dense={true}> <ListItemButton
<ListItemButton onClick={() => {
onClick={() => { onClickCoordinator();
onClickCoordinator(); }}
}} >
> <Grid container direction='row' justifyContent='center' alignItems='center'>
<Grid container direction='row' justifyContent='center' alignItems='center'> <Grid item sx={{ width: '64px' }}>
<Grid item xs={2}>
<RobotAvatar
shortAlias={coordinator.federated ? coordinator.shortAlias : undefined}
hashId={coordinator.federated ? undefined : coordinator.mainnet.onion}
small={true}
smooth={true}
/>
</Grid>
<Grid item xs={4}>
<ListItemText primary={coordinator.longAlias} secondary={t('Order host')} />
</Grid>
</Grid>
</ListItemButton>
{coordinator?.info && !coordinator?.info?.swap_enabled && (
<ListItem>
<Grid sx={{ marginBottom: 1 }}>
<Alert severity='warning' sx={{ marginTop: 2 }}>
{t('This coordinator does not support on-chain swaps.')}
</Alert>
</Grid>
</ListItem>
)}
<Divider />
<ListItem>
<ListItemAvatar sx={{ width: '4em', height: '4em' }}>
<RobotAvatar <RobotAvatar
statusColor={statusBadgeColor(currentOrder?.maker_status ?? '')} shortAlias={coordinator.federated ? coordinator.shortAlias : undefined}
hashId={currentOrder?.maker_hash_id} hashId={coordinator.federated ? undefined : coordinator.mainnet.onion}
tooltip={t(currentOrder?.maker_status ?? '')} small={true}
orderType={currentOrder?.type} smooth={true}
style={{
height: '45px',
width: '45px',
}}
/>
</Grid>
<Grid item>
<ListItemText primary={coordinator.longAlias} secondary={t('Order host')} />
</Grid>
</Grid>
</ListItemButton>
{coordinator?.info && !coordinator?.info?.swap_enabled && (
<ListItem>
<Grid sx={{ marginBottom: 1 }}>
<Alert severity='warning'>
{t('This coordinator does not support on-chain swaps.')}
</Alert>
</Grid>
</ListItem>
)}
<Divider />
<ListItem>
<ListItemAvatar sx={{ width: '4em', height: '4em' }}>
<RobotAvatar
statusColor={statusBadgeColor(currentOrder?.maker_status ?? '')}
hashId={currentOrder?.maker_hash_id}
tooltip={t(currentOrder?.maker_status ?? '')}
orderType={currentOrder?.type}
small={true}
/>
</ListItemAvatar>
<ListItemText
primary={`${String(currentOrder?.maker_nick)} (${
currentOrder?.type === 1
? t(currentOrder?.currency === 1000 ? 'Swapping Out' : 'Seller')
: t(currentOrder?.currency === 1000 ? 'Swapping In' : 'Buyer')
})`}
secondary={t('Order maker')}
/>
</ListItem>
<Collapse in={currentOrder?.is_participant && currentOrder?.taker_nick !== 'None'}>
<Divider />
<ListItem>
<ListItemText
primary={`${String(currentOrder?.taker_nick)} (${
currentOrder?.type === 1
? t(currentOrder?.currency === 1000 ? 'Swapping In' : 'Buyer')
: t(currentOrder?.currency === 1000 ? 'Swapping Out' : 'Seller')
})`}
secondary={t('Order taker')}
/>
<ListItemAvatar>
<RobotAvatar
avatarClass='smallAvatar'
statusColor={statusBadgeColor(currentOrder?.taker_status ?? '')}
hashId={
currentOrder?.taker_hash_id === 'None' ? undefined : currentOrder?.taker_hash_id
}
tooltip={t(currentOrder?.taker_status ?? '')}
orderType={currentOrder?.type === 0 ? 1 : 0}
small={true} small={true}
/> />
</ListItemAvatar> </ListItemAvatar>
</ListItem>
</Collapse>
<Divider>
<Chip label={t('Order Details')} />
</Divider>
<Collapse in={currentOrder?.is_participant}>
<ListItem>
<ListItemIcon>
<Article />
</ListItemIcon>
<ListItemText <ListItemText
primary={`${String(currentOrder?.maker_nick)} (${ primary={t(currentOrder?.status_message ?? '')}
currentOrder?.type === 1 secondary={t('Order status')}
? t(currentOrder?.currency === 1000 ? 'Swapping Out' : 'Seller')
: t(currentOrder?.currency === 1000 ? 'Swapping In' : 'Buyer')
})`}
secondary={t('Order maker')}
/> />
</ListItem> </ListItem>
<Divider />
</Collapse>
<Collapse in={currentOrder?.is_participant && currentOrder?.taker_nick !== 'None'}> <ListItem>
<Divider /> <ListItemIcon>
<div
style={{
zoom: 1.25,
opacity: 0.7,
msZoom: 1.25,
WebkitZoom: 1.25,
MozTransform: 'scale(1.25,1.25)',
MozTransformOrigin: 'left center',
}}
>
<FlagWithProps code={currencyCode} width='1.2em' height='1.2em' />
</div>
</ListItemIcon>
<ListItemText
primary={amountString}
secondary={(currentOrder?.amount ?? 0) > 0 ? 'Amount' : 'Amount Range'}
/>
<ListItemIcon>
<IconButton
onClick={() => {
setShowSatsDetails(!showSatsDetails);
}}
>
{showSatsDetails ? <ExpandLess /> : <ExpandMore color='primary' />}
</IconButton>
</ListItemIcon>
</ListItem>
<Collapse in={showSatsDetails}>
<List dense={true} sx={{ position: 'relative', bottom: '0.5em' }}>
<ListItem> <ListItem>
<ListItemText <ListItemIcon sx={{ position: 'relative', left: '0.3em' }}>
primary={`${String(currentOrder?.taker_nick)} (${ <SendReceiveIcon
currentOrder?.type === 1 sx={{ transform: 'scaleX(-1)', width: '0.9em', opacity: 0.9 }}
? t(currentOrder?.currency === 1000 ? 'Swapping In' : 'Buyer') color='secondary'
: t(currentOrder?.currency === 1000 ? 'Swapping Out' : 'Seller')
})`}
secondary={t('Order taker')}
/>
<ListItemAvatar>
<RobotAvatar
avatarClass='smallAvatar'
statusColor={statusBadgeColor(currentOrder?.taker_status ?? '')}
hashId={
currentOrder?.taker_hash_id === 'None' ? undefined : currentOrder?.taker_hash_id
}
tooltip={t(currentOrder?.taker_status ?? '')}
orderType={currentOrder?.type === 0 ? 1 : 0}
small={true}
/> />
</ListItemAvatar> </ListItemIcon>
<Typography variant='body2'>{satsSummary.send}</Typography>
</ListItem> </ListItem>
</Collapse>
<Divider>
<Chip label={t('Order Details')} />
</Divider>
<Collapse in={currentOrder?.is_participant}>
<ListItem> <ListItem>
<ListItemIcon> <ListItemIcon sx={{ position: 'relative', left: '0.3em' }}>
<Article /> <SendReceiveIcon
</ListItemIcon> sx={{ left: '0.1em', width: '0.9em', opacity: 0.9 }}
<ListItemText color='primary'
primary={t(currentOrder?.status_message ?? '')}
secondary={t('Order status')}
/>
</ListItem>
<Divider />
</Collapse>
<ListItem>
<ListItemIcon>
<div
style={{
zoom: 1.25,
opacity: 0.7,
msZoom: 1.25,
WebkitZoom: 1.25,
MozTransform: 'scale(1.25,1.25)',
MozTransformOrigin: 'left center',
}}
>
<FlagWithProps code={currencyCode} width='1.2em' height='1.2em' />
</div>
</ListItemIcon>
<ListItemText
primary={amountString}
secondary={(currentOrder?.amount ?? 0) > 0 ? 'Amount' : 'Amount Range'}
/>
<ListItemIcon>
<IconButton
onClick={() => {
setShowSatsDetails(!showSatsDetails);
}}
>
{showSatsDetails ? <ExpandLess /> : <ExpandMore color='primary' />}
</IconButton>
</ListItemIcon>
</ListItem>
<Collapse in={showSatsDetails}>
<List dense={true} sx={{ position: 'relative', bottom: '0.5em' }}>
<ListItem>
<ListItemIcon sx={{ position: 'relative', left: '0.3em' }}>
<SendReceiveIcon
sx={{ transform: 'scaleX(-1)', width: '0.9em', opacity: 0.9 }}
color='secondary'
/>
</ListItemIcon>
<Typography variant='body2'>{satsSummary.send}</Typography>
</ListItem>
<ListItem>
<ListItemIcon sx={{ position: 'relative', left: '0.3em' }}>
<SendReceiveIcon
sx={{ left: '0.1em', width: '0.9em', opacity: 0.9 }}
color='primary'
/>
</ListItemIcon>
<Typography variant='body2'>{satsSummary.receive}</Typography>
</ListItem>
</List>
</Collapse>
<Divider />
<ListItem>
<ListItemIcon>
<Payments />
</ListItemIcon>
<ListItemText
primary={
<PaymentStringAsIcons
size={1.42 * theme.typography.fontSize}
othersText={t('Others')}
verbose={true}
text={currentOrder?.payment_method}
/> />
}
secondary={
currentOrder?.currency === 1000
? t('Swap destination')
: t('Accepted payment methods')
}
/>
{currentOrder?.payment_method.includes('Cash F2F') && (
<ListItemIcon>
<Tooltip enterTouchDelay={0} title={t('F2F location')}>
<div>
<IconButton
onClick={() => {
setOpenWorldmap(true);
}}
>
<Map />
</IconButton>
</div>
</Tooltip>
</ListItemIcon> </ListItemIcon>
)} <Typography variant='body2'>{satsSummary.receive}</Typography>
</ListItem> </ListItem>
<Divider /> </List>
</Collapse>
{/* If there is live Price and Premium data, show it. Otherwise show the order maker settings */} <Divider />
<ListItem>
<ListItem>
<ListItemIcon>
<Payments />
</ListItemIcon>
<ListItemText
primary={
<PaymentStringAsIcons
size={1.42 * theme.typography.fontSize}
othersText={t('Others')}
verbose={true}
text={currentOrder?.payment_method}
/>
}
secondary={
currentOrder?.currency === 1000
? t('Swap destination')
: t('Accepted payment methods')
}
/>
{currentOrder?.payment_method.includes('Cash F2F') && (
<ListItemIcon> <ListItemIcon>
<PriceChange /> <Tooltip enterTouchDelay={0} title={t('F2F location')}>
<div>
<IconButton
onClick={() => {
setOpenWorldmap(true);
}}
>
<Map />
</IconButton>
</div>
</Tooltip>
</ListItemIcon> </ListItemIcon>
)}
</ListItem>
<Divider />
{currentOrder?.price_now !== undefined ? ( {/* If there is live Price and Premium data, show it. Otherwise show the order maker settings */}
<ListItemText <ListItem>
primary={t('{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%', { <ListItemIcon>
price: pn(currentOrder?.price_now), <PriceChange />
currencyCode, </ListItemIcon>
premium: currentOrder?.premium_now,
})}
secondary={t('Price and Premium')}
/>
) : null}
{currentOrder?.price_now === undefined && currentOrder?.is_explicit ? ( {currentOrder?.price_now !== undefined ? (
<ListItemText <ListItemText
primary={pn(currentOrder?.satoshis)} primary={t('{{price}} {{currencyCode}}/BTC - Premium: {{premium}}%', {
secondary={t('Amount of Satoshis')} price: pn(currentOrder?.price_now),
/> currencyCode,
) : null} premium: currentOrder?.premium_now,
})}
secondary={t('Price and Premium')}
/>
) : null}
{currentOrder?.price_now === undefined && !currentOrder?.is_explicit ? ( {currentOrder?.price_now === undefined && currentOrder?.is_explicit ? (
<ListItemText <ListItemText
primary={`${parseFloat(Number(currentOrder?.premium).toFixed(2))}%`} primary={pn(currentOrder?.satoshis)}
secondary={t('Premium over market price')} secondary={t('Amount of Satoshis')}
/> />
) : null} ) : null}
</ListItem>
<Divider /> {currentOrder?.price_now === undefined && !currentOrder?.is_explicit ? (
<ListItemText
primary={`${parseFloat(Number(currentOrder?.premium).toFixed(2))}%`}
secondary={t('Premium over market price')}
/>
) : null}
</ListItem>
<ListItem> <Divider />
<Grid container direction='row' justifyContent='center' alignItems='center'>
<ListItem style={{ width: '50%' }}>
<ListItemIcon> <ListItemIcon>
<Numbers /> <Numbers />
</ListItemIcon> </ListItemIcon>
<Grid container> <ListItemText primary={currentOrder?.id} secondary={t('Order ID')} />
<Grid item xs={4.5}>
<ListItemText primary={currentOrder?.id} secondary={t('Order ID')} />
</Grid>
<Grid item xs={7.5}>
<Grid container>
<Grid item xs={2}>
<ListItemIcon sx={{ position: 'relative', top: '12px', left: '-5px' }}>
<HourglassTop />
</ListItemIcon>
</Grid>
<Grid item xs={10}>
<ListItemText
primary={timerRenderer(currentOrder?.escrow_duration)}
secondary={t('Deposit timer')}
></ListItemText>
</Grid>
</Grid>
</Grid>
</Grid>
</ListItem> </ListItem>
{/* if order is in a status that does not expire, do not show countdown */} <ListItem style={{ width: '50%' }}>
<Collapse in={![4, 5, 12, 13, 14, 15, 16, 17, 18].includes(currentOrder?.status ?? 0)}> <ListItemIcon>
<Divider /> <HourglassTop />
<ListItem> </ListItemIcon>
<ListItemIcon> <ListItemText
<AccessTime /> primary={timerRenderer(currentOrder?.escrow_duration)}
</ListItemIcon> secondary={t('Deposit')}
<ListItemText secondary={t('Expires in')}>
<Countdown
date={new Date(currentOrder?.expires_at ?? '')}
renderer={countdownRenderer}
/>
</ListItemText>
</ListItem>
<LinearDeterminate
totalSecsExp={currentOrder?.total_secs_exp ?? 0}
expiresAt={currentOrder?.expires_at ?? ''}
/> />
</Collapse> </ListItem>
</List> </Grid>
{/* If the user has a penalty/limit */} {/* if order is in a status that does not expire, do not show countdown */}
{currentOrder?.penalty !== undefined ? ( <Collapse in={![4, 5, 12, 13, 14, 15, 16, 17, 18].includes(currentOrder?.status ?? 0)}>
<Grid item xs={12}> <Divider />
<Alert severity='warning' sx={{ borderRadius: '0' }}> <ListItem>
<ListItemIcon>
<AccessTime />
</ListItemIcon>
<ListItemText secondary={t('Expires in')}>
<Countdown <Countdown
date={new Date(currentOrder?.penalty ?? '')} date={new Date(currentOrder?.expires_at ?? '')}
renderer={countdownPenaltyRenderer} renderer={countdownRenderer}
/> />
</Alert> </ListItemText>
</Grid> </ListItem>
) : ( <LinearDeterminate
<></> totalSecsExp={currentOrder?.total_secs_exp ?? 0}
)} expiresAt={currentOrder?.expires_at ?? ''}
/>
</Collapse>
</List>
{!currentOrder?.is_participant ? ( {/* If the user has a penalty/limit */}
<Grid item xs={12}> {currentOrder?.penalty !== undefined ? (
<TakeButton <Grid item style={{ width: '100%' }}>
currentOrder={currentOrder} <Alert severity='warning' sx={{ borderRadius: '0' }}>
info={coordinator.info} <Countdown
onClickGenerateRobot={onClickGenerateRobot} date={new Date(currentOrder?.penalty ?? '')}
renderer={countdownPenaltyRenderer}
/> />
</Grid> </Alert>
) : ( </Grid>
<></> ) : (
)} <></>
</Grid> )}
{!currentOrder?.is_participant ? (
<Grid item style={{ width: '100%', padding: '8px' }}>
<TakeButton
currentOrder={currentOrder}
info={coordinator.info}
onClickGenerateRobot={onClickGenerateRobot}
/>
</Grid>
) : (
<></>
)}
</Grid> </Grid>
); );
}; };

View File

@ -351,7 +351,7 @@ const EncryptedSocketChat: React.FC<Props> = ({
/> />
</Paper> </Paper>
<form noValidate onSubmit={onButtonClicked}> <form noValidate onSubmit={onButtonClicked}>
<Grid alignItems='stretch' style={{ display: 'flex', width: '100%' }}> <Grid alignItems='stretch' style={{ display: 'flex', width: '100%', marginTop: '8px' }}>
<Grid item alignItems='stretch' style={{ display: 'flex' }} xs={9}> <Grid item alignItems='stretch' style={{ display: 'flex' }} xs={9}>
<TextField <TextField
label={t('Type a message')} label={t('Type a message')}

View File

@ -332,7 +332,7 @@ const EncryptedTurtleChat: React.FC<Props> = ({
/> />
</Paper> </Paper>
<form noValidate onSubmit={onButtonClicked}> <form noValidate onSubmit={onButtonClicked}>
<Grid alignItems='stretch' style={{ display: 'flex', width: '100%' }}> <Grid alignItems='stretch' style={{ display: 'flex', width: '100%', marginTop: '8px' }}>
<Grid item alignItems='stretch' style={{ display: 'flex' }} xs={9}> <Grid item alignItems='stretch' style={{ display: 'flex' }} xs={9}>
<TextField <TextField
label={t('Type a message')} label={t('Type a message')}

View File

@ -19,14 +19,17 @@ export const ExpiredPrompt = ({
const { t } = useTranslation(); const { t } = useTranslation();
return ( return (
<Grid container spacing={1}> <Grid container direction='row'>
<Grid item xs={12}> <Grid item style={{ width: '100%' }}>
<Typography variant='body2' align='center'> <Typography variant='body2' align='center'>
{t(order.expiry_message)} {t(order.expiry_message)}
</Typography> </Typography>
</Grid> </Grid>
{order.is_maker ? ( {order.is_maker ? (
<Grid item xs={12} style={{ display: 'flex', justifyContent: 'center' }}> <Grid
item
style={{ display: 'flex', justifyContent: 'center', width: '100%', marginTop: '8px' }}
>
<LoadingButton <LoadingButton
loading={loadingRenew} loading={loadingRenew}
variant='outlined' variant='outlined'

View File

@ -827,7 +827,7 @@ const TradeBox = ({ currentOrder, onStartAgain }: TradeBoxProps): React.JSX.Elem
<></> <></>
)} )}
<Grid item> <Grid item style={{ paddingTop: '8px' }}>
<CancelButton <CancelButton
order={currentOrder ?? null} order={currentOrder ?? null}
onClickCancel={cancel} onClickCancel={cancel}

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Mètodes de pagament acceptats", "Accepted payment methods": "Mètodes de pagament acceptats",
"Amount of Satoshis": "Quantitat de Sats", "Amount of Satoshis": "Quantitat de Sats",
"Deposit timer": "Per a dipositar", "Deposit": "Dipositar",
"Expires in": "Expira en", "Expires in": "Expira en",
"F2F location": "Ubicació F2F", "F2F location": "Ubicació F2F",
"Order Details": "Detalls", "Order Details": "Detalls",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Akceptované platební metody", "Accepted payment methods": "Akceptované platební metody",
"Amount of Satoshis": "Částka Satoshi", "Amount of Satoshis": "Částka Satoshi",
"Deposit timer": "Časovač vkladu", "Deposit": "Časovač vkladu",
"Expires in": "Vyprší za", "Expires in": "Vyprší za",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "Detaily nabídky", "Order Details": "Detaily nabídky",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Akzeptierte Zahlungsweisen", "Accepted payment methods": "Akzeptierte Zahlungsweisen",
"Amount of Satoshis": "Anzahl Satoshis", "Amount of Satoshis": "Anzahl Satoshis",
"Deposit timer": "Einzahlungstimer", "Deposit": "Einzahlungstimer",
"Expires in": "Läuft ab in", "Expires in": "Läuft ab in",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "Order-Details", "Order Details": "Order-Details",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Accepted payment methods", "Accepted payment methods": "Accepted payment methods",
"Amount of Satoshis": "Amount of Satoshis", "Amount of Satoshis": "Amount of Satoshis",
"Deposit timer": "Deposit timer", "Deposit": "Deposit",
"Expires in": "Expires in", "Expires in": "Expires in",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "Order Details", "Order Details": "Order Details",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Métodos de pago aceptados", "Accepted payment methods": "Métodos de pago aceptados",
"Amount of Satoshis": "Cantidad de Sats", "Amount of Satoshis": "Cantidad de Sats",
"Deposit timer": "Tiempo para depositar", "Deposit": "Depósito",
"Expires in": "Expira en", "Expires in": "Expira en",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "Detalles", "Order Details": "Detalles",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Onartutako ordainketa moduak", "Accepted payment methods": "Onartutako ordainketa moduak",
"Amount of Satoshis": "Satoshi kopurua", "Amount of Satoshis": "Satoshi kopurua",
"Deposit timer": "Gordailu tenporizadorea", "Deposit": "Gordailu tenporizadorea",
"Expires in": "Iraungitze denbora", "Expires in": "Iraungitze denbora",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "Xehetasunak", "Order Details": "Xehetasunak",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Modes de paiement acceptés", "Accepted payment methods": "Modes de paiement acceptés",
"Amount of Satoshis": "Montant de Satoshis", "Amount of Satoshis": "Montant de Satoshis",
"Deposit timer": "Deposit timer", "Deposit": "Deposit",
"Expires in": "Expire en", "Expires in": "Expire en",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "Détails de l'ordre", "Order Details": "Détails de l'ordre",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Metodi di pagamento accettati", "Accepted payment methods": "Metodi di pagamento accettati",
"Amount of Satoshis": "Quantità di sats", "Amount of Satoshis": "Quantità di sats",
"Deposit timer": "Per depositare", "Deposit": "Per depositare",
"Expires in": "Scade in", "Expires in": "Scade in",
"F2F location": "Luogo F2F", "F2F location": "Luogo F2F",
"Order Details": "Dettagli", "Order Details": "Dettagli",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "受け付ける支払い方法", "Accepted payment methods": "受け付ける支払い方法",
"Amount of Satoshis": "サトシの金額", "Amount of Satoshis": "サトシの金額",
"Deposit timer": "デポジットタイマー", "Deposit": "デポジットタイマー",
"Expires in": "有効期限", "Expires in": "有効期限",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "注文の詳細", "Order Details": "注文の詳細",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Akceptowane metody płatności", "Accepted payment methods": "Akceptowane metody płatności",
"Amount of Satoshis": "Ilość Satoshis", "Amount of Satoshis": "Ilość Satoshis",
"Deposit timer": "Deposit timer", "Deposit": "Deposit",
"Expires in": "Wygasa za", "Expires in": "Wygasa za",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "Szczegóły zamówienia", "Order Details": "Szczegóły zamówienia",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Métodos de pagamento aceitos", "Accepted payment methods": "Métodos de pagamento aceitos",
"Amount of Satoshis": "Quantidade de Satoshis", "Amount of Satoshis": "Quantidade de Satoshis",
"Deposit timer": "Temporizador de depósito", "Deposit": "Depósito",
"Expires in": "Expira em", "Expires in": "Expira em",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "Detalhes da ordem", "Order Details": "Detalhes da ordem",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Способ(ы) оплаты", "Accepted payment methods": "Способ(ы) оплаты",
"Amount of Satoshis": "Количество Сатоши", "Amount of Satoshis": "Количество Сатоши",
"Deposit timer": "Таймер депозита", "Deposit": "депозита",
"Expires in": "Истекает через", "Expires in": "Истекает через",
"F2F location": "F2F локация", "F2F location": "F2F локация",
"Order Details": "Детали ордера", "Order Details": "Детали ордера",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Accepterade betalningsmetoder", "Accepted payment methods": "Accepterade betalningsmetoder",
"Amount of Satoshis": "Summa sats", "Amount of Satoshis": "Summa sats",
"Deposit timer": "Insättningstimer", "Deposit": "Insättningstimer",
"Expires in": "Förfaller om", "Expires in": "Förfaller om",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "Orderdetaljer", "Order Details": "Orderdetaljer",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "Njia za malipo zilizokubaliwa", "Accepted payment methods": "Njia za malipo zilizokubaliwa",
"Amount of Satoshis": "Kiasi cha Satoshis", "Amount of Satoshis": "Kiasi cha Satoshis",
"Deposit timer": "Muda wa Amana", "Deposit": "Muda wa Amana",
"Expires in": "Inamalizika ndani ya", "Expires in": "Inamalizika ndani ya",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "Maelezo ya Agizo", "Order Details": "Maelezo ya Agizo",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "วิธีชำระเงินเฟียตที่รองรับ", "Accepted payment methods": "วิธีชำระเงินเฟียตที่รองรับ",
"Amount of Satoshis": "ปริมาณ Satoshis", "Amount of Satoshis": "ปริมาณ Satoshis",
"Deposit timer": "ผู้ขายต้องวางเหรียญที่จะขายภายใน", "Deposit": "ผู้ขายต้องวางเหรียญที่จะขายภายใน",
"Expires in": "หมดอายุใน", "Expires in": "หมดอายุใน",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "รายละเอียดรายการ", "Order Details": "รายละเอียดรายการ",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "接受的付款方法", "Accepted payment methods": "接受的付款方法",
"Amount of Satoshis": "聪金额", "Amount of Satoshis": "聪金额",
"Deposit timer": "存款倒计时", "Deposit": "存款倒计时",
"Expires in": "内到期", "Expires in": "内到期",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "订单详情", "Order Details": "订单详情",

View File

@ -450,7 +450,7 @@
"#44": "Phrases in components/OrderDetails/index.tsx", "#44": "Phrases in components/OrderDetails/index.tsx",
"Accepted payment methods": "接受的付款方法", "Accepted payment methods": "接受的付款方法",
"Amount of Satoshis": "聰金額", "Amount of Satoshis": "聰金額",
"Deposit timer": "存款計時器", "Deposit": "存款計時器",
"Expires in": "內到期", "Expires in": "內到期",
"F2F location": "F2F location", "F2F location": "F2F location",
"Order Details": "訂單詳情", "Order Details": "訂單詳情",