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>
This commit is contained in:
36
frontend/src/theme.ts
Normal file
36
frontend/src/theme.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
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" },
|
||||
};
|
||||
Reference in New Issue
Block a user