@@ -24,6 +24,7 @@ import { fmtMonthYear } from "utils/membersDates";
2424import { approveMemberAction } from "actions/members/approve/server_action" ;
2525import { rejectMemberAction } from "actions/members/reject/server_action" ;
2626
27+
2728const showActions = ( rows , user ) => {
2829 if ( user ?. role !== "cc" ) return false ;
2930 if ( rows . length > 0 ) {
@@ -83,11 +84,7 @@ export default function MemberPositions({
8384 if ( row . startYear < minYear ) row . startYear = minYear ;
8485
8586 // Only clamp if the month is actually set
86- if (
87- row . startMonth &&
88- ( row . startYear > currentYear ||
89- ( row . startYear === currentYear && row . startMonth > currentMonth ) )
90- ) {
87+ if ( row . startMonth && ( row . startYear > currentYear || ( row . startYear === currentYear && row . startMonth > currentMonth ) ) ) {
9188 row . startYear = currentYear ;
9289 row . startMonth = currentMonth ;
9390 }
@@ -147,9 +144,12 @@ export default function MemberPositions({
147144 } }
148145 >
149146 { p . value || (
150- < span style = { { color : "text.secondary" , fontStyle : "italic" } } >
147+ < Box
148+ component = "span"
149+ sx = { { color : "text.secondary" , fontStyle : "italic" } }
150+ >
151151 Double click to edit
152- </ span >
152+ </ Box >
153153 ) }
154154 </ Typography >
155155 ) ,
@@ -291,83 +291,82 @@ export default function MemberPositions({
291291 } ,
292292 ...( editable
293293 ? [
294- {
295- field : "isValid" ,
296- type : "boolean" ,
297- headerName : "Valid?" ,
298- align : "center" ,
299- width : 80 ,
300- renderCell : ( p ) => (
301- < Tooltip
302- title = { p . row . error || "Valid" }
303- disableHoverListener = { p . row . isValid }
304- >
305- < span >
306- < Icon
307- color = { p . row . isValid ? "success.main" : "error.main" }
308- variant = { p . row . isValid ? "check-circle" : "cancel" }
309- sx = { { height : 20 , width : 20 } }
310- />
311- </ span >
312- </ Tooltip >
313- ) ,
314- display : "flex" ,
315- disableColumnMenu : true ,
316- sortable : false ,
317- } ,
318- {
319- field : "action" ,
320- align : "center" ,
321- headerName : "" ,
322- width : 50 ,
323- renderCell : ( p ) => (
324- < IconButton
325- onMouseDown = { ( e ) => e . stopPropagation ( ) }
326- onClick = { ( e ) => {
327- e . stopPropagation ( ) ;
328- onDelete ( p . row ) ;
329- } }
330- size = "small"
331- >
294+ {
295+ field : "isValid" ,
296+ type : "boolean" ,
297+ headerName : "Valid?" ,
298+ align : "center" ,
299+ width : 80 ,
300+ renderCell : ( p ) => (
301+ < Tooltip
302+ title = { p . row . error || "Valid" }
303+ disableHoverListener = { p . row . isValid }
304+ >
305+ < span >
332306 < Icon
333- color = " error.main"
334- variant = "delete-forever-outline"
335- sx = { { height : 16 , width : 16 } }
307+ color = { p . row . isValid ? "success.main" : " error.main"}
308+ variant = { p . row . isValid ? "check-circle" : "cancel" }
309+ sx = { { height : 20 , width : 20 } }
336310 />
337- </ IconButton >
338- ) ,
339- display : "flex" ,
340- disableColumnMenu : true ,
341- sortable : false ,
342- } ,
343- ]
311+ </ span >
312+ </ Tooltip >
313+ ) ,
314+ display : "flex" ,
315+ disableColumnMenu : true ,
316+ sortable : false ,
317+ } ,
318+ {
319+ field : "action" ,
320+ align : "center" ,
321+ headerName : "" ,
322+ width : 50 ,
323+ renderCell : ( p ) => (
324+ < IconButton onMouseDown = { ( e ) => e . stopPropagation ( ) }
325+ onClick = { ( e ) => {
326+ e . stopPropagation ( ) ;
327+ onDelete ( p . row )
328+ } }
329+ size = "small"
330+ >
331+ < Icon
332+ color = "error.main"
333+ variant = "delete-forever-outline"
334+ sx = { { height : 16 , width : 16 } }
335+ />
336+ </ IconButton >
337+ ) ,
338+ display : "flex" ,
339+ disableColumnMenu : true ,
340+ sortable : false ,
341+ } ,
342+ ]
344343 : [
345- {
346- field : "approved" ,
347- headerName : "Status" ,
348- align : "center" ,
349- headerAlign : "center" ,
350- flex : isMobile ? null : 2 ,
351- valueGetter : ( value , row ) => ( {
352- approved : row . approved ,
353- approvalTime : row . approvalTime ,
354- rejected : row . rejected ,
355- rejectionTime : row . rejectionTime ,
356- } ) ,
357- disableExport : true ,
358- renderCell : ( {
359- value : { approved, approvalTime, rejected, rejectionTime } ,
360- } ) => (
361- < Tooltip
362- title = {
363- approved
364- ? approvalTime || "No Information Available"
365- : rejected
366- ? rejectionTime || "No Information Available"
367- : null
368- }
369- placement = "left-start"
370- >
344+ {
345+ field : "approved" ,
346+ headerName : "Status" ,
347+ align : "center" ,
348+ headerAlign : "center" ,
349+ flex : isMobile ? null : 2 ,
350+ valueGetter : ( value , row ) => ( {
351+ approved : row . approved ,
352+ approvalTime : row . approvalTime ,
353+ rejected : row . rejected ,
354+ rejectionTime : row . rejectionTime ,
355+ } ) ,
356+ disableExport : true ,
357+ renderCell : ( {
358+ value : { approved, approvalTime, rejected, rejectionTime } ,
359+ } ) => (
360+ < Tooltip
361+ title = {
362+ approved
363+ ? approvalTime || "No Information Available"
364+ : rejected
365+ ? rejectionTime || "No Information Available"
366+ : null
367+ }
368+ placement = "left-start"
369+ >
371370 < span >
372371 < Tag
373372 label = {
@@ -379,41 +378,41 @@ export default function MemberPositions({
379378 sx = { { my : 2 } }
380379 />
381380 </ span >
382- </ Tooltip >
383- ) ,
384- display : "flex" ,
385- } ,
386- ...( showActions ( rows , user )
387- ? [
388- {
389- field : "actions" ,
390- align : "center" ,
391- headerName : "" ,
392- width : 100 ,
393- valueGetter : ( value , row ) => ( {
394- approved : row . approved ,
395- rejected : row . rejected ,
396- rid : row . rid ,
397- } ) ,
398- disableExport : true ,
399- disableColumnMenu : true ,
400- sortable : false ,
401- renderCell : ( { value : { approved, rejected, rid } } ) => (
381+ </ Tooltip >
382+ ) ,
383+ display : "flex" ,
384+ } ,
385+ ...( showActions ( rows , user )
386+ ? [
387+ {
388+ field : "actions" ,
389+ align : "center" ,
390+ headerName : "" ,
391+ width : 100 ,
392+ valueGetter : ( value , row ) => ( {
393+ approved : row . approved ,
394+ rejected : row . rejected ,
395+ rid : row . rid ,
396+ } ) ,
397+ disableExport : true ,
398+ disableColumnMenu : true ,
399+ sortable : false ,
400+ renderCell : ( { value : { approved, rejected, rid } } ) => (
401+ < >
402+ { approved || rejected ? null : (
402403 < >
403- { approved || rejected ? null : (
404- < >
405- < ApproveButton rid = { rid } member = { member } />
406- < Box sx = { { mx : 1 } } />
407- < RejectButton rid = { rid } member = { member } />
408- </ >
409- ) }
404+ < ApproveButton rid = { rid } member = { member } />
405+ < Box sx = { { mx : 1 } } />
406+ < RejectButton rid = { rid } member = { member } />
410407 </ >
411- ) ,
412- display : "flex" ,
413- } ,
414- ]
415- : [ ] ) ,
416- ] ) ,
408+ ) }
409+ </ >
410+ ) ,
411+ display : "flex" ,
412+ } ,
413+ ]
414+ : [ ] ) ,
415+ ] ) ,
417416 ] ;
418417
419418 return (
0 commit comments