Initial Plast Track MVP

This commit is contained in:
masterdev
2026-06-15 13:35:22 +01:00
commit 3bf4c622d8
47 changed files with 7339 additions and 0 deletions

267
UI.md Normal file
View File

@@ -0,0 +1,267 @@
# UI Guide
## Purpose
This file documents the current frontend UI direction for `Plast Track MVP`.
The product surface is now organized as module tabs instead of one long dashboard page. The goal is to keep the operator focused on one task area at a time while preserving fast access to workshop status, selected machine context, and actions.
## UI Direction
The current UI aims for:
- modern industrial dashboard
- simple and readable operator flows
- elegant but restrained visual language
- fast status scanning
- clear separation between monitoring modules and operator actions
Design principles:
- show machine state first
- reduce visual noise
- separate workflows into tabs
- keep passive acquisition and machine safety explicit
- avoid sending any command back to machines
## Layout
The application uses a tabbed module workspace:
```text
Hero Header
Summary Ribbon
Module Tabs
Current Module Panel
```
Current module tabs:
- `Atelier`: machine cards, filtering, sorting, quick actions, fullscreen workshop mode
- `Machine`: selected machine detail, cycles, events, downtime history
- `TRS`: daily OEE/TRS and per-machine OEE
- `OF`: production order creation and status management
- `Arrets`: open downtime qualification and timeline
- `Rebuts`: scrap declaration and recent scrap log
- `Config`: selected machine signal and timing configuration
Desktop, tablet, and mobile all use the same module model. On smaller screens, tab buttons and module content stack naturally without horizontal page scroll.
## Main UI Blocks
### 1. Hero Header
Purpose:
- establish product identity
- show realtime connection status
- provide top-level hierarchy
Content:
- product title
- realtime status
- error feedback if data loading fails
### 2. Summary Ribbon
Purpose:
- provide workshop-level scanning before entering a module
Current metrics:
- global OEE
- machines in production
- open downtimes
- produced quantity vs scrap quantity
### 3. Module Tabs
Purpose:
- separate supervision, production order, downtime, scrap, TRS, and configuration workflows
- avoid crowding all operator forms on one page
- keep each module readable on tablets and production displays
### 4. Atelier Module
Purpose:
- show every machine at a glance
- support quick triage and routing to the right workflow
Features:
- machine card grid
- status filter
- sort by code, OEE, or stops first
- fullscreen workshop mode
- state duration badge
- no-active-OF empty state
- quick actions to OF, Rebuts, and Arrets modules
### 5. Machine Module
Purpose:
- turn the selected machine into the focal point
Contains:
- status KPIs
- current order
- average cycle
- daily OEE
- machine context
- recent cycle SVG bars
- recent events
- downtime history
### 6. TRS Module
Purpose:
- keep daily performance visible without mixing it with operator forms
Contains:
- global OEE
- availability
- performance
- quality
- per-machine OEE list
### 7. Operator Action Modules
Purpose:
- keep write workflows focused and auditable
Modules:
- `OF`: create, start, pause, and close production orders
- `Arrets`: qualify open downtimes
- `Rebuts`: declare scrap
- `Config`: update passive signal configuration
All forms use inline validation, inline API error feedback, and success toasts.
## Visual Language
### Typography
Fonts:
- `Instrument Sans` for interface text
- `Space Grotesk` for headings and numeric emphasis
### Color
Base direction:
- light industrial gray background
- industrial blue primary structure
- anthracite text and secondary structure
- technical orange active accent
- white panels for contrast
Final palette:
| Usage | Color | Code |
|-------|-------|------|
| Couleur principale | Bleu industriel | `#0A2F5A` |
| Couleur secondaire | Gris anthracite | `#2B2B2B` |
| Couleur accent | Orange technique | `#F28C28` |
| Fond clair | Gris tres clair | `#F5F7FA` |
| Fond / contraste | Blanc | `#FFFFFF` |
Status colors:
- `production`: industrial blue
- `arret_non_qualifie`: technical orange
- `arret_qualifie`: anthracite
- `reglage`: mixed industrial blue / orange
- `hors_planning`: neutral anthracite tint
### Surfaces
Surfaces use:
- rounded panels
- soft shadows
- token-driven borders
- high contrast status text
## Responsive Behavior
Desktop:
- centered workspace
- full tab row
- wide machine grid
- split layouts inside form/list modules
Tablet:
- tab row wraps to fewer columns
- form/list modules stack
Mobile:
- single-column flow
- summary cards stack
- tabs stack
- tables scroll horizontally only inside their wrapper
- touch targets remain at least 44px high
## Operator Experience
The UI is designed so an operator or supervisor can quickly:
1. see which machines are running or stopped
2. filter or sort machines by operational need
3. open a selected machine detail view
4. create or manage production orders
5. qualify downtime
6. declare scrap
7. review daily TRS/OEE
8. configure passive signal timing per machine
## Current Frontend Files
Core files:
- [frontend/src/App.tsx](/d:/@@@DEV/apps/plast%20track/frontend/src/App.tsx:1)
- [frontend/src/styles.css](/d:/@@@DEV/apps/plast%20track/frontend/src/styles.css:1)
- [frontend/src/components/MachineCard.tsx](/d:/@@@DEV/apps/plast%20track/frontend/src/components/MachineCard.tsx:1)
- [frontend/src/components/Panel.tsx](/d:/@@@DEV/apps/plast%20track/frontend/src/components/Panel.tsx:1)
- [frontend/src/components/CycleBarChart.tsx](/d:/@@@DEV/apps/plast%20track/frontend/src/components/CycleBarChart.tsx:1)
## Suggested Next UI Improvements
Near-term:
- improve table empty states for OF and machine event history
- add optimistic row updates for order and downtime actions
- add tablet-first operator shortcuts for common reason codes
Medium-term:
- create separate operator and supervisor views
- add richer downtime timeline with duration buckets
- add historical trend charts for OEE and scrap
- add saved workshop display presets
High-value UX additions:
- keyboard-friendly action flow for industrial tablets
- larger gloved-use mode
- alarm emphasis rules without overusing red
- quick action drawer for the selected machine
## UI Goal
The target is not a generic admin panel.
The target is a calm, production-oriented interface that helps people notice problems fast, act with minimal friction, and understand machine performance in context.