Skip to content

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.

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

  1. Card-Based Layout: Replaced the previous tab-based navigation with a visual grid of setting cards.
  2. Live Saving: Most settings now save automatically upon change, with visual feedback (toasts).
  3. Component Modularization: Each settings section is now a standalone component (e.g., SocialSettings.tsx, BlogSettings.tsx), improving code maintainability.
  4. 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: CompanyPage manages the high-level AppSettings state 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).

TendSocial Documentation