mirror of
https://github.com/pezkuwichain/pezkuwi-telegram-miniapp.git
synced 2026-06-20 04:31:05 +00:00
feat: add standalone explorer page at /explorer
This commit is contained in:
+1
-1
@@ -143,7 +143,7 @@ export function LanguageProvider({ children }: LanguageProviderProps) {
|
||||
const pathSegments = window.location.pathname.split('/').filter(Boolean);
|
||||
const firstSegment = pathSegments[0];
|
||||
// Don't rewrite URL for standalone pages like /citizens
|
||||
const STANDALONE_PATHS = ['citizens'];
|
||||
const STANDALONE_PATHS = ['citizens', 'explorer'];
|
||||
if (firstSegment && STANDALONE_PATHS.includes(firstSegment)) {
|
||||
// Keep standalone path as-is
|
||||
} else if (!firstSegment || !VALID_LANGS.includes(firstSegment as LanguageCode)) {
|
||||
|
||||
@@ -575,6 +575,31 @@ const ar: Translations = {
|
||||
walletSyncFailed: 'فشل مزامنة عنوان المحفظة مع قاعدة البيانات',
|
||||
},
|
||||
|
||||
explorer: {
|
||||
title: 'Pezkuwi Explorer',
|
||||
subtitle: 'مستكشف البلوكتشين',
|
||||
search: 'ابحث برقم الكتلة أو العنوان...',
|
||||
chainStats: 'إحصائيات السلسلة',
|
||||
latestBlocks: 'أحدث الكتل',
|
||||
recentTransfers: 'أحدث المعاملات',
|
||||
block: 'كتلة',
|
||||
validators: 'المدققون',
|
||||
era: 'الحقبة',
|
||||
blockTime: 'وقت الكتلة',
|
||||
extrinsics: 'معاملة',
|
||||
noResults: 'لم يتم العثور على نتائج',
|
||||
connecting: 'جاري الاتصال بالسلسلة...',
|
||||
hash: 'هاش',
|
||||
from: 'من',
|
||||
to: 'إلى',
|
||||
amount: 'المبلغ',
|
||||
time: 'الوقت',
|
||||
balance: 'الرصيد',
|
||||
seconds: 'ث مضت',
|
||||
finalized: 'الكتلة النهائية',
|
||||
searchResult: 'نتيجة البحث',
|
||||
},
|
||||
|
||||
citizen: {
|
||||
pageTitle: 'كن مواطناً',
|
||||
fullName: 'الاسم الكامل',
|
||||
|
||||
@@ -577,6 +577,31 @@ const ckb: Translations = {
|
||||
walletSyncFailed: 'هاوکاتکردنی ناونیشانی جزدان لەگەڵ DB سەرنەکەوت',
|
||||
},
|
||||
|
||||
explorer: {
|
||||
title: 'Pezkuwi Explorer',
|
||||
subtitle: 'گەڕانی بلۆکچەین',
|
||||
search: 'ژمارەی بلۆک یان ناونیشان بگەڕێ...',
|
||||
chainStats: 'ئامارەکانی زنجیرە',
|
||||
latestBlocks: 'دوایین بلۆکەکان',
|
||||
recentTransfers: 'دوایین مامەڵەکان',
|
||||
block: 'بلۆک',
|
||||
validators: 'ڤالیدەیتەر',
|
||||
era: 'سەردەم',
|
||||
blockTime: 'کاتی بلۆک',
|
||||
extrinsics: 'مامەڵە',
|
||||
noResults: 'ئەنجام نەدۆزرایەوە',
|
||||
connecting: 'پەیوەندی بە زنجیرەوە دەکرێت...',
|
||||
hash: 'هاش',
|
||||
from: 'لە',
|
||||
to: 'بۆ',
|
||||
amount: 'بڕ',
|
||||
time: 'کات',
|
||||
balance: 'باڵانس',
|
||||
seconds: 'چ پێش',
|
||||
finalized: 'بلۆکی کۆتایی',
|
||||
searchResult: 'ئەنجامی گەڕان',
|
||||
},
|
||||
|
||||
citizen: {
|
||||
pageTitle: 'ببە هاوڵاتی',
|
||||
fullName: 'ناوی تەواو',
|
||||
|
||||
@@ -576,6 +576,31 @@ const en: Translations = {
|
||||
walletSyncFailed: 'Wallet address sync to DB failed',
|
||||
},
|
||||
|
||||
explorer: {
|
||||
title: 'Pezkuwi Explorer',
|
||||
subtitle: 'Blockchain Explorer',
|
||||
search: 'Search block number or address...',
|
||||
chainStats: 'Chain Stats',
|
||||
latestBlocks: 'Latest Blocks',
|
||||
recentTransfers: 'Recent Extrinsics',
|
||||
block: 'Block',
|
||||
validators: 'Validators',
|
||||
era: 'Era',
|
||||
blockTime: 'Block Time',
|
||||
extrinsics: 'exts',
|
||||
noResults: 'No results found',
|
||||
connecting: 'Connecting to chain...',
|
||||
hash: 'Hash',
|
||||
from: 'From',
|
||||
to: 'To',
|
||||
amount: 'Amount',
|
||||
time: 'Time',
|
||||
balance: 'Balance',
|
||||
seconds: 's ago',
|
||||
finalized: 'Finalized Block',
|
||||
searchResult: 'Search Result',
|
||||
},
|
||||
|
||||
citizen: {
|
||||
pageTitle: 'Be Citizen',
|
||||
fullName: 'Full Name',
|
||||
|
||||
@@ -576,6 +576,31 @@ const fa: Translations = {
|
||||
walletSyncFailed: 'همگامسازی آدرس کیف پول با DB ناموفق',
|
||||
},
|
||||
|
||||
explorer: {
|
||||
title: 'Pezkuwi Explorer',
|
||||
subtitle: 'مرورگر بلاکچین',
|
||||
search: 'شماره بلاک یا آدرس جستجو کنید...',
|
||||
chainStats: 'آمار زنجیره',
|
||||
latestBlocks: 'آخرین بلاکها',
|
||||
recentTransfers: 'آخرین تراکنشها',
|
||||
block: 'بلاک',
|
||||
validators: 'اعتبارسنج',
|
||||
era: 'دوره',
|
||||
blockTime: 'زمان بلاک',
|
||||
extrinsics: 'تراکنش',
|
||||
noResults: 'نتیجهای یافت نشد',
|
||||
connecting: 'در حال اتصال به زنجیره...',
|
||||
hash: 'هش',
|
||||
from: 'از',
|
||||
to: 'به',
|
||||
amount: 'مقدار',
|
||||
time: 'زمان',
|
||||
balance: 'موجودی',
|
||||
seconds: 'ث پیش',
|
||||
finalized: 'بلاک نهایی',
|
||||
searchResult: 'نتیجه جستجو',
|
||||
},
|
||||
|
||||
citizen: {
|
||||
pageTitle: 'شهروند شوید',
|
||||
fullName: 'نام کامل',
|
||||
|
||||
@@ -601,6 +601,31 @@ const krd: Translations = {
|
||||
walletSyncFailed: 'Wallet adresa DB-\u00ea re senkron\u00eeze neb\u00fb',
|
||||
},
|
||||
|
||||
explorer: {
|
||||
title: 'Pezkuwi Explorer',
|
||||
subtitle: 'Gerîneya Blockchain',
|
||||
search: 'Li hejmara blokê an navnîşanê bigere...',
|
||||
chainStats: 'Statistîkên Zincîrê',
|
||||
latestBlocks: 'Blokên Dawîn',
|
||||
recentTransfers: 'Extrinsîkên Dawîn',
|
||||
block: 'Blok',
|
||||
validators: 'Validator',
|
||||
era: 'Era',
|
||||
blockTime: 'Dema Blokê',
|
||||
extrinsics: 'ext',
|
||||
noResults: 'Encam nehat dîtin',
|
||||
connecting: 'Bi zincîrê ve tê girêdan...',
|
||||
hash: 'Hash',
|
||||
from: 'Ji',
|
||||
to: 'Bo',
|
||||
amount: 'Mîqdar',
|
||||
time: 'Dem',
|
||||
balance: 'Balance',
|
||||
seconds: 's berê',
|
||||
finalized: 'Bloka Dawî',
|
||||
searchResult: 'Encama Lêgerînê',
|
||||
},
|
||||
|
||||
citizen: {
|
||||
pageTitle: 'Bibe Welatî',
|
||||
fullName: 'Navê Te',
|
||||
|
||||
@@ -577,6 +577,31 @@ const tr: Translations = {
|
||||
walletSyncFailed: 'Cüzdan adresi DB ile senkronize edilemedi',
|
||||
},
|
||||
|
||||
explorer: {
|
||||
title: 'Pezkuwi Explorer',
|
||||
subtitle: 'Blockchain Gezgini',
|
||||
search: 'Blok numarası veya adres ara...',
|
||||
chainStats: 'Zincir İstatistikleri',
|
||||
latestBlocks: 'Son Bloklar',
|
||||
recentTransfers: 'Son İşlemler',
|
||||
block: 'Blok',
|
||||
validators: 'Validatör',
|
||||
era: 'Era',
|
||||
blockTime: 'Blok Süresi',
|
||||
extrinsics: 'işlem',
|
||||
noResults: 'Sonuç bulunamadı',
|
||||
connecting: 'Zincire bağlanılıyor...',
|
||||
hash: 'Hash',
|
||||
from: 'Gönderen',
|
||||
to: 'Alıcı',
|
||||
amount: 'Miktar',
|
||||
time: 'Zaman',
|
||||
balance: 'Bakiye',
|
||||
seconds: 'sn önce',
|
||||
finalized: 'Kesinleşen Blok',
|
||||
searchResult: 'Arama Sonucu',
|
||||
},
|
||||
|
||||
citizen: {
|
||||
pageTitle: 'Vatandaş Ol',
|
||||
fullName: 'Tam İsim',
|
||||
|
||||
@@ -581,6 +581,32 @@ export interface Translations {
|
||||
walletSyncFailed: string;
|
||||
};
|
||||
|
||||
// Explorer page
|
||||
explorer: {
|
||||
title: string;
|
||||
subtitle: string;
|
||||
search: string;
|
||||
chainStats: string;
|
||||
latestBlocks: string;
|
||||
recentTransfers: string;
|
||||
block: string;
|
||||
validators: string;
|
||||
era: string;
|
||||
blockTime: string;
|
||||
extrinsics: string;
|
||||
noResults: string;
|
||||
connecting: string;
|
||||
hash: string;
|
||||
from: string;
|
||||
to: string;
|
||||
amount: string;
|
||||
time: string;
|
||||
balance: string;
|
||||
seconds: string;
|
||||
finalized: string;
|
||||
searchResult: string;
|
||||
};
|
||||
|
||||
// Citizen page
|
||||
citizen: {
|
||||
pageTitle: string;
|
||||
|
||||
Reference in New Issue
Block a user