diff --git a/src/api/tokenomics/types.ts b/src/api/tokenomics/types.ts index f256a7cbf..4429fcc5c 100644 --- a/src/api/tokenomics/types.ts +++ b/src/api/tokenomics/types.ts @@ -44,6 +44,7 @@ export type BalanceSummary = { total: string; totalReferrals: string; totalMiningBlockchain: string; + totalMainnetRewardPoolContribution: string; }; export type ResurrectRequiredData = { diff --git a/src/constants/colors.ts b/src/constants/colors.ts index 021c99d03..4369b0ed8 100644 --- a/src/constants/colors.ts +++ b/src/constants/colors.ts @@ -20,6 +20,7 @@ export const COLORS = { attention: '#FD4E4E', attentionDark: '#F53333', gulfBlue: '#080754', + midnightSapphire: '#061B4B', madison: '#0D256B', mariner: '#2D62D9', periwinkleGray: '#C1CDE1', diff --git a/src/navigation/Main.tsx b/src/navigation/Main.tsx index 719a7156e..1a0127bf0 100644 --- a/src/navigation/Main.tsx +++ b/src/navigation/Main.tsx @@ -40,11 +40,9 @@ import {InviteFriend} from '@screens/InviteFlow/InviteFriend'; import {InviteShare} from '@screens/InviteFlow/InviteShare'; import {QRCodeShare} from '@screens/InviteFlow/QRCodeShare'; import {ActionSheet} from '@screens/Modals/ActionSheet'; +import {BalanceHistoryTooltip} from '@screens/Modals/BalanceHistoryTooltip'; import {ContextualMenu} from '@screens/Modals/ContextualMenu'; -import { - ContextualMenuButton, - Coordinates, -} from '@screens/Modals/ContextualMenu/types'; +import {ContextualMenuButton} from '@screens/Modals/ContextualMenu/types'; import {CountrySelect} from '@screens/Modals/CountrySelect'; import {DateSelect} from '@screens/Modals/DateSelector'; import {JoinTelegramPopUp} from '@screens/Modals/JoinTelegramPopUp'; @@ -56,6 +54,7 @@ import {ProfilePrivacyEditStep3} from '@screens/Modals/ProfilePrivacyEdit/step3' import {ReferralCountInfo} from '@screens/Modals/ReferralCountInfo'; import {RepostExample} from '@screens/Modals/RepostExample'; import {Tooltip} from '@screens/Modals/Tooltip'; +import {Coordinates} from '@screens/Modals/types'; import {VerifiedTooltipPopUp} from '@screens/Modals/VerifiedTooltipPopUp'; import {News} from '@screens/News'; import {Badges} from '@screens/ProfileFlow/Badges'; @@ -146,6 +145,9 @@ export type MainStackParamList = { buttons: ContextualMenuButton[]; onClose?: () => void; }; + BalanceHistoryTooltip: { + coords: Coordinates; + }; ReferralCountInfo: { hostViewParams: ViewMeasurementsResult; userId: string; @@ -410,6 +412,11 @@ export function MainNavigator() { component={ContextualMenu} options={modalOptions} /> + { + const navigation = + useNavigation< + NativeStackNavigationProp + >(); + const onInfoPress = (coordinates: Coordinates) => { + navigation.navigate('BalanceHistoryTooltip', { + coords: coordinates, + }); + }; return ( { ) } + onInfoIconPressed={onInfoPress} /> ); }; diff --git a/src/screens/HomeFlow/BalanceHistory/components/PagerHeader/components/DataCell.tsx b/src/screens/HomeFlow/BalanceHistory/components/PagerHeader/components/DataCell.tsx index 9d059a825..5c55980b4 100644 --- a/src/screens/HomeFlow/BalanceHistory/components/PagerHeader/components/DataCell.tsx +++ b/src/screens/HomeFlow/BalanceHistory/components/PagerHeader/components/DataCell.tsx @@ -1,6 +1,8 @@ // SPDX-License-Identifier: ice License 1.0 import {COLORS} from '@constants/colors'; +import {InfoButton} from '@screens/HomeFlow/BalanceHistory/components/PagerHeader/components/InfoButton'; +import {Coordinates} from '@screens/Modals/types'; import {isRTL} from '@translations/i18n'; import {font} from '@utils/styles'; import React, {ReactNode} from 'react'; @@ -12,13 +14,23 @@ type Props = { label: string; value: string | ReactNode; currency?: string | ReactNode; + onInfoIconPressed?: (coordinates: Coordinates) => void; }; -export const DataCell = ({icon, label, value, currency}: Props) => { +export const DataCell = ({ + icon, + label, + value, + currency, + onInfoIconPressed, +}: Props) => { return ( {icon} - {label} + + {label} + + {typeof value === 'string' ? ( {value} diff --git a/src/screens/HomeFlow/BalanceHistory/components/PagerHeader/components/InfoButton.tsx b/src/screens/HomeFlow/BalanceHistory/components/PagerHeader/components/InfoButton.tsx new file mode 100644 index 000000000..c45317483 --- /dev/null +++ b/src/screens/HomeFlow/BalanceHistory/components/PagerHeader/components/InfoButton.tsx @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: ice License 1.0 + +import {Touchable} from '@components/Touchable'; +import {COLORS} from '@constants/colors'; +import {SMALL_BUTTON_HIT_SLOP} from '@constants/styles'; +import {Coordinates} from '@screens/Modals/types'; +import {InfoOutlineIcon} from '@svg/InfoOutlineIcon'; +import {isRTL} from '@translations/i18n'; +import React, {useRef} from 'react'; +import {StyleSheet, TouchableOpacity} from 'react-native'; +import {rem} from 'rn-units'; + +type Props = { + onInfoIconPressed?: (coordinates: Coordinates) => void; +}; + +const ICON_SIZE = rem(10); + +export function InfoButton({onInfoIconPressed}: Props) { + const buttonRef = useRef(null); + + const onInfoPress = () => { + buttonRef.current?.measure((_, __, width, height, x, y) => { + onInfoIconPressed?.({ + top: y + height, + left: x + width / 2, + }); + }); + }; + return onInfoIconPressed ? ( + + + + ) : null; +} +const styles = StyleSheet.create({ + infoButton: { + marginLeft: isRTL ? 0 : rem(4), + marginRight: isRTL ? rem(4) : 0, + }, +}); diff --git a/src/screens/HomeFlow/BalanceHistory/components/PagerHeader/index.tsx b/src/screens/HomeFlow/BalanceHistory/components/PagerHeader/index.tsx index ee69ca9aa..928a0d5b4 100644 --- a/src/screens/HomeFlow/BalanceHistory/components/PagerHeader/index.tsx +++ b/src/screens/HomeFlow/BalanceHistory/components/PagerHeader/index.tsx @@ -20,8 +20,6 @@ import {rem} from 'rn-units'; // PixelRatio.roundToNearestPixel here is to avoid a small gap between the container and the BottomBump component export const PAGER_HEADER_HEIGHT = PixelRatio.roundToNearestPixel(rem(116)); export const PAGER_HEADER_BUMP_HEIGHT = rem(8); -export const PAGER_HEADER_OUTER_HEIGHT = - PAGER_HEADER_HEIGHT + PAGER_HEADER_BUMP_HEIGHT; export const PagerHeader = () => { const [activeIndex, setActiveIndex] = useState(0); diff --git a/src/screens/Modals/BalanceHistoryTooltip/components/Tooltip/index.tsx b/src/screens/Modals/BalanceHistoryTooltip/components/Tooltip/index.tsx new file mode 100644 index 000000000..698c674aa --- /dev/null +++ b/src/screens/Modals/BalanceHistoryTooltip/components/Tooltip/index.tsx @@ -0,0 +1,142 @@ +// SPDX-License-Identifier: ice License 1.0 + +import {COLORS} from '@constants/colors'; +import {commonStyles, windowHeight, windowWidth} from '@constants/styles'; +import {Coordinates} from '@screens/Modals/types'; +import {balanceSummarySelector} from '@store/modules/Tokenomics/selectors'; +import {RoundedTriangle} from '@svg/RoundedTriangle'; +import {isRTL, t} from '@translations/i18n'; +import {formatNumberString, parseNumber} from '@utils/numbers'; +import {font} from '@utils/styles'; +import React, {memo, useRef} from 'react'; +import {StyleSheet, Text, View, ViewStyle} from 'react-native'; +import {LayoutChangeEvent} from 'react-native/Libraries/Types/CoreEventTypes'; +import {useSelector} from 'react-redux'; +import {rem} from 'rn-units'; + +type Props = { + coordinates: Coordinates; +}; + +export const ROUNDED_TRIANGLE_SIZE = rem(20); + +function getRight(coordinates: Coordinates) { + return ( + coordinates.right ?? (coordinates.left ? windowWidth - coordinates.left : 0) + ); +} +function getTop(coordinates: Coordinates) { + return ( + coordinates.top ?? + (coordinates.bottom ? windowHeight - coordinates.bottom : 0) + ); +} + +const CELLS_NUMBER = 2; + +export const Tooltip = memo(({coordinates}: Props) => { + const balanceSummary = useSelector(balanceSummarySelector); + const right = getRight(coordinates); + + const maxWidthRef = useRef(0); + const numberCellsToRenderRef = useRef(CELLS_NUMBER); + const [cellDynamicStyle, setCellDynamicStyle] = + React.useState(null); + const onCellLayout = ({nativeEvent}: LayoutChangeEvent) => { + maxWidthRef.current = Math.max( + maxWidthRef.current, + nativeEvent.layout.width, + ); + numberCellsToRenderRef.current -= 1; + if (!numberCellsToRenderRef.current) { + setCellDynamicStyle({ + width: maxWidthRef.current, + }); + } + }; + return ( + + + + {t('balance_history.you')} + + {balanceSummary && + formatNumberString( + String( + parseNumber(balanceSummary.totalMiningBlockchain) - + parseNumber( + balanceSummary.totalMainnetRewardPoolContribution, + ), + ), + {minimumFractionDigits: 0, maximumFractionDigits: 0}, + )} + + + + + + {t('balance_history.contribution')} + + + {balanceSummary && + formatNumberString( + balanceSummary.totalMainnetRewardPoolContribution, + {minimumFractionDigits: 0, maximumFractionDigits: 0}, + )} + + + + ); +}); + +const styles = StyleSheet.create({ + mainContainer: { + backgroundColor: COLORS.midnightSapphire, + position: 'absolute', + borderRadius: rem(12), + flexDirection: 'row', + alignItems: 'center', + }, + cell: { + minWidth: rem(100), + padding: rem(10), + alignItems: 'center', + }, + cellSeparator: { + width: 1, + backgroundColor: COLORS.periwinkleGray, + height: '80%', + }, + labelText: { + ...font(10, 14, 'regular', 'white', 'center'), + textTransform: 'uppercase', + opacity: 0.7, + }, + valueText: { + ...font(14, 20, 'bold'), + }, + arrow: { + position: 'absolute', + top: -ROUNDED_TRIANGLE_SIZE + rem(4), + }, +}); diff --git a/src/screens/Modals/BalanceHistoryTooltip/index.tsx b/src/screens/Modals/BalanceHistoryTooltip/index.tsx new file mode 100644 index 000000000..ba3454dbb --- /dev/null +++ b/src/screens/Modals/BalanceHistoryTooltip/index.tsx @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: ice License 1.0 + +import {commonStyles} from '@constants/styles'; +import {HomeTabStackParamList, MainStackParamList} from '@navigation/Main'; +import {RouteProp, useNavigation, useRoute} from '@react-navigation/native'; +import {NativeStackNavigationProp} from '@react-navigation/native-stack'; +import {Tooltip} from '@screens/Modals/BalanceHistoryTooltip/components/Tooltip'; +import React, {memo} from 'react'; +import {TouchableWithoutFeedback, View} from 'react-native'; + +export const BalanceHistoryTooltip = memo(() => { + const navigation = + useNavigation>(); + const { + params: {coords}, + } = useRoute>(); + + const closeMenu = () => { + navigation.goBack(); + }; + + return ( + + + + + + ); +}); diff --git a/src/screens/Modals/ContextualMenu/components/Menu/index.tsx b/src/screens/Modals/ContextualMenu/components/Menu/index.tsx index 74f59eb7d..cf0d68fbd 100644 --- a/src/screens/Modals/ContextualMenu/components/Menu/index.tsx +++ b/src/screens/Modals/ContextualMenu/components/Menu/index.tsx @@ -3,10 +3,8 @@ import {Touchable} from '@components/Touchable'; import {COLORS} from '@constants/colors'; import {commonStyles} from '@constants/styles'; -import { - ContextualMenuButton, - Coordinates, -} from '@screens/Modals/ContextualMenu/types'; +import {ContextualMenuButton} from '@screens/Modals/ContextualMenu/types'; +import {Coordinates} from '@screens/Modals/types'; import {RoundedTriangle} from '@svg/RoundedTriangle'; import {font} from '@utils/styles'; import React, {memo} from 'react'; diff --git a/src/screens/Modals/ContextualMenu/types.ts b/src/screens/Modals/ContextualMenu/types.ts index 4535ee03b..1924822ae 100644 --- a/src/screens/Modals/ContextualMenu/types.ts +++ b/src/screens/Modals/ContextualMenu/types.ts @@ -8,10 +8,3 @@ export type ContextualMenuButton = { onPress: () => void; id?: 'help' | 'staking' | 'notifications' | 'stats' | 'tips'; }; - -export type Coordinates = { - top?: number; - right?: number; - bottom?: number; - left?: number; -}; diff --git a/src/screens/Modals/types.ts b/src/screens/Modals/types.ts new file mode 100644 index 000000000..fcf69df21 --- /dev/null +++ b/src/screens/Modals/types.ts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: ice License 1.0 + +export type Coordinates = { + top?: number; + right?: number; + bottom?: number; + left?: number; +}; diff --git a/src/translations/locales/af.json b/src/translations/locales/af.json index cc750e793..f8b5e6003 100644 --- a/src/translations/locales/af.json +++ b/src/translations/locales/af.json @@ -616,7 +616,9 @@ "wallet_update_interval": "elke uur opgedateer", "blockchain_update_interval": "elke 28 dae opgedateer", "list_end_label": "dit is die laaste inskrywing van die balansgeskiedenis.", - "no_data": "Daar is geen data om vir die gespesifiseerde tydperk te vertoon nie." + "no_data": "Daar is geen data om vir die gespesifiseerde tydperk te vertoon nie.", + "you": "jy", + "contribution": "bydrae" }, "pop_up": { "update_now": "Opdateer Nou", diff --git a/src/translations/locales/am.json b/src/translations/locales/am.json index 4fbd08d54..ea932f8cc 100644 --- a/src/translations/locales/am.json +++ b/src/translations/locales/am.json @@ -616,7 +616,9 @@ "wallet_update_interval": "በየሰዓቱ ይዘምናል", "blockchain_update_interval": "ቅዳሜ 28 ቀን ይጠቀምያል", "list_end_label": "ይህ የሂሳብ ታሪክ የመጨረሻው ግቤት ነው።", - "no_data": "ለተገለጸው ጊዜ የሚታይ ምንም ውሂብ የለም።" + "no_data": "ለተገለጸው ጊዜ የሚታይ ምንም ውሂብ የለም።", + "you": "እሷ", + "contribution": "ምንቸሎች" }, "pop_up": { "update_now": "አሁን አዘምን", diff --git a/src/translations/locales/ar.json b/src/translations/locales/ar.json index 2bce64317..75b49919a 100644 --- a/src/translations/locales/ar.json +++ b/src/translations/locales/ar.json @@ -616,7 +616,9 @@ "wallet_update_interval": "يتم التحديث كل ساعة", "blockchain_update_interval": "تحديث كل 28 يومًا", "list_end_label": "هذا هو الإدخال الأخير لسجل الرصيد.", - "no_data": "لا توجد بيانات لعرضها للفترة المحددة." + "no_data": "لا توجد بيانات لعرضها للفترة المحددة.", + "you": "أنت", + "contribution": "مساهمة" }, "pop_up": { "update_now": "تحديث الآن", diff --git a/src/translations/locales/az.json b/src/translations/locales/az.json index 47f0bb1fb..4c62381b2 100644 --- a/src/translations/locales/az.json +++ b/src/translations/locales/az.json @@ -616,7 +616,9 @@ "wallet_update_interval": "hər saat yenilənir", "blockchain_update_interval": "hər 28 gün yenilənir", "list_end_label": "bu balans tarixinin son əməliyyatıdır.", - "no_data": "Seçilmiş müddət üzrə göstərməyə məlumat yoxdur." + "no_data": "Seçilmiş müddət üzrə göstərməyə məlumat yoxdur.", + "you": "siz", + "contribution": "əməkdaşlıq" }, "pop_up": { "update_now": "İndi yenilə", diff --git a/src/translations/locales/bg.json b/src/translations/locales/bg.json index 95aece73d..bc16bd799 100644 --- a/src/translations/locales/bg.json +++ b/src/translations/locales/bg.json @@ -616,7 +616,9 @@ "wallet_update_interval": "обновявано всеки час", "blockchain_update_interval": "актуализира се на всеки 28 дни", "list_end_label": "това е последният запис от историята на баланса.", - "no_data": "Няма данни за показване за посочения период." + "no_data": "Няма данни за показване за посочения период.", + "you": "вие", + "contribution": "принос" }, "pop_up": { "update_now": "Обнови сега", diff --git a/src/translations/locales/bn.json b/src/translations/locales/bn.json index a97c3714e..a5819aece 100644 --- a/src/translations/locales/bn.json +++ b/src/translations/locales/bn.json @@ -616,7 +616,9 @@ "wallet_update_interval": "প্রতি ঘণ্টায় আপডেট করা হয়", "blockchain_update_interval": "প্রতি 28 দিনে আপডেট হয়", "list_end_label": "এটি ব্যালেন্সের ইতিহাসের শেষ এন্ট্রি।", - "no_data": "নির্দিষ্ট সময়ের জন্য প্রদর্শন করার জন্য কোনো তথ্য নেই।" + "no_data": "নির্দিষ্ট সময়ের জন্য প্রদর্শন করার জন্য কোনো তথ্য নেই।", + "you": "আপনি", + "contribution": "যোগদান" }, "pop_up": { "update_now": "এখনই আপডেট করুন", diff --git a/src/translations/locales/cs.json b/src/translations/locales/cs.json index c3a7c8d53..c3e662596 100644 --- a/src/translations/locales/cs.json +++ b/src/translations/locales/cs.json @@ -616,7 +616,9 @@ "wallet_update_interval": "aktualizováno každou hodinu", "blockchain_update_interval": "aktualizováno každých 28 dnů", "list_end_label": "toto je poslední položka v historii zůstatku.", - "no_data": "Pro zvolené období nejsou k dispozici žádné údaje." + "no_data": "Pro zvolené období nejsou k dispozici žádné údaje.", + "you": "ty", + "contribution": "příspěvek" }, "pop_up": { "update_now": "Aktualizovat nyní", diff --git a/src/translations/locales/de.json b/src/translations/locales/de.json index c8c811fa9..69bc902cb 100644 --- a/src/translations/locales/de.json +++ b/src/translations/locales/de.json @@ -616,7 +616,9 @@ "wallet_update_interval": "Stündlich aktualisiert", "blockchain_update_interval": "alle 28 Tage aktualisiert", "list_end_label": "Dies ist der letzte Eintrag im Guthabenverlauf.", - "no_data": "Für den angegebenen Zeitraum gibt es keine Daten, die angezeigt werden können." + "no_data": "Für den angegebenen Zeitraum gibt es keine Daten, die angezeigt werden können.", + "you": "du", + "contribution": "Beitrag" }, "pop_up": { "update_now": "Jetzt aktualisieren", diff --git a/src/translations/locales/el.json b/src/translations/locales/el.json index 9e5fd57e6..62f4bde04 100644 --- a/src/translations/locales/el.json +++ b/src/translations/locales/el.json @@ -616,7 +616,9 @@ "wallet_update_interval": "ενημερώνεται κάθε ώρα", "blockchain_update_interval": "ενημερώνεται κάθε 28 ημέρες", "list_end_label": "αυτή είναι η τελευταία καταχώρηση του ιστορικού υπολοίπου.", - "no_data": "Δεν υπάρχουν δεδομένα προς εμφάνιση για την καθορισμένη περίοδο." + "no_data": "Δεν υπάρχουν δεδομένα προς εμφάνιση για την καθορισμένη περίοδο.", + "you": "εσύ", + "contribution": "συνεισφορά" }, "pop_up": { "update_now": "Ενημέρωση τώρα", diff --git a/src/translations/locales/en.json b/src/translations/locales/en.json index 776db992a..7f519cb69 100644 --- a/src/translations/locales/en.json +++ b/src/translations/locales/en.json @@ -616,7 +616,9 @@ "wallet_update_interval": "updated every hour", "blockchain_update_interval": "updated every 28 days", "list_end_label": "this is the last entry of the balance history.", - "no_data": "There is no data to display for the specified period." + "no_data": "There is no data to display for the specified period.", + "you": "you", + "contribution": "contribution" }, "pop_up": { "update_now": "Update Now", diff --git a/src/translations/locales/en.json.d.ts b/src/translations/locales/en.json.d.ts index 1fee32a5b..44f617397 100644 --- a/src/translations/locales/en.json.d.ts +++ b/src/translations/locales/en.json.d.ts @@ -430,6 +430,8 @@ export type Translations = { 'balance_history.blockchain_update_interval': null; 'balance_history.list_end_label': null; 'balance_history.no_data': null; + 'balance_history.you': null; + 'balance_history.contribution': null; 'pop_up.update_now': null; 'pop_up.please_update': null; 'pop_up.update_now_text': null; diff --git a/src/translations/locales/es.json b/src/translations/locales/es.json index fb833d0bb..78f6ee631 100644 --- a/src/translations/locales/es.json +++ b/src/translations/locales/es.json @@ -616,7 +616,9 @@ "wallet_update_interval": "actualizado cada hora", "blockchain_update_interval": "actualizado cada 28 días", "list_end_label": "esta es la última entrada del historial del saldo.", - "no_data": "No hay datos para mostrar para el periodo especificado." + "no_data": "No hay datos para mostrar para el periodo especificado.", + "you": "tú", + "contribution": "contribución" }, "pop_up": { "update_now": "Actualizar ahora", diff --git a/src/translations/locales/fa.json b/src/translations/locales/fa.json index cbd05c23d..d7469e52e 100644 --- a/src/translations/locales/fa.json +++ b/src/translations/locales/fa.json @@ -616,7 +616,9 @@ "wallet_update_interval": "هر ساعت به‌روز شود", "blockchain_update_interval": "هر 28 روز به‌روزرسانی می‌شود", "list_end_label": "این آخرین مورد فهرست موجودی است.", - "no_data": "برای دوره تعیین شده هیچ داده‌ای وجود ندارد." + "no_data": "برای دوره تعیین شده هیچ داده‌ای وجود ندارد.", + "you": "شما", + "contribution": "مشارکت" }, "pop_up": { "update_now": "اکنون به‌روزرسانی شود", diff --git a/src/translations/locales/fr.json b/src/translations/locales/fr.json index 1e6dcf30b..71a1d03f5 100644 --- a/src/translations/locales/fr.json +++ b/src/translations/locales/fr.json @@ -616,7 +616,9 @@ "wallet_update_interval": "mise à jour toutes les heures", "blockchain_update_interval": "mis à jour tous les 28 jours", "list_end_label": "il s’agit de la dernière entrée de l’historique du solde.", - "no_data": "Il n’y a pas de données à afficher pour la période spécifiée." + "no_data": "Il n’y a pas de données à afficher pour la période spécifiée.", + "you": "vous", + "contribution": "contribution" }, "pop_up": { "update_now": "Mettre à jour maintenant", diff --git a/src/translations/locales/gu.json b/src/translations/locales/gu.json index cbf2557f3..2d1973fa2 100644 --- a/src/translations/locales/gu.json +++ b/src/translations/locales/gu.json @@ -616,7 +616,9 @@ "wallet_update_interval": "દર કલાકે અપડેટ થાય છે", "blockchain_update_interval": "પ્રતિ 28 દિવસે અપડેટ થાય છે", "list_end_label": "બેલેન્સ ઇતિહાસની આ છેલ્લી એન્ટ્રી છે.", - "no_data": "ઉલ્લેખિત સમયગાળા દરમિયાન પ્રદર્શિત કરવા માટે કોઈ ડેટા નથી." + "no_data": "ઉલ્લેખિત સમયગાળા દરમિયાન પ્રદર્શિત કરવા માટે કોઈ ડેટા નથી.", + "you": "તમે", + "contribution": "યોગદાન" }, "pop_up": { "update_now": "હમણાં જ અપડેટ કરો", diff --git a/src/translations/locales/he.json b/src/translations/locales/he.json index e73f57b31..6c608d63d 100644 --- a/src/translations/locales/he.json +++ b/src/translations/locales/he.json @@ -616,7 +616,9 @@ "wallet_update_interval": "מתעדכן כל שעה", "blockchain_update_interval": "מתעדכן כל 28 ימים", "list_end_label": "זוהי הרשומה האחרונה בהיסטוריית היתרה.", - "no_data": "אין נתונים להצגה עבור התקופה שצוינה." + "no_data": "אין נתונים להצגה עבור התקופה שצוינה.", + "you": "אתה", + "contribution": "תרומה" }, "pop_up": { "update_now": "לעדכן עכשיו", diff --git a/src/translations/locales/hi.json b/src/translations/locales/hi.json index 599c1a18a..efb41255e 100644 --- a/src/translations/locales/hi.json +++ b/src/translations/locales/hi.json @@ -616,7 +616,9 @@ "wallet_update_interval": "हर घंटे बाद अपडेट किया जाता है", "blockchain_update_interval": "प्रत्येक 28 दिन में अपडेट किया जाता है", "list_end_label": "यह बैलेंस इतिहास की अंतिम प्रविष्टि है।", - "no_data": "निर्दिष्ट अवधि के लिए प्रदर्शित करने के लिए कोई डेटा नहीं है।" + "no_data": "निर्दिष्ट अवधि के लिए प्रदर्शित करने के लिए कोई डेटा नहीं है।", + "you": "तुम", + "contribution": "योगदान" }, "pop_up": { "update_now": "अभी अपडेट करें", diff --git a/src/translations/locales/hu.json b/src/translations/locales/hu.json index 615773af3..bf602c4a7 100644 --- a/src/translations/locales/hu.json +++ b/src/translations/locales/hu.json @@ -616,7 +616,9 @@ "wallet_update_interval": "frissítve óránként", "blockchain_update_interval": "28 naponta frissítve", "list_end_label": "ez az egyenlegelőzmények utolsó bejegyzése.", - "no_data": "A meghatározott időszakra nincs megjeleníthető adat." + "no_data": "A meghatározott időszakra nincs megjeleníthető adat.", + "you": "te", + "contribution": "hozzájárulás" }, "pop_up": { "update_now": "Frissítsd most", diff --git a/src/translations/locales/id.json b/src/translations/locales/id.json index 4f0cad5a0..af80f9830 100644 --- a/src/translations/locales/id.json +++ b/src/translations/locales/id.json @@ -616,7 +616,9 @@ "wallet_update_interval": "diperbarui setiap jam", "blockchain_update_interval": "diperbarui setiap 28 hari", "list_end_label": "ini adalah entri terakhir dari riwayat saldo.", - "no_data": "Data untuk periode yang ditentukan kosong." + "no_data": "Data untuk periode yang ditentukan kosong.", + "you": "kamu", + "contribution": "kontribusi" }, "pop_up": { "update_now": "Perbarui Sekarang", diff --git a/src/translations/locales/it.json b/src/translations/locales/it.json index 9116c80c4..06e250084 100644 --- a/src/translations/locales/it.json +++ b/src/translations/locales/it.json @@ -616,7 +616,9 @@ "wallet_update_interval": "aggiornato ogni ora", "blockchain_update_interval": "aggiornato ogni 28 giorni", "list_end_label": "questa è l'ultima voce della cronologia del saldo.", - "no_data": "Non ci sono dati da visualizzare per il periodo specificato." + "no_data": "Non ci sono dati da visualizzare per il periodo specificato.", + "you": "tu", + "contribution": "contributo" }, "pop_up": { "update_now": "Aggiorna adesso", diff --git a/src/translations/locales/ja.json b/src/translations/locales/ja.json index af72713c2..312834704 100644 --- a/src/translations/locales/ja.json +++ b/src/translations/locales/ja.json @@ -616,7 +616,9 @@ "wallet_update_interval": "1時間ごとに更新", "blockchain_update_interval": "28日ごとに更新", "list_end_label": "これが残高履歴の最後のエントリです。", - "no_data": "指定された期間に表示するデータがありません。" + "no_data": "指定された期間に表示するデータがありません。", + "you": "あなた", + "contribution": "貢献" }, "pop_up": { "update_now": "今すぐアップデート", diff --git a/src/translations/locales/jv.json b/src/translations/locales/jv.json index 98248789c..e0494a471 100644 --- a/src/translations/locales/jv.json +++ b/src/translations/locales/jv.json @@ -603,7 +603,9 @@ "wallet_update_interval": "updated every hour", "blockchain_update_interval": "diperbarui saben 28 dino", "list_end_label": "this is the last entry of the balance history", - "no_data": "There is no data to display \nfor the specified period" + "no_data": "There is no data to display \nfor the specified period", + "you": "sampeyan", + "contribution": "sumbangan" }, "pop_up": { "update_now": "Update Now", diff --git a/src/translations/locales/kn.json b/src/translations/locales/kn.json index 92b948427..1df0de53b 100644 --- a/src/translations/locales/kn.json +++ b/src/translations/locales/kn.json @@ -616,7 +616,9 @@ "wallet_update_interval": "ಪ್ರತಿ ಘಂಟೆಗೂ ನವೀಕರಿಸಲಾಗುತ್ತದೆ", "blockchain_update_interval": "ಪ್ರತಿ 28 ದಿನಗಳಲ್ಲಿ ನವೀಕರಿಸಲಾಗುತ್ತದೆ", "list_end_label": "ಇದು ಬಾಕಿ ಇತಿಹಾಸದ ಕೊನೆಯ ನಮೂನೆಯಾಗಿರುತ್ತದೆ", - "no_data": "ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಅವಧಿಗೆ ಪ್ರದರ್ಶಿಸಲು ಯಾವುದೇ ದತ್ತಾಂಶವಿಲ್ಲ" + "no_data": "ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಅವಧಿಗೆ ಪ್ರದರ್ಶಿಸಲು ಯಾವುದೇ ದತ್ತಾಂಶವಿಲ್ಲ", + "you": "ನೀವು", + "contribution": "ನೆರವು" }, "pop_up": { "update_now": "ಕೂಡಲೇ ನವೀಕರಿಸಿ", diff --git a/src/translations/locales/ko.json b/src/translations/locales/ko.json index 83388e172..482230839 100644 --- a/src/translations/locales/ko.json +++ b/src/translations/locales/ko.json @@ -616,7 +616,9 @@ "wallet_update_interval": "한 시간마다 업데이트됨", "blockchain_update_interval": "28 일마다 업데이트됨", "list_end_label": "이는 최근 잔액 내역입니다.", - "no_data": "지정된 기간 동안 표시할 데이터가 없습니다." + "no_data": "지정된 기간 동안 표시할 데이터가 없습니다.", + "you": "당신", + "contribution": "기여" }, "pop_up": { "update_now": "지금 업데이트", diff --git a/src/translations/locales/mr.json b/src/translations/locales/mr.json index 70d81d9e5..af775a338 100644 --- a/src/translations/locales/mr.json +++ b/src/translations/locales/mr.json @@ -616,7 +616,9 @@ "wallet_update_interval": "दर तासाला अपडेट होते", "blockchain_update_interval": "प्रत्येक 28 दिवसाने अद्यतनित", "list_end_label": "शिल्लक इतिहासाची ही शेवटची नोंद आहे.", - "no_data": "निर्धारित कालावधीसाठी प्रदर्शित करण्यासाठी कोणताही डेटा नाही." + "no_data": "निर्धारित कालावधीसाठी प्रदर्शित करण्यासाठी कोणताही डेटा नाही.", + "you": "तुम्ही", + "contribution": "योगदान" }, "pop_up": { "update_now": "आता अपडेट करा", diff --git a/src/translations/locales/ms.json b/src/translations/locales/ms.json index b82b1a37f..96cc911ee 100644 --- a/src/translations/locales/ms.json +++ b/src/translations/locales/ms.json @@ -616,7 +616,9 @@ "wallet_update_interval": "dikemas kini setiap jam", "blockchain_update_interval": "dikemaskini setiap 28 hari", "list_end_label": "ini ialah masukan terakhir sejarah baki.", - "no_data": "Tiada data untuk dipaparkan untuk tempoh yang dinyatakan." + "no_data": "Tiada data untuk dipaparkan untuk tempoh yang dinyatakan.", + "you": "anda", + "contribution": "sumbangan" }, "pop_up": { "update_now": "Kemas Kini Sekarang", diff --git a/src/translations/locales/nb.json b/src/translations/locales/nb.json index 86e13304a..2d767e4fb 100644 --- a/src/translations/locales/nb.json +++ b/src/translations/locales/nb.json @@ -616,7 +616,9 @@ "wallet_update_interval": "oppdateres hver time", "blockchain_update_interval": "oppdatert hver 28 dager", "list_end_label": "dette er den siste oppføringen i saldohistorikken.", - "no_data": "Det er ingen data å vise for den angitte perioden." + "no_data": "Det er ingen data å vise for den angitte perioden.", + "you": "du", + "contribution": "bidrag" }, "pop_up": { "update_now": "Oppdater nå", diff --git a/src/translations/locales/nn.json b/src/translations/locales/nn.json index 836ddca5d..f845adeda 100644 --- a/src/translations/locales/nn.json +++ b/src/translations/locales/nn.json @@ -616,7 +616,9 @@ "wallet_update_interval": "oppdateres hver time", "blockchain_update_interval": "oppdatert kvar 28 dagar", "list_end_label": "dette er den siste oppføringen i saldohistorikken.", - "no_data": "Det er ingen data å vise for den angitte perioden." + "no_data": "Det er ingen data å vise for den angitte perioden.", + "you": "du", + "contribution": "bidrag" }, "pop_up": { "update_now": "Oppdater nå", diff --git a/src/translations/locales/pa.json b/src/translations/locales/pa.json index 442ca84e0..8116cf18f 100644 --- a/src/translations/locales/pa.json +++ b/src/translations/locales/pa.json @@ -616,7 +616,9 @@ "wallet_update_interval": "ਹਰ ਘੰਟੇ ਅੱਪਡੇਟ ਕੀਤਾ", "blockchain_update_interval": "ਪ੍ਰਤੀ 28 ਦਿਨ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ", "list_end_label": "ਇਹ ਬਕਾਇਆ ਇਤਿਹਾਸ ਦੀ ਆਖਰੀ ਐਂਟਰੀ ਹੈ।", - "no_data": "ਨਿਸ਼ਚਿਤ ਮਿਆਦ ਲਈ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਕੋਈ ਡਾਟਾ ਨਹੀਂ ਹੈ।" + "no_data": "ਨਿਸ਼ਚਿਤ ਮਿਆਦ ਲਈ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਕੋਈ ਡਾਟਾ ਨਹੀਂ ਹੈ।", + "you": "ਤੁਸੀਂ", + "contribution": "ਯੋਗਦਾਨ" }, "pop_up": { "update_now": "ਹੁਣੇ ਅੱਪਡੇਟ ਕਰੋ", diff --git a/src/translations/locales/pl.json b/src/translations/locales/pl.json index 04c3bda2b..9d890cada 100644 --- a/src/translations/locales/pl.json +++ b/src/translations/locales/pl.json @@ -616,7 +616,9 @@ "wallet_update_interval": "aktualizowane co godzinę", "blockchain_update_interval": "aktualizowane co 28 dni", "list_end_label": "jest to ostatni wpis w historii salda.", - "no_data": "Brak danych do wyświetlenia dla określonego okresu." + "no_data": "Brak danych do wyświetlenia dla określonego okresu.", + "you": "ty", + "contribution": "wkład" }, "pop_up": { "update_now": "Zaktualizuj teraz", diff --git a/src/translations/locales/pt.json b/src/translations/locales/pt.json index 1d6a50761..1ec904b7b 100644 --- a/src/translations/locales/pt.json +++ b/src/translations/locales/pt.json @@ -616,7 +616,9 @@ "wallet_update_interval": "atualizada de hora em hora", "blockchain_update_interval": "atualizado a cada 28 dias", "list_end_label": "esta é a última entrada do histórico do saldo.", - "no_data": "Não há dados para exibir em relação ao período especificado." + "no_data": "Não há dados para exibir em relação ao período especificado.", + "you": "você", + "contribution": "contribuição" }, "pop_up": { "update_now": "Atualizar agora", diff --git a/src/translations/locales/ro.json b/src/translations/locales/ro.json index e39e6a6b2..c749e6e1b 100644 --- a/src/translations/locales/ro.json +++ b/src/translations/locales/ro.json @@ -616,7 +616,9 @@ "wallet_update_interval": "actualizat o dată pe oră", "blockchain_update_interval": "actualizat la fiecare 28 de zile", "list_end_label": "aceasta este ultima înregistrare din istoricul soldului.", - "no_data": "Nu există date de afișat pentru perioada specificată." + "no_data": "Nu există date de afișat pentru perioada specificată.", + "you": "tu", + "contribution": "contribuție" }, "pop_up": { "update_now": "Actualizează acum", diff --git a/src/translations/locales/ru.json b/src/translations/locales/ru.json index 0427005ad..bee4efcfc 100644 --- a/src/translations/locales/ru.json +++ b/src/translations/locales/ru.json @@ -616,7 +616,9 @@ "wallet_update_interval": "обновляется каждый час", "blockchain_update_interval": "обновляется каждые 28 дней", "list_end_label": "это последняя запись в истории баланса.", - "no_data": "Нет данных для отображения за указанный период." + "no_data": "Нет данных для отображения за указанный период.", + "you": "вы", + "contribution": "вклад" }, "pop_up": { "update_now": "Обновить сейчас", diff --git a/src/translations/locales/sk.json b/src/translations/locales/sk.json index 9b7277385..39965b16d 100644 --- a/src/translations/locales/sk.json +++ b/src/translations/locales/sk.json @@ -616,7 +616,9 @@ "wallet_update_interval": "aktualizované každú hodinu", "blockchain_update_interval": "aktualizované každých 28 dní", "list_end_label": "toto je posledný záznam histórie zostatkov", - "no_data": "V zadanom období neexistujú žiadne údaje." + "no_data": "V zadanom období neexistujú žiadne údaje.", + "you": "ty", + "contribution": "príspevok" }, "pop_up": { "update_now": "Aktualizovať teraz", diff --git a/src/translations/locales/sl.json b/src/translations/locales/sl.json index 38ccf526a..cadd9416d 100644 --- a/src/translations/locales/sl.json +++ b/src/translations/locales/sl.json @@ -616,7 +616,9 @@ "wallet_update_interval": "posodobljeno vsako uro", "blockchain_update_interval": "posodobi se vsakih 28 dni", "list_end_label": "to je zadnji vnos v zgodovino stanja.", - "no_data": "Za navedeno obdobje ni podatkov za prikaz." + "no_data": "Za navedeno obdobje ni podatkov za prikaz.", + "you": "vi", + "contribution": "prispevek" }, "pop_up": { "update_now": "Posodobi zdaj", diff --git a/src/translations/locales/sq.json b/src/translations/locales/sq.json index 52b858ff4..b9f6f4b47 100644 --- a/src/translations/locales/sq.json +++ b/src/translations/locales/sq.json @@ -616,7 +616,9 @@ "wallet_update_interval": "përditësuar çdo orë", "blockchain_update_interval": "azhurnohet çdo 28 ditë", "list_end_label": "kjo është hyrja e fundit e historikut të shumës në gjendje.", - "no_data": "Nuk ka të dhëna të disponuara " + "no_data": "Nuk ka të dhëna të disponuara ", + "you": "ju", + "contribution": "kontributë" }, "pop_up": { "update_now": "Përditëso tani", diff --git a/src/translations/locales/sv.json b/src/translations/locales/sv.json index a0e88e710..7fcfd96d2 100644 --- a/src/translations/locales/sv.json +++ b/src/translations/locales/sv.json @@ -616,7 +616,9 @@ "wallet_update_interval": "uppdateras varje timme", "blockchain_update_interval": "uppdateras varje 28 dagar", "list_end_label": "detta är den sista posten i saldohistoriken.", - "no_data": "Det finns inga data att visa för den angivna perioden." + "no_data": "Det finns inga data att visa för den angivna perioden.", + "you": "du", + "contribution": "bidrag" }, "pop_up": { "update_now": "Uppdatera nu", diff --git a/src/translations/locales/te.json b/src/translations/locales/te.json index 728a149cf..5c5cfc3c5 100644 --- a/src/translations/locales/te.json +++ b/src/translations/locales/te.json @@ -616,7 +616,9 @@ "wallet_update_interval": "ప్రతిగంట అప్​డేట్ చేయబడుతుంది", "blockchain_update_interval": "ప్రతి 28 రోజులు నవీకరిస్తుంది", "list_end_label": "ఇది బ్యాలెన్స్ చరిత్ర యొక్క చివరి ఎంట్రీ.", - "no_data": "నిర్ధిష్ట పీరియడ్ కొరకు డిస్​ప్లే చేయడానికి ఎలాంటి డేటా లేదు." + "no_data": "నిర్ధిష్ట పీరియడ్ కొరకు డిస్​ప్లే చేయడానికి ఎలాంటి డేటా లేదు.", + "you": "మీరు", + "contribution": "యోగదానం" }, "pop_up": { "update_now": "ఇప్పుడు అప్​డేట్ చేయండి", diff --git a/src/translations/locales/th.json b/src/translations/locales/th.json index 45e7da019..39523bb6a 100644 --- a/src/translations/locales/th.json +++ b/src/translations/locales/th.json @@ -617,7 +617,9 @@ "wallet_update_interval": "อัปเดตทุกชั่วโมง", "blockchain_update_interval": "อัปเดตทุก 28 วัน", "list_end_label": "นี่คือรายการสุดท้ายของประวัติยอดคงเหลือ", - "no_data": "ไม่มีข้อมูลให้แสดงสำหรับช่วงเวลาที่ระบุ" + "no_data": "ไม่มีข้อมูลให้แสดงสำหรับช่วงเวลาที่ระบุ", + "you": "คุณ", + "contribution": "การสนับสนุน" }, "pop_up": { "update_now": "อัปเดตตอนนี้", diff --git a/src/translations/locales/tr.json b/src/translations/locales/tr.json index fc27b5918..4822b65a4 100644 --- a/src/translations/locales/tr.json +++ b/src/translations/locales/tr.json @@ -616,7 +616,9 @@ "wallet_update_interval": "saatte bir güncellenir", "blockchain_update_interval": "her 28 günde güncellenir", "list_end_label": "bu, bakiye geçmişinin son girişidir.", - "no_data": "Belirtilen dönem için görüntülenecek veri yok." + "no_data": "Belirtilen dönem için görüntülenecek veri yok.", + "you": "sen", + "contribution": "katkı" }, "pop_up": { "update_now": "Şimdi Güncelle", diff --git a/src/translations/locales/uk.json b/src/translations/locales/uk.json index 58f44711a..fc7e757b2 100644 --- a/src/translations/locales/uk.json +++ b/src/translations/locales/uk.json @@ -616,7 +616,9 @@ "wallet_update_interval": "оновлюється щогодини", "blockchain_update_interval": "оновлюється кожні 28 днів", "list_end_label": "це останній запис історії балансу.", - "no_data": "Немає даних для відображення за вказаний період." + "no_data": "Немає даних для відображення за вказаний період.", + "you": "ви", + "contribution": "внесок" }, "pop_up": { "update_now": "Оновити зараз", diff --git a/src/translations/locales/ur.json b/src/translations/locales/ur.json index 286463982..72c5f2e82 100644 --- a/src/translations/locales/ur.json +++ b/src/translations/locales/ur.json @@ -616,7 +616,9 @@ "wallet_update_interval": "ہر گھنٹہ اپڈیٹ شدہ", "blockchain_update_interval": "ہر 28 دن تازہ کیا جاتا ہے", "list_end_label": "یہ بیلنس کی سرگزشت کا آخری اندراج ہے۔", - "no_data": "صراحت کردہ میعاد کے لیے دکھانے کے لیے کوئی ڈیٹا نہیں ہے۔" + "no_data": "صراحت کردہ میعاد کے لیے دکھانے کے لیے کوئی ڈیٹا نہیں ہے۔", + "you": "آپ", + "contribution": "شراکت" }, "pop_up": { "update_now": "ابھی اپڈیٹ", diff --git a/src/translations/locales/vi.json b/src/translations/locales/vi.json index 5356c3dd9..80db44d81 100644 --- a/src/translations/locales/vi.json +++ b/src/translations/locales/vi.json @@ -616,7 +616,9 @@ "wallet_update_interval": "được cập nhật mỗi giờ", "blockchain_update_interval": "được cập nhật mỗi 28 ngày", "list_end_label": "đây là mục cuối cùng của lịch sử số dư.", - "no_data": "Không có dữ liệu để hiển thị trong khoảng thời gian được chỉ định." + "no_data": "Không có dữ liệu để hiển thị trong khoảng thời gian được chỉ định.", + "you": "bạn", + "contribution": "đóng góp" }, "pop_up": { "update_now": "Cập nhật ngay", diff --git a/src/translations/locales/zh-hant.json b/src/translations/locales/zh-hant.json index 0784f9dc4..8c65c3da6 100644 --- a/src/translations/locales/zh-hant.json +++ b/src/translations/locales/zh-hant.json @@ -616,7 +616,9 @@ "wallet_update_interval": "每小時更新", "blockchain_update_interval": "每28天更新一次", "list_end_label": "這是餘額歷史的最後一條項目。", - "no_data": "指定期間內沒有可以顯示的資料。" + "no_data": "指定期間內沒有可以顯示的資料。", + "you": "你", + "contribution": "貢獻" }, "pop_up": { "update_now": "立即更新", diff --git a/src/translations/locales/zh.json b/src/translations/locales/zh.json index dcd457a9b..c65541acf 100644 --- a/src/translations/locales/zh.json +++ b/src/translations/locales/zh.json @@ -616,7 +616,9 @@ "wallet_update_interval": "每小时更新一次", "blockchain_update_interval": "每28天更新一次", "list_end_label": "这是余额历史记录的最后一条。", - "no_data": "指定期间内没有要显示的数据。" + "no_data": "指定期间内没有要显示的数据。", + "you": "你", + "contribution": "贡献" }, "pop_up": { "update_now": "立即更新",