@@ -2,10 +2,8 @@ import { Suspense } from "react";
22import { UsersSkeleton } from "@/components/ui/skeleton/UsersSkeleton" ;
33import { getCodevs } from "@/lib/server/codev.service" ;
44import { Codev } from "@/types/home/codev" ;
5- import {
6- getPrioritizedAndFilteredCodevs ,
7- prioritizeCodevs ,
8- } from "@/utils/codev-priority" ; // Import the utility
5+ import { prioritizeCodevs } from "@/utils/codev-priority" ;
6+ import { getQualifiedCodevs } from "@/utils/codev-qualification" ;
97
108import Section from "../_shared/CodevsSection" ;
119import CodevContainer from "./_components/CodevContainer" ;
@@ -16,22 +14,33 @@ export const dynamic = "force-dynamic";
1614export const revalidate = 0 ;
1715
1816export default async function Profiles ( ) {
17+ // Fetch all passed codevs (includes admins, mentors, codevs)
1918 const [ { data : allCodevs , error } ] = await Promise . all ( [
20- getCodevs ( { filters : { role_id : 10 } } ) , // show only Codevs with role_id 10 which is Codev
19+ getCodevs ( { filters : { application_status : "passed" } } ) ,
2120 ] ) ;
2221
2322 if ( error ) {
2423 throw new Error ( "Failed to fetch profiles data" ) ;
2524 }
2625
26+ // Convert to array safely
2727 const codevsArray : Codev [ ] = Array . isArray ( allCodevs ) ? allCodevs : [ ] ;
2828
29- // Use the utility function with filterAdminAndFailed set to true
30- const sortedCodevs = getPrioritizedAndFilteredCodevs (
31- codevsArray ,
32- { activeStatus : [ "active" ] } ,
33- true ,
34- ) ;
29+ // Filter by qualification criteria (100+ points, passed, available)
30+ // This handles ALL filtering logic - no internal_status restrictions
31+ const qualifiedCodevs = getQualifiedCodevs ( codevsArray ) ;
32+
33+ // Apply priority sorting only (no additional filtering)
34+ // Prioritize by: Active projects > No projects, Available > Unavailable
35+ const sortedCodevs = prioritizeCodevs ( qualifiedCodevs ) ;
36+
37+ // Debug logging in development
38+ if ( process . env . NODE_ENV === "development" ) {
39+ console . log ( "📊 PROFILES PAGE STATS:" ) ;
40+ console . log ( ` Total codevs fetched: ${ codevsArray . length } ` ) ;
41+ console . log ( ` Qualified codevs: ${ qualifiedCodevs . length } ` ) ;
42+ console . log ( ` Final displayed: ${ sortedCodevs . length } ` ) ;
43+ }
3544
3645 return (
3746 < >
@@ -54,4 +63,4 @@ export default async function Profiles() {
5463 < CodevHireCodevModal />
5564 </ >
5665 ) ;
57- }
66+ }
0 commit comments