{{ props.track.title }}
{{ props.track.artist }}
diff --git a/web-src/src/components/ModalDialogDirectory.vue b/web-src/src/components/ModalDialogDirectory.vue
new file mode 100644
index 00000000..0a6f105b
--- /dev/null
+++ b/web-src/src/components/ModalDialogDirectory.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+ {{ directory.path }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web-src/src/components/NavbarTop.vue b/web-src/src/components/NavbarTop.vue
index b04aa14b..84c5802b 100644
--- a/web-src/src/components/NavbarTop.vue
+++ b/web-src/src/components/NavbarTop.vue
@@ -13,6 +13,9 @@
+
+
+
diff --git a/web-src/src/pages/PageFiles.vue b/web-src/src/pages/PageFiles.vue
new file mode 100644
index 00000000..b05d6978
--- /dev/null
+++ b/web-src/src/pages/PageFiles.vue
@@ -0,0 +1,178 @@
+
+
+
+
+ Files
+ {{ current_directory }}
+
+
+
+ Play
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web-src/src/router/index.js b/web-src/src/router/index.js
index 915d2689..233230fb 100644
--- a/web-src/src/router/index.js
+++ b/web-src/src/router/index.js
@@ -21,6 +21,7 @@ import PageAudiobooks from '@/pages/PageAudiobooks'
import PageAudiobook from '@/pages/PageAudiobook'
import PagePlaylists from '@/pages/PagePlaylists'
import PagePlaylist from '@/pages/PagePlaylist'
+import PageFiles from '@/pages/PageFiles'
import PageSearch from '@/pages/PageSearch'
import PageAbout from '@/pages/PageAbout'
import SpotifyPageBrowse from '@/pages/SpotifyPageBrowse'
@@ -144,6 +145,12 @@ export const router = new VueRouter({
component: PageAudiobook,
meta: { show_progress: true }
},
+ {
+ path: '/files',
+ name: 'Files',
+ component: PageFiles,
+ meta: { show_progress: true }
+ },
{
path: '/playlists',
name: 'Playlists',
diff --git a/web-src/src/webapi/index.js b/web-src/src/webapi/index.js
index c84b0bf5..fe387e9e 100644
--- a/web-src/src/webapi/index.js
+++ b/web-src/src/webapi/index.js
@@ -214,6 +214,13 @@ export default {
return axios.get('/api/library/playlists/' + playlistId + '/tracks')
},
+ library_files (directory = undefined) {
+ var filesParams = { 'directory': directory }
+ return axios.get('/api/library/files', {
+ params: filesParams
+ })
+ },
+
search (searchParams) {
return axios.get('/api/search', {
params: searchParams