Company Settings Refactor
The Company Settings page (/company) has been refactored to use a card-based dashboard layout, improving organization and user experience.
Overview
The new design mirrors the Platform Console (/platform) layout, utilizing a DashboardLayout component. Settings are categorized into distinct tiles, each accessible via a specific route.
Navigation & Structure
The settings are organized as follows:
- Advanced Settings (
/company/advanced): Use to be "General Settings". Contains "Danger Zone" for resetting onboarding. - Scheduling (
/company/scheduling): Content cadence, working hours, and global schedule settings. - Blog Configuration (
/company/blog): Blog platform (text/cms), frontmatter, and git integration. - Social Platforms (
/company/social): Default platforms, hashtag groups, and AI styling preferences. - Integrations (
/company/integrations): Third-party integrations (Slack, Zapier, etc.). - Analytics (
/company/analytics): Analytics source configuration and data retention. - Team Management (
/company/team): Manage team members and invites. - Roles & Permissions (
/company/roles): Configure custom roles and RBAC. - Billing (
/company/billing): Subscription management and invoices.
Key Changes
- Card-Based Layout: Replaced the previous tab-based navigation with a visual grid of setting cards.
- Live Saving: Most settings now save automatically upon change, with visual feedback (toasts).
- Component Modularization: Each settings section is now a standalone component (e.g.,
SocialSettings.tsx,BlogSettings.tsx), improving code maintainability. - Renaming: "General Settings" is now "Advanced Settings".
Developer Notes
- Registry: The navigation structure is defined in
src/config/companyRegistry.ts. New settings sections should be added there. - Persistence: Settings are persisted to the backend via
PUT /api/company(or specific endpoints for sub-resources). - State Management:
CompanyPagemanages the high-levelAppSettingsstate and passes it down to sub-components.
Future Improvements
- [ ] Granular permission checks for each settings card.
- [ ] Enhanced validation for complex configurations (e.g., Blog Frontmatter).