Complete Phase 4 & 5 - Account, Security, SettingsFormControls
Account pages: - BillingManager: EmptyState, SettingsSectionHeader, SettingsTextField - StatsManager: SettingsSectionHeader - FeaturesManager: SettingsSectionHe...
Phase 4 & 5 - section headers, skeleton, empty state, member polish
Phase 4 - Essential pages: - Add SettingsSectionHeader to SettingsFormControls - JobTitleManager, DepartmentManager, SecurityRoleManager: use CommerceSkeleton ...
Implement SETTINGS_UI_ENHANCEMENT_PLAN and fix build
Settings UI: - Add settingsTheme tokens, FeatureCard, SettingsFormControls - SettingsStatusWindow: search, recently visited, feature-aware filtering - SettingsV...
Add SETTINGS_UI_ENHANCEMENT_PLAN for settings/configuration and slide-out nav preview
Dashboard engagement metrics, server-side order filters, posApi imageUrl, print invoice
Implement enterprise plan - pipeline tabs, settings, detail pages, order tracking
- Replace RENTAL/SERVICE/SUBSCRIPTION placeholders with real tabs: PipelineBookingsTab, PipelineWorkOrdersTab, PipelineAgreementsTab - Add PROCUREMENT tab with ...
Returns workflow, fulfillment status, accounts lookup
- posApi: createOrderReturn, updateReturnStatus, updateFulfillmentStatus, getAccounts - Order detail: Request Return dialog, returns list with Approve/Reject - ...
Add customer/purchaser selection to order create and edit
- Add purchaserUid to posApi createOrder and updateOrder - Order create form: optional Customer Account ID field - Order edit dialog: optional purchaser field -...
Phase 1–2 implementation, order/app UI, rental foundation
- Order detail: Payment history and Fulfillments sections when PAID - Application detail: Approve button (SUBMITTED→APPROVED), commitment display - posApi: Orde...
Pipeline datagrids collapsed, restructure to match leads layout
- SettingsView: tab content container now uses display:flex, overflow:hidden so flex chain passes height to grids (fixes collapsed grids in POS settings) - Pi...
Use AG Grid and flex-fill layout for pipeline and POS datagrids
- PipelineEngagementsTab, PipelineOrdersTab, PipelineApplicationsTab: flex-fill height for AgGrid - PipelineProductsTab: convert from MUI Table to AgGrid with p...
Date range filter, placeholder pages, dashboard/engagement UX
- Engagements tab: dateFrom/dateTo filter, engagement count, context-aware empty states - Placeholder pages: service, bookings, agreements, procurement (coming ...
Use getDisplayName for domain, support WORK_ORDER/VENDOR_ORDER link labels
- Engagement detail: show friendly domain label (Retail vs RETAIL) - Engagements tab: domain column uses getDisplayName - Add link labels for WORK_ORDER, VENDOR...
Add Engagements tab, detail page, and dashboard integration
- posApi: add Engagement types, getEngagements, getEngagementById - posDomainLabels: add getEngagementStatusLabel - PipelineEngagementsTab: AG Grid with domain/...
Complete remaining items (validation, product cache, status, recent items, focus); revert lazy load to fix build
Finish remaining plan items – low-stock warning, date filters, plan checkboxes
- Order Create: low-stock warning when adding product with trackInventory - Orders tab: date range filter (last 7 days, last 30 days) - Applications tab: date r...
Phase 4–5 – Dashboard reporting, error handling, a11y
Phase 4 – Dashboard & reporting: - Revenue by period (week, month, quarter) - Order count by status (DRAFT, AUTHORIZED, PAID, CANCELLED, REFUNDED) - Application...
Align Pipeline and Settings UI with commerce backend
- Update order status colors to match backend (DRAFT, AUTHORIZED, PAID, CANCELLED, REFUNDED) - Update application status colors (DRAFT, SUBMITTED, EXPIRED, CANC...
Full-page views, AG Grid, domain support, create screens
- Add getMortgageApplication(id) to posApi - Replace Orders tab: MUI Table -> AG Grid, row click -> /pipeline/orders/[id] - Replace Applications tab: cards -> A...
Enterprise-grade POS UI and API
- posApi: POSApiError class, fetchWithError, structured error handling - useToast + POSToast: centralized snackbar for success/error feedback - posUtils: format...
POS domain config, retail order line items, dynamic pipeline tabs
- Add getPOSConfig/updatePOSConfig to posApi, posDomainLabels utility - Extend createOrder with lineItems, add getOrder, RetailOrderLineItem type - PipelineOrde...
POS restructure: API via APIService, Settings for admin, Pipeline for users
- API proxy: POS requests forward to APIService (relays to SecurityService) - Settings: New POS System section under main settings + /settings/features/pos - PO...
Reorder Filtri: Spostare l'agente a discesa prima della caduta dello stato
Aggiungere le icone allo stato e sottostatus filtri a discesa nella pagina dei lead
Stabilize connection line physics and mouse proximity
- Only apply mouse proximity force after mouse has moved (avoids 0,0 affecting lines on load) - Guard mouse position with Number.isFinite before use - Clamp con...
Unificare il titolo di sezione in linea e griglia per sezioni inferiori
- Utilizzare var(--color-primary) per CRM, E-Mail, voce del telefono sottolinea - Usare la griglia a 3 colonne su lg per E-Mail e Phone (3 carte) per un layout ...
Fissare le schede di mercato, stato per mercato, opzioni di filtro, prefisso ID piombo L
- Scheda di mercato: filtro per piombo. marketId e vendorProductIds quando un mercato è selezionato - Stato/Sub Stato: utilizzare gli stati disponibili per le o...
Pulsante posteriore sull'intestazione di visualizzazione, ripristinare i filtri al ritorno dalla vista
- HeaderBar: aggiungere Torna al pulsante Lead Browser (ArrowBack) in intestazione info lead - LeadManager: persistono filtri/tab a sessionStorage prima di apri...
Switch to base28, remove 5 and S from alphabet
- Rename toBase30 to toBase28; use 28-char alphabet - Lead/doc formatters now use toBase28 internally
Agent column from assignedEmployee, base30 lead/doc ID formats
- Agent column shows assignedEmployee.fullName or 'Unassigned' - Add assignedEmployee to Lead type; use valueGetter for sort/filter - LeadManager: use toBase30L...
Shared toBase30 in app/utils/base30, use in LeadManager and DocManager
Improve lead grid with base30 IDs, raven icon, All Markets tab, and Market column
- Add toBase30() function for consistent ID representation across LeadManager and DocManager - Fix Grim status icon in tabs to use raven.ico (matching the datag...
Add mouse proximity physics effect to connection lines
- Checks 5 points along the curve for proximity detection - 80px effect radius - lines respond when mouse gets close - Force strength uses inverse square fallof...
Destination task item border matches line animation
- New destinationGlow keyframe animation with 4 phases - Border color animates through amber → gold → white → gold → amber - Matches the flowing gradient animat...
Auto-expand answers and highlight connected items
Answer Input (TaskSideBar): - New answer field appears immediately when typing in last field - Focus stays in current field while typing - Empty placeholder fie...
New answer field maintains focus while typing
- Added local state for new answer input (newAnswerValue) - Input no longer triggers array update on each keystroke - Answer is added on blur or when pressing E...
Auto-expanding answers and consistent background colors
TaskSideBar (Task Item Settings): - Removed "Add Answer" button - Added auto-expanding input field that appears after existing answers - Typing in the placehold...
Restore task item selection while keeping line clicks
- SVG container back to pointer-events-none (allows clicks to pass through) - Hit area paths use pointer-events: stroke (only the line itself is clickable) - Vi...
Add clickable relationship lines with selection and delete
- Lines can now be clicked to select them (with wider hit area for easier clicking) - Selected lines highlight in amber/orange color with animated flowing gradi...
Update sidebar colors and adjust line positions
- TaskSideBar background now uses 18% primary (same as task items) - TaskSideBar text changed to gray-900 for contrast - Input fields use 8% primary background ...
Position logo between background color and grid lines
- Removed duplicate backgroundColor from canvas-container - Background color is on scroll container, logo is fixed above it - Grid lines overlay on top of logo ...
Update task item colors and add centered logo background
- TaskItem background now uses color-mix (18% primary) - 10% darker than canvas - Removed hardcoded bg-white from TaskItem in favor of dynamic primary color - A...
Use primary color from globals.css for canvas background
- Background color uses color-mix to create very light primary (8% primary + white) - Grid lines use color-mix with 15% primary color for subtle contrast - Matc...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
