diff --git a/app/app.css b/app/app.css
index c5288ac..9241773 100644
--- a/app/app.css
+++ b/app/app.css
@@ -402,3 +402,42 @@ html[dir="rtl"] body {
background-position: 200% 0;
}
}
+
+/* Table/container specific custom dark scrollbar */
+.custom-scrollbar {
+ scrollbar-width: thin; /* Firefox */
+ scrollbar-color: rgba(100, 116, 139, 0.6) transparent; /* thumb track */
+}
+
+.custom-scrollbar::-webkit-scrollbar {
+ width: 2px;
+ height: 2px;
+}
+
+.custom-scrollbar::-webkit-scrollbar-track {
+ background: rgba(241, 245, 249, 0.6); /* slate-100 */
+}
+
+.custom-scrollbar::-webkit-scrollbar-thumb {
+ background: linear-gradient(to bottom, rgba(16, 185, 129, 0.6), rgba(16, 185, 129, 0.9)); /* emerald */
+ border-radius: 9999px;
+ border: .5px solid transparent;
+ background-clip: padding-box;
+}
+
+.custom-scrollbar:hover::-webkit-scrollbar-thumb {
+ background: linear-gradient(to bottom, rgba(16, 185, 129, 0.8), rgba(16, 185, 129, 1));
+}
+
+.dark .custom-scrollbar {
+ scrollbar-color: rgba(16, 185, 129, 0.6) rgba(30, 41, 59, 0.6); /* thumb track */
+}
+
+.dark .custom-scrollbar::-webkit-scrollbar-track {
+ background: rgba(30, 41, 59, 0.6); /* slate-800 */
+}
+
+.dark .custom-scrollbar::-webkit-scrollbar-thumb {
+ background: linear-gradient(to bottom, rgba(16, 185, 129, 0.5), rgba(16, 185, 129, 0.9));
+ border-color: rgba(30, 41, 59, 0.6);
+}
diff --git a/app/components/dashboard/project-management/process-innovation-page.tsx b/app/components/dashboard/project-management/process-innovation-page.tsx
index 1a1008b..f12324d 100644
--- a/app/components/dashboard/project-management/process-innovation-page.tsx
+++ b/app/components/dashboard/project-management/process-innovation-page.tsx
@@ -161,7 +161,7 @@ export function ProcessInnovationPage() {
id: "currency-reduction",
title: "کاهش ارز بری",
value: formatNumber(stats.currencyReductionSum.toFixed?.(0) ?? stats.currencyReductionSum),
- description: "میلیون ریال کاهش یافته",
+ description: "دلار کاهش یافته",
icon: ,
color: "text-emerald-400",
},
@@ -690,16 +690,15 @@ export function ProcessInnovationPage() {
{/* Data Table */}
-
+
-
-
+
{columns.map((column) => (
{column.key === "select" ? (
@@ -713,7 +712,7 @@ export function ProcessInnovationPage() {
) : column.sortable ? (
{loading ? (
- // Skeleton loading rows
+ // Skeleton loading rows (compact)
Array.from({ length: 10 }).map((_, index) => (
-
+
{columns.map((column) => (
))}
@@ -764,11 +763,11 @@ export function ProcessInnovationPage() {
) : (
projects.map((project, index) => (
-
+
{columns.map((column) => (
{renderCellContent(project, column)}
@@ -778,7 +777,6 @@ export function ProcessInnovationPage() {
)}
-
{/* Infinite scroll trigger */}
diff --git a/app/components/ui/table.tsx b/app/components/ui/table.tsx
index 5b4a9bc..6ba984a 100644
--- a/app/components/ui/table.tsx
+++ b/app/components/ui/table.tsx
@@ -2,18 +2,21 @@ import * as React from "react"
import { cn } from "~/lib/utils"
-const Table = React.forwardRef<
- HTMLTableElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-))
+interface TableProps extends React.HTMLAttributes {
+ containerClassName?: string
+}
+
+const Table = React.forwardRef(
+ ({ className, containerClassName, ...props }, ref) => (
+
+ )
+)
Table.displayName = "Table"
const TableHeader = React.forwardRef<
@@ -58,7 +61,7 @@ const TableRow = React.forwardRef<
|