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...
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...
Alt bölümler için bölüm adı ve ızgara
- CRM, E-Mail, Telefon bölümü alt hatları için var ( renkli-primary) kullanın - E-Mail ve Telefon (3 kart) için 3column ızgara kullanın
Fix market sekmeleri, markete göre durum, filtre seçenekleri, ID ek L
- Market sekmesi: liderlik ederek filtre. MarketId ve satıcılar bir piyasa seçildiğinde - Durum/Sub Status: Mevcut filtre seçenekleri için kullanılabilirStatuse...
Back butonuna göz atın, görünümden geri döndüğünde filtreler geri yükleme
- HeaderBar: Browser düğmesine geri ekleyin (ArrowBack) lider bilgi başlığında - LeadManager: bir liderlik açmadan önce oturumlara devam eden filtreler /tablar ...
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...
Fix connection line source position, improve sag, add smart spawning
Fixes: - Source position now correctly uses offsetX/offsetY from where connection icon was clicked (not hardcoded to task item width) - Both established conne...
Add visual improvements to connection lines
- Add source bullet (circle) at start of each line, at right edge of task item - Arrow now ends at left of title area (vertical center), with 3px gap from borde...
Complete rewrite of connection lines with direct DOM manipulation
Key changes: - Use direct DOM manipulation (setAttribute) instead of React state for line updates - Single rAF loop runs continuously and updates all path eleme...
Fix connection lines during drag and after drop
- Use uncontrolled Draggable (defaultPosition, no position) so DOM updates every frame during drag; sync state only on onStop - Store node positions in state ...
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.
