Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
13 changes: 7 additions & 6 deletions Features/WalletTab/Sources/Scenes/WalletPortfolioScene.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import SwiftUI
import Components
import Localization
import PrimitivesComponents
import Store

Expand All @@ -15,18 +16,18 @@ public struct WalletPortfolioScene: View {
public var body: some View {
NavigationStack {
ChartListView(model: model) {
Section {
ForEach(model.allTimeValues, id: \.title) {
ListItemView(model: $0)
if model.allTimeValues.isNotEmpty {
Section {
ForEach(model.allTimeValues, id: \.title) {
ListItemView(model: $0)
}
}
}
}
.navigationTitle(model.navigationTitle)
.navigationBarTitleDisplayMode(.inline)
.toolbarDismissItem(type: .close, placement: .cancellationAction)
.onChangeBindQuery(model.assetsQuery) { _, _ in
Task { await model.fetch() }
}
.bindQuery(model.assetsQuery)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import Foundation
import Primitives
import Components
import Formatters
import Localization
import PrimitivesComponents
import PriceService
import Store
Expand All @@ -23,8 +24,6 @@ public final class WalletPortfolioSceneViewModel: ChartListViewable {

public let assetsQuery: ObservableQuery<AssetsRequest>

private var assets: [AssetData] { assetsQuery.value }

var state: StateViewType<WalletPortfolioData> = .loading
public var selectedPeriod: ChartPeriod = .day

Expand All @@ -38,18 +37,21 @@ public final class WalletPortfolioSceneViewModel: ChartListViewable {
self.priceService = priceService
self.wallet = wallet

self.assetsQuery = ObservableQuery(AssetsRequest(walletId: wallet.walletId, filters: [.enabledBalance]), initialValue: [])
self.currencyCode = currencyCode
self.currencyFormatter = CurrencyFormatter(type: .currency, currencyCode: currencyCode)
self.priceFormatter = CurrencyFormatter(currencyCode: currencyCode)
self.percentFormatter = CurrencyFormatter(type: .percent, currencyCode: currencyCode)

self.assetsQuery = ObservableQuery(AssetsRequest(walletId: wallet.walletId, filters: [.enabledBalance]), initialValue: [])
}

var navigationTitle: String { wallet.name }
var navigationTitle: String { Localized.Wallet.Portfolio.title }
private var assets: [AssetData] { assetsQuery.value }

public var periods: [ChartPeriod] { [.day, .week, .month, .year, .all] }
public var chartState: StateViewType<ChartValuesViewModel> { state.map { $0.chart } }
public var chartState: StateViewType<ChartValuesViewModel> {
guard assets.isNotEmpty else { return .noData }
return state.map { $0.chart }
}

var allTimeValues: [ListItemModel] {
guard case .data(let data) = state else { return [] }
Expand All @@ -65,7 +67,6 @@ public final class WalletPortfolioSceneViewModel: ChartListViewable {

extension WalletPortfolioSceneViewModel {
public func fetch() async {
guard !assets.isEmpty else { return }
state = .loading
do {
let rate = try priceService.getRate(currency: currencyCode)
Expand Down
2 changes: 0 additions & 2 deletions Packages/Localization/Sources/Localized.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1601,8 +1601,6 @@ public enum Localized {
public static let title = Localized.tr("Localizable", "wallet.new.title", fallback: "New Wallet")
}
public enum Portfolio {
/// Estimated value based on current holdings and market prices.
public static let footer = Localized.tr("Localizable", "wallet.portfolio.footer", fallback: "Estimated value based on current holdings and market prices.")
/// Portfolio
public static let title = Localized.tr("Localizable", "wallet.portfolio.title", fallback: "Portfolio")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "الموافقة على الرموز المميزة غير محدودة";
"transfer.review_request" = "طلب مراجعة";
"wallet.portfolio.title" = "مَلَفّ";
"wallet.portfolio.footer" = "القيمة التقديرية مبنية على الحيازات الحالية وأسعار السوق.";
"wallet_connect.permissions.title" = "الأذونات";
"wallet_connect.permissions.view_balance" = "اطلع على رصيدك ونشاطك";
"wallet_connect.permissions.approval_requests" = "إرسال طلبات الموافقة";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "সীমাহীন টোকেন অনুমোদন";
"transfer.review_request" = "পর্যালোচনার অনুরোধ";
"wallet.portfolio.title" = "পোর্টফোলিও";
"wallet.portfolio.footer" = "বর্তমান মালিকানা এবং বাজার মূল্যের উপর ভিত্তি করে আনুমানিক মূল্য।";
"wallet_connect.permissions.title" = "অনুমতি";
"wallet_connect.permissions.view_balance" = "আপনার ব্যালেন্স এবং কার্যকলাপ দেখুন";
"wallet_connect.permissions.approval_requests" = "অনুমোদনের অনুরোধ পাঠান";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Neomezené schvalování tokenů";
"transfer.review_request" = "Žádost o kontrolu";
"wallet.portfolio.title" = "Portfolio";
"wallet.portfolio.footer" = "Odhadovaná hodnota na základě aktuálních aktiv a tržních cen.";
"wallet_connect.permissions.title" = "Oprávnění";
"wallet_connect.permissions.view_balance" = "Zobrazení zůstatku a aktivity";
"wallet_connect.permissions.approval_requests" = "Odeslat žádosti o schválení";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Ubegrænset tokengodkendelse";
"transfer.review_request" = "Anmodning om gennemgang";
"wallet.portfolio.title" = "Portefølje";
"wallet.portfolio.footer" = "Estimeret værdi baseret på nuværende beholdninger og markedspriser.";
"wallet_connect.permissions.title" = "Tilladelser";
"wallet_connect.permissions.view_balance" = "Se din saldo og aktivitet";
"wallet_connect.permissions.approval_requests" = "Send godkendelsesanmodninger";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Unbegrenzte Token-Genehmigung";
"transfer.review_request" = "Überprüfungsanfrage";
"wallet.portfolio.title" = "Portfolio";
"wallet.portfolio.footer" = "Geschätzter Wert basierend auf dem aktuellen Bestand und den Marktpreisen.";
"wallet_connect.permissions.title" = "Berechtigungen";
"wallet_connect.permissions.view_balance" = "Sehen Sie Ihren Kontostand und Ihre Aktivitäten ein.";
"wallet_connect.permissions.approval_requests" = "Genehmigungsanfragen senden";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Unlimited token approval";
"transfer.review_request" = "Review Request";
"wallet.portfolio.title" = "Portfolio";
"wallet.portfolio.footer" = "Estimated value based on current holdings and market prices.";
"wallet_connect.permissions.title" = "Permissions";
"wallet_connect.permissions.view_balance" = "View your balance and activity";
"wallet_connect.permissions.approval_requests" = "Send approval requests";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Aprobación ilimitada de tokens";
"transfer.review_request" = "Solicitud de revisión";
"wallet.portfolio.title" = "Cartera";
"wallet.portfolio.footer" = "Valor estimado basado en las tenencias actuales y los precios de mercado.";
"wallet_connect.permissions.title" = "Permisos";
"wallet_connect.permissions.view_balance" = "Consulta tu saldo y actividad.";
"wallet_connect.permissions.approval_requests" = "Enviar solicitudes de aprobación";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "تایید نامحدود توکن";
"transfer.review_request" = "درخواست بررسی";
"wallet.portfolio.title" = "نمونه کارها";
"wallet.portfolio.footer" = "ارزش تخمینی بر اساس دارایی‌های فعلی و قیمت‌های بازار.";
"wallet_connect.permissions.title" = "مجوزها";
"wallet_connect.permissions.view_balance" = "مشاهده موجودی و فعالیت خود";
"wallet_connect.permissions.approval_requests" = "ارسال درخواست‌های تأیید";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Walang limitasyong pag-apruba ng token";
"transfer.review_request" = "Kahilingan sa Pagsusuri";
"wallet.portfolio.title" = "Portfolio";
"wallet.portfolio.footer" = "Tinatayang halaga batay sa kasalukuyang mga hawak at presyo sa merkado.";
"wallet_connect.permissions.title" = "Mga Pahintulot";
"wallet_connect.permissions.view_balance" = "Tingnan ang iyong balanse at aktibidad";
"wallet_connect.permissions.approval_requests" = "Magpadala ng mga kahilingan sa pag-apruba";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Approbation illimitée des jetons";
"transfer.review_request" = "Demande de révision";
"wallet.portfolio.title" = "Portefeuille";
"wallet.portfolio.footer" = "Valeur estimée basée sur les avoirs actuels et les prix du marché.";
"wallet_connect.permissions.title" = "Autorisations";
"wallet_connect.permissions.view_balance" = "Consultez votre solde et votre activité";
"wallet_connect.permissions.approval_requests" = "Envoyer les demandes d'approbation";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Amincewa da alamar mara iyaka";
"transfer.review_request" = "Buƙatar Bita";
"wallet.portfolio.title" = "Fayil ɗin Fayil";
"wallet.portfolio.footer" = "Kimanta darajar bisa ga hannun jari na yanzu da farashin kasuwa.";
"wallet_connect.permissions.title" = "Izini";
"wallet_connect.permissions.view_balance" = "Duba ma'aunin ku da ayyukan ku";
"wallet_connect.permissions.approval_requests" = "Aika buƙatun amincewa";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "אישור אסימונים ללא הגבלה";
"transfer.review_request" = "בקשת סקירה";
"wallet.portfolio.title" = "תִיק";
"wallet.portfolio.footer" = "שווי משוער המבוסס על אחזקות נוכחיות ומחירי שוק.";
"wallet_connect.permissions.title" = "הרשאות";
"wallet_connect.permissions.view_balance" = "צפה ביתרה ובפעילות שלך";
"wallet_connect.permissions.approval_requests" = "שלח בקשות אישור";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "असीमित टोकन अनुमोदन";
"transfer.review_request" = "समीक्षा अनुरोध";
"wallet.portfolio.title" = "पोर्टफोलियो";
"wallet.portfolio.footer" = "वर्तमान होल्डिंग्स और बाजार मूल्यों के आधार पर अनुमानित मूल्य।";
"wallet_connect.permissions.title" = "अनुमतियां";
"wallet_connect.permissions.view_balance" = "अपना बैलेंस और गतिविधि देखें";
"wallet_connect.permissions.approval_requests" = "अनुमोदन अनुरोध भेजें";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Persetujuan token tanpa batas";
"transfer.review_request" = "Permintaan Peninjauan";
"wallet.portfolio.title" = "Portofolio";
"wallet.portfolio.footer" = "Perkiraan nilai berdasarkan kepemilikan saat ini dan harga pasar.";
"wallet_connect.permissions.title" = "Izin";
"wallet_connect.permissions.view_balance" = "Lihat saldo dan aktivitas Anda";
"wallet_connect.permissions.approval_requests" = "Kirim permintaan persetujuan";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Approvazione token illimitata";
"transfer.review_request" = "Richiesta di revisione";
"wallet.portfolio.title" = "Portfolio";
"wallet.portfolio.footer" = "Valore stimato in base alle partecipazioni attuali e ai prezzi di mercato.";
"wallet_connect.permissions.title" = "Autorizzazioni";
"wallet_connect.permissions.view_balance" = "Visualizza il tuo saldo e la tua attività";
"wallet_connect.permissions.approval_requests" = "Invia richieste di approvazione";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "無制限のトークン承認";
"transfer.review_request" = "レビューリクエスト";
"wallet.portfolio.title" = "ポートフォリオ";
"wallet.portfolio.footer" = "現在の保有資産と市場価格に基づいた推定値。";
"wallet_connect.permissions.title" = "権限";
"wallet_connect.permissions.view_balance" = "残高とアクティビティを確認する";
"wallet_connect.permissions.approval_requests" = "承認依頼を送信する";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "무제한 토큰 승인";
"transfer.review_request" = "검토 요청";
"wallet.portfolio.title" = "포트폴리오";
"wallet.portfolio.footer" = "현재 보유량과 시장 가격을 기준으로 산정한 추정 가치입니다.";
"wallet_connect.permissions.title" = "권한";
"wallet_connect.permissions.view_balance" = "잔액과 활동 내역을 확인하세요";
"wallet_connect.permissions.approval_requests" = "승인 요청 보내기";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Kelulusan token tanpa had";
"transfer.review_request" = "Permintaan Semakan";
"wallet.portfolio.title" = "Portfolio";
"wallet.portfolio.footer" = "Anggaran nilai berdasarkan pegangan semasa dan harga pasaran.";
"wallet_connect.permissions.title" = "Kebenaran";
"wallet_connect.permissions.view_balance" = "Lihat keseimbangan dan aktiviti anda";
"wallet_connect.permissions.approval_requests" = "Hantar permintaan kelulusan";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Onbeperkte tokengoedkeuring";
"transfer.review_request" = "Beoordelingsverzoek";
"wallet.portfolio.title" = "Portefeuille";
"wallet.portfolio.footer" = "Geschatte waarde op basis van de huidige portefeuille en marktprijzen.";
"wallet_connect.permissions.title" = "Toestemmingen";
"wallet_connect.permissions.view_balance" = "Bekijk je saldo en activiteit";
"wallet_connect.permissions.approval_requests" = "Verzoeken om goedkeuring verzenden";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Nieograniczone zatwierdzanie tokenów";
"transfer.review_request" = "Prośba o przegląd";
"wallet.portfolio.title" = "Teczka";
"wallet.portfolio.footer" = "Szacunkowa wartość oparta na bieżących zapasach i cenach rynkowych.";
"wallet_connect.permissions.title" = "Uprawnienia";
"wallet_connect.permissions.view_balance" = "Wyświetl swoje saldo i aktywność";
"wallet_connect.permissions.approval_requests" = "Wyślij prośby o zatwierdzenie";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Aprovação ilimitada de tokens";
"transfer.review_request" = "Solicitação de revisão";
"wallet.portfolio.title" = "Portfólio";
"wallet.portfolio.footer" = "Valor estimado com base nas participações atuais e nos preços de mercado.";
"wallet_connect.permissions.title" = "Permissões";
"wallet_connect.permissions.view_balance" = "Veja seu saldo e atividade";
"wallet_connect.permissions.approval_requests" = "Enviar solicitações de aprovação";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Aprobare nelimitată de tokenuri";
"transfer.review_request" = "Cerere de revizuire";
"wallet.portfolio.title" = "Portofoliu";
"wallet.portfolio.footer" = "Valoare estimată pe baza deținerilor actuale și a prețurilor de piață.";
"wallet_connect.permissions.title" = "Permisiuni";
"wallet_connect.permissions.view_balance" = "Vizualizați soldul și activitatea dvs.";
"wallet_connect.permissions.approval_requests" = "Trimiteți cereri de aprobare";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Неограниченное количество одобрений токенов";
"transfer.review_request" = "Подтвердить запрос";
"wallet.portfolio.title" = "Портфель";
"wallet.portfolio.footer" = "Оценочная стоимость рассчитана на основе текущих активов и рыночных цен.";
"wallet_connect.permissions.title" = "Разрешения";
"wallet_connect.permissions.view_balance" = "Просматривать баланс и активность";
"wallet_connect.permissions.approval_requests" = "Отправлять запросы на подтверждение";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Idhini ya tokeni isiyo na kikomo";
"transfer.review_request" = "Ombi la Uhakiki";
"wallet.portfolio.title" = "Kwingineko";
"wallet.portfolio.footer" = "Thamani inayokadiriwa kulingana na hisa za sasa na bei za soko.";
"wallet_connect.permissions.title" = "Ruhusa";
"wallet_connect.permissions.view_balance" = "Tazama salio na shughuli zako";
"wallet_connect.permissions.approval_requests" = "Tuma maombi ya idhini";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "อนุมัติโทเค็นได้ไม่จำกัดจำนวน";
"transfer.review_request" = "คำขอตรวจสอบ";
"wallet.portfolio.title" = "ผลงาน";
"wallet.portfolio.footer" = "มูลค่าโดยประมาณคำนวณจากสินทรัพย์ที่มีอยู่และราคาตลาด";
"wallet_connect.permissions.title" = "สิทธิ์การเข้าถึง";
"wallet_connect.permissions.view_balance" = "ตรวจสอบยอดเงินคงเหลือและกิจกรรมของคุณ";
"wallet_connect.permissions.approval_requests" = "ส่งคำขออนุมัติ";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Sınırsız token onayı";
"transfer.review_request" = "İnceleme Talebi";
"wallet.portfolio.title" = "Portföy";
"wallet.portfolio.footer" = "Mevcut varlıklar ve piyasa fiyatlarına göre tahmini değer.";
"wallet_connect.permissions.title" = "İzinler";
"wallet_connect.permissions.view_balance" = "Bakiyenizi ve işlemlerinizi görüntüleyin.";
"wallet_connect.permissions.approval_requests" = "Onay isteklerini gönderin";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "Необмежене схвалення токенів";
"transfer.review_request" = "Запит на перегляд";
"wallet.portfolio.title" = "Портфоліо";
"wallet.portfolio.footer" = "Оціночна вартість базується на поточних запасах та ринкових цінах.";
"wallet_connect.permissions.title" = "Дозволи";
"wallet_connect.permissions.view_balance" = "Перегляд вашого балансу та активності";
"wallet_connect.permissions.approval_requests" = "Надсилати запити на схвалення";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,6 @@
"simulation.warning.unlimited_token_approval.title" = "لامحدود ٹوکن کی منظوری";
"transfer.review_request" = "نظرثانی کی درخواست";
"wallet.portfolio.title" = "پورٹ فولیو";
"wallet.portfolio.footer" = "موجودہ ہولڈنگز اور مارکیٹ کی قیمتوں کی بنیاد پر تخمینی قیمت۔";
"wallet_connect.permissions.title" = "اجازتیں";
"wallet_connect.permissions.view_balance" = "اپنا توازن اور سرگرمی دیکھیں";
"wallet_connect.permissions.approval_requests" = "منظوری کی درخواستیں بھیجیں۔";
Expand Down
Loading
Loading