kelly
5bbc740962
feat: Implement Phase 9 (Campaign UX) and Phase 10 (Conversations/Messaging)
...
- Add marketing_channel_id to broadcasts table
- Create Campaign views (index, create, edit, show) with modern UX
- Implement test send functionality with provider abstraction
- Create Conversations data model (conversations, participants, messages)
- Create Messaging inbox UI with conversation threads
- Link broadcast sends to conversation system
- Add Marketing nav section (premium feature, gated by has_marketing flag)
- Update BroadcastController with sendTest method
- Create MessagingController with conversation management
- Add SMS provider support (Twilio, Telnyx, Cannabrands)
- Create comprehensive platform naming and style guide
Phase 9 Complete: Full campaign management UX
Phase 10 Complete: Messaging foundation ready for two-way communication
2025-11-20 23:43:47 -07:00
Jon Leopard
caf4b8e302
style: auto-fix code style with Laravel Pint
...
Fixed 222 style issues across 399 files:
- class_definition, braces_position formatting
- concat_space, trailing_comma_in_multiline
- ordered_imports, no_unused_imports
- not_operator_with_successor_space
- no_whitespace_in_blank_line
- single_blank_line_at_eof
- And many more PSR-12/Laravel conventions
All files now pass Laravel Pint code style checks.
2025-10-23 00:01:18 -07:00
Jon Leopard
bb0df2d555
refactor: migrate authentication system to Laravel Breeze with /b/ prefix
...
## Major Authentication System Overhaul
### Migration to Laravel Breeze
- Configure all auth routes under `/b/` prefix for business authentication
- Replace custom BusinessAuthController with battle-tested Breeze controllers
- Maintain all existing ZOD validation and custom views
- Preserve security features: rate limiting, CSRF protection, password hashing
### Backend Improvements
- **RegisteredUserController**: Updated to handle business registration logic and views
- **AuthenticatedSessionController**: Point to business login view
- **PasswordResetLinkController & NewPasswordController**: Full password reset flow
- **BusinessAuthController**: Streamlined to only handle success page and profile view
### Frontend Enhancements
- Keep all existing ZOD validation with real-time feedback
- Maintain custom business registration/login views with visual enhancements
- Preserve email availability checking, password strength validation, phone formatting
- Update all routes to use business.* naming convention
### Route Structure
- `/b/register` → Breeze RegisteredUserController → business.auth.register view
- `/b/login` → Breeze AuthenticatedSessionController → business.auth.login view
- `/b/forgot-password` → Breeze PasswordResetLinkController → auth.forgot-password view
- `/b/reset-password/{token}` → Breeze NewPasswordController → auth.reset-password view
- All password reset routes properly prefixed with business.*
### Security & Reliability Benefits
- Laravel Breeze's proven authentication logic and security features
- Proper session management, rate limiting, and CSRF protection
- Easy to maintain and upgrade with future Laravel versions
- Standard Laravel authentication patterns
### Cleanup
- Remove duplicate auth/login.blade.php view
- Clean up unused BusinessAuthController authentication methods
- Update all route references to use business.* prefix
- Remove route conflicts and ensure proper Breeze integration
This refactor provides the best of both worlds: robust Breeze backend security with custom frontend UX.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-20 09:30:07 -07:00
Jon Leopard
ab590bc990
WIP: Business setup flow and user approval system standardization
...
- Reverted Business Contacts section to collapsible list format
- Standardized user approval to use approval_status field everywhere
- Removed deprecated status field via migration
- Fixed login/approval checks to use consistent approval_status
- Updated tests, seeders, and widgets for new approval system
- Added business setup wizard views (not fully tested)
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-18 20:57:28 -07:00
Jon Leopard
7f51605e0d
feat: implement complete user approval and dashboard workflow
...
## 🎯 User Registration & Approval System
- **Registration Flow**: Users redirected to pending approval page instead of dashboard
- **Admin Approval**: Filament panel allows one-click user approval via dropdown/button
- **Email Notifications**: Beautiful approval emails with 48-hour signed login links
- **Email Verification**: Combined approval + email verification in single click
## 🛡️ Access Control & Security
- **EnsureUserApproved Middleware**: Blocks unapproved users from dashboard
- **Signed URLs**: Secure login links with expiration for email verification
- **Super Admin Bypass**: Admins can access dashboard without approval
## 🎨 Dashboard Experience
- **Business Setup Banner**: Guides new users through compliance requirements
- **LeafLink-Inspired Design**: Cannabis industry best practices with DaisyUI
- **Setup Progress Tracking**: Visual progress indicators for business onboarding
- **Compliance Focus**: Document upload requirements for cannabis operations
## 📧 Email System
- **Mailpit Integration**: Development email testing (localhost:8025)
- **Beautiful Templates**: Cannabis-themed emails with platform statistics
- **Synchronous Delivery**: Reliable email sending without queue issues
## 🔧 Technical Improvements
- **UserObserver**: Automatic email triggers on approval status changes
- **Dashboard Routing**: Simplified LeafLink-style /dashboard route
- **Auth Controller Updates**: All authentication flows redirect to proper approval workflow
- **Future Metrics**: Documented cannabis-specific dashboard metrics for implementation
## 🏗️ Architecture Alignment
- **LeafLink Pattern**: Research-based cannabis platform user experience
- **Cannabis Compliance**: Arizona state regulations and business verification focus
- **B2B Marketplace**: Business-to-business cannabis trading emphasis
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-18 08:38:18 -07:00
Jon Leopard
8ba61aefc5
refactor: Improve user authentication logic and create retailer
2025-06-03 12:14:41 -07:00
Jon Leopard
b8437882d7
feat: Add onboarding confirmation page and file upload endpoint
2025-05-27 12:31:32 -07:00
Jon Leopard
aa90d6d411
Checkpoint: DaisyUI integration, public page migration, and temporary dashboard fallback for users without brands
2025-05-20 10:41:43 -07:00
Jon Leopard
ed871a6275
FIRST
2025-05-19 17:10:49 -07:00