Commit graph

44 commits

Author SHA1 Message Date
fullsizemalt
e6d6fa6efc fix(3d-viewer): remove duplicate function definitions from file
Some checks are pending
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
Deploy to Production / deploy (push) Waiting to run
- Cleans up duplicate Facility3DViewerPage, FacilityScene, and PlantInstances functions
- Ensures single clean export default
2025-12-17 03:39:46 -08:00
fullsizemalt
699cb73621 fix(3d-viewer): add robust error handling and safety checks
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Limit excessive instances
- Add localized ErrorBoundary to prevent full app crash
- Add safe data access for optional plant properties
2025-12-17 03:37:15 -08:00
fullsizemalt
dd647538c5 feat: complete METRC integration and 3D Facility Viewer
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Added METRC status badge to BatchesPage
- Implemented real 3D Facility Viewer using React Three Fiber
- Visualizes plants, rooms, sections from live data
- Added seed-metrc-demo.js for populating realistic METRC plant data
2025-12-17 03:27:25 -08:00
fullsizemalt
c049aac16e feat: add METRC Integration Dashboard
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Created metrcApi.ts client for all METRC endpoints
- Created MetrcDashboardPage with Overview, Plant Locations, Audit tabs
- Shows demo mode banner when METRC API not connected
- CSV export for manual METRC upload
- Plant location table with sync status
- Audit trail with location change history
- Added METRC to navigation under Compliance section
2025-12-17 03:06:57 -08:00
fullsizemalt
b946955f49 fix: Documents page - remove category field references, align with backend schema
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Removed category field usage (doesn't exist in Prisma schema)
- Changed grouping from category to type
- Removed GUIDE type (not in backend)
- Updated filter dropdown with correct types
2025-12-17 02:36:22 -08:00
fullsizemalt
ac50b7a9d9 fix: add TRAINING document type to fix Documents page crash
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Added TRAINING to DocumentType union in documentsApi.ts
- Added TRAINING to TYPE_CONFIG in DocumentsPage.tsx
- Updated ROADMAP.md version to 0.3.0
2025-12-17 02:19:08 -08:00
fullsizemalt
4bf0471f7b fix: revert to safe mode for 3D viewer
Some checks failed
Deploy to Production / deploy (push) Has been cancelled
Test / backend-test (push) Has been cancelled
Test / frontend-test (push) Has been cancelled
2025-12-12 23:46:30 -08:00
fullsizemalt
8136f267bc fix: remove 3D Text component to prevent crash
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-12 23:40:24 -08:00
fullsizemalt
86ad94f812 fix: resolve API prefix double-url bugs and stabilize 3D viewer
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-12 23:28:59 -08:00
fullsizemalt
36dbeb23c3 feat: 3D Facility Viewer with React Three Fiber
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Added Facility3DViewerPage with interactive 3D scene
- Shows floors, rooms, sections, and plant positions
- Color-coded by room type and position status
- Orbit controls for rotation/zoom/pan
- Floor selector dropdown
- Stats panel showing totals
- Added /layout/floors/:id/3d API endpoint
- Fixed TypeScript issues in DocumentsPage
2025-12-12 22:38:06 -08:00
fullsizemalt
c7f8bc8cec feat: walkthrough 'completed today' status + 3D viewer spec
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Added /walkthroughs/today API endpoint
- Show clear status when walkthrough is already completed
- Show 'Continue Walkthrough' for in-progress ones
- Added facility-3d-viewer.md spec
- Installed React Three Fiber dependencies
2025-12-12 22:17:10 -08:00
fullsizemalt
15b50a74c6 feat: global breadcrumbs + walkthrough photo upload
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
Breadcrumbs:
- Added Breadcrumbs to main Layout (appears on ALL pages)
- Dynamic route support (/batches/:id, /rooms/:id)
- Proper navigation hierarchy

Daily Walkthrough:
- Enhanced layout with progress bar
- Photo capture from camera or file upload
- Notes fields for each check
- Improved touch targets and mobile UX

Removed inline breadcrumbs from individual pages since
they now come from the global Layout.
2025-12-12 21:22:01 -08:00
fullsizemalt
0382e8119d fix: improve batch card display with batch code badges and room location
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-12 20:44:12 -08:00
fullsizemalt
eb5ebc610f feat: room cards with color-coded headers + room detail page
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Room cards now have colored header backgrounds per type (VEG=green, FLOWER=purple, DRY=amber, CURE=orange, etc.)
- Cards are clickable, linking to /rooms/:id
- New RoomDetailPage with gradient header, sensor metrics with sparklines, active batches list
- Backend: GET /rooms/:id endpoint returns room with batches
2025-12-12 19:33:07 -08:00
fullsizemalt
3239a8b89b ui: redesign room cards - sensor data prominent
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Temp/humidity now large and center with colored icons
- Size and capacity compressed to header subtitle
- Batch count with status indicator dot
- Cleaner visual hierarchy
2025-12-12 19:13:00 -08:00
fullsizemalt
e7be23cce4 feat: add batch detail endpoint and fix drill-down navigation
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
Backend:
- Add getBatchById controller with touch points and IPM schedule
- Add GET /batches/:id route

Frontend:
- Update Batch interface to include touchPoints
- BatchDetailPage now uses real touch points from API
- Better error handling on batch load failure
2025-12-12 19:04:16 -08:00
fullsizemalt
817abb732d refactor: consolidate Daily Walkthrough to single page
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- All sections (reservoirs, irrigation, plant health) on one scrollable page
- Collapsible sections with progress indicators
- Compact inline check rows (no oversized tank visualizations)
- Thin level indicator bars instead of large tank graphics
- Fixed submit button at bottom
- Edit mode per row for quick adjustments
2025-12-12 18:53:08 -08:00
fullsizemalt
20e8f994a1
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-12 18:38:41 -08:00
fullsizemalt
625deb2bd3 feat: dashboard metrics now clickable with navigation
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Active Batches → /batches
- Total Plants → /batches
- Tasks Completed → /tasks
- Tasks Pending → /tasks
- Touch Points → /touch-points
- Rooms → /rooms
- Added arrow indicator on hover
2025-12-12 17:24:07 -08:00
fullsizemalt
93a39c2f2c feat: BatchDetailPage with rich data visualization
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- BatchDetailPage: Lifecycle journey, SVG sparkline charts, modeled sensor data
- Metrics: Temperature, humidity, VPD, CO2, light PPFD with trends
- Touch point history with categorized icons
- Health score gauge visualization
- IPM schedule display
- BatchesPage: Clickable cards linking to detail
- Stage progress mini indicator
- Days-in-cycle badge
2025-12-12 16:55:04 -08:00
fullsizemalt
a2120170b6 fix: intentional walkthrough UI redesign
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- DailyWalkthroughPage: Centered, compact start screen with minimal chrome
- Summary: Statistical overview with compact cards
- ReservoirChecklist: Single column centered, tighter spacing
- IrrigationChecklist: Compact status rows, inline toggles
- PlantHealthChecklist: Segmented health control, minimal layout
- Layout: Remove theme toggle from desktop sidebar (cleaner)
2025-12-12 16:49:41 -08:00
fullsizemalt
c9b58e0aee fix: improve walkthrough desktop layout with wider cards and grid
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-12 14:51:52 -08:00
fullsizemalt
fddd43fa4f fix: store refreshToken on login for proper auth flow
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
2025-12-12 14:35:54 -08:00
fullsizemalt
71e58dd4c7 feat: Linear-inspired UI redesign with Space Grotesk headlines
Some checks are pending
Deploy to Production / deploy (push) Waiting to run
Test / backend-test (push) Waiting to run
Test / frontend-test (push) Waiting to run
- Complete UI refactor with charcoal/bone color palette
- Add Space Grotesk font for headlines, Inter for body
- Update all 24+ pages with new design system
- Add LinearPrimitives reusable components
- Improve dark mode support throughout
- Add subtle micro-animations and transitions
2025-12-12 14:29:47 -08:00
fullsizemalt
046bb9361e feat(kiosk): add Android APK and PWA support
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
2025-12-11 20:22:03 -08:00
fullsizemalt
b35c32279c fix(kiosk): Increase QR code size to 320px with fixed dimensions
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Removed maxWidth constraint that caused scaling
- Set explicit height/width to prevent shrinking
2025-12-11 15:59:49 -08:00
fullsizemalt
58d76fb158 feat(visitor): Enhanced badge & kiosk UX
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Larger QR code on kiosk success screen (280px)
- Redesigned badge page with card flip feature
  - Front: Visitor info, photo, badge number, duration
  - Back: QR code for security scan, checkout link
- Added photo capture to kiosk registration
  - Camera access with preview
  - Capture, retake, and submit photo
- Site branding on badge page (777 Wolfpack)
- Better status indicators and UI polish
2025-12-11 15:46:34 -08:00
fullsizemalt
43e65bfd4c fix(kiosk): Filter empty optional fields before API submission
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Prevents validation errors when email/phone/company are empty strings
- Only sends fields with actual values to backend
2025-12-11 15:31:37 -08:00
fullsizemalt
969397bae1 feat(kiosk): Require manual confirmation for badge
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Disabled auto-timeout on success screen when a badge is issued
- Updated 'Done' button to 'I have my badge' for clearer confirmation
2025-12-11 15:00:41 -08:00
fullsizemalt
284e972376 refactor(ui): Rename 'Visitor Panopticon' to 'Visitor Management'
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Reverted the naming change per user request to avoid the term 'Panopticon'
2025-12-11 14:58:46 -08:00
fullsizemalt
2ffc4edbcd fix(build): Resolve TypeScript and Import errors
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Fixed 'qrcode.react' import in VisitorKioskPage (named export)
- Added 'badgeExpiry' to VisitorLog interface in visitorsApi
- Added 'tiers' to LayoutSection interface in layoutStore
- NOTE: This fixes the build failure on nexus-vector
2025-12-11 14:50:42 -08:00
fullsizemalt
9f41d6b413 feat(visitor): Implement Admin Panopticon View
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Renamed Management Page to Visitor Panopticon
- Added Revoke button to active visitors
- Added Revoke Modal with reason capture
- Updated status display to show REVOKED status
2025-12-11 14:16:14 -08:00
fullsizemalt
15e1a8b199 feat(visitor): Implement Digital Badge System
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Added public /badges/:id route with BadgePage component
- Updated VisitorKiosk to display QR code upon check-in
- Backend now returns visitId in check-in response
- Added qrcode.react dependency
2025-12-11 13:51:47 -08:00
fullsizemalt
d05fcf6b74 fix: Update Quick Actions page with PageHeader and wizard flow
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
2025-12-11 11:33:39 -08:00
fullsizemalt
35162d565d refactor: Code splitting, page templates, and PageHeader consistency
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Lazy load all pages for 24% bundle size reduction (575KB → 436KB)
- Created templates: PageTemplate, ComponentTemplate, WidgetTemplate
- Updated RoomsPage and IPMDashboardPage with PageHeader
- All routes wrapped in Suspense with PageLoader component
- Fixed malformed router.tsx structure
2025-12-11 11:18:29 -08:00
fullsizemalt
4663b0ac86 feat: Navigation refactor with RBAC, DevTools for quick user switching, enhanced seed data
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
- Refactored navigation with grouped sections (Operations, Cultivation, Analytics, etc.)
- Added RBAC-based navigation filtering by user role
- Created DevTools panel for quick user switching during testing
- Added collapsible sidebar sections on desktop
- Mobile: bottom nav bar (4 items + More) with slide-up sheet
- Enhanced seed data with [DEMO] prefix markers
- Added multiple demo users: Owner, Manager, Cultivator, Worker
- Fixed domain to runfoo.run
- Added Audit Log and SOP Library pages to navigation
- Created usePermissions hook and RoleBadge component
2025-12-11 11:07:22 -08:00
fullsizemalt
32fd739ccf feat: Complete Phases 8-13 implementation
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
Phase 8: Visitor Management
- Visitor/VisitorLog/AccessZone models
- Check-in/out with badge generation
- Zone occupancy tracking
- Kiosk and management pages

Phase 9: Messaging & Communication
- Announcements with priority levels
- Acknowledgement tracking
- Shift notes for team handoffs
- AnnouncementBanner component

Phase 10: Compliance & Audit Trail
- Immutable AuditLog model
- Document versioning and approval workflow
- Acknowledgement tracking for SOPs
- CSV export for audit logs

Phase 11: Accessibility & i18n
- WCAG 2.1 AA compliance utilities
- react-i18next with EN/ES translations
- User preferences context (theme, font size, etc)
- High contrast and reduced motion support

Phase 12: Hardware Integration
- QR code generation for batches/plants/visitors
- Printable label system
- Visitor badge printing

Phase 13: Advanced Features
- Environmental monitoring (sensors, readings, alerts)
- Financial tracking (transactions, P&L reports)
- AI/ML insights (yield predictions, anomaly detection)
2025-12-11 00:26:25 -08:00
fullsizemalt
e240ec7911 feat(phase2): Implement Phase 2 - Plant Touch Points & IPM
Added PlantTouchPoint and IPMSchedule models. Implemented touch-points and IPM controllers/routes. Updated frontend with Dashboard feed and IPM widgets.
2025-12-09 21:22:47 -08:00
fullsizemalt
f95b626724 feat: Shopping List UI + Roadmap Update
📦 Shopping List Feature (Phase 3A)
- Full SupplyItem model with Vendor & ProductUrl
- Shopping List / Inventory toggle
- Add Item Modal (Category, Thresholds, Vendor info)
- 'Order Now' external link logic
- 'Mark Ordered' tracking
- Quantity +/- adjustments

📅 Roadmap Update:
- Defined Unified Master Calendar (Phase 4)
- Added granular toggles (Emp Schedules, Taxes, Compliance, Plant Cycle, etc.)

🚀 Status:
- Backend deployed (Schema synced)
- Frontend deploying...
2025-12-09 15:26:35 -08:00
fullsizemalt
e31e44eb34 feat: Daily Walkthrough COMPLETE! 🎉
 FULLY FUNCTIONAL END-TO-END IMPLEMENTATION

📁 Files Created/Modified:
- frontend/src/lib/walkthroughApi.ts (API client)
- frontend/src/pages/DailyWalkthroughPage.tsx (integrated workflow)

🔌 Integration Complete:
- Connected all 3 checklists to backend API
- State management for all check data
- Error handling throughout
- Loading states
- Summary/review screen with full data display

 Complete Workflow:
1. Start walkthrough (creates DB record)
2. Reservoir checks (4 tanks) → saves to API
3. Irrigation checks (4 zones) → saves to API
4. Plant health checks (4 zones) → saves to API
5. Summary screen (review all data)
6. Submit (marks walkthrough complete)
7. Navigate to dashboard with success message

📊 Summary Screen Features:
- Reservoir summary (tank levels + status)
- Irrigation summary (drippers + system status)
- Plant health summary (health + pests)
- Color-coded status badges
- Edit capability (back navigation)
- Submit button

🎨 UX Polish:
- Loading states on all async operations
- Error messages displayed inline
- Disabled states during loading
- Success navigation
- Back navigation at every step
- Data persistence across steps

🔐 Security:
- JWT authentication required
- User auto-attributed from token
- All API calls authenticated

📱 Mobile-First:
- Touch-friendly throughout
- Responsive layouts
- 777 Wolfpack branding
- Dark mode support

�� STATUS: PRODUCTION READY!

Team: 777 Wolfpack
Priority: CRITICAL - First thing every morning
Estimated Time: 15-20 minutes per walkthrough
2025-12-09 14:23:26 -08:00
fullsizemalt
d156569d99 feat: Daily Walkthrough Frontend - Start + Reservoir Checks
🎨 Frontend UI Implementation (Phase 1.5)

📁 Files Created:
- frontend/src/pages/DailyWalkthroughPage.tsx
- frontend/src/components/walkthrough/ReservoirChecklist.tsx

 Features:
- Mobile-first walkthrough start screen
- 777 Wolfpack branding
- Progress tracking
- Visual tank level indicator
- Touch-friendly slider (44px+ targets)
- Auto status detection (OK/LOW/CRITICAL)
- Color-coded status badges
- Notes field
- Photo upload placeholder
- Responsive design (mobile → tablet → desktop)

📱 Mobile Optimizations:
- Large tap targets (56px buttons)
- Visual feedback (active states)
- Bottom navigation on mobile
- Gradient backgrounds
- Backdrop blur effects
- Touch-friendly sliders

🎨 UX Features:
- Step-by-step wizard
- Progress bar
- Tank-by-tank workflow
- Auto-save ready
- Back navigation
- Clear status indicators

⏭️ Next: Irrigation + Plant Health checklists

Status: 40% Frontend Complete
2025-12-09 14:13:38 -08:00
fullsizemalt
f54aba713e feat: Mobile-First Login + 777 Wolfpack Branding
 Implemented:
- SplashScreen component with 777 Wolfpack logo
- Mobile-first LoginPage with responsive breakpoints
- Touch-friendly inputs (56px button height, 44px+ inputs)
- 777 Wolfpack branding throughout
- Dark mode support
- Loading states
- Gradient background with logo
- Fixed accessToken (was 'token')

📱 Mobile Optimizations:
- Logo: 24px mobile → 32px tablet
- Inputs: py-3 mobile → py-4 tablet
- Text: text-2xl mobile → text-3xl tablet
- Spacing: p-6 mobile → p-8 tablet
- Min button height: 56px (exceeds 44px standard)

🎨 777 Wolfpack Branding:
- Logo displayed prominently
- "777 Wolfpack Edition" subtitle
- Team name in footer
- Blue/slate color scheme matching logo

⏭️ Next: Mobile navigation + responsive dashboard
2025-12-09 13:59:36 -08:00
fullsizemalt
6b724386ba feat: Phase 1 Complete (Backend + Frontend)
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 0s
2025-12-09 09:24:00 -08:00
fullsizemalt
e9bc75b52c feat: Setup React Router, Tailwind, and shadcn/ui components
- Added React Router with Home, Login, Dashboard pages
- Configured Tailwind CSS with custom theme
- Installed shadcn/ui components (button, card, input, etc.)
2025-12-09 01:19:33 -08:00