// Dashboard — the workspace home screen. Formal, information-dense. const MODULES = [ { key: 'draw', name: 'ChitraKar Draw', tag: 'DRAW', icon: I.vector, desc: 'Vector graphics · Illustration', color: 'var(--ink)' }, { key: 'photo', name: 'ChitraKar Photo', tag: 'PHOTO', icon: I.photo, desc: 'Raster editing · Retouch', color: 'var(--ink)' }, { key: 'publish', name: 'ChitraKar Publisher', tag: 'PUB', icon: I.publish,desc: 'Layout · Print · Prepress', color: 'var(--ink)' }, { key: 'ui', name: 'ChitraKar UI', tag: 'UI', icon: I.ui, desc: 'Interface · Prototype', color: 'var(--ink)' }, { key: 'ai', name: 'ChitraKar AI Studio', tag: 'AI', icon: I.ai, desc: 'Generative · Assist', color: 'var(--gold)' }, { key: 'brand', name: 'ChitraKar Brand Hub', tag: 'BRAND', icon: I.brand, desc: 'Kits · Assets · Governance', color: 'var(--ink)' }, { key: 'collab', name: 'ChitraKar Collaborate',tag: 'COLLAB', icon: I.collab, desc: 'Review · Approval workflow', color: 'var(--ink)' }, { key: 'print', name: 'ChitraKar Print', tag: 'PRINT', icon: I.print, desc: 'Preflight · Production', color: 'var(--ink)' }, { key: 'cloud', name: 'ChitraKar Cloud', tag: 'CLOUD', icon: I.cloud, desc: 'Storage · Sync · Backup', color: 'var(--ink)' }, { key: 'admin', name: 'ChitraKar Admin', tag: 'ADMIN', icon: I.admin, desc: 'Users · Security · Audit', color: 'var(--ink)' }, ]; const RECENT = [ { id: 'DGN-2864', title: 'Tender Notice — Rural Development', client: 'Ministry of Rural Development', updated: '14 min ago', status: 'draft', module: 'PUB', pages: '4 pages', size: 'A4' }, { id: 'DGN-2851', title: 'Digital India — Awareness Poster', client: 'MeitY', updated: '2 hr ago', status: 'review', module: 'DRAW', pages: '1 artboard', size: 'A3 landscape' }, { id: 'DGN-2847', title: 'Kisan Credit Card — Bilingual', client: 'NABARD', updated: 'Yesterday', status: 'approved', module: 'PUB', pages: '2 pages', size: '85×54 mm' }, { id: 'DGN-2842', title: 'Annual Report — Cover · Section II', client: 'Bureau of Indian Standards', updated: '2 days ago', status: 'review', module: 'PUB', pages: '48 pages', size: 'A4' }, { id: 'DGN-2838', title: 'Aarogya Setu — Kiosk Interface', client: 'NIC · GoI', updated: '3 days ago', status: 'draft', module: 'UI', pages: '12 screens', size: '1920×1080' }, { id: 'DGN-2831', title: 'Swachh Bharat — Certificate Batch', client: 'MoHUA', updated: '5 days ago', status: 'published',module: 'PUB', pages: '1,247 gen.', size: 'A4' }, { id: 'DGN-2825', title: 'Republic Day Greeting — Draft', client: 'Internal', updated: '1 wk ago', status: 'archived', module: 'DRAW', pages: '1 artboard', size: '1080×1080' }, ]; const TEMPLATE_CATS = [ { name: 'Government Notice', count: 148, hero: true }, { name: 'Tender Cover', count: 42 }, { name: 'Certificate', count: 96 }, { name: 'Report · Annual', count: 31 }, { name: 'ID Card', count: 58 }, { name: 'Business Card', count: 74 }, { name: 'Poster · Awareness', count: 112 }, { name: 'Letterhead', count: 39 }, ]; const STATUS_TONE = { draft: 'neutral', review: 'warn', approved: 'ok', published: 'info', archived: 'neutral', }; function Dashboard({ onOpenModule, onOpenProject }) { return (
{/* Top brand bar */}
{/* Ministry / org header */}
On-Premises v3.2.14 · LTS

Ministry of Rural Development ग्रामीण विकास मंत्रालय

Design Cell · Krishi Bhavan, New Delhi · Registered Users 214 · Active Now 27
}>Search designs⌘K }>Import } onClick={() => onOpenModule('draw')}>New Design
{/* Section: Modules */}
{MODULES.map((m) => ( onOpenModule(m.key)} /> ))}
{/* Two-col: Recent designs + Sidebar */}
}>Filter }>Sort }/>
); } function DashboardTopBar() { return (
ChitraKar
Enterprise
Workspace Assets Reviews Reports Admin
SSO · KERBEROS · dev@mord.gov.in
} size={26} /> } size={26} />
); } function Logo({ size = 22 }) { return (
); } function SectionHeader({ label, caption, right, style }) { return (
{caption && · {caption}} {right}
); } function ModuleTile({ mod, onClick }) { const [hover, setHover] = React.useState(false); return ( ); } function RecentTable({ rows, onOpen }) { return (
ID
Title
Client / Dept.
Updated
Status
{rows.map((r, i) => (
onOpen(r)} style={{ display: 'grid', gridTemplateColumns: '82px 1fr 200px 100px 110px 32px', fontSize: 12.5, padding: '10px 12px', borderBottom: i < rows.length - 1 ? '1px solid var(--line)' : 'none', cursor: 'pointer', alignItems: 'center', transition: 'background 80ms', }} onMouseEnter={(e) => e.currentTarget.style.background = 'var(--bg-elevated)'} onMouseLeave={(e) => e.currentTarget.style.background = 'transparent'} >
{r.id}
{r.title}
[{r.module}] · {r.pages} · {r.size}
{r.client}
{r.updated}
{r.status}
))}
); } function TemplateList({ items }) { return (
{items.map((t, i) => (
e.currentTarget.style.background = 'var(--bg-elevated)'} onMouseLeave={(e) => e.currentTarget.style.background = 'transparent'} >
{t.name}
{String(t.count).padStart(3, '0')}
))}
} style={{ width: '100%', justifyContent: 'space-between' }}>Browse all 748
); } function ApprovalStack() { const items = [ { title: 'Tender Notice — MoRD', from: 'S. Iyer', role: 'Reviewer', stage: '2/4', ago: '17 min' }, { title: 'BSNL Rebrand — Assets', from: 'R. Krishnan', role: 'Under Secretary', stage: '3/4', ago: '2 hr' }, { title: 'Kisan Awareness — Set', from: 'M. Nair', role: 'Designer', stage: '1/4', ago: '4 hr' }, ]; return (
{items.map((x, i) => (
{x.title}
from {x.from} · {x.role} Stage {x.stage} · {x.ago}
))}
); } function SystemStack() { const items = [ { label: 'Storage · Cloud', value: '2.4 TB / 8 TB', pct: 30 }, { label: 'Storage · Local', value: '412 GB / 2 TB', pct: 20 }, { label: 'AI Inference · Q3', value: '18,244 / 50,000', pct: 36 }, { label: 'Active Licenses', value: '214 / 300', pct: 71 }, ]; return (
{items.map((x, i) => (
{x.label} {x.value}
70 ? 'var(--status-warn)' : 'var(--ink)' }}/>
))}
); } Object.assign(window, { Dashboard, Logo });