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

@@ -86,7 +86,7 @@ export default function AnalysisPreview() {
{loading || analyzing ? (
<div className="text-center py-12">
<div className="inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500 mb-3"></div>
<div className="inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-brand-500 mb-3"></div>
<p className="text-gray-600 dark:text-gray-400">
{loading ? 'Loading content...' : 'Analyzing content...'}
</p>
@@ -126,15 +126,15 @@ export default function AnalysisPreview() {
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
<div className={`p-4 rounded-lg border-2 ${
scores.has_cluster_mapping
? 'border-green-500 bg-green-50 dark:bg-green-900/20'
: 'border-red-500 bg-red-50 dark:bg-red-900/20'
? 'border-success-500 bg-success-50 dark:bg-success-900/20'
: 'border-error-500 bg-error-50 dark:bg-error-900/20'
}`}>
<div className="flex items-center justify-between mb-2">
<span className="text-sm font-medium text-gray-700 dark:text-gray-300">Cluster Mapping</span>
{scores.has_cluster_mapping ? (
<span className="text-green-600 dark:text-green-400"></span>
<span className="text-success-600 dark:text-success-400"></span>
) : (
<span className="text-red-600 dark:text-red-400"></span>
<span className="text-error-600 dark:text-error-400"></span>
)}
</div>
<div className="text-xs text-gray-600 dark:text-gray-400">
@@ -146,15 +146,15 @@ export default function AnalysisPreview() {
<div className={`p-4 rounded-lg border-2 ${
scores.has_taxonomy_mapping
? 'border-green-500 bg-green-50 dark:bg-green-900/20'
: 'border-yellow-500 bg-yellow-50 dark:bg-yellow-900/20'
? 'border-success-500 bg-success-50 dark:bg-success-900/20'
: 'border-warning-500 bg-warning-50 dark:bg-warning-900/20'
}`}>
<div className="flex items-center justify-between mb-2">
<span className="text-sm font-medium text-gray-700 dark:text-gray-300">Taxonomy Mapping</span>
{scores.has_taxonomy_mapping ? (
<span className="text-green-600 dark:text-green-400"></span>
<span className="text-success-600 dark:text-success-400"></span>
) : (
<span className="text-yellow-600 dark:text-yellow-400"></span>
<span className="text-warning-600 dark:text-warning-400"></span>
)}
</div>
<div className="text-xs text-gray-600 dark:text-gray-400">
@@ -166,15 +166,15 @@ export default function AnalysisPreview() {
<div className={`p-4 rounded-lg border-2 ${
scores.has_attributes
? 'border-green-500 bg-green-50 dark:bg-green-900/20'
: 'border-yellow-500 bg-yellow-50 dark:bg-yellow-900/20'
? 'border-success-500 bg-success-50 dark:bg-success-900/20'
: 'border-warning-500 bg-warning-50 dark:bg-warning-900/20'
}`}>
<div className="flex items-center justify-between mb-2">
<span className="text-sm font-medium text-gray-700 dark:text-gray-300">Attributes</span>
{scores.has_attributes ? (
<span className="text-green-600 dark:text-green-400"></span>
<span className="text-success-600 dark:text-success-400"></span>
) : (
<span className="text-yellow-600 dark:text-yellow-400"></span>
<span className="text-warning-600 dark:text-warning-400"></span>
)}
</div>
<div className="text-xs text-gray-600 dark:text-gray-400">
@@ -237,12 +237,12 @@ export default function AnalysisPreview() {
<h3 className="text-lg font-semibold text-gray-900 dark:text-white mb-4">Recommended Actions</h3>
<div className="space-y-3">
{!scores.has_cluster_mapping && (
<div className="p-3 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg">
<div className="p-3 bg-brand-50 dark:bg-brand-900/20 border border-brand-200 dark:border-brand-800 rounded-lg">
<div className="flex items-start gap-2">
<span className="text-blue-600 dark:text-blue-400 font-bold">1.</span>
<span className="text-brand-600 dark:text-brand-400 font-bold">1.</span>
<div className="flex-1">
<div className="font-medium text-blue-900 dark:text-blue-300">Map Content to Cluster</div>
<div className="text-sm text-blue-700 dark:text-blue-400 mt-1">
<div className="font-medium text-brand-900 dark:text-brand-300">Map Content to Cluster</div>
<div className="text-sm text-brand-700 dark:text-brand-400 mt-1">
Assign this content to a keyword cluster to improve internal linking and SEO structure.
</div>
</div>
@@ -263,12 +263,12 @@ export default function AnalysisPreview() {
</div>
)}
{!scores.has_attributes && (content?.content_type === 'product' || content?.content_type === 'service') && (
<div className="p-3 bg-orange-50 dark:bg-orange-900/20 border border-orange-200 dark:border-orange-800 rounded-lg">
<div className="p-3 bg-warning-50 dark:bg-warning-900/20 border border-warning-200 dark:border-warning-800 rounded-lg">
<div className="flex items-start gap-2">
<span className="text-orange-600 dark:text-orange-400 font-bold">3.</span>
<span className="text-warning-600 dark:text-warning-400 font-bold">3.</span>
<div className="flex-1">
<div className="font-medium text-orange-900 dark:text-orange-300">Add Product/Service Attributes</div>
<div className="text-sm text-orange-700 dark:text-orange-400 mt-1">
<div className="font-medium text-warning-900 dark:text-warning-300">Add Product/Service Attributes</div>
<div className="text-sm text-warning-700 dark:text-warning-400 mt-1">
Add attributes like specifications, features, or modifiers to enhance content completeness.
</div>
</div>
@@ -276,12 +276,12 @@ export default function AnalysisPreview() {
</div>
)}
{scores.metadata_completeness_score !== undefined && scores.metadata_completeness_score < 80 && (
<div className="p-3 bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-800 rounded-lg">
<div className="p-3 bg-warning-50 dark:bg-warning-900/20 border border-warning-200 dark:border-warning-800 rounded-lg">
<div className="flex items-start gap-2">
<span className="text-amber-600 dark:text-amber-400 font-bold">4.</span>
<span className="text-warning-600 dark:text-warning-400 font-bold">4.</span>
<div className="flex-1">
<div className="font-medium text-amber-900 dark:text-amber-300">Improve Metadata Completeness</div>
<div className="text-sm text-amber-700 dark:text-amber-400 mt-1">
<div className="font-medium text-warning-900 dark:text-warning-300">Improve Metadata Completeness</div>
<div className="text-sm text-warning-700 dark:text-warning-400 mt-1">
Current score: {scores.metadata_completeness_score.toFixed(1)}%. Complete missing metadata fields to reach 80%+.
</div>
</div>

View File

@@ -168,7 +168,7 @@ export default function OptimizerContentSelector() {
<button
onClick={handleBatchOptimize}
disabled={selectedIds.length === 0 || processing.length > 0}
className="inline-flex items-center gap-2 px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
className="inline-flex items-center gap-2 px-4 py-2 bg-brand-500 text-white rounded-lg hover:bg-brand-600 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
>
{processing.length > 0 ? (
<>
@@ -193,7 +193,7 @@ export default function OptimizerContentSelector() {
{loading ? (
<div className="text-center py-12">
<div className="inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500"></div>
<div className="inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-brand-500"></div>
<p className="mt-2 text-gray-600 dark:text-gray-400">Loading content...</p>
</div>
) : (
@@ -207,7 +207,7 @@ export default function OptimizerContentSelector() {
type="checkbox"
checked={selectedIds.length === filteredContent.length && filteredContent.length > 0}
onChange={toggleSelectAll}
className="rounded border-gray-300 text-blue-600 focus:ring-blue-500"
className="rounded border-gray-300 text-brand-600 focus:ring-brand-500"
/>
</th>
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">
@@ -236,14 +236,14 @@ export default function OptimizerContentSelector() {
return (
<tr
key={item.id}
className={`hover:bg-gray-50 dark:hover:bg-gray-700 ${isSelected ? 'bg-blue-50 dark:bg-blue-900/20' : ''}`}
className={`hover:bg-gray-50 dark:hover:bg-gray-700 ${isSelected ? 'bg-brand-50 dark:bg-brand-900/20' : ''}`}
>
<td className="px-6 py-4 whitespace-nowrap">
<input
type="checkbox"
checked={isSelected}
onChange={() => toggleSelection(item.id)}
className="rounded border-gray-300 text-blue-600 focus:ring-blue-500"
className="rounded border-gray-300 text-brand-600 focus:ring-brand-500"
/>
</td>
<td className="px-6 py-4 whitespace-nowrap">
@@ -270,7 +270,7 @@ export default function OptimizerContentSelector() {
<button
onClick={() => handleOptimize(item.id)}
disabled={isProcessing || processing.length > 0}
className="inline-flex items-center gap-2 px-3 py-1.5 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
className="inline-flex items-center gap-2 px-3 py-1.5 bg-brand-500 text-white rounded hover:bg-brand-600 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
>
{isProcessing ? (
<>

View File

@@ -80,7 +80,7 @@ export default function OptimizerDashboard() {
/>
<Link
to="/optimizer/content"
className="inline-flex items-center gap-2 px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors"
className="inline-flex items-center gap-2 px-4 py-2 bg-brand-500 text-white rounded-lg hover:bg-brand-600 transition-colors"
>
<BoltIcon />
Optimize Content
@@ -92,7 +92,7 @@ export default function OptimizerDashboard() {
{loading ? (
<div className="text-center py-12">
<div className="inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500"></div>
<div className="inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-brand-500"></div>
<p className="mt-2 text-gray-600 dark:text-gray-400">Loading stats...</p>
</div>
) : stats ? (
@@ -135,7 +135,7 @@ export default function OptimizerDashboard() {
className="flex items-center justify-between p-4 border border-gray-200 dark:border-gray-700 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors"
>
<div className="flex items-center gap-3">
<BoltIcon className="w-5 h-5 text-yellow-500" />
<BoltIcon className="w-5 h-5 text-warning-500" />
<div>
<h3 className="font-medium text-gray-900 dark:text-white">Optimize Content</h3>
<p className="text-sm text-gray-500 dark:text-gray-400">Select and optimize content items</p>