feat: SAP S/4HANA ERP SPA — Dashboard, Procurement, Tasks Inbox & Audit Trail #32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
SAP S/4HANA ERP — Procurement & Approval SPA
Overview
A polished SAP S/4HANA–style enterprise resource planning single-page application focused on procurement management and approval workflows. Built with the exact same stack as existing SPAs in this repo (Vite + React 19 + TypeScript strict + Tailwind v4 + dojo-hooks), fully offline with rich seed data.
Screenshots
Dashboard — KPI Widgets & Pending Items
Six hero KPI cards (revenue, open POs, pending approvals, budget utilization, total spend, on-time delivery) powered by
useDojoState. Panels showing POs awaiting approval and upcoming tasks with direct navigation.Procurement — List, Filter & Detail Views
Full purchase order table with status/priority filters and global search. Detail view with line-item table, vendor info card, approve/reject actions, and threaded comments.
Task Inbox — Approval Queue
Card-based task grid with status chips, progress bars, priority indicators, and cycle-status toggles. Supports filtering and empty state. Summary counts at top.
Audit Trail — Activity Timeline
Chronological grouped timeline recording every navigation, approval, rejection, comment, and status change. Color-coded by category (procurement, approval, navigation, system). Stored in
dojo.state.auditLogfor RL verification.Views Implemented
Seed Data
Technical Stack
tsc -bpasses with 0 errors@chakra-dev/dojo-hooksuseDojoStatein AppProvider — no bespoke stores@tailwindcss/vitevite-plugin-singlefiledist/index.html= 282 KB (82 KB gzipped)lucide-reacticonsSAP Fiori Theme
#354a5f) with gold hex logo accent#f7f7f7background#f58b00) for highlights and brandingState Architecture
All state lives in a single
useDojoState<AppState>()call:Every mutation (navigation, approval, rejection, comment, task toggle) writes to
dojo.stateand appends an audit entry — making the entire session fully traceable for RL verification viawindow.dojo.state.auditLog.File Structure
Build Verification