Styles styels styles

This commit is contained in:
IGNY8 VPS (Salman)
2026-01-01 18:12:51 +00:00
parent e96069775c
commit c880e24fc0
22 changed files with 314 additions and 219 deletions

View File

@@ -62,17 +62,18 @@ export function createReviewPageConfig(params: {
label: 'Content Idea Title',
sortable: true,
sortField: 'title',
width: '400px',
render: (value: string, row: Content) => (
<div className="flex items-center gap-2">
{params.onRowClick ? (
<button
onClick={() => params.onRowClick!(row)}
className="text-base font-light text-brand-500 hover:text-brand-600 hover:underline text-left transition-colors"
className="text-sm text-brand-500 hover:text-brand-600 hover:underline text-left transition-colors"
>
{value || `Content #${row.id}`}
</button>
) : (
<span className="text-base font-light text-gray-900 dark:text-white">
<span className="text-sm text-gray-900 dark:text-white">
{value || `Content #${row.id}`}
</span>
)}
@@ -83,7 +84,6 @@ export function createReviewPageConfig(params: {
key: 'categories',
label: 'Categories',
sortable: false,
width: '180px',
render: (_value: any, row: Content) => {
const categories = row.categories || [];
if (!categories || categories.length === 0) {
@@ -107,7 +107,6 @@ export function createReviewPageConfig(params: {
key: 'tags',
label: 'Tags',
sortable: false,
width: '180px',
render: (_value: any, row: Content) => {
const tags = row.tags || [];
if (!tags || tags.length === 0) {
@@ -132,7 +131,6 @@ export function createReviewPageConfig(params: {
label: 'Type',
sortable: true,
sortField: 'content_type',
width: '110px',
render: (value: string) => {
const label = TYPE_LABELS[value] || value || '-';
const properCase = label.charAt(0).toUpperCase() + label.slice(1);
@@ -148,7 +146,6 @@ export function createReviewPageConfig(params: {
label: 'Structure',
sortable: true,
sortField: 'content_structure',
width: '130px',
render: (value: string) => {
const label = STRUCTURE_LABELS[value] || value || '-';
const properCase = label.split(/[_\s]+/).map(word =>
@@ -165,16 +162,15 @@ export function createReviewPageConfig(params: {
key: 'cluster_name',
label: 'Cluster',
sortable: false,
width: '150px',
render: (_value: any, row: Content) => {
const clusterName = row.cluster_name;
if (!clusterName) {
return <span className="text-gray-400 dark:text-gray-500">-</span>;
}
return (
<Badge color="indigo" size="xs" variant="soft">
<span className="text-[11px] font-normal">{clusterName}</span>
</Badge>
<span className="text-gray-800 dark:text-white">
{clusterName}
</span>
);
},
},
@@ -183,7 +179,6 @@ export function createReviewPageConfig(params: {
label: 'Status',
sortable: true,
sortField: 'status',
width: '120px',
render: (value: string, row: Content) => {
const status = value || 'draft';
const statusColors: Record<string, 'gray' | 'blue' | 'green' | 'amber' | 'red'> = {
@@ -214,7 +209,8 @@ export function createReviewPageConfig(params: {
sortable: true,
sortField: 'word_count',
numeric: true,
width: '100px',
align: 'center' as const,
headingAlign: 'center' as const,
render: (value: number) => (
<span className="font-mono text-sm text-gray-700 dark:text-gray-300">
{value?.toLocaleString() || 0}
@@ -227,7 +223,8 @@ export function createReviewPageConfig(params: {
sortable: true,
sortField: 'created_at',
date: true,
align: 'right',
width: '130px',
hasActions: true,
render: (value: string) => (
<span className="text-gray-700 dark:text-gray-300 whitespace-nowrap">
{formatRelativeDate(value)}