import React, { useState } from 'react'; import { FileCheck2, UploadCloud, MessageSquare, KeyRound, CheckCircle, Clock, ShieldAlert, ExternalLink, Maximize2, FileSignature } from 'lucide-react'; import { SCREENSHOTS, ScreenshotItem } from '../../data/showcaseData'; interface PartnerShowcaseProps { onOpenScreenshot: (item: ScreenshotItem) => void; } export const PartnerShowcase: React.FC = ({ onOpenScreenshot }) => { const partnerScreenshots = SCREENSHOTS.filter((s) => s.platform === 'PFM Partner'); const [selectedCategory, setSelectedCategory] = useState('All'); const categories = ['All', 'Dashboard', 'Evidence & Proof', 'Communications', 'Onboarding']; const filteredScreens = selectedCategory === 'All' ? partnerScreenshots : partnerScreenshots.filter((s) => s.category === selectedCategory); return (
{/* Background ambient glow */}
{/* Section Header */}
Grantee & Implementing Partner Suite

PFM Partner •{' '} Field Delivery & Evidence Hub

Empower implementing teams to manage sanctioned grant agreements, execute work-breakdown activities, and upload tamper-evident proofs directly against funding covenants.

{/* 3 Core Partner Pillars */}
{/* Pillar 1 */}
PILLAR 01 • Evidence Vault

Granular Activity Proof Uploads

Attach statutory documents, invoices, and geotagged photographs directly to milestones with pre-signed S3 storage and immediate SHA verification.

100% Traceable Garage S3 Vault
{/* Pillar 2 */}
PILLAR 02 • Direct Comms

Direct Programme Officer Comms

Eliminate lost email chains. Built-in contextual messaging links every query, revision request, and milestone note directly into an auditable project thread.

Direct Inbox Audit Logged
{/* Pillar 3 */}
PILLAR 03 • Rapid Mobilization

Statutory SSO Onboarding & Tranches

Single-token statutory onboarding invitations allow instant portal mobilization, KYC compliance verification, and clear visibility into covenant-tied tranches.

Zero Friction Duende STS Auth
{/* Screenshot Category Filter & Grid */}
{categories.map((cat) => ( ))}
Showing {filteredScreens.length} Partner Views
{/* Screenshot Cards Grid */}
{filteredScreens.map((screen) => (
onOpenScreenshot(screen)} className="group cursor-pointer rounded-2xl bg-slate-900/60 border border-slate-800 hover:border-emerald-500/50 overflow-hidden shadow-xl transition-all duration-300 hover:-translate-y-1" >
{screen.title}
{screen.category}

{screen.title}

{screen.description}

{screen.tags.map((tag) => ( #{tag} ))}
))}
); };