@@ -51,23 +51,35 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
5151 } , [ projectId ] ) ;
5252
5353 const fetchFreshMemberData = async ( ) => {
54- console . log ( "🔄 ChecklistStatusBanner: Fetching fresh member data..." ) ;
54+ // Only log in development - hidden in production
55+ if ( process . env . NODE_ENV === 'development' ) {
56+ console . log ( "🔄 ChecklistStatusBanner: Fetching fresh member data..." ) ;
57+ }
5558 setIsFetchingMembers ( true ) ;
5659
5760 try {
5861 const teamLeadResult = await getTeamLead ( projectId ) ;
5962 if ( teamLeadResult . data ) {
6063 setFreshTeamLead ( teamLeadResult . data ) ;
61- console . log ( "👑 Banner - Team Lead:" , teamLeadResult . data . first_name , teamLeadResult . data . last_name ) ;
64+ // Only log sensitive user data in development
65+ if ( process . env . NODE_ENV === 'development' ) {
66+ console . log ( "👑 Banner - Team Lead:" , teamLeadResult . data . first_name , teamLeadResult . data . last_name ) ;
67+ }
6268 }
6369
6470 const membersResult = await getMembers ( projectId ) ;
6571 if ( membersResult . data ) {
6672 setFreshTeamMembers ( membersResult . data ) ;
67- console . log ( "👥 Banner - Fresh members fetched:" , membersResult . data . length ) ;
73+ // Only log member count in development - don't expose actual member data
74+ if ( process . env . NODE_ENV === 'development' ) {
75+ console . log ( "👥 Banner - Fresh members fetched:" , membersResult . data . length ) ;
76+ }
6877 }
6978 } catch ( error ) {
70- console . error ( "❌ Banner - Error fetching fresh member data:" , error ) ;
79+ // Only log errors in development
80+ if ( process . env . NODE_ENV === 'development' ) {
81+ console . error ( "❌ Banner - Error fetching fresh member data:" , error ) ;
82+ }
7183 } finally {
7284 setIsFetchingMembers ( false ) ;
7385 }
@@ -77,7 +89,10 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
7789 ? [ freshTeamLead , ...freshTeamMembers ]
7890 : freshTeamMembers ;
7991
80- console . log ( "📊 Banner - Total members for display:" , allMembers . length ) ;
92+ // Only log in development
93+ if ( process . env . NODE_ENV === 'development' ) {
94+ console . log ( "📊 Banner - Total members for display:" , allMembers . length ) ;
95+ }
8196
8297 useEffect ( ( ) => {
8398 if ( ! isFetchingMembers && allMembers . length > 0 ) {
@@ -90,13 +105,19 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
90105 const supabase = createClientClientComponent ( ) ;
91106
92107 if ( ! supabase ) {
93- console . error ( "Failed to initialize Supabase client" ) ;
108+ // Only log in development
109+ if ( process . env . NODE_ENV === 'development' ) {
110+ console . error ( "Failed to initialize Supabase client" ) ;
111+ }
94112 setIsLoading ( false ) ;
95113 return ;
96114 }
97115
98116 try {
99- console . log ( "🔍 Banner - Loading checklist data for" , allMembers . length , "members" ) ;
117+ // Only log in development - don't expose member count in production
118+ if ( process . env . NODE_ENV === 'development' ) {
119+ console . log ( "🔍 Banner - Loading checklist data for" , allMembers . length , "members" ) ;
120+ }
100121
101122 // Get all checklist items for this project
102123 const { data : checklistData , error } = await supabase
@@ -105,11 +126,17 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
105126 . eq ( "project_id" , projectId ) ;
106127
107128 if ( error ) {
108- console . error ( "❌ Banner - Error loading checklist data:" , error ) ;
129+ // Only log errors in development
130+ if ( process . env . NODE_ENV === 'development' ) {
131+ console . error ( "❌ Banner - Error loading checklist data:" , error ) ;
132+ }
109133 return ;
110134 }
111135
112- console . log ( "📋 Banner - Found" , checklistData ?. length || 0 , "total checklist items" ) ;
136+ // Only log in development
137+ if ( process . env . NODE_ENV === 'development' ) {
138+ console . log ( "📋 Banner - Found" , checklistData ?. length || 0 , "total checklist items" ) ;
139+ }
113140
114141 // 🔧 CRITICAL FIX: Create status for ALL members, not just those with items
115142 const statusMap : { [ key : string ] : MemberChecklistStatus } = { } ;
@@ -127,7 +154,10 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
127154 pendingItems : memberItems . length - completedCount
128155 } ;
129156
130- console . log ( ` - ${ member . first_name } ${ member . last_name } : ${ completedCount } /${ memberItems . length } completed` ) ;
157+ // Only log individual member data in development - SENSITIVE DATA
158+ if ( process . env . NODE_ENV === 'development' ) {
159+ console . log ( ` - ${ member . first_name } ${ member . last_name } : ${ completedCount } /${ memberItems . length } completed` ) ;
160+ }
131161 } ) ;
132162
133163 // 🔧 CRITICAL FIX: Don't filter out members with 0 items
@@ -142,9 +172,16 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
142172 } ) ;
143173
144174 setMemberStatuses ( statusArray ) ;
145- console . log ( "✅ Banner - Loaded statuses for ALL" , statusArray . length , "members (including those with 0 items)" ) ;
175+
176+ // Only log in development
177+ if ( process . env . NODE_ENV === 'development' ) {
178+ console . log ( "✅ Banner - Loaded statuses for ALL" , statusArray . length , "members (including those with 0 items)" ) ;
179+ }
146180 } catch ( error ) {
147- console . error ( "❌ Banner - Error loading checklist statuses:" , error ) ;
181+ // Only log errors in development
182+ if ( process . env . NODE_ENV === 'development' ) {
183+ console . error ( "❌ Banner - Error loading checklist statuses:" , error ) ;
184+ }
148185 } finally {
149186 setIsLoading ( false ) ;
150187 }
@@ -160,12 +197,15 @@ const ChecklistStatusBanner = ({ projectId }: ChecklistStatusBannerProps) => {
160197 return s . pendingItems === 0 ;
161198 } ) . length ;
162199
163- console . log ( "📊 Banner Summary:" , {
164- totalMembers : memberStatuses . length ,
165- membersWithPending,
166- membersFullyCompleted,
167- totalPendingItems
168- } ) ;
200+ // Only log summary in development - don't expose member counts in production
201+ if ( process . env . NODE_ENV === 'development' ) {
202+ console . log ( "📊 Banner Summary:" , {
203+ totalMembers : memberStatuses . length ,
204+ membersWithPending,
205+ membersFullyCompleted,
206+ totalPendingItems
207+ } ) ;
208+ }
169209
170210 if ( isFetchingMembers ) {
171211 return (
0 commit comments