Commit graph

260 commits

Author SHA1 Message Date
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
efb298e119 fix: thorough Linear design audit
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
- ThemeToggle: Single button cycle instead of 3-button bar
- UserMenu: Cleaner styling with accent avatar
- MobileNavSheet: Consistent Linear tokens
- Walkthrough checklists: Desktop two-column layout
- RoleModal: Toggle buttons instead of tiny checkboxes
- IPMScheduleModal: Toggle buttons instead of checkbox
- ScoutingModal: Toggle buttons instead of checkbox
2025-12-12 15:49:21 -08:00
fullsizemalt
b6dd904adc feat: update Layout Designer with Linear design tokens - Use accent blue instead of emerald - Consistent neutral palette - Refined typography
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 15:03:45 -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
f4e6e03ac0 fix: update DevTools login to use new auth signature
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:45:19 -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
11e3fc9de8 chore(kiosk): update assetlinks.json with real SHA256 fingerprint
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-11 23:16:52 -08:00
fullsizemalt
73958c5a5f fix(backend): add auth middleware to walkthrough routes
Some checks failed
Deploy to Production / deploy (push) Failing after 0s
Test / backend-test (push) Failing after 0s
Test / frontend-test (push) Failing after 1s
2025-12-11 20:29:50 -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
f51a1072fe feat(pwa): Add PWA support for installable kiosk app
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 manifest.json for 'Add to Home Screen' installation
- Added service worker for offline caching
- Added app icons (192px, 512px)
- Updated index.html with mobile meta tags
- Created spec for Escort Handoff Mode (009)
2025-12-11 16:13:50 -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
5ef61d09be fix(api): Remove double /api prefix from visitorsApi calls
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
- The axios instance already has /api base URL
- Removed redundant /api prefix from all visitor and zone endpoints
2025-12-11 14:44:08 -08:00
fullsizemalt
26c2680b64 fix(types): Add REVOKED to VisitorLog status and include revoke method in visitorsApi
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 14:20:29 -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
56c8e8bb8b fix(schema): Add REVOKED to VisitorStatus enum
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 14:11:28 -08:00
fullsizemalt
668e213cd8 fix(visitor): Remove global auth from Kiosk routes
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 global onRequest jwtVerify hook
- Added explicit auth check to secure routes (revoke, report)
- Kiosk check-in/out and create visitor are now public
2025-12-11 13:59:43 -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
0a631f462a docs: Add Phase 15 (3D Visualization) to Roadmap
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 spec for 'Cool 3D Views' using react-three-fiber
- Planned features: 3D volumes, tier stacking, walking mode
2025-12-11 13:30:50 -08:00
fullsizemalt
d2c2e0aeef feat(layout): Add Tiers input to Section Dialog
Some checks failed
Deploy to Production / deploy (push) Failing after 1s
Test / backend-test (push) Failing after 1s
Test / frontend-test (push) Failing after 0s
- Added Tiers configuration to AddSectionDialog
- Updated capacity calculations
- Updates saves to include tier count
2025-12-11 13:26:59 -08:00
fullsizemalt
2edb2dd100 feat(layout): Update frontend types and API to support Tiers
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 'tiers' to LayoutSection
- Added 'tier' to LayoutPosition
- Included 'sections' in saveFloorLayout payload (fixes data loss bug)
2025-12-11 13:24:56 -08:00
fullsizemalt
ed36645cc8 feat(api): Update section creation routes to support Tiers
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 13:23:32 -08:00
fullsizemalt
3a11590795 feat(layout): Add Tiers to FacilitySection and Position
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 'tiers' to FacilitySection for multi-level racks
- Added 'tier' to FacilityPosition for Z-axis addressing
- Updated unique constraint for positions
2025-12-11 13:21:05 -08:00
fullsizemalt
9cabd54718 docs: Update Roadmap
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 Phase 14: Facility Monitoring & Security Integration
- Marked Sprint 1 (Infrastructure) as Completed
- Marked Sprint 2 (Integration) as Roadmapped/Future
2025-12-11 13:09:15 -08:00
fullsizemalt
cfb3caabe7 fix(docker): Fix malformed docker-compose.yml
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
- Resolved duplicate 'frontend' service definition
- Resolved duplicate 'labels' key in go2rtc/frontend block
- Ensured valid YAML structure
2025-12-11 12:58:31 -08:00
fullsizemalt
225bf3608e feat(monitoring): Add go2rtc service for CCTV integration
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 go2rtc service to docker-compose.yml
- Configured Traefik routing at /monitor
- Created go2rtc.yaml with demo stream configuration
2025-12-11 12:56:50 -08:00
fullsizemalt
1ef3dc0d80 fix(seed): Adjust Nutrient Management for 16-gal Test Stock
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
- Updated seed.js task to reflect 16-gallon test stock protocol (scaling factor 0.32)
- Updated Spec 006 with 16-gallon protocol details
- Updated validation targets (EC ~2.9 for Part A, ~1.69 for Part B/PZ)
2025-12-11 12:47:31 -08:00
fullsizemalt
3dad07de03 feat(seed): Add Nutrient Management protocols and Supplies
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 Front Row Ag 3-2-2 Mixing Task to seed.js
- Added Front Row Ag nutrients and Phoszyme to demo supplies
- Created spec 013 (Facility Monitoring)
- Updated spec 006 (Cultivation) with nutrient protocols
2025-12-11 12:40:03 -08:00
fullsizemalt
efffe3fb94 fix(frontend): Fix TypeScript inference for AddFloorModal state
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 12:27:02 -08:00
fullsizemalt
da93320ccf feat(layout): Add Ceiling Height and Tiers to Floor creation
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 ceilingHeight and defaultTiers to FacilityFloor model
- Updated API routes and frontend client
- Updated AddFloorModal with new fields and clearer labels
2025-12-11 12:23:49 -08:00
fullsizemalt
0c970cadb7 fix(seed): Remove invalid createdById from Task creation in seed.js
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:57:42 -08:00
fullsizemalt
76703aa500 fix(seed): Update seed.js SupplyCategory Enum values (NUTRIENTS -> OTHER)
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:54:34 -08:00
fullsizemalt
9188d12475 fix(seed): Update seed.js with correct Role Enum values (GROWER, STAFF)
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:51:00 -08:00
fullsizemalt
deadb04803 fix(backend): Add Batch-FacilityPlant relation and fix Prisma queries
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 bi-directional relation between Batch and FacilityPlant in schema.prisma
- Fixed logic in insights.routes.ts to use simplified plant count query
- Fixed duplicate property in messaging.routes.ts findMany filter
- Fixed null/undefined type mismatch in audit.routes.ts extractClientInfo
2025-12-11 11:43:54 -08:00
fullsizemalt
e34df722bb feat: Add Building creation functionality to Layout Designer
Some checks failed
Deploy to Production / deploy (push) Failing after 1s
Test / backend-test (push) Failing after 1s
Test / frontend-test (push) Failing after 0s
2025-12-11 11:36:31 -08:00
fullsizemalt
a4a7626637 fix: Correct API call signature for creating floors
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:34:41 -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
f8a368be62 feat: Layout Designer enhancements (#1)
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 ability to create new Floors and properties directly in Layout Designer
- Implemented AddFloorModal
- Updated FloorSelector to support adding properties/floors
- Fixed missing capabilities in PropertySetup
- Resolved circular dependencies and duplicate imports
2025-12-11 11:31:07 -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
010ed94b31 ci: Add seed step to deployment workflow
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:08:48 -08:00
fullsizemalt
6808446ff0 fix: Enable DevTools on testing domains (*.runfoo.run)
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:08:05 -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