+
+
+ {translate('resources.library.fields.totalSongs')}
+
+
+
+
+
+ {translate('resources.library.fields.totalAlbums')}
+
+
+
+
+
+ {translate('resources.library.fields.totalArtists')}
+
+
+
+
+
+ {translate('resources.library.fields.totalFolders')}
+
+
+
+
+
+ {translate('resources.library.fields.totalFiles')}
+
+
+
+
+
+ {translate('resources.library.fields.totalMissingFiles')}
+
+
+
+
+
+ {translate('resources.library.fields.totalSize')}
+
+ formatBytes(record.totalSize)} />
+
+
+
+ {translate('resources.library.fields.totalDuration')}
+
+ formatDuration(record.totalDuration)}
+ />
+
+
+
+
+
+ {translate('resources.library.fields.lastScanAt')}
+
+
+
+
+
+ {translate('resources.library.fields.createdAt')}
+
+
+
+
+
+ {translate('resources.library.fields.updatedAt')}
+
+
+
+
+
+
+ )
+}
+
+export default LibraryEdit
diff --git a/ui/src/library/LibraryList.jsx b/ui/src/library/LibraryList.jsx
new file mode 100644
index 000000000..3d4e88162
--- /dev/null
+++ b/ui/src/library/LibraryList.jsx
@@ -0,0 +1,50 @@
+import React from 'react'
+import {
+ Datagrid,
+ Filter,
+ SearchInput,
+ SimpleList,
+ TextField,
+ NumberField,
+} from 'react-admin'
+import { useMediaQuery } from '@material-ui/core'
+import { List, DateField } from '../common'
+
+const LibraryFilter = (props) => (
+