@@ -10,39 +10,53 @@ import FolderRightIcon from '../../../images/triangle-arrow-right.svg';
1010import FolderDownIcon from '../../../images/triangle-arrow-down.svg' ;
1111import FileIcon from '../../../images/file.svg' ;
1212
13- function FileName ( { name } ) {
13+ function parseFileName ( name ) {
1414 const nameArray = name . split ( '.' ) ;
1515 if ( nameArray . length > 1 ) {
1616 const extension = `.${ nameArray [ nameArray . length - 1 ] } ` ;
17- const fileName = nameArray . slice ( 0 , - 1 ) . join ( '' ) ;
18- const firstLetter = fileName [ 0 ] ;
19- const lastLetter = fileName [ fileName . length - 1 ] ;
20- const middleText = fileName . slice ( 1 , - 1 ) ;
21- return (
22- < span className = "sidebar__file-item-name-text" >
23- < span > { firstLetter } </ span >
24- { fileName . length > 2 &&
25- < span className = "sidebar__file-item-name--ellipsis" > { middleText } </ span >
26- }
27- { fileName . length > 1 &&
28- < span > { lastLetter } </ span >
29- }
30- < span > { extension } </ span >
31- </ span >
32- ) ;
17+ const baseName = nameArray . slice ( 0 , - 1 ) . join ( '' ) ;
18+ const firstLetter = baseName [ 0 ] ;
19+ const lastLetter = baseName [ baseName . length - 1 ] ;
20+ const middleText = baseName . slice ( 1 , - 1 ) ;
21+ return {
22+ baseName,
23+ firstLetter,
24+ lastLetter,
25+ middleText,
26+ extension
27+ } ;
3328 }
3429 const firstLetter = name [ 0 ] ;
3530 const lastLetter = name [ name . length - 1 ] ;
3631 const middleText = name . slice ( 1 , - 1 ) ;
32+ return {
33+ baseName : name ,
34+ firstLetter,
35+ lastLetter,
36+ middleText
37+ } ;
38+ }
39+
40+ function FileName ( { name } ) {
41+ const {
42+ baseName,
43+ firstLetter,
44+ lastLetter,
45+ middleText,
46+ extension
47+ } = parseFileName ( name ) ;
3748 return (
3849 < span className = "sidebar__file-item-name-text" >
3950 < span > { firstLetter } </ span >
40- { name . length > 2 &&
51+ { baseName . length > 2 &&
4152 < span className = "sidebar__file-item-name--ellipsis" > { middleText } </ span >
4253 }
43- { name . length > 1 &&
54+ { baseName . length > 1 &&
4455 < span > { lastLetter } </ span >
4556 }
57+ { extension &&
58+ < span > { extension } </ span >
59+ }
4660 </ span >
4761 ) ;
4862}
0 commit comments