stlyes fixes

This commit is contained in:
IGNY8 VPS (Salman)
2025-12-29 19:52:51 +00:00
parent c91175fdcb
commit 4f7ab9c606
155 changed files with 1576 additions and 2489 deletions

View File

@@ -235,7 +235,7 @@ export default function PlannerDashboard() {
description: `${stats?.clusters.total || 0} new clusters created`,
timestamp: new Date(Date.now() - 2 * 60 * 60 * 1000),
icon: GroupIcon,
color: "text-green-600",
color: "text-success-600",
},
{
id: 2,
@@ -243,7 +243,7 @@ export default function PlannerDashboard() {
description: `${stats?.ideas.total || 0} content ideas created`,
timestamp: new Date(Date.now() - 4 * 60 * 60 * 1000),
icon: BoltIcon,
color: "text-orange-600",
color: "text-warning-600",
},
{
id: 3,
@@ -251,7 +251,7 @@ export default function PlannerDashboard() {
description: `${stats?.keywords.total || 0} keywords in database`,
timestamp: new Date(Date.now() - 6 * 60 * 60 * 1000),
icon: ListIcon,
color: "text-blue-600",
color: "text-brand-600",
},
];
@@ -268,18 +268,18 @@ export default function PlannerDashboard() {
},
xaxis: {
categories: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
labels: { style: { colors: "#6b7280" } },
labels: { style: { colors: "var(--color-gray-500)" } },
},
yaxis: {
labels: { style: { colors: "#6b7280" } },
labels: { style: { colors: "var(--color-gray-500)" } },
},
legend: {
position: "top",
labels: { colors: "#6b7280" },
labels: { colors: "var(--color-gray-500)" },
},
colors: ["var(--color-primary)", "var(--color-success)", "var(--color-warning)"],
grid: {
borderColor: "#e5e7eb",
borderColor: "var(--color-gray-200)",
},
fill: {
type: "gradient",
@@ -315,7 +315,7 @@ export default function PlannerDashboard() {
toolbar: { show: false }
},
labels: Object.keys(stats.keywords.byStatus).filter(key => stats.keywords.byStatus[key] > 0),
colors: ['#465FFF', '#10B981', '#F59E0B', '#EF4444', '#8B5CF6'],
colors: ['var(--color-primary)', 'var(--color-success)', 'var(--color-warning)', 'var(--color-danger)', 'var(--color-purple)'],
legend: {
position: 'bottom',
fontFamily: 'Outfit',
@@ -335,7 +335,7 @@ export default function PlannerDashboard() {
show: true,
fontSize: '24px',
fontWeight: 700,
color: '#465FFF',
color: 'var(--color-primary)',
fontFamily: 'Outfit',
formatter: () => {
const total = Object.values(stats.keywords.byStatus).reduce((a, b) => a + b, 0);
@@ -366,7 +366,7 @@ export default function PlannerDashboard() {
toolbar: { show: false },
height: 300
},
colors: ['#10B981'],
colors: ['var(--color-success)'],
plotOptions: {
bar: {
horizontal: true,
@@ -510,21 +510,21 @@ export default function PlannerDashboard() {
<Link
key={module.title}
to={module.path}
className="rounded-2xl border-2 border-slate-200 bg-white p-6 hover:shadow-xl hover:-translate-y-1 transition-all group"
className="rounded-2xl border-2 border-gray-200 bg-white p-6 hover:shadow-xl hover:-translate-y-1 transition-all group"
>
<div className="flex items-start justify-between mb-4">
<div className={`inline-flex size-14 rounded-xl bg-gradient-to-br ${module.color} items-center justify-center text-white shadow-lg`}>
<Icon className="h-7 w-7" />
</div>
</div>
<h3 className="text-lg font-bold text-slate-900 mb-2">{module.title}</h3>
<p className="text-sm text-slate-600 mb-4">{module.description}</p>
<h3 className="text-lg font-bold text-gray-900 mb-2">{module.title}</h3>
<p className="text-sm text-gray-600 mb-4">{module.description}</p>
<div className="flex items-center justify-between">
<div>
<div className="text-2xl font-bold text-slate-900">{module.count}</div>
<div className="text-xs text-slate-500">{module.metric}</div>
<div className="text-2xl font-bold text-gray-900">{module.count}</div>
<div className="text-xs text-gray-500">{module.metric}</div>
</div>
<ArrowRightIcon className="h-5 w-5 text-slate-400 group-hover:text-[var(--color-primary)] group-hover:translate-x-1 transition" />
<ArrowRightIcon className="h-5 w-5 text-gray-400 group-hover:text-[var(--color-primary)] group-hover:translate-x-1 transition" />
</div>
</Link>
);
@@ -547,17 +547,17 @@ export default function PlannerDashboard() {
return (
<div
key={activity.id}
className="flex items-center gap-4 p-4 rounded-lg border border-slate-200 bg-white hover:shadow-md transition"
className="flex items-center gap-4 p-4 rounded-lg border border-gray-200 bg-white hover:shadow-md transition"
>
<div className={`size-10 rounded-lg bg-gradient-to-br from-slate-100 to-slate-200 flex items-center justify-center ${activity.color}`}>
<div className={`size-10 rounded-lg bg-gradient-to-br from-gray-100 to-gray-200 flex items-center justify-center ${activity.color}`}>
<Icon className="h-5 w-5" />
</div>
<div className="flex-1">
<div className="flex items-center justify-between mb-1">
<h4 className="font-semibold text-slate-900">{activity.type}</h4>
<span className="text-xs text-slate-500">{formatTimeAgo(activity.timestamp)}</span>
<h4 className="font-semibold text-gray-900">{activity.type}</h4>
<span className="text-xs text-gray-500">{formatTimeAgo(activity.timestamp)}</span>
</div>
<p className="text-sm text-slate-600">{activity.description}</p>
<p className="text-sm text-gray-600">{activity.description}</p>
</div>
</div>
);
@@ -638,58 +638,58 @@ export default function PlannerDashboard() {
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
<Link
to="/planner/keyword-opportunities"
className="flex items-center gap-4 p-6 rounded-xl border-2 border-slate-200 bg-white hover:border-[var(--color-primary)] hover:shadow-lg transition-all group"
className="flex items-center gap-4 p-6 rounded-xl border-2 border-gray-200 bg-white hover:border-[var(--color-primary)] hover:shadow-lg transition-all group"
>
<div className="size-12 rounded-xl bg-gradient-to-br from-[var(--color-primary)] to-[var(--color-primary-dark)] flex items-center justify-center text-white shadow-lg">
<ListIcon className="h-6 w-6" />
</div>
<div className="flex-1 text-left">
<h4 className="font-semibold text-slate-900 mb-1">Add Keywords</h4>
<p className="text-sm text-slate-600">Discover opportunities</p>
<h4 className="font-semibold text-gray-900 mb-1">Add Keywords</h4>
<p className="text-sm text-gray-600">Discover opportunities</p>
</div>
<ArrowRightIcon className="h-5 w-5 text-slate-400 group-hover:text-[var(--color-primary)] transition" />
<ArrowRightIcon className="h-5 w-5 text-gray-400 group-hover:text-[var(--color-primary)] transition" />
</Link>
<Link
to="/planner/clusters"
className="flex items-center gap-4 p-6 rounded-xl border-2 border-slate-200 bg-white hover:border-[#0bbf87] hover:shadow-lg transition-all group"
className="flex items-center gap-4 p-6 rounded-xl border-2 border-gray-200 bg-white hover:border-success-500 hover:shadow-lg transition-all group"
>
<div className="size-12 rounded-xl bg-gradient-to-br from-[var(--color-success)] to-[var(--color-success-dark)] flex items-center justify-center text-white shadow-lg">
<GroupIcon className="h-6 w-6" />
</div>
<div className="flex-1 text-left">
<h4 className="font-semibold text-slate-900 mb-1">Auto Cluster</h4>
<p className="text-sm text-slate-600">Group keywords</p>
<h4 className="font-semibold text-gray-900 mb-1">Auto Cluster</h4>
<p className="text-sm text-gray-600">Group keywords</p>
</div>
<ArrowRightIcon className="h-5 w-5 text-slate-400 group-hover:text-[#0bbf87] transition" />
<ArrowRightIcon className="h-5 w-5 text-gray-400 group-hover:text-success-500 transition" />
</Link>
<Link
to="/planner/ideas"
className="flex items-center gap-4 p-6 rounded-xl border-2 border-slate-200 bg-white hover:border-[#ff7a00] hover:shadow-lg transition-all group"
className="flex items-center gap-4 p-6 rounded-xl border-2 border-gray-200 bg-white hover:border-warning-500 hover:shadow-lg transition-all group"
>
<div className="size-12 rounded-xl bg-gradient-to-br from-[var(--color-warning)] to-[var(--color-warning-dark)] flex items-center justify-center text-white shadow-lg">
<BoltIcon className="h-6 w-6" />
</div>
<div className="flex-1 text-left">
<h4 className="font-semibold text-slate-900 mb-1">Generate Ideas</h4>
<p className="text-sm text-slate-600">Create content ideas</p>
<h4 className="font-semibold text-gray-900 mb-1">Generate Ideas</h4>
<p className="text-sm text-gray-600">Create content ideas</p>
</div>
<ArrowRightIcon className="h-5 w-5 text-slate-400 group-hover:text-[#ff7a00] transition" />
<ArrowRightIcon className="h-5 w-5 text-gray-400 group-hover:text-warning-500 transition" />
</Link>
<Link
to="/automation"
className="flex items-center gap-4 p-6 rounded-xl border-2 border-slate-200 bg-white hover:border-[#5d4ae3] hover:shadow-lg transition-all group"
className="flex items-center gap-4 p-6 rounded-xl border-2 border-gray-200 bg-white hover:border-purple-500 hover:shadow-lg transition-all group"
>
<div className="size-12 rounded-xl bg-gradient-to-br from-[var(--color-purple)] to-[var(--color-purple-dark)] flex items-center justify-center text-white shadow-lg">
<PlugInIcon className="h-6 w-6" />
</div>
<div className="flex-1 text-left">
<h4 className="font-semibold text-slate-900 mb-1">Setup Automation</h4>
<p className="text-sm text-slate-600">Automate workflows</p>
<h4 className="font-semibold text-gray-900 mb-1">Setup Automation</h4>
<p className="text-sm text-gray-600">Automate workflows</p>
</div>
<ArrowRightIcon className="h-5 w-5 text-slate-400 group-hover:text-[#5d4ae3] transition" />
<ArrowRightIcon className="h-5 w-5 text-gray-400 group-hover:text-purple-500 transition" />
</Link>
</div>
</ComponentCard>
@@ -703,8 +703,8 @@ export default function PlannerDashboard() {
<ListIcon className="h-5 w-5" />
</div>
<div>
<h4 className="font-semibold text-slate-900 mb-1">Keyword Discovery</h4>
<p className="text-sm text-slate-600">
<h4 className="font-semibold text-gray-900 mb-1">Keyword Discovery</h4>
<p className="text-sm text-gray-600">
Discover high-volume keywords from our global database. Add keywords manually or import from keyword opportunities.
</p>
</div>
@@ -714,8 +714,8 @@ export default function PlannerDashboard() {
<GroupIcon className="h-5 w-5" />
</div>
<div>
<h4 className="font-semibold text-slate-900 mb-1">AI Clustering</h4>
<p className="text-sm text-slate-600">
<h4 className="font-semibold text-gray-900 mb-1">AI Clustering</h4>
<p className="text-sm text-gray-600">
Automatically group related keywords into strategic clusters. Each cluster represents a content topic with shared search intent.
</p>
</div>
@@ -725,8 +725,8 @@ export default function PlannerDashboard() {
<BoltIcon className="h-5 w-5" />
</div>
<div>
<h4 className="font-semibold text-slate-900 mb-1">Idea Generation</h4>
<p className="text-sm text-slate-600">
<h4 className="font-semibold text-gray-900 mb-1">Idea Generation</h4>
<p className="text-sm text-gray-600">
Generate content ideas from clusters using AI. Each idea includes title, outline, and target keywords for content creation.
</p>
</div>
@@ -737,34 +737,34 @@ export default function PlannerDashboard() {
<ComponentCard title="Getting Started" desc="Quick guide to using Planner">
<div className="space-y-3">
<div className="flex items-start gap-3">
<div className="flex-shrink-0 size-8 rounded-full bg-[#0693e3] text-white flex items-center justify-center font-bold text-sm">
<div className="flex-shrink-0 size-8 rounded-full bg-brand-500 text-white flex items-center justify-center font-bold text-sm">
1
</div>
<div>
<h4 className="font-semibold text-slate-900 mb-1">Add Keywords</h4>
<p className="text-sm text-slate-600">
<h4 className="font-semibold text-gray-900 mb-1">Add Keywords</h4>
<p className="text-sm text-gray-600">
Start by adding keywords from the keyword opportunities page. You can search by volume, difficulty, or intent.
</p>
</div>
</div>
<div className="flex items-start gap-3">
<div className="flex-shrink-0 size-8 rounded-full bg-[#0bbf87] text-white flex items-center justify-center font-bold text-sm">
<div className="flex-shrink-0 size-8 rounded-full bg-success-500 text-white flex items-center justify-center font-bold text-sm">
2
</div>
<div>
<h4 className="font-semibold text-slate-900 mb-1">Cluster Keywords</h4>
<p className="text-sm text-slate-600">
<h4 className="font-semibold text-gray-900 mb-1">Cluster Keywords</h4>
<p className="text-sm text-gray-600">
Use the auto-cluster feature to group related keywords. Review and refine clusters to match your content strategy.
</p>
</div>
</div>
<div className="flex items-start gap-3">
<div className="flex-shrink-0 size-8 rounded-full bg-[#ff7a00] text-white flex items-center justify-center font-bold text-sm">
<div className="flex-shrink-0 size-8 rounded-full bg-warning-500 text-white flex items-center justify-center font-bold text-sm">
3
</div>
<div>
<h4 className="font-semibold text-slate-900 mb-1">Generate Ideas</h4>
<p className="text-sm text-slate-600">
<h4 className="font-semibold text-gray-900 mb-1">Generate Ideas</h4>
<p className="text-sm text-gray-600">
Create content ideas from your clusters. Queue ideas to the Writer module to start content creation.
</p>
</div>