@@ -6,16 +6,13 @@ import { Link } from "@tanstack/react-router";
66import { type ColumnDef } from "@tanstack/react-table" ;
77import type { MenteeVM } from "../types" ;
88import type { FinalProgramModel } from "@/services/api/types" ;
9+ import { format } from "date-fns" ;
910
1011export const columns : ColumnDef < MenteeVM > [ ] = [
1112 {
1213 accessorKey : "name" ,
1314 header : ( { column } ) => (
14- < DataTableColumnHeader
15- column = { column }
16- title = "Nume ONG"
17- className = "whitespace-nowrap py-4 text-sm font-bold text-gray-900 "
18- />
15+ < DataTableColumnHeader column = { column } title = "Nume ONG" />
1916 ) ,
2017 cell : ( { row } ) => {
2118 return (
@@ -26,35 +23,27 @@ export const columns: ColumnDef<MenteeVM>[] = [
2623 </ div >
2724 ) ;
2825 } ,
29- enableSorting : false ,
26+ enableSorting : true ,
3027 } ,
3128 {
3229 accessorKey : "ongIdentificationNumber" ,
3330 header : ( { column } ) => (
34- < DataTableColumnHeader
35- column = { column }
36- title = "CIF"
37- className = "whitespace-nowrap py-4 text-sm font-bold text-gray-900 "
38- />
31+ < DataTableColumnHeader column = { column } title = "CIF" />
3932 ) ,
4033 cell : ( { row } ) => < div > { row . original . ongIdentificationNumber ?? "-" } </ div > ,
4134 enableSorting : false ,
4235 } ,
4336 {
4437 accessorKey : "createdAt" ,
4538 header : ( { column } ) => (
46- < DataTableColumnHeader
47- column = { column }
48- title = "DATĂ ÎNREGISTRARE"
49- className = "whitespace-nowrap py-4 text-sm font-bold text-gray-900 "
50- />
39+ < DataTableColumnHeader column = { column } title = "DATĂ ÎNREGISTRARE" />
5140 ) ,
5241 cell : ( { row } ) => {
5342 return formatDate ( row . original . createdAt ) ;
5443 } ,
55- enableSorting : false ,
44+ enableSorting : true ,
5645 filterFn : ( row , id , value ) => {
57- const rowValue = row . getValue < string > ( id ) ;
46+ const rowValue = format ( row . getValue < string > ( id ) , "yyyy-MM-dd" ) ;
5847
5948 if ( ! Array . isArray ( value ) || value . length !== 2 ) return true ; // fallback if invalid
6049
@@ -65,15 +54,10 @@ export const columns: ColumnDef<MenteeVM>[] = [
6554 {
6655 accessorKey : "ngoPrograms" ,
6756 header : ( { column } ) => (
68- < DataTableColumnHeader
69- column = { column }
70- title = "PROGRAME ASOCIATE"
71- className = "whitespace-nowrap py-4 text-sm font-bold text-gray-900 "
72- />
57+ < DataTableColumnHeader column = { column } title = "PROGRAME ASOCIATE" />
7358 ) ,
7459 cell : ( { row } ) => (
7560 < div className = "flex flex-wrap gap-2" >
76- 1222
7761 { row . original . ngoPrograms ?. map ( ( { id, name, endDate } ) => (
7862 < Badge
7963 key = { id }
@@ -101,35 +85,23 @@ export const columns: ColumnDef<MenteeVM>[] = [
10185 {
10286 accessorKey : "county" ,
10387 header : ( { column } ) => (
104- < DataTableColumnHeader
105- column = { column }
106- title = "JUDEȚ"
107- className = "whitespace-nowrap py-4 text-sm font-bold text-gray-900 "
108- />
88+ < DataTableColumnHeader column = { column } title = "JUDEȚ" />
10989 ) ,
11090 cell : ( { row } ) => < span > { row . original . county } </ span > ,
111- enableSorting : false ,
91+ enableSorting : true ,
11292 } ,
11393 {
11494 accessorKey : "city" ,
11595 header : ( { column } ) => (
116- < DataTableColumnHeader
117- column = { column }
118- title = "LOCALITATE"
119- className = "whitespace-nowrap py-4 text-sm font-bold text-gray-900 "
120- />
96+ < DataTableColumnHeader column = { column } title = "LOCALITATE" />
12197 ) ,
12298 cell : ( { row } ) => < span > { row . original . city } </ span > ,
123- enableSorting : false ,
99+ enableSorting : true ,
124100 } ,
125101 {
126102 accessorKey : "domains" ,
127103 header : ( { column } ) => (
128- < DataTableColumnHeader
129- column = { column }
130- title = "DOMENIU DE ACTIVITATE"
131- className = "whitespace-nowrap py-4 text-sm font-bold text-gray-900 "
132- />
104+ < DataTableColumnHeader column = { column } title = "DOMENIU DE ACTIVITATE" />
133105 ) ,
134106 cell : ( { row } ) => {
135107 return row . original . domains ?. length ? (
@@ -151,25 +123,25 @@ export const columns: ColumnDef<MenteeVM>[] = [
151123 {
152124 accessorKey : "lastEvaluationDate" ,
153125 header : ( { column } ) => (
154- < DataTableColumnHeader
155- column = { column }
156- title = "ULTIMA EVALUARE"
157- className = "whitespace-nowrap py-4 text-sm font-bold text-gray-900 "
158- />
126+ < DataTableColumnHeader column = { column } title = "ULTIMA EVALUARE" />
159127 ) ,
160128 cell : ( { row } ) => {
161129 return row . original . lastEvaluationDate
162130 ? formatDate ( row . original . lastEvaluationDate )
163131 : "-" ;
164132 } ,
165- enableSorting : false ,
133+ enableSorting : true ,
166134 filterFn : ( row , id , value ) => {
167- const rowValue = row . getValue < string > ( id ) ;
168-
135+ const rowValue = row . getValue < string | undefined > ( id ) ;
169136 if ( ! Array . isArray ( value ) || value . length !== 2 ) return true ; // fallback if invalid
170137
138+ if ( ! rowValue ) return false ;
139+
171140 const [ min , max ] = value ;
172- return rowValue >= min && rowValue <= max ;
141+ return (
142+ format ( rowValue , "yyyy-MM-dd" ) >= min &&
143+ format ( rowValue , "yyyy-MM-dd" ) <= max
144+ ) ;
173145 } ,
174146 } ,
175147 {
0 commit comments