Compare commits
6 Commits
2d4767530d
...
d9346e6f16
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d9346e6f16 | ||
|
|
f559bd44a1 | ||
|
|
62fc47cfe8 | ||
|
|
9e48d728fd | ||
|
|
272a3e3d83 | ||
|
|
ebf6a9f27a |
@@ -27,7 +27,7 @@ export const statusColumn = {
|
||||
|
||||
export const volumeColumn = {
|
||||
key: 'volume',
|
||||
label: 'Volume',
|
||||
label: 'Search Volume',
|
||||
sortable: true,
|
||||
numeric: true,
|
||||
width: '100px',
|
||||
@@ -51,7 +51,7 @@ export const countryColumn = {
|
||||
|
||||
export const clusterColumn = {
|
||||
key: 'cluster',
|
||||
label: 'Cluster',
|
||||
label: 'Topic Group',
|
||||
sortable: true,
|
||||
width: '200px',
|
||||
};
|
||||
@@ -90,7 +90,7 @@ export const wordCountColumn = {
|
||||
|
||||
export const sectorColumn = {
|
||||
key: 'sector_name',
|
||||
label: 'Sector',
|
||||
label: 'Category',
|
||||
sortable: false,
|
||||
width: '150px',
|
||||
};
|
||||
|
||||
@@ -66,7 +66,7 @@ const AppSidebar: React.FC = () => {
|
||||
const setupItems: NavItem[] = [
|
||||
{
|
||||
icon: <DocsIcon />,
|
||||
name: "Add Keywords",
|
||||
name: "Find Keywords",
|
||||
path: "/setup/add-keywords",
|
||||
},
|
||||
];
|
||||
@@ -75,7 +75,7 @@ const AppSidebar: React.FC = () => {
|
||||
if (isModuleEnabled('site_builder')) {
|
||||
setupItems.push({
|
||||
icon: <GridIcon />,
|
||||
name: "Sites",
|
||||
name: "Your Websites",
|
||||
path: "/sites", // Submenus shown as in-page navigation
|
||||
});
|
||||
}
|
||||
@@ -84,7 +84,7 @@ const AppSidebar: React.FC = () => {
|
||||
if (isModuleEnabled('thinker')) {
|
||||
setupItems.push({
|
||||
icon: <BoltIcon />,
|
||||
name: "Thinker",
|
||||
name: "Content Strategy",
|
||||
path: "/thinker/prompts", // Default to prompts, submenus shown as in-page navigation
|
||||
});
|
||||
}
|
||||
@@ -96,7 +96,7 @@ const AppSidebar: React.FC = () => {
|
||||
if (isModuleEnabled('planner')) {
|
||||
workflowItems.push({
|
||||
icon: <ListIcon />,
|
||||
name: "Planner",
|
||||
name: "Organize Keywords",
|
||||
path: "/planner/keywords", // Default to keywords, submenus shown as in-page navigation
|
||||
});
|
||||
}
|
||||
@@ -105,7 +105,7 @@ const AppSidebar: React.FC = () => {
|
||||
if (isModuleEnabled('writer')) {
|
||||
workflowItems.push({
|
||||
icon: <TaskIcon />,
|
||||
name: "Writer",
|
||||
name: "Create Content",
|
||||
path: "/writer/tasks", // Default to tasks, submenus shown as in-page navigation
|
||||
});
|
||||
}
|
||||
@@ -150,11 +150,11 @@ const AppSidebar: React.FC = () => {
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "SETUP",
|
||||
label: "GET STARTED",
|
||||
items: setupItems,
|
||||
},
|
||||
{
|
||||
label: "WORKFLOW",
|
||||
label: "CREATE CONTENT",
|
||||
items: workflowItems,
|
||||
},
|
||||
{
|
||||
@@ -183,7 +183,7 @@ const AppSidebar: React.FC = () => {
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "SETTINGS",
|
||||
label: "PREFERENCES",
|
||||
items: [
|
||||
{
|
||||
icon: <UserCircleIcon />,
|
||||
@@ -208,11 +208,11 @@ const AppSidebar: React.FC = () => {
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "HELP & DOCS",
|
||||
label: "SUPPORT",
|
||||
items: [
|
||||
{
|
||||
icon: <DocsIcon />,
|
||||
name: "Help & Documentation",
|
||||
name: "Help Center",
|
||||
path: "/help",
|
||||
},
|
||||
],
|
||||
|
||||
@@ -378,7 +378,7 @@ const AutomationPage: React.FC = () => {
|
||||
};
|
||||
return (
|
||||
<>
|
||||
<PageMeta title="AI Automation Pipeline | IGNY8" description="Automated content creation from keywords to published articles" />
|
||||
<PageMeta title="Content Automation | IGNY8" description="Automatically create and publish content on your schedule" />
|
||||
|
||||
<div className="space-y-6">
|
||||
{/* Header */}
|
||||
@@ -389,7 +389,7 @@ const AutomationPage: React.FC = () => {
|
||||
<BoltIcon className="text-white size-5" />
|
||||
</div>
|
||||
<div>
|
||||
<h2 className="text-2xl font-bold text-gray-800 dark:text-white/90">AI Automation Pipeline</h2>
|
||||
<h2 className="text-2xl font-bold text-gray-800 dark:text-white/90">Content Automation</h2>
|
||||
{activeSite && (
|
||||
<p className="text-sm text-gray-500 dark:text-gray-400 mt-0.5">
|
||||
Site: <span className="font-medium text-brand-600 dark:text-brand-400">{activeSite.name}</span>
|
||||
|
||||
@@ -592,7 +592,7 @@ export default function Home() {
|
||||
{/* Custom Header with Site Selector and Refresh */}
|
||||
<div className="flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4 mb-6">
|
||||
<div className="flex-1">
|
||||
<h2 className="text-2xl font-bold text-gray-800 dark:text-white/90">Dashboard</h2>
|
||||
<h2 className="text-2xl font-bold text-gray-800 dark:text-white/90">Your Content Creation Dashboard</h2>
|
||||
{lastUpdated && (
|
||||
<p className="text-sm text-gray-500 dark:text-gray-400 mt-1">
|
||||
Last updated: {lastUpdated.toLocaleTimeString()}
|
||||
@@ -679,7 +679,7 @@ export default function Home() {
|
||||
|
||||
<div className="space-y-6">
|
||||
{/* Progress Flow - Circular Design with Progress Bar */}
|
||||
<ComponentCard title="Your Progress" desc="Track your content creation workflow completion">
|
||||
<ComponentCard title="Your Content Journey" desc="Track your content creation progress from ideas to published articles">
|
||||
{/* Percentage and Progress Bar */}
|
||||
<div className="mb-8">
|
||||
<div className="flex items-center justify-between mb-3">
|
||||
@@ -781,8 +781,8 @@ export default function Home() {
|
||||
<ListIcon className="h-6 w-6" />
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h4 className="font-semibold text-gray-900">Keyword Research</h4>
|
||||
<p className="text-xs text-gray-600">Discover opportunities</p>
|
||||
<h4 className="font-semibold text-gray-900">Find Keywords</h4>
|
||||
<p className="text-xs text-gray-600">Search for topics</p>
|
||||
</div>
|
||||
<ArrowRightIcon className="h-5 w-5 text-gray-400 group-hover:text-gray-600 transition" />
|
||||
</Link>
|
||||
@@ -795,8 +795,8 @@ export default function Home() {
|
||||
<GroupIcon className="h-6 w-6" />
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h4 className="font-semibold text-gray-900">Clustering & Ideas</h4>
|
||||
<p className="text-xs text-gray-600">Organize strategy</p>
|
||||
<h4 className="font-semibold text-gray-900">Organize Topics</h4>
|
||||
<p className="text-xs text-gray-600">Group & plan content</p>
|
||||
</div>
|
||||
<ArrowRightIcon className="h-5 w-5 text-gray-400 group-hover:text-gray-600 transition" />
|
||||
</Link>
|
||||
@@ -809,8 +809,8 @@ export default function Home() {
|
||||
<PencilIcon className="h-6 w-6" />
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h4 className="font-semibold text-gray-900">Content Generation</h4>
|
||||
<p className="text-xs text-gray-600">Create content</p>
|
||||
<h4 className="font-semibold text-gray-900">Create Articles</h4>
|
||||
<p className="text-xs text-gray-600">Generate content</p>
|
||||
</div>
|
||||
<ArrowRightIcon className="h-5 w-5 text-gray-400 group-hover:text-gray-600 transition" />
|
||||
</Link>
|
||||
@@ -823,8 +823,8 @@ export default function Home() {
|
||||
<PlugInIcon className="h-6 w-6" />
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h4 className="font-semibold text-gray-900">Internal Linking</h4>
|
||||
<p className="text-xs text-gray-600">Link content</p>
|
||||
<h4 className="font-semibold text-gray-900">Add Links</h4>
|
||||
<p className="text-xs text-gray-600">Connect articles</p>
|
||||
</div>
|
||||
<ArrowRightIcon className="h-5 w-5 text-gray-400 group-hover:text-gray-600 transition" />
|
||||
</Link>
|
||||
@@ -837,8 +837,8 @@ export default function Home() {
|
||||
<BoltIcon className="h-6 w-6" />
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h4 className="font-semibold text-gray-900">Content Optimization</h4>
|
||||
<p className="text-xs text-gray-600">Optimize content</p>
|
||||
<h4 className="font-semibold text-gray-900">Improve Content</h4>
|
||||
<p className="text-xs text-gray-600">Boost performance</p>
|
||||
</div>
|
||||
<ArrowRightIcon className="h-5 w-5 text-gray-400 group-hover:text-gray-600 transition" />
|
||||
</Link>
|
||||
@@ -848,18 +848,18 @@ export default function Home() {
|
||||
{/* Key Metrics */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
|
||||
<EnhancedMetricCard
|
||||
title="Total Keywords"
|
||||
title="Your Keywords"
|
||||
value={insights?.totalKeywords.toLocaleString() || "0"}
|
||||
subtitle={`${insights?.totalClusters || 0} clusters • ${insights?.totalIdeas || 0} ideas`}
|
||||
subtitle={`Organized into ${insights?.totalClusters || 0} topic groups with ${insights?.totalIdeas || 0} content ideas`}
|
||||
icon={<ListIcon className="size-6" />}
|
||||
accentColor="blue"
|
||||
trend={0}
|
||||
href="/planner/keywords"
|
||||
/>
|
||||
<EnhancedMetricCard
|
||||
title="Content Pieces"
|
||||
title="Articles Created"
|
||||
value={insights?.totalContent.toLocaleString() || "0"}
|
||||
subtitle={`${insights?.publishedContent || 0} published • ${insights?.contentThisWeek || 0} this week`}
|
||||
subtitle={`${insights?.publishedContent || 0} live on your site, ${insights?.contentThisWeek || 0} added this week`}
|
||||
icon={<FileTextIcon className="size-6" />}
|
||||
accentColor="green"
|
||||
trend={0}
|
||||
@@ -868,7 +868,7 @@ export default function Home() {
|
||||
<EnhancedMetricCard
|
||||
title="Images Generated"
|
||||
value={insights?.totalImages.toLocaleString() || "0"}
|
||||
subtitle={`${insights?.totalContent || 0} content pieces • ${insights?.totalTasks || 0} tasks`}
|
||||
subtitle={`AI-created images for ${insights?.totalContent || 0} articles`}
|
||||
icon={<FileIcon className="size-6" />}
|
||||
accentColor="purple"
|
||||
trend={0}
|
||||
@@ -877,7 +877,7 @@ export default function Home() {
|
||||
<EnhancedMetricCard
|
||||
title="Workflow Completion"
|
||||
value={`${insights?.workflowCompletionRate || 0}%`}
|
||||
subtitle={`${insights?.totalKeywords || 0} keywords → ${insights?.publishedContent || 0} published`}
|
||||
subtitle={`From ${insights?.totalKeywords || 0} keywords to ${insights?.publishedContent || 0} published articles`}
|
||||
icon={<CheckCircleIcon className="size-6" />}
|
||||
accentColor="success"
|
||||
trend={0}
|
||||
|
||||
@@ -138,16 +138,16 @@ export default function Help() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageMeta title="Help & Documentation - IGNY8" description="Complete documentation and guides for IGNY8" />
|
||||
<PageMeta title="Help Center - IGNY8" description="Guides and tutorials to help you create great content" />
|
||||
|
||||
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
||||
{/* Header */}
|
||||
<div className="mb-8">
|
||||
<h1 className="text-4xl font-bold text-gray-900 dark:text-white mb-4">
|
||||
Help & Documentation
|
||||
Help Center
|
||||
</h1>
|
||||
<p className="text-lg text-gray-600 dark:text-gray-400">
|
||||
Complete guides and documentation to help you get the most out of IGNY8
|
||||
Learn how to use IGNY8 to create and publish amazing content
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -452,7 +452,7 @@ export default function Clusters() {
|
||||
return (
|
||||
<>
|
||||
<PageHeader
|
||||
title="Keyword Clusters"
|
||||
title="Topic Clusters"
|
||||
badge={{ icon: <GroupIcon />, color: 'purple' }}
|
||||
navigation={<ModuleNavigationTabs tabs={plannerTabs} />}
|
||||
workflowInsights={workflowInsights}
|
||||
|
||||
@@ -619,7 +619,7 @@ export default function Keywords() {
|
||||
return (
|
||||
<>
|
||||
<PageHeader
|
||||
title="Keywords"
|
||||
title="Your Keywords"
|
||||
badge={{ icon: <ListIcon />, color: 'green' }}
|
||||
navigation={<ModuleNavigationTabs tabs={plannerTabs} />}
|
||||
workflowInsights={workflowInsights}
|
||||
|
||||
@@ -30,7 +30,7 @@ export default function AISettings() {
|
||||
<PageMeta title="AI Settings" />
|
||||
<div className="mb-6">
|
||||
<h1 className="text-2xl font-bold text-gray-900 dark:text-white">AI Settings</h1>
|
||||
<p className="text-gray-600 dark:text-gray-400 mt-1">AI-specific configuration</p>
|
||||
<p className="text-gray-600 dark:text-gray-400 mt-1">Configure AI models and writing preferences</p>
|
||||
</div>
|
||||
|
||||
{loading ? (
|
||||
|
||||
@@ -30,7 +30,7 @@ export default function AccountSettings() {
|
||||
<PageMeta title="Account Settings" />
|
||||
<div className="mb-6">
|
||||
<h1 className="text-2xl font-bold text-gray-900 dark:text-white">Account Settings</h1>
|
||||
<p className="text-gray-600 dark:text-gray-400 mt-1">Account-level configuration</p>
|
||||
<p className="text-gray-600 dark:text-gray-400 mt-1">Manage your account preferences and profile</p>
|
||||
</div>
|
||||
|
||||
{loading ? (
|
||||
|
||||
@@ -38,9 +38,9 @@ export default function GeneralSettings() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageMeta title="General Settings - IGNY8" description="Plugin configuration" />
|
||||
<PageMeta title="App Preferences - IGNY8" description="Customize your IGNY8 experience" />
|
||||
|
||||
<ComponentCard title="General Settings" desc="Configure plugin settings, automation, and table preferences">
|
||||
<ComponentCard title="App Preferences" desc="Customize table views, automation settings, and interface preferences">
|
||||
<div className="space-y-6">
|
||||
{/* Table Settings */}
|
||||
<div className="space-y-4">
|
||||
|
||||
@@ -645,9 +645,9 @@ export default function IndustriesSectorsKeywords() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageMeta title="Add Keywords" description="Browse and add keywords to your workflow" />
|
||||
<PageMeta title="Find Keywords" description="Search and add keywords to start creating content" />
|
||||
<PageHeader
|
||||
title="Add Keywords"
|
||||
title="Find Keywords"
|
||||
badge={{ icon: <BoltIcon />, color: 'blue' }}
|
||||
/>
|
||||
{/* Show info banner when no sector is selected */}
|
||||
|
||||
@@ -491,9 +491,9 @@ export default function SiteList() {
|
||||
|
||||
return (
|
||||
<div className="p-6">
|
||||
<PageMeta title="Sites Management - IGNY8" />
|
||||
<PageMeta title="Your Websites - IGNY8" />
|
||||
<PageHeader
|
||||
title="Sites Management"
|
||||
title="Your Websites"
|
||||
badge={{ icon: <GridIcon />, color: 'blue' }}
|
||||
hideSiteSector={true}
|
||||
navigation={<ModuleNavigationTabs tabs={sitesTabs} />}
|
||||
@@ -508,7 +508,7 @@ export default function SiteList() {
|
||||
size="md"
|
||||
startIcon={<PlusIcon className="w-5 h-5" />}
|
||||
>
|
||||
Add Site
|
||||
Add New Website
|
||||
</Button>
|
||||
</div>
|
||||
<div className="flex items-center gap-3">
|
||||
|
||||
@@ -109,9 +109,9 @@ export default function AuthorProfiles() {
|
||||
|
||||
return (
|
||||
<div className="p-6">
|
||||
<PageMeta title="Author Profiles" />
|
||||
<PageMeta title="Writing Styles" />
|
||||
<PageHeader
|
||||
title="Author Profiles"
|
||||
title="Writing Styles"
|
||||
badge={{ icon: <UserIcon />, color: 'blue' }}
|
||||
navigation={<ModuleNavigationTabs tabs={thinkerTabs} />}
|
||||
/>
|
||||
|
||||
@@ -146,8 +146,8 @@ export default function ThinkerDashboard() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageMeta title="Thinker Dashboard - IGNY8" description="Strategic OS and thinking engine" />
|
||||
<PageHeader title="Thinker Dashboard" />
|
||||
<PageMeta title="Strategy Dashboard - IGNY8" description="Manage your content strategy" />
|
||||
<PageHeader title="Strategy Dashboard" />
|
||||
|
||||
<div className="space-y-6">
|
||||
{/* Key Metrics */}
|
||||
|
||||
@@ -15,9 +15,9 @@ export default function ImageTesting() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageMeta title="Image Testing - IGNY8" description="AI image testing" />
|
||||
<PageMeta title="Image Settings - IGNY8" description="Configure image generation" />
|
||||
<PageHeader
|
||||
title="Image Testing"
|
||||
title="Image Settings"
|
||||
badge={{ icon: <ImageIcon />, color: 'indigo' }}
|
||||
navigation={<ModuleNavigationTabs tabs={thinkerTabs} />}
|
||||
/>
|
||||
|
||||
@@ -209,9 +209,9 @@ export default function Prompts() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageMeta title="Prompts - IGNY8" description="AI prompts management" />
|
||||
<PageMeta title="Prompt Library - IGNY8" description="Manage your AI writing prompts" />
|
||||
<PageHeader
|
||||
title="AI Prompts Management"
|
||||
title="Prompt Library"
|
||||
badge={{ icon: <BoltIcon />, color: 'orange' }}
|
||||
navigation={<ModuleNavigationTabs tabs={thinkerTabs} />}
|
||||
/>
|
||||
|
||||
@@ -15,9 +15,9 @@ export default function Strategies() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageMeta title="Strategies - IGNY8" description="Content strategies" />
|
||||
<PageMeta title="Content Plans - IGNY8" description="Plan your content strategy" />
|
||||
<PageHeader
|
||||
title="Content Strategies"
|
||||
title="Content Plans"
|
||||
badge={{ icon: <ShootingStarIcon />, color: 'purple' }}
|
||||
navigation={<ModuleNavigationTabs tabs={thinkerTabs} />}
|
||||
/>
|
||||
|
||||
@@ -290,7 +290,7 @@ export default function Content() {
|
||||
return (
|
||||
<>
|
||||
<PageHeader
|
||||
title="Content Drafts"
|
||||
title="Your Articles"
|
||||
badge={{ icon: <FileIcon />, color: 'purple' }}
|
||||
navigation={<ModuleNavigationTabs tabs={writerTabs} />}
|
||||
workflowInsights={workflowInsights}
|
||||
|
||||
@@ -482,9 +482,9 @@ export default function WriterDashboard() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageMeta title="Writer Dashboard - IGNY8" description="Content creation overview" />
|
||||
<PageMeta title="Content Creation Dashboard - IGNY8" description="Track your writing progress and productivity" />
|
||||
<PageHeader
|
||||
title="Writer Dashboard"
|
||||
title="Content Creation Dashboard"
|
||||
lastUpdated={lastUpdated}
|
||||
showRefresh={true}
|
||||
onRefresh={fetchDashboardData}
|
||||
|
||||
@@ -459,7 +459,7 @@ export default function Images() {
|
||||
return (
|
||||
<>
|
||||
<PageHeader
|
||||
title="Content Images"
|
||||
title="Article Images"
|
||||
badge={{ icon: <FileIcon />, color: 'orange' }}
|
||||
navigation={<ModuleNavigationTabs tabs={writerTabs} />}
|
||||
/>
|
||||
|
||||
@@ -317,7 +317,7 @@ export default function Published() {
|
||||
return (
|
||||
<>
|
||||
<PageHeader
|
||||
title="Published Content"
|
||||
title="Published Articles"
|
||||
badge={{ icon: <CheckCircleIcon />, color: 'green' }}
|
||||
navigation={<ModuleNavigationTabs tabs={writerTabs} />}
|
||||
/>
|
||||
|
||||
@@ -356,7 +356,7 @@ export default function Review() {
|
||||
return (
|
||||
<>
|
||||
<PageHeader
|
||||
title="Content Review"
|
||||
title="Review Queue"
|
||||
badge={{ icon: <CheckCircleIcon />, color: 'blue' }}
|
||||
navigation={<ModuleNavigationTabs tabs={writerTabs} />}
|
||||
/>
|
||||
|
||||
@@ -434,7 +434,7 @@ export default function Tasks() {
|
||||
return (
|
||||
<>
|
||||
<PageHeader
|
||||
title="Content Queue"
|
||||
title="Writing Tasks"
|
||||
badge={{ icon: <TaskIcon />, color: 'indigo' }}
|
||||
navigation={<ModuleNavigationTabs tabs={writerTabs} />}
|
||||
workflowInsights={workflowInsights}
|
||||
|
||||
Reference in New Issue
Block a user