@@ -456,7 +456,9 @@ export default function Home() {
456456 emptyStateText : {
457457 color : 'rgba(0, 0, 0, 0.7)' ,
458458 fontSize : '1.25rem'
459- }
459+ } ,
460+ fileIconImg : { width : '1.5rem' , height : '1.5rem' , objectFit : 'contain' as const } ,
461+ fileHeaderImg : { width : '3rem' , height : '3rem' , objectFit : 'contain' as const }
460462} ;
461463
462464
@@ -509,61 +511,64 @@ export default function Home() {
509511 </ button >
510512 </ div >
511513 </ div >
514+
512515
513516 < div style = { styles . mainContent } >
514- { /* Sidebar */ }
515- < div style = { styles . sidebar } >
516- < h2 style = { styles . sidebarTitle } >
517- < span > 📁</ span >
518- Analyzed Files
519- </ h2 >
520- < div style = { styles . fileList } >
521- { data . map ( ( item ) => (
522- < div
523- key = { item . id }
524- onClick = { ( ) => setSelectedFile ( item ) }
525- style = { {
526- ...styles . fileItem ,
527- ...( selectedFile ?. id === item . id ? styles . fileItemSelected : styles . fileItemDefault )
528- } }
529- className = "file-item"
530- onMouseEnter = { ( e ) => {
531- if ( selectedFile ?. id !== item . id ) {
532- e . currentTarget . style . background = 'rgba(255, 255, 255, 0.1)' ;
533- }
534- } }
535- onMouseLeave = { ( e ) => {
536- if ( selectedFile ?. id !== item . id ) {
537- e . currentTarget . style . background = 'rgba(255, 255, 255, 0.05)' ;
538- }
539- } }
540- >
541- < div style = { styles . fileInfo } >
542- < div style = { styles . fileIcon } >
543- { item . metrics . file_extension === '.py' ? '🐍' :
544- item . metrics . file_extension === '.js' ? '🟨' :
545- item . metrics . file_extension === '.ts' ? '🔷' :
546- item . metrics . file_extension === '.jsx' ? '⚛️' :
547- item . metrics . file_extension === '.tsx' ? '⚛️' :
548- item . metrics . file_extension === '.go' ? '🔵' : '📄' }
549- </ div >
550- < div style = { { flex : 1 , minWidth : 0 } } >
551- < div style = { styles . fileName } title = { item . file_name } >
552- { item . file_name }
553- </ div >
554- < div style = { styles . filePath } title = { item . file_path } >
555- { item . file_path . replace ( item . file_name , '' ) }
556- </ div >
557- < div style = { styles . fileAge } >
558- < span > 🕒</ span >
559- { formatAge ( item . age ) }
560- </ div >
561- </ div >
562- </ div >
517+ { /* Sidebar */ }
518+ < div style = { styles . sidebar } >
519+ < h2 style = { styles . sidebarTitle } >
520+ < span > 📁</ span >
521+ Analyzed Files
522+ </ h2 >
523+ < div style = { styles . fileList } >
524+ { data . map ( ( item ) => (
525+ < div
526+ key = { item . id }
527+ onClick = { ( ) => setSelectedFile ( item ) }
528+ style = { {
529+ ...styles . fileItem ,
530+ ...( selectedFile ?. id === item . id
531+ ? styles . fileItemSelected
532+ : styles . fileItemDefault )
533+ } }
534+ className = "file-item"
535+ onMouseEnter = { ( e ) => {
536+ if ( selectedFile ?. id !== item . id ) {
537+ e . currentTarget . style . background = 'rgba(255, 255, 255, 0.1)' ;
538+ }
539+ } }
540+ onMouseLeave = { ( e ) => {
541+ if ( selectedFile ?. id !== item . id ) {
542+ e . currentTarget . style . background = 'rgba(255, 255, 255, 0.05)' ;
543+ }
544+ } }
545+ >
546+ < div style = { styles . fileInfo } >
547+ < div style = { styles . fileIcon } >
548+ < img
549+ src = { getFileIconSrc ( item . metrics . file_extension ) }
550+ alt = { item . metrics . file_extension }
551+ style = { styles . fileIconImg }
552+ />
553+ </ div >
554+
555+ < div style = { { flex : 1 , minWidth : 0 } } >
556+ < div style = { styles . fileName } title = { item . file_name } >
557+ { item . file_name }
563558 </ div >
564- ) ) }
559+ < div style = { styles . filePath } title = { item . file_path } >
560+ { item . file_path . replace ( item . file_name , '' ) }
561+ </ div >
562+ < div style = { styles . fileAge } >
563+ < span > 🕒</ span >
564+ { formatAge ( item . age ) }
565+ </ div >
566+ </ div >
565567 </ div >
566568 </ div >
569+ ) ) }
570+ </ div >
571+ </ div >
567572
568573 { /* Metrics Display */ }
569574 < div style = { styles . metricsArea } >
0 commit comments