@@ -33,8 +33,8 @@ interface IProps {
3333
3434@replaceableComponent ( "views.dialogs.UploadConfirmDialog" )
3535export default class UploadConfirmDialog extends React . Component < IProps > {
36- private objectUrl : string ;
37- private mimeType : string ;
36+ private readonly objectUrl : string ;
37+ private readonly mimeType : string ;
3838
3939 static defaultProps = {
4040 totalFiles : 1 ,
@@ -69,7 +69,7 @@ export default class UploadConfirmDialog extends React.Component<IProps> {
6969 } ;
7070
7171 render ( ) {
72- let title ;
72+ let title : string ;
7373 if ( this . props . totalFiles > 1 && this . props . currentIndex !== undefined ) {
7474 title = _t (
7575 "Upload files (%(current)s of %(total)s)" ,
@@ -82,23 +82,23 @@ export default class UploadConfirmDialog extends React.Component<IProps> {
8282 title = _t ( 'Upload files' ) ;
8383 }
8484
85- let preview ;
86- if ( this . mimeType . startsWith ( 'image/' ) ) {
87- preview = < div className = "mx_UploadConfirmDialog_previewOuter" >
88- < div className = "mx_UploadConfirmDialog_previewInner" >
89- < div > < img className = "mx_UploadConfirmDialog_imagePreview" src = { this . objectUrl } /> </ div >
90- < div > { this . props . file . name } ({ filesize ( this . props . file . size ) } )</ div >
91- </ div >
92- </ div > ;
85+ let preview : JSX . Element ;
86+ let placeholder : JSX . Element ;
87+ if ( this . mimeType . startsWith ( "image/" ) ) {
88+ preview = (
89+ < img className = "mx_UploadConfirmDialog_imagePreview" src = { this . objectUrl } />
90+ ) ;
91+ } else if ( this . mimeType . startsWith ( "video/" ) ) {
92+ preview = (
93+ < video className = "mx_UploadConfirmDialog_imagePreview" src = { this . objectUrl } playsInline controls = { false } />
94+ ) ;
9395 } else {
94- preview = < div >
95- < div >
96- < img className = "mx_UploadConfirmDialog_fileIcon"
97- src = { require ( "../../../../res/img/feather-customised/files.svg" ) . default }
98- />
99- { this . props . file . name } ({ filesize ( this . props . file . size ) } )
100- </ div >
101- </ div > ;
96+ placeholder = (
97+ < img
98+ className = "mx_UploadConfirmDialog_fileIcon"
99+ src = { require ( "../../../../res/img/feather-customised/files.svg" ) . default }
100+ />
101+ ) ;
102102 }
103103
104104 let uploadAllButton ;
@@ -109,14 +109,23 @@ export default class UploadConfirmDialog extends React.Component<IProps> {
109109 }
110110
111111 return (
112- < BaseDialog className = 'mx_UploadConfirmDialog'
112+ < BaseDialog
113+ className = "mx_UploadConfirmDialog"
113114 fixedWidth = { false }
114115 onFinished = { this . onCancelClick }
115116 title = { title }
116- contentId = ' mx_Dialog_content'
117+ contentId = " mx_Dialog_content"
117118 >
118- < div id = 'mx_Dialog_content' >
119- { preview }
119+ < div id = "mx_Dialog_content" >
120+ < div className = "mx_UploadConfirmDialog_previewOuter" >
121+ < div className = "mx_UploadConfirmDialog_previewInner" >
122+ { preview && < div > { preview } </ div > }
123+ < div >
124+ { placeholder }
125+ { this . props . file . name } ({ filesize ( this . props . file . size ) } )
126+ </ div >
127+ </ div >
128+ </ div >
120129 </ div >
121130
122131 < DialogButtons primaryButton = { _t ( 'Upload' ) }
0 commit comments