Properly separate personal and work phone sections on different rows
Widen prefix/suffix fields and lead info dropdowns to show full content
Ensure email on own row, improve dropdown widths, enhance country selector visibility
Email on own row, widen lead info dropdowns, improve country selector with flags
Redesign lead creation form with complete name fields, proper dropdown sizing, country field, and improved phone layout
Enhance lead creation form with modern UI, validation, error handling, and improved UX
Add phone extension support to CreateLeadRequest, UpdateLeadRequest, and LeadDTO
Add type assertion for mortgageFields.isRepresented boolean check
Add extension property to Phone interface to support phone extensions
Add LeadProspectType, vendor/product, bestContactTime, phone extension/isText, and residential mortgage fields to lead creation form
Replace secondary color with primary color variations and gradients
Resolve MultipleBagFetchException and fix custom form persistence
- Simplified CustomFormRepository query to avoid multiple bag fetches - Fixed LeadMarketService to properly save and load custom form associations - Use saveAnd...
Properly save and load custom form associations for markets
- Removed repository delete, now using JPA orphan removal for cleanup - Initialize lazy marketCustomForms collection before clearing - Ensure collections are in...
Resolve MultipleBagFetchException in CustomFormRepository
- Simplified findByIdAndOrganizationId query to avoid fetching multiple bags - Removed LEFT JOIN FETCH for stacks and fields in same query - Collections are now...
Reload market after create/update to initialize lazy collections
- Updated createMarket and updateMarket to reload market using getMarketById - This ensures all lazy collections (marketCustomForms, vendorProducts) are initial...
Add salesSubType to LeadMarket interface and use it in edit form
- Added salesSubType field to LeadMarket interface to match DTO - Updated handleEditClick to use salesSubType from DTO when setting parent/child types - This fi...
Resolve MultipleBagFetchException by using transactional lazy loading
- LeadMarketRepository: Reverted to simple query without multiple JOIN FETCH - LeadMarketService: Added @Transactional(readOnly=true) to getMarketById with expl...
Type error: Block-scoped variable 'getAgentFilterMemberId' used before its declaration.
Use passed systemFields for field mapping interface grouping
- FieldMappingInterface: Fixed getSystemFieldsByCategory to use passed-in systemFields prop instead of default BASE_SYSTEM_FIELDS - FieldMappingInterface: Added...
Correct path handling for mortgage fields and custom form data in lead imports
- Fixed mortgage fields to use 2-part paths (mortgageFields.loanAmount) in setNestedFieldOnCreateRequest - Fixed custom form data to use 3-part paths **********...
Add eager loading for repository queries to fix lazy loading issues
- CustomFormRepository: Added LEFT JOIN FETCH for stacks and fields in findByIdAndOrganizationId - LeadMarketRepository: Added LEFT JOIN FETCH for marketCustomF...
Make email/username login case-insensitive
- Normalize input username/email to lowercase before comparison - Use LOWER() function on database column for case-insensitive matching - Fixes issue where user...
Reset state on market data load failure to prevent stale data
- Added state reset in else block when response.ok is false - Ensures selectedMarketConfig and customFields are cleared on failed market load - Maintains consis...
Fix syntax error and add debug logging for market field loading
- Fixed syntax error in complex type assertion by breaking into proper interfaces - Added debug logging to track market data, salesSubType, and custom form load...
Use salesSubType for mortgage field detection in manual import
- Updated LeadMarket interface to match DTO structure (customForms only has basic info initially) - Fixed comment to clarify salesSubType is used for mortgage d...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.