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...
Reordonați filtrele: Mutați agentul dropdown înainte ca starea să scadă
Adaugă pictograme la starea și substatus dropdown filtre în pagina conduce
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...
Unificați sublinierea titlului secțiunii și grila pentru secțiunile inferioare
- Utilizați var(--color-primar) pentru CRM, E-Mail, secțiunea telefon subliniază - Utilizați grilă 3 coloane pe lg pentru E-Mail și Telefon (3 cărți) pentru asp...
Fix file de piață, starea de piață, opțiunile de filtrare, prefixul ID-ului de plumb L
- Fila Market: filtru cu plumb. marketId și vânzătorProduse atunci când o piață este selectată - Stare/Sub Status: utilizaţi Statusuri disponibile pentru opţiun...
Butonul din spate pe antet de vizualizare, restaura filtrele atunci când se întoarce din vedere
- AntetBar: adăugați înapoi la butonul Lead Browser (ArrowBack) în antet de informații plumb - LeadManager: persistă filtre/tabe la sesiuneStoraj înainte de a d...
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...
Source bullets on top of task items, +15px offset
Visual improvements: - Split SVG into two layers: lines (z-index: 1, behind) and bullets (z-index: 10, on top) - Source bullets now render AFTER task items in D...
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.
