Frontend Changes: - Add all 5 platform permissions to BusinessEditModal (matching TenantInviteModal) - Manage OAuth Credentials - Accept Online Payments (Stripe Connect) - Use Custom Domain - Remove Branding (White Label) - API Access - Add "Coming Soon" feature limits section with 11 future capabilities - Video conferencing - Event types limits (unlimited or custom) - Calendar connections limits (unlimited or custom) - External API connections - Repeated/recurring events - 2FA requirement - System logs download - Data deletion - Masked phone numbers - POS system integration - Mobile app access - Update TypeScript interfaces to include all permission fields - PlatformBusiness: Add 4 new required boolean fields - PlatformBusinessUpdate: Add 4 new optional boolean fields Backend Changes: - Update TenantUpdateSerializer to accept all 5 permission fields - can_manage_oauth_credentials - can_accept_payments - can_use_custom_domain - can_white_label - can_api_access UI Improvements: - All permissions displayed with toggle switches and descriptions - Purple theme for permission toggles - Gray card backgrounds for visual separation - "Coming Soon" badge with yellow styling - Disabled state (opacity-50) for future features - Proper spacing and layout consistency Result: - BusinessEditModal now has complete feature parity with TenantInviteModal - Platform admins can view and modify all current permissions - Clear visibility into planned features 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
React + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel (or oxc when used in rolldown-vite) for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
React Compiler
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
Expanding the ESLint configuration
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.