@@ -3,9 +3,15 @@ import React, {ReactElement} from "react";
3
3
import { Col , Form } from "react-bootstrap" ;
4
4
import { Link } from "react-router-dom" ;
5
5
import {
6
+ FileEarmarkCodeIcon ,
6
7
FileEarmarkIcon ,
7
- FileEarmarkImageIcon , FileEarmarkMusicIcon , FileEarmarkPlayIcon , FileEarmarkRichtextIcon ,
8
- FileEarmarkTextIcon ,
8
+ FileEarmarkImageIcon ,
9
+ FileEarmarkLock2Icon ,
10
+ FileEarmarkMusicIcon ,
11
+ FileEarmarkPDFIcon ,
12
+ FileEarmarkPlayIcon ,
13
+ FileEarmarkRichtextIcon ,
14
+ FileEarmarkTextIcon , FileEarmarkZipIcon ,
9
15
FolderIcon
10
16
} from "../../../elements/svg/SymbolFile" ;
11
17
import { reverseString } from "../../../background/methods/strings" ;
@@ -34,28 +40,36 @@ export interface FileListEntity {
34
40
35
41
export default function FileListItem ( props : Props ) : ReactElement {
36
42
37
- const ICON_HEIGHT = "40px" ;
43
+ const ICON_PREFERENCES = { height : "40px" , width : "auto" , color : "secondary" }
38
44
39
45
const FileIcon = ( isFolder : boolean , name : string ) : ReactElement => {
40
- if ( isFolder ) return < FolderIcon height = { ICON_HEIGHT } width = { "auto" }
41
- color = { "secondary" } />
46
+ if ( isFolder ) return < FolderIcon { ...ICON_PREFERENCES } />
42
47
let positionOfPoint = reverseString ( name ) . indexOf ( "." ) ;
43
- if ( positionOfPoint < 0 ) return < FileEarmarkIcon height = { ICON_HEIGHT } width = { "auto" } color = { "secondary" } />
48
+ if ( positionOfPoint < 0 ) return < FileEarmarkIcon { ... ICON_PREFERENCES } />
44
49
45
50
const fileExtension = reverseString ( reverseString ( name ) . substr ( 0 , positionOfPoint + 1 ) ) ;
46
51
switch ( fileExtension ) {
47
52
case ".txt" :
48
- return < FileEarmarkTextIcon height = { ICON_HEIGHT } width = { "auto" } color = { "secondary" } />
53
+ return < FileEarmarkTextIcon { ... ICON_PREFERENCES } />
49
54
case ".jpg" :
50
- return < FileEarmarkImageIcon height = { ICON_HEIGHT } width = { "auto" } color = { "secondary" } />
55
+ return < FileEarmarkImageIcon { ... ICON_PREFERENCES } />
51
56
case ".mp4" :
52
- return < FileEarmarkPlayIcon height = { ICON_HEIGHT } width = { "auto" } color = { "secondary" } />
57
+ return < FileEarmarkPlayIcon { ... ICON_PREFERENCES } />
53
58
case ".mp3" :
54
- return < FileEarmarkMusicIcon height = { ICON_HEIGHT } width = { "auto" } color = { "secondary" } />
59
+ return < FileEarmarkMusicIcon { ...ICON_PREFERENCES } />
60
+ case ".crypt" : return < FileEarmarkLock2Icon { ...ICON_PREFERENCES } />
61
+ case ".pdf" : return < FileEarmarkPDFIcon { ...ICON_PREFERENCES } />
62
+ case ".zip" :
63
+ case ".7z" : return < FileEarmarkZipIcon { ...ICON_PREFERENCES } />
64
+ case ".ts" :
65
+ case ".tsx" :
66
+ case ".js" :
67
+ case ".jsx" :
68
+ case ".java" : return < FileEarmarkCodeIcon { ...ICON_PREFERENCES } />
55
69
case ".md" :
56
- case ".html" : return < FileEarmarkRichtextIcon height = { ICON_HEIGHT } width = { "auto" } color = { "secondary" } />
70
+ case ".html" : return < FileEarmarkRichtextIcon { ... ICON_PREFERENCES } />
57
71
default :
58
- return < FileEarmarkIcon height = { ICON_HEIGHT } width = { "auto" } color = { "secondary" } />
72
+ return < FileEarmarkIcon { ... ICON_PREFERENCES } />
59
73
}
60
74
}
61
75
0 commit comments