feat: Complete wallet features - Multi-token support, Receive modal, Transaction history

This commit is contained in:
2025-10-28 08:04:14 +03:00
parent 2d1a2cf3ba
commit 9bf1c79e44
16 changed files with 1384 additions and 25 deletions
+123
View File
@@ -0,0 +1,123 @@
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=JetBrains+Mono:wght@100..800&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
:root {
/* Kurdish color scheme - kesk u sor u zer */
--background: 0 0% 100%;
--foreground: 0 0% 3.9%;
--card: 0 0% 100%;
--card-foreground: 0 0% 3.9%;
--popover: 0 0% 100%;
--popover-foreground: 0 0% 3.9%;
--primary: 148 100% 32%; /* Kurdish green */
--primary-foreground: 0 0% 98%;
--secondary: 358 84% 52%; /* Kurdish red */
--secondary-foreground: 0 0% 98%;
--muted: 52 100% 50%; /* Kurdish yellow muted */
--muted-foreground: 0 0% 20%;
--accent: 52 100% 50%; /* Kurdish yellow */
--accent-foreground: 0 0% 9%;
--destructive: 358 84% 52%;
--destructive-foreground: 0 0% 98%;
--border: 0 0% 89.8%;
--input: 0 0% 89.8%;
--ring: 148 100% 32%;
--radius: 0.5rem;
--chart-1: 148 100% 32%;
--chart-2: 358 84% 52%;
--chart-3: 52 100% 50%;
--chart-4: 148 100% 25%;
--chart-5: 358 84% 40%;
--sidebar-background: 0 0% 98%;
--sidebar-foreground: 0 0% 3.9%;
--sidebar-primary: 148 100% 32%;
--sidebar-primary-foreground: 0 0% 98%;
--sidebar-accent: 52 100% 50%;
--sidebar-accent-foreground: 0 0% 9%;
--sidebar-border: 0 0% 89.8%;
--sidebar-ring: 148 100% 32%;
}
.dark {
--background: 0 0% 3.9%;
--foreground: 0 0% 98%;
--card: 0 0% 3.9%;
--card-foreground: 0 0% 98%;
--popover: 0 0% 3.9%;
--popover-foreground: 0 0% 98%;
--primary: 148 100% 40%; /* Kurdish green dark */
--primary-foreground: 0 0% 9%;
--secondary: 358 84% 60%; /* Kurdish red dark */
--secondary-foreground: 0 0% 9%;
--muted: 52 100% 30%; /* Kurdish yellow dark muted */
--muted-foreground: 0 0% 98%;
--accent: 52 100% 45%; /* Kurdish yellow dark */
--accent-foreground: 0 0% 9%;
--destructive: 358 84% 52%;
--destructive-foreground: 0 0% 98%;
--border: 0 0% 14.9%;
--input: 0 0% 14.9%;
--ring: 148 100% 40%;
--chart-1: 148 100% 40%;
--chart-2: 358 84% 60%;
--chart-3: 52 100% 45%;
--chart-4: 148 100% 30%;
--chart-5: 358 84% 50%;
--sidebar-background: 0 0% 7%;
--sidebar-foreground: 0 0% 98%;
--sidebar-primary: 148 100% 40%;
--sidebar-primary-foreground: 0 0% 9%;
--sidebar-accent: 52 100% 45%;
--sidebar-accent-foreground: 0 0% 9%;
--sidebar-border: 0 0% 14.9%;
--sidebar-ring: 148 100% 40%;
}
}
@layer base {
* {
@apply border-border;
}
body {
@apply bg-background text-foreground font-sans dark:bg-background dark:text-foreground;
}
pre, code {
@apply font-mono;
}
}
.markdown-editor {
@apply font-mono text-base leading-relaxed;
}
.markdown-preview {
@apply prose max-w-none prose-blue dark:prose-invert;
}
.markdown-preview pre {
@apply bg-secondary p-4 rounded-md overflow-x-auto;
}
.markdown-preview code {
@apply text-sm font-mono text-primary;
}
.markdown-preview h1,
.markdown-preview h2,
.markdown-preview h3,
.markdown-preview h4,
.markdown-preview h5,
.markdown-preview h6 {
@apply font-sans font-semibold text-foreground;
}
.markdown-preview ul,
.markdown-preview ol {
@apply my-4 ml-6;
}
+59
View File
@@ -0,0 +1,59 @@
export default {
// Navigation
'nav.home': 'الرئيسية',
'nav.dashboard': 'لوحة التحكم',
'nav.governance': 'الحوكمة',
'nav.treasury': 'الخزينة',
'nav.staking': 'التخزين',
'nav.forum': 'المنتدى',
'nav.profile': 'الملف الشخصي',
'nav.admin': 'المدير',
// Hero Section
'hero.title': 'منصة حوكمة البلوكشين',
'hero.subtitle': 'حوكمة ديمقراطية وشفافة بتقنية البلوكشين',
'hero.cta.primary': 'ابدأ الآن',
'hero.cta.secondary': 'اعرف المزيد',
// Auth
'auth.login': 'تسجيل الدخول',
'auth.logout': 'تسجيل الخروج',
'auth.signup': 'إنشاء حساب',
'auth.email': 'البريد الإلكتروني',
'auth.password': 'كلمة المرور',
'auth.confirmPassword': 'تأكيد كلمة المرور',
'auth.rememberMe': 'تذكرني',
'auth.forgotPassword': 'نسيت كلمة المرور؟',
// Wallet
'wallet.connect': 'ربط المحفظة',
'wallet.disconnect': 'قطع الاتصال',
'wallet.balance': 'الرصيد',
'wallet.address': 'العنوان',
'wallet.network': 'الشبكة',
// Governance
'governance.proposals': 'المقترحات',
'governance.activeProposals': 'المقترحات النشطة',
'governance.vote': 'التصويت',
'governance.delegate': 'التفويض',
'governance.createProposal': 'إنشاء مقترح',
'governance.votingPower': 'قوة التصويت',
// Common
'common.loading': 'جاري التحميل...',
'common.save': 'حفظ',
'common.cancel': 'إلغاء',
'common.confirm': 'تأكيد',
'common.delete': 'حذف',
'common.edit': 'تعديل',
'common.search': 'بحث',
'common.filter': 'تصفية',
'common.sort': 'ترتيب',
'common.submit': 'إرسال',
'common.back': 'رجوع',
'common.next': 'التالي',
'common.previous': 'السابق',
'common.yes': 'نعم',
'common.no': 'لا'
}
+59
View File
@@ -0,0 +1,59 @@
export default {
// Navigation
'nav.home': 'سەرەتا',
'nav.dashboard': 'داشبۆرد',
'nav.governance': 'حوکمڕانی',
'nav.treasury': 'خەزێنە',
'nav.staking': 'ستەیکینگ',
'nav.forum': 'فۆرەم',
'nav.profile': 'پرۆفایل',
'nav.admin': 'بەڕێوەبەر',
// Hero Section
'hero.title': 'پلاتفۆرمی حوکمڕانی بلۆکچەین',
'hero.subtitle': 'حوکمڕانی دیموکراتی و شەفاف بە تەکنەلۆژیای بلۆکچەین',
'hero.cta.primary': 'دەست پێ بکە',
'hero.cta.secondary': 'زیاتر بزانە',
// Auth
'auth.login': 'چوونەژوورەوە',
'auth.logout': 'دەرچوون',
'auth.signup': 'تۆمارکردن',
'auth.email': 'ئیمەیڵ',
'auth.password': 'وشەی نهێنی',
'auth.confirmPassword': 'دووبارەکردنەوەی وشەی نهێنی',
'auth.rememberMe': 'بمهێنەوە یاد',
'auth.forgotPassword': 'وشەی نهێنیت لەبیر چووە؟',
// Wallet
'wallet.connect': 'جزدان بەستنەوە',
'wallet.disconnect': 'پچڕاندن',
'wallet.balance': 'باڵانس',
'wallet.address': 'ناونیشان',
'wallet.network': 'تۆڕ',
// Governance
'governance.proposals': 'پێشنیارەکان',
'governance.activeProposals': 'پێشنیارە چالاکەکان',
'governance.vote': 'دەنگدان',
'governance.delegate': 'نوێنەر',
'governance.createProposal': 'پێشنیار دروست بکە',
'governance.votingPower': 'هێزی دەنگدان',
// Common
'common.loading': 'چاوەڕوان بە...',
'common.save': 'پاشەکەوتکردن',
'common.cancel': 'هەڵوەشاندنەوە',
'common.confirm': 'دڵنیاکردنەوە',
'common.delete': 'سڕینەوە',
'common.edit': 'دەستکاریکردن',
'common.search': 'گەڕان',
'common.filter': 'فلتەر',
'common.sort': 'ڕیزکردن',
'common.submit': 'ناردن',
'common.back': 'گەڕانەوە',
'common.next': 'دواتر',
'common.previous': 'پێشوو',
'common.yes': 'بەڵێ',
'common.no': 'نەخێر'
}
+59
View File
@@ -0,0 +1,59 @@
export default {
// Navigation
'nav.home': 'Home',
'nav.dashboard': 'Dashboard',
'nav.governance': 'Governance',
'nav.treasury': 'Treasury',
'nav.staking': 'Staking',
'nav.forum': 'Forum',
'nav.profile': 'Profile',
'nav.admin': 'Admin',
// Hero Section
'hero.title': 'Blockchain Governance Platform',
'hero.subtitle': 'Democratic and transparent governance with blockchain technology',
'hero.cta.primary': 'Get Started',
'hero.cta.secondary': 'Learn More',
// Auth
'auth.login': 'Login',
'auth.logout': 'Logout',
'auth.signup': 'Sign Up',
'auth.email': 'Email',
'auth.password': 'Password',
'auth.confirmPassword': 'Confirm Password',
'auth.rememberMe': 'Remember me',
'auth.forgotPassword': 'Forgot password?',
// Wallet
'wallet.connect': 'Connect Wallet',
'wallet.disconnect': 'Disconnect',
'wallet.balance': 'Balance',
'wallet.address': 'Address',
'wallet.network': 'Network',
// Governance
'governance.proposals': 'Proposals',
'governance.activeProposals': 'Active Proposals',
'governance.vote': 'Vote',
'governance.delegate': 'Delegate',
'governance.createProposal': 'Create Proposal',
'governance.votingPower': 'Voting Power',
// Common
'common.loading': 'Loading...',
'common.save': 'Save',
'common.cancel': 'Cancel',
'common.confirm': 'Confirm',
'common.delete': 'Delete',
'common.edit': 'Edit',
'common.search': 'Search',
'common.filter': 'Filter',
'common.sort': 'Sort',
'common.submit': 'Submit',
'common.back': 'Back',
'common.next': 'Next',
'common.previous': 'Previous',
'common.yes': 'Yes',
'common.no': 'No'
}
+59
View File
@@ -0,0 +1,59 @@
export default {
// Navigation
'nav.home': 'خانه',
'nav.dashboard': 'داشبورد',
'nav.governance': 'حکمرانی',
'nav.treasury': 'خزانه',
'nav.staking': 'استیکینگ',
'nav.forum': 'انجمن',
'nav.profile': 'پروفایل',
'nav.admin': 'مدیر',
// Hero Section
'hero.title': 'پلتفرم حکمرانی بلاکچین',
'hero.subtitle': 'حکمرانی دموکراتیک و شفاف با فناوری بلاکچین',
'hero.cta.primary': 'شروع کنید',
'hero.cta.secondary': 'بیشتر بدانید',
// Auth
'auth.login': 'ورود',
'auth.logout': 'خروج',
'auth.signup': 'ثبت نام',
'auth.email': 'ایمیل',
'auth.password': 'رمز عبور',
'auth.confirmPassword': 'تایید رمز عبور',
'auth.rememberMe': 'مرا به خاطر بسپار',
'auth.forgotPassword': 'رمز عبور را فراموش کرده‌اید؟',
// Wallet
'wallet.connect': 'اتصال کیف پول',
'wallet.disconnect': 'قطع اتصال',
'wallet.balance': 'موجودی',
'wallet.address': 'آدرس',
'wallet.network': 'شبکه',
// Governance
'governance.proposals': 'پیشنهادات',
'governance.activeProposals': 'پیشنهادات فعال',
'governance.vote': 'رای دادن',
'governance.delegate': 'نماینده',
'governance.createProposal': 'ایجاد پیشنهاد',
'governance.votingPower': 'قدرت رای',
// Common
'common.loading': 'در حال بارگذاری...',
'common.save': 'ذخیره',
'common.cancel': 'لغو',
'common.confirm': 'تایید',
'common.delete': 'حذف',
'common.edit': 'ویرایش',
'common.search': 'جستجو',
'common.filter': 'فیلتر',
'common.sort': 'مرتب‌سازی',
'common.submit': 'ارسال',
'common.back': 'بازگشت',
'common.next': 'بعدی',
'common.previous': 'قبلی',
'common.yes': 'بله',
'common.no': 'خیر'
}
+59
View File
@@ -0,0 +1,59 @@
export default {
// Navigation
'nav.home': 'Destpêk',
'nav.dashboard': 'Panela Kontrolê',
'nav.governance': 'Rêveberî',
'nav.treasury': 'Xezîne',
'nav.staking': 'Staking',
'nav.forum': 'Forum',
'nav.profile': 'Profîl',
'nav.admin': 'Rêvebir',
// Hero Section
'hero.title': 'Platforma Rêveberiya Blockchain',
'hero.subtitle': 'Rêveberiya demokratîk û şeffaf a bi teknolojiya blockchain',
'hero.cta.primary': 'Dest Pê Bike',
'hero.cta.secondary': 'Zêdetir Bizane',
// Auth
'auth.login': 'Têkeve',
'auth.logout': 'Derkeve',
'auth.signup': 'Tomar Bibe',
'auth.email': 'E-peyam',
'auth.password': 'Şîfre',
'auth.confirmPassword': 'Şîfreyê Piştrast Bike',
'auth.rememberMe': 'Min bi bîr bîne',
'auth.forgotPassword': 'Şîfreya min ji bîr kir?',
// Wallet
'wallet.connect': 'Wallet Girê Bide',
'wallet.disconnect': 'Veqetîne',
'wallet.balance': 'Balans',
'wallet.address': 'Navnîşan',
'wallet.network': 'Tor',
// Governance
'governance.proposals': 'Pêşniyar',
'governance.activeProposals': 'Pêşniyarên Çalak',
'governance.vote': 'Deng Bide',
'governance.delegate': 'Temsîlkar',
'governance.createProposal': 'Pêşniyar Biafirîne',
'governance.votingPower': 'Hêza Dengdanê',
// Common
'common.loading': 'Tê barkirin...',
'common.save': 'Tomar Bike',
'common.cancel': 'Betal',
'common.confirm': 'Piştrast Bike',
'common.delete': 'Jê Bibe',
'common.edit': 'Biguherîne',
'common.search': 'Lêgerîn',
'common.filter': 'Parzûn',
'common.sort': 'Rêz Bike',
'common.submit': 'Bişîne',
'common.back': 'Paşve',
'common.next': 'Pêşve',
'common.previous': 'Berê',
'common.yes': 'Erê',
'common.no': 'Na'
}
+59
View File
@@ -0,0 +1,59 @@
export default {
// Navigation
'nav.home': 'Ana Sayfa',
'nav.dashboard': 'Kontrol Paneli',
'nav.governance': 'Yönetişim',
'nav.treasury': 'Hazine',
'nav.staking': 'Staking',
'nav.forum': 'Forum',
'nav.profile': 'Profil',
'nav.admin': 'Yönetici',
// Hero Section
'hero.title': 'Blockchain Yönetişim Platformu',
'hero.subtitle': 'Blockchain teknolojisi ile demokratik ve şeffaf yönetişim',
'hero.cta.primary': 'Başla',
'hero.cta.secondary': 'Daha Fazla Bilgi',
// Auth
'auth.login': 'Giriş Yap',
'auth.logout': 'Çıkış Yap',
'auth.signup': 'Kayıt Ol',
'auth.email': 'E-posta',
'auth.password': 'Şifre',
'auth.confirmPassword': 'Şifre Tekrar',
'auth.rememberMe': 'Beni hatırla',
'auth.forgotPassword': 'Şifremi unuttum?',
// Wallet
'wallet.connect': 'Cüzdan Bağla',
'wallet.disconnect': 'Bağlantıyı Kes',
'wallet.balance': 'Bakiye',
'wallet.address': 'Adres',
'wallet.network': 'Ağ',
// Governance
'governance.proposals': 'Öneriler',
'governance.activeProposals': 'Aktif Öneriler',
'governance.vote': 'Oy Ver',
'governance.delegate': 'Temsilci',
'governance.createProposal': 'Öneri Oluştur',
'governance.votingPower': 'Oy Gücü',
// Common
'common.loading': 'Yükleniyor...',
'common.save': 'Kaydet',
'common.cancel': 'İptal',
'common.confirm': 'Onayla',
'common.delete': 'Sil',
'common.edit': 'Düzenle',
'common.search': 'Ara',
'common.filter': 'Filtrele',
'common.sort': 'Sırala',
'common.submit': 'Gönder',
'common.back': 'Geri',
'common.next': 'İleri',
'common.previous': 'Önceki',
'common.yes': 'Evet',
'common.no': 'Hayır'
}