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;