Add missing frontend platform components and update production deployment

This commit adds all previously untracked files and modifications needed for production deployment:
- New marketing components (BenefitsSection, CodeBlock, PluginShowcase, PricingTable)
- Platform admin components (EditPlatformEntityModal, PlatformListRow, PlatformListing, PlatformTable)
- Updated deployment configuration and scripts
- Various frontend API and component improvements

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
poduck
2025-11-30 19:49:06 -05:00
parent 0d1a3045fb
commit 2b321aef57
34 changed files with 1930 additions and 1291 deletions

View File

@@ -29,7 +29,7 @@ export const getNotifications = async (params?: { read?: boolean; limit?: number
queryParams.append('limit', String(params.limit));
}
const query = queryParams.toString();
const url = query ? `/notifications/?${query}` : '/notifications/';
const url = query ? `/api/notifications/?${query}` : '/api/notifications/';
const response = await apiClient.get(url);
return response.data;
};
@@ -38,7 +38,7 @@ export const getNotifications = async (params?: { read?: boolean; limit?: number
* Get count of unread notifications
*/
export const getUnreadCount = async (): Promise<number> => {
const response = await apiClient.get<UnreadCountResponse>('/notifications/unread_count/');
const response = await apiClient.get<UnreadCountResponse>('/api/notifications/unread_count/');
return response.data.count;
};
@@ -46,19 +46,19 @@ export const getUnreadCount = async (): Promise<number> => {
* Mark a single notification as read
*/
export const markNotificationRead = async (id: number): Promise<void> => {
await apiClient.post(`/notifications/${id}/mark_read/`);
await apiClient.post(`/api/notifications/${id}/mark_read/`);
};
/**
* Mark all notifications as read
*/
export const markAllNotificationsRead = async (): Promise<void> => {
await apiClient.post('/notifications/mark_all_read/');
await apiClient.post('/api/notifications/mark_all_read/');
};
/**
* Delete all read notifications
*/
export const clearAllNotifications = async (): Promise<void> => {
await apiClient.delete('/notifications/clear_all/');
await apiClient.delete('/api/notifications/clear_all/');
};