mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-06-17 05:21:04 +00:00
feat(social): wire DKS Rojname → news.pex.mom and Events → kurdishtts.pezkiwi.app
- KurdMedia: DKS Rojname channel now links to the Dijital Kurdistan News site - Social Events item opens the Kurdish TTS app (was coming-soon/locked) - applies across mobile drawer, mobile home and desktop landing pallets
This commit is contained in:
@@ -110,7 +110,7 @@ const APP_SECTIONS: AppSection[] = [
|
|||||||
{ title: 'mobile.app.whatsKurd', icon: '💬', route: '/social/whatskurd' },
|
{ title: 'mobile.app.whatsKurd', icon: '💬', route: '/social/whatskurd' },
|
||||||
{ title: 'mobile.app.forum', icon: '📰', route: '/forum' },
|
{ title: 'mobile.app.forum', icon: '📰', route: '/forum' },
|
||||||
{ title: 'mobile.app.kurdMedia', icon: '📺', route: '/social/kurdmedia' },
|
{ title: 'mobile.app.kurdMedia', icon: '📺', route: '/social/kurdmedia' },
|
||||||
{ title: 'mobile.app.events', icon: '📅', route: '/forum', comingSoon: true },
|
{ title: 'mobile.app.events', icon: '📅', route: '/forum', href: 'https://kurdishtts.pezkiwi.app' },
|
||||||
{ title: 'mobile.app.help', icon: '❓', route: '/help' },
|
{ title: 'mobile.app.help', icon: '❓', route: '/help' },
|
||||||
{ title: 'mobile.app.music', icon: '🎵', route: '/forum', comingSoon: true },
|
{ title: 'mobile.app.music', icon: '🎵', route: '/forum', comingSoon: true },
|
||||||
{ title: 'mobile.app.rewshenbir',icon: '📡', imgIcon: '/rewshenbir-icon.png', route: '/rewshenbir', href: 'https://rewshenbir.pezkuwi.app' },
|
{ title: 'mobile.app.rewshenbir',icon: '📡', imgIcon: '/rewshenbir-icon.png', route: '/rewshenbir', href: 'https://rewshenbir.pezkuwi.app' },
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ const APP_SECTIONS: AppSection[] = [
|
|||||||
{ title: 'mobile.app.whatsKurd', icon: '💬', route: '/social/whatskurd' },
|
{ title: 'mobile.app.whatsKurd', icon: '💬', route: '/social/whatskurd' },
|
||||||
{ title: 'mobile.app.forum', icon: '📰', route: '/forum' },
|
{ title: 'mobile.app.forum', icon: '📰', route: '/forum' },
|
||||||
{ title: 'mobile.app.kurdMedia', icon: '📺', route: '/social/kurdmedia' },
|
{ title: 'mobile.app.kurdMedia', icon: '📺', route: '/social/kurdmedia' },
|
||||||
{ title: 'mobile.app.events', icon: '📅', route: '/forum', comingSoon: true },
|
{ title: 'mobile.app.events', icon: '📅', route: '/forum', href: 'https://kurdishtts.pezkiwi.app' },
|
||||||
{ title: 'mobile.app.help', icon: '❓', route: '/help' },
|
{ title: 'mobile.app.help', icon: '❓', route: '/help' },
|
||||||
{ title: 'mobile.app.music', icon: '🎵', route: '/forum', comingSoon: true },
|
{ title: 'mobile.app.music', icon: '🎵', route: '/forum', comingSoon: true },
|
||||||
{ title: 'mobile.app.rewshenbir', icon: '📡', imgIcon: '/rewshenbir-icon.png', route: '/rewshenbir', href: 'https://rewshenbir.pezkuwi.app' },
|
{ title: 'mobile.app.rewshenbir', icon: '📡', imgIcon: '/rewshenbir-icon.png', route: '/rewshenbir', href: 'https://rewshenbir.pezkuwi.app' },
|
||||||
|
|||||||
@@ -1099,7 +1099,7 @@ const LandingPageDesktop: React.FC = () => {
|
|||||||
<PalletItem icon="lp-i-chat" label={t('landing.pallets.whatskurd')} to="/social/whatskurd" requiresLogin />
|
<PalletItem icon="lp-i-chat" label={t('landing.pallets.whatskurd')} to="/social/whatskurd" requiresLogin />
|
||||||
<PalletItem icon="lp-i-forum" label={t('landing.pallets.forum')} to="/forum" />
|
<PalletItem icon="lp-i-forum" label={t('landing.pallets.forum')} to="/forum" />
|
||||||
<PalletItem icon="lp-i-media" label={t('landing.pallets.kurdmedia')} to="/social/kurdmedia" requiresLogin />
|
<PalletItem icon="lp-i-media" label={t('landing.pallets.kurdmedia')} to="/social/kurdmedia" requiresLogin />
|
||||||
<PalletItem icon="lp-i-cal" label={t('landing.pallets.events')} locked />
|
<PalletItem icon="lp-i-cal" label={t('landing.pallets.events')} external="https://kurdishtts.pezkiwi.app" />
|
||||||
<PalletItem icon="lp-i-help" label={t('landing.pallets.help')} to="/help" />
|
<PalletItem icon="lp-i-help" label={t('landing.pallets.help')} to="/help" />
|
||||||
<PalletItem icon="lp-i-music" label={t('landing.pallets.music')} locked />
|
<PalletItem icon="lp-i-music" label={t('landing.pallets.music')} locked />
|
||||||
<PalletItem imgSrc="/rewshenbir-icon.png" label={t('landing.pallets.rewshenbir')} external="https://rewshenbir.pezkuwi.app" />
|
<PalletItem imgSrc="/rewshenbir-icon.png" label={t('landing.pallets.rewshenbir')} external="https://rewshenbir.pezkuwi.app" />
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ interface MediaChannel {
|
|||||||
descriptionKu: string;
|
descriptionKu: string;
|
||||||
description: string;
|
description: string;
|
||||||
color: string;
|
color: string;
|
||||||
|
url?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface SocialPlatform {
|
interface SocialPlatform {
|
||||||
@@ -21,7 +22,7 @@ interface SocialPlatform {
|
|||||||
|
|
||||||
const MEDIA_CHANNELS: MediaChannel[] = [
|
const MEDIA_CHANNELS: MediaChannel[] = [
|
||||||
{ id: 'dkstv', nameKu: 'DKS TV', name: 'DKS TV', icon: '📺', descriptionKu: 'Televizyona Dewleta Dijîtal a Kurdistanê', description: 'Digital Kurdistan State Television', color: '#E53935' },
|
{ id: 'dkstv', nameKu: 'DKS TV', name: 'DKS TV', icon: '📺', descriptionKu: 'Televizyona Dewleta Dijîtal a Kurdistanê', description: 'Digital Kurdistan State Television', color: '#E53935' },
|
||||||
{ id: 'dksgzt', nameKu: 'DKS Rojname', name: 'DKS Gazette', icon: '📰', descriptionKu: 'Nûçe û Daxuyaniyên Fermî', description: 'Official News & Announcements', color: '#1E88E5' },
|
{ id: 'dksgzt', nameKu: 'DKS Rojname', name: 'DKS Gazette', icon: '📰', descriptionKu: 'Nûçe û Daxuyaniyên Fermî', description: 'Official News & Announcements', color: '#1E88E5', url: 'https://news.pex.mom' },
|
||||||
{ id: 'dksradio', nameKu: 'DKS Radyo', name: 'DKS Radio', icon: '📻', descriptionKu: 'Radyoya Dewleta Dijîtal a Kurdistanê', description: 'Digital Kurdistan State Radio', color: '#7B1FA2' },
|
{ id: 'dksradio', nameKu: 'DKS Radyo', name: 'DKS Radio', icon: '📻', descriptionKu: 'Radyoya Dewleta Dijîtal a Kurdistanê', description: 'Digital Kurdistan State Radio', color: '#7B1FA2' },
|
||||||
{ id: 'dksmusic', nameKu: 'DKS Muzîk', name: 'DKS Music', icon: '🎵', descriptionKu: 'Weşana Muzîka Kurdî', description: 'Kurdish Music Streaming', color: '#00897B' },
|
{ id: 'dksmusic', nameKu: 'DKS Muzîk', name: 'DKS Music', icon: '🎵', descriptionKu: 'Weşana Muzîka Kurdî', description: 'Kurdish Music Streaming', color: '#00897B' },
|
||||||
{ id: 'dkspodcast',nameKu: 'DKS Podcast', name: 'DKS Podcast', icon: '🎙️', descriptionKu: 'Podcast û Gotûbêjên Kurdî', description: 'Kurdish Podcasts & Talks', color: '#F4511E' },
|
{ id: 'dkspodcast',nameKu: 'DKS Podcast', name: 'DKS Podcast', icon: '🎙️', descriptionKu: 'Podcast û Gotûbêjên Kurdî', description: 'Kurdish Podcasts & Talks', color: '#F4511E' },
|
||||||
@@ -71,20 +72,38 @@ export default function KurdMediaPage() {
|
|||||||
<p className="text-sm text-gray-300 mb-1">{t('kurdMedia.channels.desc', 'Weşanên fermî yên Dewleta Dijîtal a Kurdistanê.')}</p>
|
<p className="text-sm text-gray-300 mb-1">{t('kurdMedia.channels.desc', 'Weşanên fermî yên Dewleta Dijîtal a Kurdistanê.')}</p>
|
||||||
<p className="text-xs text-gray-500 mb-4">{t('kurdMedia.channels.descEn', 'Official broadcasts of Digital Kurdistan State. TV, radio, news and more.')}</p>
|
<p className="text-xs text-gray-500 mb-4">{t('kurdMedia.channels.descEn', 'Official broadcasts of Digital Kurdistan State. TV, radio, news and more.')}</p>
|
||||||
<div className="space-y-3">
|
<div className="space-y-3">
|
||||||
{MEDIA_CHANNELS.map(ch => (
|
{MEDIA_CHANNELS.map(ch => {
|
||||||
<div key={ch.id} className="flex items-center gap-3 bg-gray-800 rounded-xl p-3">
|
const inner = (
|
||||||
<div className="w-12 h-12 rounded-xl flex items-center justify-center text-2xl flex-shrink-0" style={{ backgroundColor: ch.color }}>
|
<>
|
||||||
{ch.icon}
|
<div className="w-12 h-12 rounded-xl flex items-center justify-center text-2xl flex-shrink-0" style={{ backgroundColor: ch.color }}>
|
||||||
|
{ch.icon}
|
||||||
|
</div>
|
||||||
|
<div className="flex-1 min-w-0">
|
||||||
|
<p className="font-semibold text-white text-sm">{ch.nameKu}</p>
|
||||||
|
<p className="text-xs text-gray-400 truncate">{ch.descriptionKu}</p>
|
||||||
|
</div>
|
||||||
|
{ch.url ? (
|
||||||
|
<span className="text-[10px] font-bold text-green-400 bg-green-400/10 px-2 py-1 rounded-full flex-shrink-0">
|
||||||
|
{t('kurdMedia.open', 'Open')} ↗
|
||||||
|
</span>
|
||||||
|
) : (
|
||||||
|
<span className="text-[10px] font-bold text-yellow-400 bg-yellow-400/10 px-2 py-1 rounded-full flex-shrink-0">
|
||||||
|
{t('kurdMedia.soon', 'Soon')}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
return ch.url ? (
|
||||||
|
<a key={ch.id} href={ch.url} target="_blank" rel="noopener noreferrer"
|
||||||
|
className="flex items-center gap-3 bg-gray-800 rounded-xl p-3 hover:bg-gray-700 transition-colors">
|
||||||
|
{inner}
|
||||||
|
</a>
|
||||||
|
) : (
|
||||||
|
<div key={ch.id} className="flex items-center gap-3 bg-gray-800 rounded-xl p-3">
|
||||||
|
{inner}
|
||||||
</div>
|
</div>
|
||||||
<div className="flex-1 min-w-0">
|
);
|
||||||
<p className="font-semibold text-white text-sm">{ch.nameKu}</p>
|
})}
|
||||||
<p className="text-xs text-gray-400 truncate">{ch.descriptionKu}</p>
|
|
||||||
</div>
|
|
||||||
<span className="text-[10px] font-bold text-yellow-400 bg-yellow-400/10 px-2 py-1 rounded-full flex-shrink-0">
|
|
||||||
{t('kurdMedia.soon', 'Soon')}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user