diff --git a/src/views/AdminDashboard.tsx b/src/views/AdminDashboard.tsx index 63c2526..6faa167 100644 --- a/src/views/AdminDashboard.tsx +++ b/src/views/AdminDashboard.tsx @@ -139,7 +139,7 @@ function truncateLabel(value: string, max = 18) { } function chartHeight(count: number, min = 280) { - return Math.max(min, count * 38 + 90); + return Math.max(min, count * 32 + 80); } function axisWidth(items: AnalyticsPointSchema[]) { @@ -170,14 +170,14 @@ function StatCard({ }) { return ( - +

{title}

-

{value}

+

{value}

{description}

-
- +
+
@@ -202,7 +202,7 @@ function SectionLoading() { function EmptyChart({ label = "داده‌ای برای نمایش وجود ندارد." }: { label?: string }) { return ( -
+
{label}
); @@ -268,19 +268,19 @@ function FilterCard({ }) { return ( - + {title} {description} - {children} + {children} ); } -function ChartViewport({ children, minWidth = 560 }: { children: React.ReactNode; minWidth?: number }) { +function ChartViewport({ children, minWidth = 420 }: { children: React.ReactNode; minWidth?: number }) { return (
{children}
@@ -606,7 +606,7 @@ function ValuesTable({ if (!data.length) return null; return (
- +
{data.map((item, index) => ( @@ -644,11 +644,11 @@ function HorizontalBarCard({ const [detailsOpen, setDetailsOpen] = React.useState(false); return ( - - {title} + + {title} {description} - + {!data.length ? ( ) : ( @@ -718,19 +718,19 @@ function TrendLineCard({ }) { return ( - - + + {title} {description} - + {!data.length ? ( ) : ( - + - - {title} + + {title} {description} - + {!data.length ? ( ) : ( <> - - + + - - روند تعاملات بلاگ + + روند تعاملات بلاگ لایک، ذخیره و کامنت در بازه انتخابی - + {!data.length ? ( ) : ( @@ -848,7 +848,7 @@ function ActivityTrendCard({ data }: { data: BlogAnalyticsSchema["activity_trend saves: { label: "ذخیره", color: PALETTE.cyan }, comments: { label: "کامنت", color: PALETTE.amber }, }} - className="h-[320px] w-full" + className="h-[280px] w-full sm:h-[320px]" > @@ -881,16 +881,16 @@ function BlogEngagementCard({ group }: { group: BlogAnalyticsSchema["post_popula const labelAxisWidth = axisWidth(data.map((post) => ({ label: post.title, value: post.score }))); return ( - - محبوبیت نوشته‌ها + + محبوبیت نوشته‌ها رتبه‌بندی بر اساس مجموع لایک، ذخیره و کامنت - + {!data.length ? ( ) : ( <> - + - - رویدادهای برتر + + رویدادهای برتر بر اساس شرکت‌کننده تاییدشده، درآمد و زمان برگزاری - + {group.top_items.length ? ( group.top_items.map((event, index) => (
@@ -980,11 +980,11 @@ function TopEventsCard({ group }: { group: EventAnalyticsSchema["top_events"] }) function TopPostsCard({ posts }: { posts: BlogAnalyticsSchema["top_posts"] }) { return ( - - نوشته‌های برتر + + نوشته‌های برتر بر اساس جمع لایک، ذخیره و کامنت - + {posts.length ? ( posts.map((post, index) => (
@@ -1235,17 +1235,15 @@ export default function AdminDashboard() { return (
-
-
-

داشبورد دستاوردها

-

- گزارش‌های جداگانه برای کاربران، رویدادها و بلاگ با فیلترهای مستقل و خوانا -

-
-
- setActiveTab(parseTab(value))} className="space-y-6"> - +
+
+

داشبورد دستاوردها

+

+ گزارش‌های جداگانه برای کاربران، رویدادها و بلاگ با فیلترهای مستقل و خوانا +

+
+ کاربران @@ -1258,7 +1256,8 @@ export default function AdminDashboard() { بلاگ - + +