Skip to content

Commit 28b8b31

Browse files
alexmf91sallymoc
andauthored
feat: add waiting-for-tick screen for pending transactions on tx page (#424)
* feat: implement waiting for tick on tx page * refactor: update tick watcher to use last processed tick query and adjust polling logic * fix(tx): stop polling after tick reached, refine UI and clean up - Stop polling once target tick is reached - Refine waiting screen UI and time formatting - Distinguish invalid format from not-found errors - Remove unused locale keys and type export * fix(tx): reset refetch state on navigation and limit error retries - Reset hasRefetched when targetTick changes - Stop polling after 5 consecutive errors and show error message --------- Co-authored-by: sallymoc <sallymoc.qubic@gmail.com>
1 parent 7802ccf commit 28b8b31

File tree

19 files changed

+357
-16
lines changed

19 files changed

+357
-16
lines changed

public/locales/ar/network-page.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"hide": "إخفاء",
5858
"show": "عرض",
5959
"transactionNotFound": "المعاملة غير موجودة",
60+
"invalidTransactionId": "معرّف المعاملة غير صالح. يرجى التحقق من المعرّف والمحاولة مرة أخرى.",
6061
"invalidAddressError": "تنسيق العنوان غير صحيح. يرجى التحقق من العنوان والمحاولة مرة أخرى.",
6162
"addressNotFoundError": "خطأ: لم نتمكن من العثور على العنوان الذي تبحث عنه. يرجى التحقق من العنوان والمحاولة مرة أخرى.",
6263
"loadingTransactionsError": "خطأ: حدث خطأ أثناء تحميل المعاملات. يرجى المحاولة مرة أخرى لاحقًا.",
@@ -177,5 +178,10 @@
177178
"matchingEntities": "النتائج المطابقة",
178179
"transactionsFound": "{{count}} معاملة",
179180
"showingMaxTransactions": "عرض آخر {{count}} معاملة",
180-
"maxResultsHint": "النتائج محدودة بـ {{count}}. استخدم الفلاتر لتضييق نطاق القائمة."
181+
"maxResultsHint": "النتائج محدودة بـ {{count}}. استخدم الفلاتر لتضييق نطاق القائمة.",
182+
"waitingForTickTitle": "في انتظار معالجة التيك",
183+
"waitingForTickDesc": "هذه المعاملة مجدولة للتيك {{targetTick}}. ستكون متاحة بمجرد وصول الشبكة إلى ذلك التيك.",
184+
"targetTick": "التيك المستهدف",
185+
"estimatedWait": "الوقت المقدر للانتظار",
186+
"tickCheckFailed": "تعذر التحقق من حالة التك. يرجى المحاولة مرة أخرى لاحقًا."
181187
}

public/locales/de/network-page.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"hide": "Ausblenden",
5858
"show": "Anzeigen",
5959
"transactionNotFound": "Transaktion nicht gefunden",
60+
"invalidTransactionId": "Ungültige Transaktions-ID. Bitte überprüfen Sie die ID und versuchen Sie es erneut.",
6061
"invalidAddressError": "Das Adressformat ist ungültig. Bitte überprüfen Sie die Adresse und versuchen Sie es erneut.",
6162
"addressNotFoundError": "Fehler: Wir konnten die gesuchte Adresse nicht finden. Bitte überprüfen Sie die Adresse und versuchen Sie es erneut.",
6263
"loadingTransactionsError": "Fehler: Beim Laden der Transaktionen ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.",
@@ -177,5 +178,10 @@
177178
"matchingEntities": "Übereinstimmende Ergebnisse",
178179
"transactionsFound": "{{count}} Transaktionen",
179180
"showingMaxTransactions": "Zeige die letzten {{count}} Transaktionen",
180-
"maxResultsHint": "Ergebnisse sind auf {{count}} begrenzt. Verwenden Sie Filter, um die Liste einzugrenzen."
181+
"maxResultsHint": "Ergebnisse sind auf {{count}} begrenzt. Verwenden Sie Filter, um die Liste einzugrenzen.",
182+
"waitingForTickTitle": "Warten auf Verarbeitung des Ticks",
183+
"waitingForTickDesc": "Diese Transaktion ist für Tick {{targetTick}} geplant. Sie wird verfügbar sein, sobald das Netzwerk diesen Tick erreicht.",
184+
"targetTick": "Ziel-Tick",
185+
"estimatedWait": "Geschätzte Wartezeit",
186+
"tickCheckFailed": "Tick-Status konnte nicht überprüft werden. Bitte versuchen Sie es später erneut."
181187
}

public/locales/en/network-page.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"hide": "Hide",
5858
"show": "Show",
5959
"transactionNotFound": "Transaction not found",
60+
"invalidTransactionId": "Invalid ID format. Please check the transaction ID and try again.",
6061
"invalidAddressError": "The address format is invalid. Please check the address and try again.",
6162
"addressNotFoundError": "Error: We could not find the address you are looking for. Please check the address and try again.",
6263
"loadingTransactionsError": "Error: Something went wrong while loading transactions. Please try again later.",
@@ -177,5 +178,10 @@
177178
"matchingEntities": "Matching Results",
178179
"transactionsFound": "{{count}} transactions",
179180
"showingMaxTransactions": "Showing the last {{count}} transactions",
180-
"maxResultsHint": "Results are limited to {{count}}. Use filters to narrow down the list."
181+
"maxResultsHint": "Results are limited to {{count}}. Use filters to narrow down the list.",
182+
"waitingForTickTitle": "Waiting for tick to be processed",
183+
"waitingForTickDesc": "This transaction is scheduled for tick {{targetTick}}. It will be available once the network reaches that tick.",
184+
"targetTick": "Target Tick",
185+
"estimatedWait": "Estimated wait",
186+
"tickCheckFailed": "Unable to check tick status. Please try again later."
181187
}

public/locales/es/network-page.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"hide": "Ocultar",
5858
"show": "Mostrar",
5959
"transactionNotFound": "Transacción no encontrada",
60+
"invalidTransactionId": "ID de transacción inválido. Verifica la ID y vuelve a intentarlo.",
6061
"invalidAddressError": "El formato de la dirección no es válido. Verifica la dirección y vuelve a intentarlo.",
6162
"addressNotFoundError": "Error: No pudimos encontrar la dirección que estás buscando. Verifica la dirección y vuelve a intentarlo.",
6263
"loadingTransactionsError": "Error: Algo ha ido mal al cargar las transacciones. Por favor, inténtalo de nuevo más tarde.",
@@ -177,5 +178,10 @@
177178
"matchingEntities": "Resultados coincidentes",
178179
"transactionsFound": "{{count}} transacciones",
179180
"showingMaxTransactions": "Mostrando las últimas {{count}} transacciones",
180-
"maxResultsHint": "Los resultados están limitados a {{count}}. Use filtros para refinar la lista."
181+
"maxResultsHint": "Los resultados están limitados a {{count}}. Use filtros para refinar la lista.",
182+
"waitingForTickTitle": "Esperando a que el tick sea procesado",
183+
"waitingForTickDesc": "Esta transacción está programada para el tick {{targetTick}}. Estará disponible una vez que la red alcance ese tick.",
184+
"targetTick": "Tick objetivo",
185+
"estimatedWait": "Tiempo estimado de espera",
186+
"tickCheckFailed": "No se pudo verificar el estado del tick. Por favor, inténtelo de nuevo más tarde."
181187
}

public/locales/fr/network-page.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"hide": "Masquer",
5858
"show": "Afficher",
5959
"transactionNotFound": "Transaction non trouvée",
60+
"invalidTransactionId": "ID de transaction invalide. Veuillez vérifier l'ID et réessayer.",
6061
"invalidAddressError": "Le format de l'adresse n'est pas valide. Veuillez vérifier l'adresse et réessayer.",
6162
"addressNotFoundError": "Erreur : Nous n'avons pas pu trouver l'adresse que vous recherchez. Veuillez vérifier l'adresse et réessayer.",
6263
"loadingTransactionsError": "Erreur : Quelque chose a mal tourné lors du chargement des transactions. Veuillez réessayer plus tard.",
@@ -177,5 +178,10 @@
177178
"matchingEntities": "Résultats correspondants",
178179
"transactionsFound": "{{count}} transactions",
179180
"showingMaxTransactions": "Affichage des {{count}} dernières transactions",
180-
"maxResultsHint": "Les résultats sont limités à {{count}}. Utilisez des filtres pour affiner la liste."
181+
"maxResultsHint": "Les résultats sont limités à {{count}}. Utilisez des filtres pour affiner la liste.",
182+
"waitingForTickTitle": "En attente du traitement du tick",
183+
"waitingForTickDesc": "Cette transaction est prévue pour le tick {{targetTick}}. Elle sera disponible une fois que le réseau aura atteint ce tick.",
184+
"targetTick": "Tick cible",
185+
"estimatedWait": "Temps d'attente estimé",
186+
"tickCheckFailed": "Impossible de vérifier le statut du tick. Veuillez réessayer plus tard."
181187
}

public/locales/ja/network-page.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"hide": "隠す",
5858
"show": "表示する",
5959
"transactionNotFound": "トランザクションが見つかりません",
60+
"invalidTransactionId": "トランザクションIDが無効です。IDを確認して、再度お試しください。",
6061
"invalidAddressError": "アドレス形式が無効です。アドレスを確認して、再度お試しください。",
6162
"addressNotFoundError": "エラー:探しているアドレスが見つかりませんでした。アドレスを確認して、再度お試しください。",
6263
"loadingTransactionsError": "エラー:トランザクションの読み込み中に問題が発生しました。後でもう一度試してください。",
@@ -177,5 +178,10 @@
177178
"matchingEntities": "一致する結果",
178179
"transactionsFound": "{{count}}件のトランザクション",
179180
"showingMaxTransactions": "最新{{count}}件のトランザクションを表示",
180-
"maxResultsHint": "結果は{{count}}件に制限されています。フィルターを使用してリストを絞り込んでください。"
181+
"maxResultsHint": "結果は{{count}}件に制限されています。フィルターを使用してリストを絞り込んでください。",
182+
"waitingForTickTitle": "ティックの処理を待機中",
183+
"waitingForTickDesc": "このトランザクションはティック{{targetTick}}に予定されています。ネットワークがそのティックに到達すると利用可能になります。",
184+
"targetTick": "目標ティック",
185+
"estimatedWait": "推定待ち時間",
186+
"tickCheckFailed": "ティックの状態を確認できませんでした。後でもう一度お試しください。"
181187
}

public/locales/nl/network-page.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"hide": "Verbergen",
5858
"show": "Tonen",
5959
"transactionNotFound": "Transactie niet gevonden",
60+
"invalidTransactionId": "Ongeldig transactie-ID. Controleer de ID en probeer het opnieuw.",
6061
"invalidAddressError": "Het adresformaat is ongeldig. Controleer het adres en probeer het opnieuw.",
6162
"addressNotFoundError": "Fout: We konden het adres dat je zoekt niet vinden. Controleer het adres en probeer het opnieuw.",
6263
"loadingTransactionsError": "Fout: Er is iets misgegaan bij het laden van de transacties. Probeer het later opnieuw.",
@@ -177,5 +178,10 @@
177178
"matchingEntities": "Overeenkomende resultaten",
178179
"transactionsFound": "{{count}} transacties",
179180
"showingMaxTransactions": "Toont de laatste {{count}} transacties",
180-
"maxResultsHint": "Resultaten zijn beperkt tot {{count}}. Gebruik filters om de lijst te verfijnen."
181+
"maxResultsHint": "Resultaten zijn beperkt tot {{count}}. Gebruik filters om de lijst te verfijnen.",
182+
"waitingForTickTitle": "Wachten op verwerking van de tick",
183+
"waitingForTickDesc": "Deze transactie is gepland voor tick {{targetTick}}. Deze wordt beschikbaar zodra het netwerk die tick bereikt.",
184+
"targetTick": "Doeltick",
185+
"estimatedWait": "Geschatte wachttijd",
186+
"tickCheckFailed": "Kan tickstatus niet controleren. Probeer het later opnieuw."
181187
}

public/locales/pt/network-page.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"hide": "Esconder",
5858
"show": "Mostrar",
5959
"transactionNotFound": "Transação não encontrada",
60+
"invalidTransactionId": "ID de transação inválido. Verifique o ID e tente novamente.",
6061
"invalidAddressError": "O formato do endereço é inválido. Verifique o endereço e tente novamente.",
6162
"addressNotFoundError": "Erro: Não conseguimos encontrar o endereço que você está procurando. Verifique o endereço e tente novamente.",
6263
"loadingTransactionsError": "Erro: Algo deu errado ao carregar as transações. Por favor, tente novamente mais tarde.",
@@ -177,5 +178,10 @@
177178
"matchingEntities": "Resultados correspondentes",
178179
"transactionsFound": "{{count}} transações",
179180
"showingMaxTransactions": "Mostrando as últimas {{count}} transações",
180-
"maxResultsHint": "Os resultados estão limitados a {{count}}. Use filtros para refinar a lista."
181+
"maxResultsHint": "Os resultados estão limitados a {{count}}. Use filtros para refinar a lista.",
182+
"waitingForTickTitle": "Aguardando o processamento do tick",
183+
"waitingForTickDesc": "Esta transação está agendada para o tick {{targetTick}}. Ficará disponível assim que a rede atingir esse tick.",
184+
"targetTick": "Tick alvo",
185+
"estimatedWait": "Tempo estimado de espera",
186+
"tickCheckFailed": "Não foi possível verificar o estado do tick. Por favor, tente novamente mais tarde."
181187
}

public/locales/ru/network-page.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"hide": "Скрыть",
5858
"show": "Показать",
5959
"transactionNotFound": "Транзакция не найдена",
60+
"invalidTransactionId": "Недействительный ID транзакции. Пожалуйста, проверьте ID и попробуйте снова.",
6061
"invalidAddressError": "Недопустимый формат адреса. Пожалуйста, проверьте адрес и попробуйте снова.",
6162
"addressNotFoundError": "Ошибка: Мы не смогли найти адрес, который вы ищете. Пожалуйста, проверьте адрес и попробуйте снова.",
6263
"loadingTransactionsError": "Ошибка: Произошла ошибка при загрузке транзакций. Пожалуйста, попробуйте позже.",
@@ -177,5 +178,10 @@
177178
"matchingEntities": "Совпадающие результаты",
178179
"transactionsFound": "{{count}} транзакций",
179180
"showingMaxTransactions": "Показаны последние {{count}} транзакций",
180-
"maxResultsHint": "Результаты ограничены {{count}}. Используйте фильтры для уточнения списка."
181+
"maxResultsHint": "Результаты ограничены {{count}}. Используйте фильтры для уточнения списка.",
182+
"waitingForTickTitle": "Ожидание обработки тика",
183+
"waitingForTickDesc": "Эта транзакция запланирована на тик {{targetTick}}. Она станет доступна, когда сеть достигнет этого тика.",
184+
"targetTick": "Целевой тик",
185+
"estimatedWait": "Ожидаемое время ожидания",
186+
"tickCheckFailed": "Не удалось проверить статус тика. Пожалуйста, попробуйте позже."
181187
}

public/locales/tr/network-page.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"hide": "Gizle",
5858
"show": "Göster",
5959
"transactionNotFound": "İşlem bulunamadı",
60+
"invalidTransactionId": "İşlem ID'si geçersiz. Lütfen ID'yi kontrol edin ve tekrar deneyin.",
6061
"invalidAddressError": "Adres biçimi geçersiz. Lütfen adresi kontrol edin ve tekrar deneyin.",
6162
"addressNotFoundError": "Hata: Aradığınız adresi bulamadık. Lütfen adresi kontrol edin ve tekrar deneyin.",
6263
"loadingTransactionsError": "Hata: İşlemleri yüklerken bir sorun oluştu. Lütfen daha sonra tekrar deneyin.",
@@ -177,5 +178,10 @@
177178
"matchingEntities": "Eşleşen Sonuçlar",
178179
"transactionsFound": "{{count}} işlem",
179180
"showingMaxTransactions": "Son {{count}} işlem gösteriliyor",
180-
"maxResultsHint": "Sonuçlar {{count}} ile sınırlıdır. Listeyi daraltmak için filtreler kullanın."
181+
"maxResultsHint": "Sonuçlar {{count}} ile sınırlıdır. Listeyi daraltmak için filtreler kullanın.",
182+
"waitingForTickTitle": "Tick'in işlenmesi bekleniyor",
183+
"waitingForTickDesc": "Bu işlem {{targetTick}} tick'i için planlanmıştır. Ağ o tick'e ulaştığında kullanılabilir olacaktır.",
184+
"targetTick": "Hedef Tick",
185+
"estimatedWait": "Tahmini bekleme süresi",
186+
"tickCheckFailed": "Tick durumu kontrol edilemedi. Lütfen daha sonra tekrar deneyin."
181187
}

0 commit comments

Comments
 (0)