diff --git a/web/src/App.tsx b/web/src/App.tsx
index 4e62cb72..443ba26e 100644
--- a/web/src/App.tsx
+++ b/web/src/App.tsx
@@ -70,6 +70,8 @@ const AssemblyPage = lazy(() => import('@/pages/governance/AssemblyPage'));
const JusticePage = lazy(() => import('@/pages/governance/JusticePage'));
const PollsPage = lazy(() => import('@/pages/governance/PollsPage'));
const WhatsKURDPage = lazy(() => import('@/pages/social/WhatsKURDPage'));
+const KurdMediaPage = lazy(() => import('@/pages/social/KurdMediaPage'));
+const HelpPage = lazy(() => import('@/pages/HelpPage'));
// Network pages
const Mainnet = lazy(() => import('@/pages/networks/Mainnet'));
@@ -238,6 +240,8 @@ function App() {
} />
} />
} />
+ } />
+ } />
} />
} />
} />
diff --git a/web/src/components/MobileHomeLayout.tsx b/web/src/components/MobileHomeLayout.tsx
index 7439b29a..944c8d66 100644
--- a/web/src/components/MobileHomeLayout.tsx
+++ b/web/src/components/MobileHomeLayout.tsx
@@ -83,9 +83,9 @@ const APP_SECTIONS: AppSection[] = [
apps: [
{ title: 'mobile.app.whatsKurd', icon: '💬', route: '/social/whatskurd' },
{ title: 'mobile.app.forum', icon: '📰', route: '/forum' },
- { title: 'mobile.app.kurdMedia', icon: '📺', route: '/forum', comingSoon: true },
+ { title: 'mobile.app.kurdMedia', icon: '📺', route: '/social/kurdmedia' },
{ title: 'mobile.app.events', icon: '📅', route: '/forum', comingSoon: true },
- { title: 'mobile.app.help', icon: '❓', route: '/docs' },
+ { title: 'mobile.app.help', icon: '❓', route: '/help' },
{ title: 'mobile.app.music', icon: '🎵', route: '/forum', comingSoon: true },
{ title: 'mobile.app.vpn', icon: '🛡️', route: '/forum', comingSoon: true },
{ title: 'mobile.app.referral', icon: '👥', route: '/dashboard', requiresAuth: true },
diff --git a/web/src/i18n/locales/ar.ts b/web/src/i18n/locales/ar.ts
index 994e5092..88e32177 100644
--- a/web/src/i18n/locales/ar.ts
+++ b/web/src/i18n/locales/ar.ts
@@ -3757,6 +3757,7 @@ export default {
'messaging.checkingKey': 'جاري التحقق من مفتاح التشفير...',
'messaging.send': 'إرسال',
'messaging.sending': 'جاري الإرسال...',
+ 'messaging.palletNotReady': 'حزمة المراسلة غير متاحة بعد على People Chain. يلزم تحديث وقت التشغيل.',
// Mobile Home Layout
'mobile.greeting': 'مرحباً',
@@ -3904,4 +3905,37 @@ export default {
'taxZekat.confirm.cancel': 'إلغاء',
'taxZekat.confirm.confirm': 'تأكيد',
'taxZekat.success': 'تم إرسال {{amount}} HEZ بنجاح. شكراً!',
+
+ // Messaging
+ 'messaging.palletNotReady': 'حزمة المراسلة غير متاحة بعد على People Chain. يلزم تحديث وقت التشغيل.',
+
+ // KurdMedia page
+ 'kurdMedia.title': 'KurdMedia',
+ 'kurdMedia.subtitle': 'الإعلام الرقمي الكردي',
+ 'kurdMedia.channels.title': 'الإعلام الكردي',
+ 'kurdMedia.channels.subtitle': 'الإعلام الكردي',
+ 'kurdMedia.channels.desc': 'البث الرسمي لدولة كردستان الرقمية.',
+ 'kurdMedia.channels.descEn': 'البث الرسمي لـ DKS. تلفزيون، راديو، أخبار والمزيد.',
+ 'kurdMedia.soon': 'قريباً',
+ 'kurdMedia.social.title': 'دعم PezkuwiChain',
+ 'kurdMedia.social.subtitle': 'دعم PezkuwiChain',
+ 'kurdMedia.social.desc': 'تواصل معنا على منصات التواصل الاجتماعي.',
+ 'kurdMedia.social.descEn': 'اطرح أسئلتك، تابع الأخبار وانضم إلى مجتمعنا.',
+ 'kurdMedia.stats.kurds': 'كردي في العالم',
+ 'kurdMedia.stats.hope': 'أمل',
+ 'kurdMedia.banner': 'PezkuwiChain - أول بلوك تشين وطني للأكراد',
+ 'kurdMedia.bannerEn': 'PezkuwiChain - أول بلوك تشين وطني للأكراد',
+
+ // Help page
+ 'help.title': 'المساعدة والدعم',
+ 'help.breadcrumb': 'المساعدة والدعم',
+ 'help.desc': 'سيتم إطلاق نظام المساعدة والدعم قريباً.',
+ 'help.descEn': 'The help and support system will be launched soon.',
+ 'help.planned.title': 'الميزات المخططة',
+ 'help.feature.faq': 'الأسئلة الشائعة (FAQ)',
+ 'help.feature.live': 'الدعم المباشر',
+ 'help.feature.guides': 'أدلة المستخدم',
+ 'help.feature.community': 'التواصل مع المجتمع',
+ 'help.whatskurd.title': 'مراسلة WhatsKURD',
+ 'help.whatskurd.desc': 'تواصل معنا عبر نظام المراسلة على البلوك تشين',
};
diff --git a/web/src/i18n/locales/ckb.ts b/web/src/i18n/locales/ckb.ts
index 2e88684f..206977a3 100644
--- a/web/src/i18n/locales/ckb.ts
+++ b/web/src/i18n/locales/ckb.ts
@@ -3747,6 +3747,7 @@ export default {
'messaging.checkingKey': 'کلیلی شفرکردن پشکنین دەکرێت...',
'messaging.send': 'بنێرە',
'messaging.sending': 'دەنێردرێت...',
+ 'messaging.palletNotReady': 'پاڵێتی پەیامگێڕی هێشتا لەسەر People Chain بەردەست نییە. نوێکردنەوەی ڕانتایم پێویستە.',
// Mobile Home Layout
'mobile.greeting': 'ڕۆژباش',
@@ -3894,4 +3895,37 @@ export default {
'taxZekat.confirm.cancel': 'هەڵوەشاندنەوە',
'taxZekat.confirm.confirm': 'پشتڕاست',
'taxZekat.success': '{{amount}} HEZ بە سەرکەوتوویی نێردرا. سوپاس!',
+
+ // Messaging
+ 'messaging.palletNotReady': 'پاڵێتی پەیامگێڕی هێشتا لەسەر People Chain بەردەست نییە. نوێکردنەوەی ڕانتایم پێویستە.',
+
+ // KurdMedia page
+ 'kurdMedia.title': 'KurdMedia',
+ 'kurdMedia.subtitle': 'میدیای دیجیتاڵی کوردی',
+ 'kurdMedia.channels.title': 'میدیای کوردی',
+ 'kurdMedia.channels.subtitle': 'میدیای کوردی',
+ 'kurdMedia.channels.desc': 'وەشانە فەرمییەکانی دەوڵەتی دیجیتاڵی کوردستان.',
+ 'kurdMedia.channels.descEn': 'وەشانە فەرمییەکانی DKS. TV، ڕادیۆ، هەواڵ و زیاتر.',
+ 'kurdMedia.soon': 'بەزووی',
+ 'kurdMedia.social.title': 'پشتیوانی PezkuwiChain',
+ 'kurdMedia.social.subtitle': 'پشتیوانی PezkuwiChain',
+ 'kurdMedia.social.desc': 'پەیوەندیمان پێوە بکەن لەسەر پلاتفۆرمە کۆمەڵایەتییەکان.',
+ 'kurdMedia.social.descEn': 'پرسیارەکانتان بپرسن، هەواڵ بشوێنەوە و بەشداری کۆمەڵگەمان بکەن.',
+ 'kurdMedia.stats.kurds': 'کورد لە جیهاندا',
+ 'kurdMedia.stats.hope': 'هیوا',
+ 'kurdMedia.banner': 'PezkuwiChain - یەکەم بلۆکچێینی نەتەوەیی کوردان',
+ 'kurdMedia.bannerEn': 'PezkuwiChain - یەکەم بلۆکچێینی نەتەوەیی کوردان',
+
+ // Help page
+ 'help.title': 'یارمەتی و پشتیوانی',
+ 'help.breadcrumb': 'یارمەتی و پشتیوانی',
+ 'help.desc': 'سیستەمی یارمەتی بەم زووییە دەستی پێدەکات.',
+ 'help.descEn': 'The help and support system will be launched soon.',
+ 'help.planned.title': 'تایبەتمەندییە پلانکراوەکان',
+ 'help.feature.faq': 'پرسیارە زۆرپرسراوەکان (FAQ)',
+ 'help.feature.live': 'پشتیوانی زیندوو',
+ 'help.feature.guides': 'ڕێنماییەکانی بەکارهێنەر',
+ 'help.feature.community': 'پەیوەندی کۆمەڵگە',
+ 'help.whatskurd.title': 'WhatsKURD پەیامگێڕ',
+ 'help.whatskurd.desc': 'لەڕێگەی سیستەمی پەیامگێڕی بلۆکچێیندا پەیوەندیمان پێوە بکە',
};
diff --git a/web/src/i18n/locales/en.ts b/web/src/i18n/locales/en.ts
index 204b7558..d326dc24 100644
--- a/web/src/i18n/locales/en.ts
+++ b/web/src/i18n/locales/en.ts
@@ -3037,11 +3037,25 @@ export default {
'docs.loading': 'Loading...',
'docs.error': 'Error:',
'docs.title': 'PezkuwiChain Documentation',
- 'docs.subtitle': 'Learn how to build on PezkuwiChain',
+ 'docs.subtitle': 'Everything you need to build on the Kurdish national blockchain',
'docs.selectDoc': 'Select a document from the sidebar to get started.',
'docs.introduction': 'Introduction',
'docs.sdkDocs': 'SDK Docs',
'docs.whitepaper': 'Whitepaper',
+ 'docs.fullDocsNote': 'For complete and up-to-date documentation, visit the official documentation portal.',
+ 'docs.visitFullDocs': 'Visit docs.pezkuwichain.io',
+ 'docs.section.whitepaper': 'Whitepaper',
+ 'docs.section.whitepaper.desc': 'The foundational document describing the PezkuwiChain vision, architecture, and tokenomics.',
+ 'docs.section.architecture': 'Architecture',
+ 'docs.section.architecture.desc': 'Technical deep-dive into the blockchain architecture, consensus, pallets, and relay chain.',
+ 'docs.section.gettingStarted': 'Getting Started',
+ 'docs.section.gettingStarted.desc': 'Set up your wallet, get test tokens from the faucet, and make your first transaction.',
+ 'docs.section.nodeSetup': 'Node Setup',
+ 'docs.section.nodeSetup.desc': 'Run a validator or full node on PezkuwiChain mainnet, testnet or local environment.',
+ 'docs.section.sdk': 'SDK Reference',
+ 'docs.section.sdk.desc': 'JavaScript/TypeScript SDK for building dApps on PezkuwiChain — API reference and examples.',
+ 'docs.section.contributing': 'Contributor Guide',
+ 'docs.section.contributing.desc': 'How to contribute to PezkuwiChain — code, documentation, translations, and governance.',
// Wiki
'wiki.title': 'Community Wiki',
@@ -3795,6 +3809,7 @@ export default {
'messaging.checkingKey': 'Checking encryption key...',
'messaging.send': 'Send',
'messaging.sending': 'Sending...',
+ 'messaging.palletNotReady': 'Messaging pallet is not yet available on People Chain. A runtime upgrade is required.',
// Mobile Home Layout
'mobile.greeting': 'Rojbaş',
@@ -3942,4 +3957,37 @@ export default {
'taxZekat.confirm.cancel': 'Cancel',
'taxZekat.confirm.confirm': 'Confirm',
'taxZekat.success': '{{amount}} HEZ sent successfully. Thank you!',
+
+ // Messaging
+ 'messaging.palletNotReady': 'Messaging pallet is not yet available on People Chain. A runtime upgrade is required.',
+
+ // KurdMedia page
+ 'kurdMedia.title': 'KurdMedia',
+ 'kurdMedia.subtitle': 'Kurdish Digital Media',
+ 'kurdMedia.channels.title': 'Medyaya Kurdî',
+ 'kurdMedia.channels.subtitle': 'Kurdish Media',
+ 'kurdMedia.channels.desc': 'Weşanên fermî yên Dewleta Dijîtal a Kurdistanê.',
+ 'kurdMedia.channels.descEn': 'Official broadcasts of Digital Kurdistan State. TV, radio, news and more.',
+ 'kurdMedia.soon': 'Soon',
+ 'kurdMedia.social.title': 'Piştgirî PezkuwiChain',
+ 'kurdMedia.social.subtitle': 'Support PezkuwiChain',
+ 'kurdMedia.social.desc': 'Bi me re têkildar bin li ser platformên civakî.',
+ 'kurdMedia.social.descEn': 'Connect with us on social platforms. Ask questions, follow news and join our community.',
+ 'kurdMedia.stats.kurds': 'Kurds worldwide',
+ 'kurdMedia.stats.hope': 'Hope',
+ 'kurdMedia.banner': "PezkuwiChain - Blockchain'a yekem a netewî ya Kurdan",
+ 'kurdMedia.bannerEn': 'PezkuwiChain - The first national blockchain of the Kurds',
+
+ // Help page
+ 'help.title': 'Help & Support',
+ 'help.breadcrumb': 'Help & Support',
+ 'help.desc': 'Sîstema arîkariyê dê di demeke nêzîk de were destpêkirin.',
+ 'help.descEn': 'The help and support system will be launched soon.',
+ 'help.planned.title': 'Planned Features',
+ 'help.feature.faq': 'Frequently Asked Questions (FAQ)',
+ 'help.feature.live': 'Live Support',
+ 'help.feature.guides': 'User Guides',
+ 'help.feature.community': 'Community Contact',
+ 'help.whatskurd.title': 'WhatsKURD Messaging',
+ 'help.whatskurd.desc': 'Contact us via the blockchain messaging system',
}
diff --git a/web/src/i18n/locales/fa.ts b/web/src/i18n/locales/fa.ts
index 43f883bc..36785f54 100644
--- a/web/src/i18n/locales/fa.ts
+++ b/web/src/i18n/locales/fa.ts
@@ -3791,6 +3791,7 @@ export default {
'messaging.checkingKey': 'بررسی کلید رمزنگاری...',
'messaging.send': 'ارسال',
'messaging.sending': 'در حال ارسال...',
+ 'messaging.palletNotReady': 'پالت پیامرسانی هنوز در People Chain موجود نیست. یک بهروزرسانی runtime لازم است.',
// Mobile Home Layout
'mobile.greeting': 'سلام',
@@ -3938,4 +3939,37 @@ export default {
'taxZekat.confirm.cancel': 'لغو',
'taxZekat.confirm.confirm': 'تأیید',
'taxZekat.success': '{{amount}} HEZ با موفقیت ارسال شد. ممنون!',
+
+ // Messaging
+ 'messaging.palletNotReady': 'پالت پیامرسانی هنوز در People Chain موجود نیست. یک بهروزرسانی runtime لازم است.',
+
+ // KurdMedia page
+ 'kurdMedia.title': 'KurdMedia',
+ 'kurdMedia.subtitle': 'رسانه دیجیتال کردی',
+ 'kurdMedia.channels.title': 'رسانه کردی',
+ 'kurdMedia.channels.subtitle': 'رسانه کردی',
+ 'kurdMedia.channels.desc': 'پخش رسمی دولت دیجیتال کردستان.',
+ 'kurdMedia.channels.descEn': 'پخش رسمی DKS. تلویزیون، رادیو، اخبار و بیشتر.',
+ 'kurdMedia.soon': 'بهزودی',
+ 'kurdMedia.social.title': 'حمایت از PezkuwiChain',
+ 'kurdMedia.social.subtitle': 'حمایت از PezkuwiChain',
+ 'kurdMedia.social.desc': 'در شبکههای اجتماعی با ما در ارتباط باشید.',
+ 'kurdMedia.social.descEn': 'سوالات خود را بپرسید، اخبار را دنبال کنید و به جامعه ما بپیوندید.',
+ 'kurdMedia.stats.kurds': 'کرد در جهان',
+ 'kurdMedia.stats.hope': 'امید',
+ 'kurdMedia.banner': 'PezkuwiChain - اولین بلاکچین ملی کردها',
+ 'kurdMedia.bannerEn': 'PezkuwiChain - اولین بلاکچین ملی کردها',
+
+ // Help page
+ 'help.title': 'کمک و پشتیبانی',
+ 'help.breadcrumb': 'کمک و پشتیبانی',
+ 'help.desc': 'سیستم کمک و پشتیبانی بهزودی راهاندازی میشود.',
+ 'help.descEn': 'The help and support system will be launched soon.',
+ 'help.planned.title': 'ویژگیهای برنامهریزیشده',
+ 'help.feature.faq': 'سوالات متداول (FAQ)',
+ 'help.feature.live': 'پشتیبانی زنده',
+ 'help.feature.guides': 'راهنمای کاربران',
+ 'help.feature.community': 'ارتباط با جامعه',
+ 'help.whatskurd.title': 'پیامرسانی WhatsKURD',
+ 'help.whatskurd.desc': 'از طریق سیستم پیامرسانی بلاکچین با ما تماس بگیرید',
};
diff --git a/web/src/i18n/locales/kmr.ts b/web/src/i18n/locales/kmr.ts
index a23d4781..a24ee054 100644
--- a/web/src/i18n/locales/kmr.ts
+++ b/web/src/i18n/locales/kmr.ts
@@ -3774,6 +3774,7 @@ export default {
'messaging.checkingKey': 'Mifteya şîfrekirinê tê kontrol kirin...',
'messaging.send': 'Bişîne',
'messaging.sending': 'Tê şandin...',
+ 'messaging.palletNotReady': 'Pergala peyamgehê hîn li ser People Chain tune ye. Nûvekirina runtime lazim e.',
// Mobile Home Layout
'mobile.greeting': 'Rojbaş',
@@ -3921,4 +3922,37 @@ export default {
'taxZekat.confirm.cancel': 'Betal',
'taxZekat.confirm.confirm': 'Piştrast',
'taxZekat.success': '{{amount}} HEZ bi serfirazî hate şandin. Spas!',
+
+ // Messaging
+ 'messaging.palletNotReady': 'Pergala peyamgehê hîn li ser People Chain tune ye. Nûvekirina runtime lazim e.',
+
+ // KurdMedia page
+ 'kurdMedia.title': 'KurdMedia',
+ 'kurdMedia.subtitle': 'Medyaya Dîjîtal a Kurdî',
+ 'kurdMedia.channels.title': 'Medyaya Kurdî',
+ 'kurdMedia.channels.subtitle': 'Medyaya Kurdî',
+ 'kurdMedia.channels.desc': 'Weşanên fermî yên Dewleta Dijîtal a Kurdistanê.',
+ 'kurdMedia.channels.descEn': 'Weşanên fermî yên DKS. TV, radyo, nûçe û zêdetir.',
+ 'kurdMedia.soon': 'Zû tê',
+ 'kurdMedia.social.title': 'Piştgirî PezkuwiChain',
+ 'kurdMedia.social.subtitle': 'Piştgirî PezkuwiChain',
+ 'kurdMedia.social.desc': 'Bi me re têkildar bin li ser platformên civakî.',
+ 'kurdMedia.social.descEn': 'Bi pirsên xwe, nûçeyan bişopînin û tevlî civaka me bibin.',
+ 'kurdMedia.stats.kurds': 'Kurd li cîhanê',
+ 'kurdMedia.stats.hope': 'Hêvî',
+ 'kurdMedia.banner': "PezkuwiChain - Blockchain'a yekem a netewî ya Kurdan",
+ 'kurdMedia.bannerEn': 'PezkuwiChain - Yekem blockchain netewî ya Kurdan',
+
+ // Help page
+ 'help.title': 'Arîkarî û Piştgirî',
+ 'help.breadcrumb': 'Arîkarî û Piştgirî',
+ 'help.desc': 'Sîstema arîkariyê dê di demeke nêzîk de were destpêkirin.',
+ 'help.descEn': 'The help and support system will be launched soon.',
+ 'help.planned.title': 'Taybetmendiyên Plankirin',
+ 'help.feature.faq': 'Pirsên pir tên pirsîn (FAQ)',
+ 'help.feature.live': 'Piştgiriya zindî',
+ 'help.feature.guides': 'Rêberên bikarhêner',
+ 'help.feature.community': 'Têkiliya civakê',
+ 'help.whatskurd.title': 'WhatsKURD Peyamgeh',
+ 'help.whatskurd.desc': 'Bi pergala peyamgehê ya blockchain re bi me re têkildar bibe',
};
diff --git a/web/src/i18n/locales/tr.ts b/web/src/i18n/locales/tr.ts
index 43e446c2..469a122c 100644
--- a/web/src/i18n/locales/tr.ts
+++ b/web/src/i18n/locales/tr.ts
@@ -3777,6 +3777,7 @@ export default {
'messaging.checkingKey': 'Şifreleme anahtarı kontrol ediliyor...',
'messaging.send': 'Gönder',
'messaging.sending': 'Gönderiliyor...',
+ 'messaging.palletNotReady': 'Mesajlaşma paleti henüz People Chain üzerinde mevcut değil. Bir runtime güncellemesi gerekiyor.',
// Mobile Home Layout
'mobile.greeting': 'Rojbaş',
@@ -3924,4 +3925,37 @@ export default {
'taxZekat.confirm.cancel': 'İptal',
'taxZekat.confirm.confirm': 'Onayla',
'taxZekat.success': '{{amount}} HEZ başarıyla gönderildi. Teşekkürler!',
+
+ // Messaging
+ 'messaging.palletNotReady': 'Mesajlaşma paleti henüz People Chain üzerinde mevcut değil. Bir runtime güncellemesi gerekiyor.',
+
+ // KurdMedia page
+ 'kurdMedia.title': 'KurdMedia',
+ 'kurdMedia.subtitle': 'Kürt Dijital Medyası',
+ 'kurdMedia.channels.title': 'Kürt Medyası',
+ 'kurdMedia.channels.subtitle': 'Kürt Medyası',
+ 'kurdMedia.channels.desc': 'Dijital Kürdistan Devleti\'nin resmi yayınları.',
+ 'kurdMedia.channels.descEn': 'DKS\'nin resmi yayınları. TV, radyo, haberler ve daha fazlası.',
+ 'kurdMedia.soon': 'Yakında',
+ 'kurdMedia.social.title': 'PezkuwiChain\'i Destekle',
+ 'kurdMedia.social.subtitle': 'PezkuwiChain\'i Destekle',
+ 'kurdMedia.social.desc': 'Sosyal platformlarda bizimle iletişime geçin.',
+ 'kurdMedia.social.descEn': 'Sorularınızı sorun, haberleri takip edin ve topluluğumuza katılın.',
+ 'kurdMedia.stats.kurds': 'Dünyada Kürt',
+ 'kurdMedia.stats.hope': 'Umut',
+ 'kurdMedia.banner': 'PezkuwiChain - Kürtlerin ilk ulusal blockchain\'i',
+ 'kurdMedia.bannerEn': 'PezkuwiChain - Kürtlerin ilk ulusal blockchain\'i',
+
+ // Help page
+ 'help.title': 'Yardım ve Destek',
+ 'help.breadcrumb': 'Yardım ve Destek',
+ 'help.desc': 'Yardım ve destek sistemi yakında başlatılacak.',
+ 'help.descEn': 'The help and support system will be launched soon.',
+ 'help.planned.title': 'Planlanan Özellikler',
+ 'help.feature.faq': 'Sıkça Sorulan Sorular (SSS)',
+ 'help.feature.live': 'Canlı Destek',
+ 'help.feature.guides': 'Kullanıcı Rehberleri',
+ 'help.feature.community': 'Topluluk İletişimi',
+ 'help.whatskurd.title': 'WhatsKURD Mesajlaşma',
+ 'help.whatskurd.desc': 'Blockchain mesajlaşma sistemi aracılığıyla bizimle iletişime geçin',
};
diff --git a/web/src/pages/Docs.tsx b/web/src/pages/Docs.tsx
index e1e8f6ea..4a488894 100644
--- a/web/src/pages/Docs.tsx
+++ b/web/src/pages/Docs.tsx
@@ -1,311 +1,159 @@
-import React, { useState, useEffect, useMemo } from 'react';
+import React from 'react';
import { useTranslation } from 'react-i18next';
-import { useParams, useNavigate, Link } from 'react-router-dom';
+import { ExternalLink } from 'lucide-react';
import Layout from '@/components/Layout';
-import { marked } from 'marked';
-import { ChevronRight, Book, ExternalLink } from 'lucide-react';
-import DOMPurify from 'dompurify';
-// SDK Embedded View - shown inline in the content area (window in window style)
-const SDKEmbeddedView: React.FC = () => {
- const sdkUrl = '/sdk_docs/pezkuwi_sdk_docs/index.html';
+const DOCS_URL = 'https://docs.pezkuwichain.io';
- return (
-
- {/* SDK Panel Header */}
-
-

-
-
pezkuwi_sdk_docs
- 0.0.1
-
-
-
- {/* SDK Docs iframe */}
-
-
-
-
- );
-};
-
-const SidebarNav: React.FC<{ structure: object, onLinkClick: () => void, onSDKClick: () => void }> = ({ structure, onLinkClick, onSDKClick }) => {
- const [openCategories, setOpenCategories] = useState(['Getting Started', 'SDK Reference', 'General Docs', 'Contributor Guide']);
-
- const toggleCategory = (category: string) => {
- setOpenCategories(prev =>
- prev.includes(category)
- ? prev.filter(c => c !== category)
- : [...prev, category]
- );
- };
-
- const renderNav = (struct: Record) => {
- return Object.entries(struct).map(([key, value]) => {
- if (typeof value === 'string') {
- // Check if it's the SDK docs special link
- const isSDKLink = value === 'sdk://open';
-
- if (isSDKLink) {
- return (
-
-
-
- );
- }
-
- const path = value.replace(/\.(md|rs)$/, '');
- return (
-
-
- {key}
-
-
- );
- } else {
- const isExpanded = openCategories.includes(key);
- return (
-
- toggleCategory(key)}
- className="flex justify-between items-center cursor-pointer py-2 px-2 rounded-md hover:bg-gray-700"
- >
- {key}
-
-
- {isExpanded && (
-
- )}
-
- );
- }
- });
- };
-
- return ;
-};
+const DOC_SECTIONS = [
+ {
+ icon: '📄',
+ titleKey: 'docs.section.whitepaper',
+ title: 'Whitepaper',
+ descKey: 'docs.section.whitepaper.desc',
+ desc: 'The foundational document describing the PezkuwiChain vision, architecture, and tokenomics.',
+ path: '/whitepaper',
+ color: 'bg-green-900/30 border-green-700/40',
+ iconBg: 'bg-green-800',
+ },
+ {
+ icon: '🏛️',
+ titleKey: 'docs.section.architecture',
+ title: 'Architecture',
+ descKey: 'docs.section.architecture.desc',
+ desc: 'Technical deep-dive into the blockchain architecture, consensus, pallets, and relay chain.',
+ path: '/architecture',
+ color: 'bg-blue-900/30 border-blue-700/40',
+ iconBg: 'bg-blue-800',
+ },
+ {
+ icon: '🚀',
+ titleKey: 'docs.section.gettingStarted',
+ title: 'Getting Started',
+ descKey: 'docs.section.gettingStarted.desc',
+ desc: 'Set up your wallet, get test tokens from the faucet, and make your first transaction.',
+ path: '/getting-started',
+ color: 'bg-yellow-900/30 border-yellow-700/40',
+ iconBg: 'bg-yellow-800',
+ },
+ {
+ icon: '⚙️',
+ titleKey: 'docs.section.nodeSetup',
+ title: 'Node Setup',
+ descKey: 'docs.section.nodeSetup.desc',
+ desc: 'Run a validator or full node on PezkuwiChain mainnet, testnet or local environment.',
+ path: '/node-setup',
+ color: 'bg-purple-900/30 border-purple-700/40',
+ iconBg: 'bg-purple-800',
+ },
+ {
+ icon: '🛠️',
+ titleKey: 'docs.section.sdk',
+ title: 'SDK Reference',
+ descKey: 'docs.section.sdk.desc',
+ desc: 'JavaScript/TypeScript SDK for building dApps on PezkuwiChain — API reference and examples.',
+ path: '/sdk',
+ color: 'bg-cyan-900/30 border-cyan-700/40',
+ iconBg: 'bg-cyan-800',
+ },
+ {
+ icon: '🤝',
+ titleKey: 'docs.section.contributing',
+ title: 'Contributor Guide',
+ descKey: 'docs.section.contributing.desc',
+ desc: 'How to contribute to PezkuwiChain — code, documentation, translations, and governance.',
+ path: '/contributing',
+ color: 'bg-red-900/30 border-red-700/40',
+ iconBg: 'bg-red-800',
+ },
+];
+const QUICK_LINKS = [
+ { label: 'Mainnet RPC', value: 'wss://rpc.pezkuwichain.io' },
+ { label: 'Explorer', value: 'explorer.pezkuwichain.io', href: 'https://explorer.pezkuwichain.io' },
+ { label: 'Faucet', value: 'app.pezkuwichain.io/faucet', href: '/faucet' },
+ { label: 'GitHub', value: 'github.com/pezkuwichain', href: 'https://github.com/pezkuwichain' },
+];
const Docs: React.FC = () => {
- const { t } = useTranslation();
- const { '*': splat } = useParams();
- const navigate = useNavigate();
- const [docStructure, setDocStructure] = useState