Styles styels styles
This commit is contained in:
@@ -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)}
|
||||
|
||||
Reference in New Issue
Block a user