10 Commits

Author SHA1 Message Date
a7296be512 feat: Add theme system with 7 themes including Otaku and Pink Pink
- Implement ThemeContext with CSS variables for dynamic theming
- Add theme presets: Cyberpunk, Windows Classic, Dark Modern, Matrix, Industrial, Otaku Mode, Pink Pink
- Add theme selector UI in Footer with color preview
- Theme persists to localStorage
- Each theme has unique background effects, colors, and styling
- Otaku Mode: anime-style dark purple with pink/purple glow and star effects
- Pink Pink: cute pastel pink with heart pattern overlay

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 23:34:08 +09:00
86fe466b55 feat: Add VisionData panel, HW error display, and reel handler 3D model
- Add hardware error banner with priority system (motion > i/o > emergency)
- Add DIO status to HW status display with backend integration
- Remove status text from HW status, keep only LED indicators
- Add VisionDataPanel showing real-time recognized data for L/C/R ports
- Add GetVisionData API in MachineBridge with batch field support
- Add BroadcastVisionData function (250ms interval)
- Replace 3D model with detailed reel handler equipment
- Use OrthographicCamera with front view for distortion-free display
- Fix ProcessedDataPanel layout to avoid right sidebar overlap
- Show log viewer filename in error message when file not found

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 23:22:56 +09:00
3bd35ad852 feat: Add real-time IO/interlock updates, HW status display, and history page
- Implement real-time IO value updates via IOValueChanged event
- Add interlock toggle and real-time interlock change events
- Fix ToggleLight to check return value of DIO.SetRoomLight
- Add HW status display in Footer matching WinForms HWState
- Implement GetHWStatus API and 250ms broadcast interval
- Create HistoryPage React component for work history viewing
- Add GetHistoryData API for database queries
- Add date range selection, search, filter, and CSV export
- Add History button in Header navigation
- Add PickerMoveDialog component for manage operations
- Fix DataSet column names (idx, PRNATTACH, PRNVALID, qtymax)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 00:18:27 +09:00
bb67d04d90 feat: Implement manual print dialog with full label printing functionality
Added complete manual print dialog to Web UI based on fManualPrint.cs:
- Created ManualPrintDialog component with all input fields (SID, Vendor Lot, Qty, MFG Date, Reel ID, Supplier, Part No)
- Added printer selection (Left/Right), print count, delete after print checkbox, and barcode input
- Implemented ExecuteManualPrint backend method with ZPL label generation and printer integration
- Added WebSocketServer handler for EXECUTE_MANUAL_PRINT command with full parameter support
- Integrated dialog into Header component with proper error handling via AlertContext

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 23:48:18 +09:00
8bbd76e670 feat: Add vision controls, function menu, and custom alert dialogs
- Add Vision menu with Camera (QRCode) and Barcode (Keyence) controls
- Add Function menu with Manage, Log Viewer, and folder navigation
- Add quick action buttons (Manual, Light, Print, Cancel) to header
- Replace browser alert() with custom AlertDialog component
- Add MachineBridge methods for vision, lighting, folders, and manual operations
- Add WebSocketServer handlers for all new commands
- Add communication layer methods for frontend-backend integration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 23:39:38 +09:00
6219c4c60e feat: Implement vision menu, processed data panel, and UI improvements
- Add VisionMenu component with Camera (QRCode) and Barcode (Keyence) submenus
- Remove old CameraPanel component and replace with dropdown menu structure
- Add ProcessedDataPanel to display processed data in bottom dock (5 rows visible)
- Create SystemStatusPanel component with horizontal button layout (START/STOP/RESET)
- Create EventLogPanel component for better code organization
- Add device initialization feature with 7-axis progress tracking
- Add GetProcessedData and GetInitializeStatus backend methods
- Update Header menu layout to vertical (icon on top, text below) for more space
- Update HomePage layout with bottom-docked ProcessedDataPanel
- Refactor HomePage to use new modular components

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 22:18:55 +09:00
3c4c8ded53 feat: Add detailed recipe preview in list items
- Extended Recipe interface with additional fields (Motion, Barcode types, flags)
- Recipe list items now show detailed information when selected:
  - Motion model name in green
  - Barcode type badges (1D/QR/DM) with color coding
  - Feature flags (No Cam, No Print, Auto Out) as compact badges
  - Last modified date at bottom
- Selected recipes load full data and update preview automatically
- Enhanced visual hierarchy with borders, spacing, and color coding

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 21:28:22 +09:00
d6678422a7 feat: Migrate RecipePage to use real OPModel data
- Updated RecipePage to load actual recipe data from OPModel table
- Added GetRecipe() and SaveRecipe() methods to communication layer
- Implemented real-time recipe editing with change tracking
- Added type definitions for GetRecipe and SaveRecipe in types.ts
- Recipe editor now displays all major fields:
  - Basic Settings (Motion Model, Auto Out Conveyor, Vendor Name, MFG)
  - Barcode Settings (1D, QR, Data Matrix)
  - Feature Flags (IgnoreOtherBarcode, DisableCamera, etc.)
- Copy and Delete operations now use recipe Title instead of id
- Added unsaved changes warning when switching recipes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 21:15:39 +09:00
8364f7478c feat: Migrate IO and Recipe systems to use real data sources
- Enhanced GetIOList() to read from DIO library (inputs, outputs, interlocks)
- Added interlock display to IOMonitorPage with 3-tab layout
- Migrated GetRecipeList() to use PUB.mdm.dataSet.OPModel table
- Migrated GetRecipe() to read from OPModel DataRow
- Migrated SaveRecipe() to save to OPModel table with type conversion
- Updated frontend to handle new structured IO format
- All methods now use real hardware/database instead of mock data

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 21:09:23 +09:00
5cb1ff372c initial commit 2025-11-25 20:14:41 +09:00