diff --git a/src/components/itemMediaInfo/itemMediaInfo.js b/src/components/itemMediaInfo/itemMediaInfo.js
index 70c35e848..7ebe7464a 100644
--- a/src/components/itemMediaInfo/itemMediaInfo.js
+++ b/src/components/itemMediaInfo/itemMediaInfo.js
@@ -5,22 +5,27 @@
*/
import escapeHtml from 'escape-html';
-import dialogHelper from '../dialogHelper/dialogHelper';
-import layoutManager from '../layoutManager';
-import toast from '../toast/toast';
-import { copy } from '../../scripts/clipboard';
-import dom from '../../scripts/dom';
-import globalize from '../../lib/globalize';
+
+import dialogHelper from 'components/dialogHelper/dialogHelper';
+import itemHelper from 'components/itemHelper';
+import layoutManager from 'components/layoutManager';
+import loading from 'components/loading/loading';
+import toast from 'components/toast/toast';
+import globalize from 'lib/globalize';
import { ServerConnections } from 'lib/jellyfin-apiclient';
-import itemHelper from '../../components/itemHelper';
-import loading from '../loading/loading';
-import '../../elements/emby-select/emby-select';
-import '../listview/listview.scss';
-import '../../elements/emby-button/emby-button';
-import '../../elements/emby-button/paper-icon-button-light';
-import '../formdialog.scss';
+import { copy } from 'scripts/clipboard';
+import dom from 'scripts/dom';
+import { getReadableSize } from 'utils/file';
+
+import 'components/formdialog.scss';
+import 'components/listview/listview.scss';
+import 'elements/emby-button/emby-button';
+import 'elements/emby-button/paper-icon-button-light';
+import 'elements/emby-select/emby-select';
import 'material-design-icons-iconfont';
-import '../../styles/flexstyles.scss';
+
+import 'styles/flexstyles.scss';
+
import template from './itemMediaInfo.template.html';
// Do not add extra spaces between tags - they will be copied into the result
@@ -68,7 +73,7 @@ function getMediaSourceHtml(user, item, version) {
html += `${createAttribute(globalize.translate('MediaInfoPath'), version.Path, true)}
`;
}
if (version.Size) {
- const size = `${(version.Size / (1024 * 1024)).toFixed(0)} MB`;
+ const size = getReadableSize(version.Size);
html += `${createAttribute(globalize.translate('MediaInfoSize'), size)}
`;
}
version.MediaStreams.sort(itemHelper.sortTracks);
diff --git a/src/components/playerstats/playerstats.js b/src/components/playerstats/playerstats.js
index 97d4a7afd..804c97e9c 100644
--- a/src/components/playerstats/playerstats.js
+++ b/src/components/playerstats/playerstats.js
@@ -1,12 +1,15 @@
-import '../../elements/emby-button/paper-icon-button-light';
-import globalize from '../../lib/globalize';
+import globalize from 'lib/globalize';
import { ServerConnections } from 'lib/jellyfin-apiclient';
-import Events from '../../utils/events.ts';
+import { PluginType } from 'types/plugin';
+import Events from 'utils/events';
+import { getReadableSize } from 'utils/file';
+
import layoutManager from '../layoutManager';
import { playbackManager } from '../playback/playbackmanager';
import playMethodHelper from '../playback/playmethodhelper';
import { pluginManager } from '../pluginManager';
-import { PluginType } from '../../types/plugin.ts';
+
+import 'elements/emby-button/paper-icon-button-light';
import './playerstats.scss';
@@ -211,16 +214,6 @@ function getDisplayTranscodeFps(session, player) {
return `${transcodeFramerate} fps (${(transcodeFramerate / originalFramerate).toFixed(2)}x)`;
}
-function getReadableSize(size) {
- if (size >= 1073741824) {
- return parseFloat((size / 1073741824).toFixed(1)) + ' GiB';
- } else if (size >= 1048576) {
- return parseFloat((size / 1048576).toFixed(1)) + ' MiB';
- } else {
- return Math.floor(size / 1024) + ' KiB';
- }
-}
-
function getMediaSourceStats(session, player) {
const sessionStats = [];