feat: in-app citizenship application with referral system

- Add CitizenshipBottomSheet with form (name, father, grandfather, mother, tribe, region)
- Submit apply_for_citizenship extrinsic with referrer parameter to People Chain
- Query KYC status from IdentityKyc pallet and show appropriate UI state
- Referrer approval: query Referral + Applications entries, approve pending referrals
- Sign (confirm_citizenship) for applicants after referrer approval
- Share referral link for citizens to invite others
- Dashboard buttons adapt to citizenship status (hide Apply/Sign when approved)
- Balance check (1.1 HEZ) only before new applications, not for sign/approve
- i18n strings for en, tr, ku
This commit is contained in:
2026-02-22 05:04:43 +03:00
parent f6dc35b80e
commit 771c9c8877
18 changed files with 1157 additions and 20 deletions
+28
View File
@@ -2763,4 +2763,32 @@
<string name="pezkuwi_dashboard_trust_score">Pûana Pêbaweriyê</string>
<string name="pezkuwi_dashboard_basvuru">Serlêdan û Karên</string>
<string name="pezkuwi_dashboard_info">Ji bo karên hemwelatîbûna Kurdistana Dîjîtal MiniApp\'a me ya Telegram bikar bînin.\n\nJi bo qezenckirina xelatên PEZ, divê hûn xwediyê bilêta Welatî bin û herî kêm 10 HEZ stake kiribe bin.\n\nKesên ne-hemwelatî tenê dikarin ji xelatên HEZ sûd werbigirin.</string>
<!-- Citizenship Application -->
<string name="citizenship_title">Serlêdana Hemwelatîbûnê</string>
<string name="citizenship_name">Nav û Paşnav</string>
<string name="citizenship_father_name">Navê Bav</string>
<string name="citizenship_grandfather_name">Navê Bapîr</string>
<string name="citizenship_mother_name">Navê Dayik</string>
<string name="citizenship_tribe">Eşîr</string>
<string name="citizenship_region">Herêm</string>
<string name="citizenship_apply">Serlêdan bike</string>
<string name="citizenship_pending">Serlêdana te li benda pejirandinê ye</string>
<string name="citizenship_sign">Îmze bike</string>
<string name="citizenship_approved">Tu jixwe hemwelatî yî</string>
<string name="citizenship_insufficient_balance">Di People Chain de balance têr nîne. Herî kêm 1.1 HEZ pêwîst e.</string>
<string name="citizenship_success">Serlêdan bi serkeftî hat şandin</string>
<string name="citizenship_share_referral">Ji bo hemwelatîbûna Kurdistana Dîjîtal hevalê xwe vexwîne!\n\nNavnîşana min a referansê:\n%s</string>
<string name="citizenship_share_button">Lînka Referansê Parve Bike</string>
<string name="citizenship_referrer_hint">Navnîşana Referansê (ne mecbûrî)</string>
<string name="citizenship_sign_description">Referansa te serlêdana te pejirand. Ji bo temamkirina hemwelatîbûnê îmze bike.</string>
<string name="citizenship_region_bakur">Bakur</string>
<string name="citizenship_region_basur">Başûr</string>
<string name="citizenship_region_rojava">Rojava</string>
<string name="citizenship_region_rojhelat">Rojhelat</string>
<string name="citizenship_region_kurdistan">Kurdistan a Sor</string>
<string name="citizenship_region_diaspora">Diaspora</string>
<string name="citizenship_approve_address_hint">Navnîşana serlêder</string>
<string name="citizenship_approve_button">Referralê bipejirîne</string>
<string name="citizenship_approve_success">Referral bi serkeftî hat pejirandin</string>
</resources>
+28
View File
@@ -30,4 +30,32 @@
<string name="bridge_hez_to_dot_warning">HEZ → DOT yönü manuel işlenir, 24 saate kadar sürebilir.</string>
<string name="bridge_hez_to_dot_blocked">HEZ → DOT yönü şu anda devre dışı.</string>
<string name="bridge_wusdt_to_usdt_blocked">USDT(Pez) → USDT(Pol) yönü şu anda devre dışı.</string>
<!-- Citizenship Application -->
<string name="citizenship_title">Vatandaşlık Başvurusu</string>
<string name="citizenship_name">Ad Soyad</string>
<string name="citizenship_father_name">Baba Adı</string>
<string name="citizenship_grandfather_name">Dede Adı</string>
<string name="citizenship_mother_name">Anne Adı</string>
<string name="citizenship_tribe">Aşiret</string>
<string name="citizenship_region">Bölge</string>
<string name="citizenship_apply">Başvur</string>
<string name="citizenship_pending">Başvurunuz onay bekliyor</string>
<string name="citizenship_sign">İmzala</string>
<string name="citizenship_approved">Zaten vatandaşsınız</string>
<string name="citizenship_insufficient_balance">People Chain\'de yetersiz bakiye. En az 1.1 HEZ gerekli.</string>
<string name="citizenship_success">Başvuru başarıyla gönderildi</string>
<string name="citizenship_share_referral">Dijital Kurdistan vatandaşlığı için arkadaşını davet et!\n\nReferans adresim:\n%s</string>
<string name="citizenship_share_button">Referans Linkini Paylaş</string>
<string name="citizenship_referrer_hint">Referans Adresi (opsiyonel)</string>
<string name="citizenship_sign_description">Referansınız başvurunuzu onayladı. Vatandaşlığı tamamlamak için imzalayın.</string>
<string name="citizenship_region_bakur">Bakur</string>
<string name="citizenship_region_basur">Başûr</string>
<string name="citizenship_region_rojava">Rojava</string>
<string name="citizenship_region_rojhelat">Rojhelat</string>
<string name="citizenship_region_kurdistan">Kurdistan a Sor</string>
<string name="citizenship_region_diaspora">Diaspora</string>
<string name="citizenship_approve_address_hint">Başvuranın adresi</string>
<string name="citizenship_approve_button">Referral Onayla</string>
<string name="citizenship_approve_success">Referral başarıyla onaylandı</string>
</resources>
+28
View File
@@ -2767,4 +2767,32 @@
<string name="pezkuwi_dashboard_basvuru">Apply &amp; Actions</string>
<string name="pezkuwi_dashboard_info">Use our Telegram MiniApp for Digital Kurdistan citizenship services.\n\nTo earn PEZ rewards, you must hold a Welatî ticket and stake at least 10 HEZ.\n\nNon-citizens can only benefit from HEZ rewards.</string>
<string name="pezkuwi_dashboard_kurds_title">Hejmara Kurd Le Cihane</string>
<!-- Citizenship Application -->
<string name="citizenship_title">Citizenship Application</string>
<string name="citizenship_name">Full Name</string>
<string name="citizenship_father_name">Father\'s Name</string>
<string name="citizenship_grandfather_name">Grandfather\'s Name</string>
<string name="citizenship_mother_name">Mother\'s Name</string>
<string name="citizenship_tribe">Tribe</string>
<string name="citizenship_region">Region</string>
<string name="citizenship_apply">Apply</string>
<string name="citizenship_pending">Your application is pending approval</string>
<string name="citizenship_sign">Sign</string>
<string name="citizenship_approved">You are already a citizen</string>
<string name="citizenship_insufficient_balance">Insufficient balance on People Chain. At least 1.1 HEZ required.</string>
<string name="citizenship_success">Application submitted successfully</string>
<string name="citizenship_share_referral">Refer a friend for Digital Kurdistan citizenship!\n\nMy referrer address:\n%s</string>
<string name="citizenship_share_button">Share Referral Link</string>
<string name="citizenship_referrer_hint">Referrer Address (optional)</string>
<string name="citizenship_sign_description">Your referrer has approved your application. Sign to complete citizenship.</string>
<string name="citizenship_region_bakur">Bakur</string>
<string name="citizenship_region_basur">Başûr</string>
<string name="citizenship_region_rojava">Rojava</string>
<string name="citizenship_region_rojhelat">Rojhelat</string>
<string name="citizenship_region_kurdistan">Kurdistan a Sor</string>
<string name="citizenship_region_diaspora">Diaspora</string>
<string name="citizenship_approve_address_hint">Applicant\'s address</string>
<string name="citizenship_approve_button">Approve Referral</string>
<string name="citizenship_approve_success">Referral approved successfully</string>
</resources>