diff --git a/frontend/src/config/pages/content.config.tsx b/frontend/src/config/pages/content.config.tsx index 1d3ba3f5..85fe181c 100644 --- a/frontend/src/config/pages/content.config.tsx +++ b/frontend/src/config/pages/content.config.tsx @@ -473,7 +473,6 @@ export const createContentPageConfig = ( ), ], }, - }, ], headerMetrics: [ { diff --git a/frontend/src/config/pages/ideas.config.tsx b/frontend/src/config/pages/ideas.config.tsx index 6be0ab63..407a4e86 100644 --- a/frontend/src/config/pages/ideas.config.tsx +++ b/frontend/src/config/pages/ideas.config.tsx @@ -69,6 +69,7 @@ export const createIdeasPageConfig = ( description?: string | null; content_structure: string; content_type: string; + primary_focus_keywords?: string | null; target_keywords?: string | null; keyword_cluster_id?: number | null; status: string; @@ -152,9 +153,19 @@ export const createIdeasPageConfig = ( ); }, }, + { + key: 'primary_focus_keywords', + label: 'Primary Keywords', + sortable: false, + render: (value: string) => ( + + {value || '-'} + + ), + }, { key: 'target_keywords', - label: 'Keywords', + label: 'Covered Keywords', sortable: false, render: (value: string) => ( @@ -377,10 +388,19 @@ export const createIdeasPageConfig = ( ], }, { - key: 'target_keywords', - label: 'Target Keywords', + key: 'primary_focus_keywords', + label: 'Primary Focus Keywords', type: 'text', - placeholder: 'Enter keywords (comma-separated)', + placeholder: '1-2 main keywords (comma-separated)', + value: handlers.formData.primary_focus_keywords || '', + onChange: (value: any) => + handlers.setFormData({ ...handlers.formData, primary_focus_keywords: value }), + }, + { + key: 'target_keywords', + label: 'Covered Keywords', + type: 'text', + placeholder: '2-3 supporting keywords (comma-separated)', value: handlers.formData.target_keywords || '', onChange: (value: any) => handlers.setFormData({ ...handlers.formData, target_keywords: value }), diff --git a/frontend/src/pages/Planner/Ideas.tsx b/frontend/src/pages/Planner/Ideas.tsx index 8bc3e66b..2f8548ca 100644 --- a/frontend/src/pages/Planner/Ideas.tsx +++ b/frontend/src/pages/Planner/Ideas.tsx @@ -87,6 +87,7 @@ export default function Ideas() { description: '', content_structure: 'article', content_type: 'post', + primary_focus_keywords: '', target_keywords: '', keyword_cluster_id: null, status: 'new', @@ -407,6 +408,7 @@ export default function Ideas() { description: '', content_structure: 'article', content_type: 'post', + primary_focus_keywords: '', target_keywords: '', keyword_cluster_id: null, status: 'new', @@ -486,6 +488,7 @@ export default function Ideas() { description: row.description || '', content_structure: row.content_structure || 'article', content_type: row.content_type || 'post', + primary_focus_keywords: row.primary_focus_keywords || '', target_keywords: row.target_keywords || '', keyword_cluster_id: row.keyword_cluster_id || null, status: row.status || 'new', diff --git a/frontend/src/pages/Writer/Content.tsx b/frontend/src/pages/Writer/Content.tsx index 3123fa87..1b0f4b83 100644 --- a/frontend/src/pages/Writer/Content.tsx +++ b/frontend/src/pages/Writer/Content.tsx @@ -291,9 +291,15 @@ export default function Content() { contentTypeOptions, contentStructureOptions, contentTypeFilter, + setContentTypeFilter, contentStructureFilter, + setContentStructureFilter, sourceFilter, - }); + setSourceFilter, + setSearchTerm, + setStatusFilter, + setCurrentPage, + ]); // Calculate header metrics - use totals from API calls (not page data) // This ensures metrics show correct totals across all pages, not just current page diff --git a/frontend/src/services/api.ts b/frontend/src/services/api.ts index 9acccd66..bb6a5739 100644 --- a/frontend/src/services/api.ts +++ b/frontend/src/services/api.ts @@ -1185,6 +1185,7 @@ export interface ContentIdea { description?: string | null; content_type: string; // post, page, product, taxonomy content_structure: string; // article, guide, comparison, review, etc. + primary_focus_keywords?: string | null; target_keywords?: string | null; keyword_cluster_id?: number | null; keyword_cluster_name?: string | null; @@ -1203,6 +1204,7 @@ export interface ContentIdeaCreateData { description?: string | null; content_type?: string; content_structure?: string; + primary_focus_keywords?: string | null; target_keywords?: string | null; keyword_cluster_id?: number | null; status?: string;