Deploy on 2026-06-05 17:47:27
This commit is contained in:
@@ -41,20 +41,20 @@
|
||||
<!-- Metrics Row -->
|
||||
<div class="metrics-grid" style="margin-top: 24px;">
|
||||
<div class="glass-panel metric-card">
|
||||
<span class="metric-title"><?= $t['total_organizations'] ?? 'Organizations' ?></span>
|
||||
<span class="metric-title"><?= $t['total_organizations'] ?? 'المنظمات' ?></span>
|
||||
<span class="metric-value"><?= $stats['organizations'] ?></span>
|
||||
<span class="metric-footer">
|
||||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg>
|
||||
<span><?= $stats['vc'] ?> VC • <?= $stats['accelerators'] ?> Accelerators</span>
|
||||
<span><?= $stats['vc'] ?> استثمار جريء • <?= $stats['accelerators'] ?> مسرعات</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="glass-panel metric-card">
|
||||
<span class="metric-title"><?= $t['total_opportunities'] ?? 'Opportunities' ?></span>
|
||||
<span class="metric-title"><?= $t['total_opportunities'] ?? 'الفرص' ?></span>
|
||||
<span class="metric-value"><?= $stats['opportunities'] ?></span>
|
||||
<span class="metric-footer">
|
||||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg>
|
||||
<span><?= $stats['today'] ?> new today</span>
|
||||
<span><?= $stats['today'] ?> جديدة اليوم</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -68,11 +68,11 @@
|
||||
</div>
|
||||
|
||||
<div class="glass-panel metric-card">
|
||||
<span class="metric-title"><?= $t['active_sources'] ?? 'Sources' ?></span>
|
||||
<span class="metric-title"><?= $t['active_sources'] ?? 'مصادر البيانات' ?></span>
|
||||
<span class="metric-value"><?= $stats['sources'] ?></span>
|
||||
<span class="metric-footer">
|
||||
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
|
||||
<span>RSS feeds active</span>
|
||||
<span>مصادر RSS نشطة</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -80,14 +80,14 @@
|
||||
<!-- Charts Row -->
|
||||
<div class="charts-grid" style="margin-top: 24px;">
|
||||
<div class="glass-panel chart-card">
|
||||
<span class="chart-title">Opportunities by Category</span>
|
||||
<span class="chart-title">الفرص حسب التصنيف</span>
|
||||
<div style="flex: 1; position: relative;">
|
||||
<canvas id="categoryChart"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="glass-panel chart-card">
|
||||
<span class="chart-title">Monthly Growth & Ingestion</span>
|
||||
<span class="chart-title">النمو الشهري وتجميع البيانات</span>
|
||||
<div style="flex: 1; position: relative;">
|
||||
<canvas id="growthChart"></canvas>
|
||||
</div>
|
||||
@@ -103,7 +103,7 @@
|
||||
</div>
|
||||
<div style="max-height: 400px; overflow-y: auto;">
|
||||
<?php if (empty($recent_opportunities)): ?>
|
||||
<p style="color: var(--text-muted); text-align: center; padding: 40px;">No opportunities yet. Run the collector to start gathering data.</p>
|
||||
<p style="color: var(--text-muted); text-align: center; padding: 40px;">لا توجد فرص حتى الآن. قم بتشغيل جامع البيانات لبدء جمع البيانات.</p>
|
||||
<?php else: ?>
|
||||
<?php foreach ($recent_opportunities as $opp): ?>
|
||||
<div class="list-item">
|
||||
@@ -112,7 +112,7 @@
|
||||
<a href="/admin/opportunities/<?= $opp['id'] ?>" style="font-weight: 600;"><?= $this->escape(mb_substr($opp['title'], 0, 80)) ?></a>
|
||||
<div style="display: flex; gap: 8px; margin-top: 4px; flex-wrap: wrap;">
|
||||
<span class="badge badge-type"><?= $this->escape($opp['type']) ?></span>
|
||||
<span style="font-size: 0.8rem; color: var(--text-muted);">Score: <?= $opp['score'] ?></span>
|
||||
<span style="font-size: 0.8rem; color: var(--text-muted);">درجة الأهمية: <?= $opp['score'] ?></span>
|
||||
</div>
|
||||
</div>
|
||||
<small style="color: var(--text-muted); white-space: nowrap;"><?= date('M j', strtotime($opp['created_at'])) ?></small>
|
||||
@@ -130,7 +130,7 @@
|
||||
</div>
|
||||
<div style="max-height: 400px; overflow-y: auto;">
|
||||
<?php if (empty($recent_activities)): ?>
|
||||
<p style="color: var(--text-muted); text-align: center; padding: 40px;">No recent activity.</p>
|
||||
<p style="color: var(--text-muted); text-align: center; padding: 40px;">لا توجد نشاطات حديثة.</p>
|
||||
<?php else: ?>
|
||||
<?php foreach ($recent_activities as $activity): ?>
|
||||
<div class="list-item">
|
||||
@@ -168,17 +168,17 @@
|
||||
const categoryLabels = hasCategoryData
|
||||
? Object.keys(categoriesData).map(k => {
|
||||
const trans = {
|
||||
'grant': '<?= $t['grant'] ?? 'Grants' ?>',
|
||||
'competition': '<?= $t['competition'] ?? 'Competitions' ?>',
|
||||
'demo_day': '<?= $t['demo_day'] ?? 'Demo Days' ?>',
|
||||
'event': '<?= $t['event'] ?? 'Events' ?>',
|
||||
'partnership': '<?= $t['partnership'] ?? 'Partnerships' ?>',
|
||||
'investment': '<?= $t['investment'] ?? 'Investments' ?>',
|
||||
'other': '<?= $t['other'] ?? 'Other' ?>'
|
||||
'grant': '<?= $t['grant'] ?? 'المنح' ?>',
|
||||
'competition': '<?= $t['competition'] ?? 'المسابقات' ?>',
|
||||
'demo_day': '<?= $t['demo_day'] ?? 'أيام العروض' ?>',
|
||||
'event': '<?= $t['event'] ?? 'الفعاليات' ?>',
|
||||
'partnership': '<?= $t['partnership'] ?? 'الشراكات' ?>',
|
||||
'investment': '<?= $t['investment'] ?? 'الاستثمارات' ?>',
|
||||
'other': '<?= $t['other'] ?? 'أخرى' ?>'
|
||||
};
|
||||
return trans[k] || k.charAt(0).toUpperCase() + k.slice(1);
|
||||
})
|
||||
: ['Mobility & Logistics', 'AI & Automation', 'SaaS', 'Fintech', 'Marketplaces'];
|
||||
: ['تنقل ولوجستيات', 'ذكاء اصطناعي وأتمتة', 'برمجيات خدمية', 'تكنولوجيا مالية', 'منصات تجارية'];
|
||||
|
||||
const categoryValues = hasCategoryData
|
||||
? Object.values(categoriesData)
|
||||
|
||||
Reference in New Issue
Block a user