Files
pesco-ncr/frontend/src/theme.ts
ang3l12 dea316b113 Initial commit: PESCO NCR system
Complete Non-Conformance Report system replacing the PowerApps/SharePoint
prototype: FastAPI + SQLAlchemy 2 (async) + Alembic + MySQL 8 backend,
React 18 + Vite + TypeScript + MUI frontend, Entra ID auth (MSAL / JWKS,
group-gated), Microsoft Graph delegated Mail.Send notifications (OBO),
six-stage workflow state machine with server-side enforcement, atomic
NCR-YYYY-NNNN numbering, attachments with camera capture, immutable
field-level audit trail, admin reopen, reports + CSV export, WeasyPrint
PDF traveler, Power BI reporting views + read-only DB user, documented
VISUAL ERP job-lookup stub, pytest suite (26 tests), docker-compose
deployment.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 11:41:22 -06:00

37 lines
1.1 KiB
TypeScript

import { createTheme } from "@mui/material/styles";
export const theme = createTheme({
palette: {
primary: { main: "#1a5fb4" },
secondary: { main: "#e66100" },
background: { default: "#f4f6f9" },
},
typography: {
fontFamily: '"Segoe UI", Roboto, Helvetica, Arial, sans-serif',
h5: { fontWeight: 700 },
h6: { fontWeight: 700 },
},
components: {
// Shop-floor tablets: keep touch targets comfortable.
MuiButton: {
defaultProps: { size: "medium" },
styleOverrides: { root: { minHeight: 42, textTransform: "none", fontWeight: 600 } },
},
MuiTextField: { defaultProps: { size: "medium" } },
MuiCard: {
styleOverrides: {
root: { borderRadius: 10, boxShadow: "0 1px 4px rgba(20,40,80,0.10)" },
},
},
},
});
export const STAGE_COLORS: Record<string, { bg: string; fg: string }> = {
new_request: { bg: "#fdf1d9", fg: "#8a5a00" },
secondary_disposition: { bg: "#f3e5f5", fg: "#6a1b9a" },
operations: { bg: "#e3f2fd", fg: "#0d47a1" },
qc_inspection: { bg: "#e8f5e9", fg: "#1b5e20" },
costing: { bg: "#fff3e0", fg: "#b45309" },
closed: { bg: "#eceff1", fg: "#455a64" },
};