feat: Add Plugin Marketplace and My Plugins management pages
This commit completes the plugin system UI by adding two key pages: 1. Plugin Marketplace (/plugins/marketplace): - Browse and search platform-provided plugins - Filter by category (EMAIL, REPORTS, CUSTOMER, BOOKING, etc.) - View plugin details including ratings, install count, description - Install plugins with one click - Modal view for detailed plugin information 2. My Plugins (/plugins/my-plugins): - View all installed plugins - Manage plugin activation status - Update plugins when new versions available - Rate and review installed plugins - Uninstall plugins with confirmation - Links to create custom plugins and browse marketplace Additional changes: - Added plugin routes to App.tsx with owner/manager access control - Updated HelpPluginDocs.tsx with navigation callout boxes - Added TypeScript interfaces for PluginTemplate and PluginInstallation - Both pages feature full dark mode support - Professional UI with Tailwind CSS styling - React Query integration for data fetching The pages are accessible from the Plugins dropdown menu in the sidebar. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -301,4 +301,38 @@ export interface OAuthProviderCredential {
|
||||
export interface BusinessOAuthCredentialsResponse {
|
||||
credentials: Record<string, OAuthProviderCredential>;
|
||||
useCustomCredentials: boolean;
|
||||
}
|
||||
|
||||
// --- Plugin Types ---
|
||||
|
||||
export type PluginCategory = 'EMAIL' | 'REPORTS' | 'CUSTOMER' | 'BOOKING' | 'INTEGRATION' | 'AUTOMATION' | 'OTHER';
|
||||
|
||||
export interface PluginTemplate {
|
||||
id: string;
|
||||
name: string;
|
||||
description: string;
|
||||
category: PluginCategory;
|
||||
version: string;
|
||||
author: string;
|
||||
rating: number;
|
||||
ratingCount: number;
|
||||
installCount: number;
|
||||
isVerified: boolean;
|
||||
isFeatured: boolean;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface PluginInstallation {
|
||||
id: string;
|
||||
template: string;
|
||||
templateName: string;
|
||||
templateDescription: string;
|
||||
category: PluginCategory;
|
||||
version: string;
|
||||
isActive: boolean;
|
||||
installedAt: string;
|
||||
hasUpdate: boolean;
|
||||
rating?: number;
|
||||
review?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user