[web] Improve dialog modal for directory

This commit is contained in:
Alain Nussbaumer 2025-03-18 21:50:07 +01:00
parent ed266e3b30
commit 15e8854349
6 changed files with 28 additions and 7 deletions

View File

@ -361,11 +361,13 @@
"comment": "Kommentar", "comment": "Kommentar",
"composer": "Komponist", "composer": "Komponist",
"duration": "Dauer", "duration": "Dauer",
"folders": "Ordner",
"genre": "Genre", "genre": "Genre",
"genres": "Genres", "genres": "Genres",
"name": "Name", "name": "Name",
"owner": "Besitzer", "owner": "Besitzer",
"path": "Pfad", "path": "Pfad",
"playlists": "Playlisten",
"playtime": "Spielzeit", "playtime": "Spielzeit",
"popularity": "Popularität / Followers", "popularity": "Popularität / Followers",
"position": "Disc / Track", "position": "Disc / Track",

View File

@ -361,11 +361,13 @@
"comment": "Comment", "comment": "Comment",
"composer": "Composer", "composer": "Composer",
"duration": "Duration", "duration": "Duration",
"folders": "Folders",
"genre": "Genre", "genre": "Genre",
"genres": "Genres", "genres": "Genres",
"name": "Name", "name": "Name",
"owner": "Owner", "owner": "Owner",
"path": "Path", "path": "Path",
"playlists": "Playlists",
"playtime": "Playtime", "playtime": "Playtime",
"popularity": "Popularity / Followers", "popularity": "Popularity / Followers",
"position": "Disc / Track", "position": "Disc / Track",

View File

@ -361,11 +361,13 @@
"comment": "Commentaire", "comment": "Commentaire",
"composer": "Compositeur", "composer": "Compositeur",
"duration": "Durée", "duration": "Durée",
"folders": "Dossiers",
"genre": "Genre", "genre": "Genre",
"genres": "Genres", "genres": "Genres",
"name": "Nom", "name": "Nom",
"owner": "Propriétaire", "owner": "Propriétaire",
"path": "Emplacement", "path": "Emplacement",
"playlists": "Listes de lecture",
"playtime": "Temps de lecture", "playtime": "Temps de lecture",
"popularity": "Popularité / Abonnements", "popularity": "Popularité / Abonnements",
"position": "Disque / Piste", "position": "Disque / Piste",

View File

@ -361,11 +361,13 @@
"comment": "评论", "comment": "评论",
"composer": "作曲家", "composer": "作曲家",
"duration": "时长", "duration": "时长",
"folders": "文件夹",
"genre": "流派", "genre": "流派",
"genres": "流派", "genres": "流派",
"name": "名称", "name": "名称",
"owner": "所有者", "owner": "所有者",
"path": "路径", "path": "路径",
"playlists": "播放列表",
"playtime": "总播放时长", "playtime": "总播放时长",
"popularity": "流行度 / 粉丝数", "popularity": "流行度 / 粉丝数",
"position": "盘符 / 曲目", "position": "盘符 / 曲目",

View File

@ -361,11 +361,13 @@
"comment": "評論", "comment": "評論",
"composer": "作曲家", "composer": "作曲家",
"duration": "時長", "duration": "時長",
"folders": "檔案夾",
"genre": "音樂類型", "genre": "音樂類型",
"genres": "音樂類型", "genres": "音樂類型",
"name": "名稱", "name": "名稱",
"owner": "所有者", "owner": "所有者",
"path": "路徑", "path": "路徑",
"playlists": "播放列表",
"playtime": "總播放時長", "playtime": "總播放時長",
"popularity": "流行度 / 粉絲數", "popularity": "流行度 / 粉絲數",
"position": "盤符 / 曲目", "position": "盤符 / 曲目",

View File

@ -20,14 +20,14 @@
:items="tracks" :items="tracks"
icon="file-music-outline" icon="file-music-outline"
/> />
<modal-dialog-directory
:item="current"
:show="showDetailsModal"
@close="showDetailsModal = false"
/>
</template> </template>
</content-with-heading> </content-with-heading>
</div> </div>
<modal-dialog-playable
:item="playable"
:show="showDetailsModal"
@close="showDetailsModal = false"
/>
</template> </template>
<script> <script>
@ -38,7 +38,7 @@ import HeadingTitle from '@/components/HeadingTitle.vue'
import ListDirectories from '@/components/ListDirectories.vue' import ListDirectories from '@/components/ListDirectories.vue'
import ListPlaylists from '@/components/ListPlaylists.vue' import ListPlaylists from '@/components/ListPlaylists.vue'
import ListTracks from '@/components/ListTracks.vue' import ListTracks from '@/components/ListTracks.vue'
import ModalDialogDirectory from '@/components/ModalDialogDirectory.vue' import ModalDialogPlayable from '@/components/ModalDialogPlayable.vue'
import { useConfigurationStore } from '@/stores/configuration' import { useConfigurationStore } from '@/stores/configuration'
import webapi from '@/webapi' import webapi from '@/webapi'
@ -79,7 +79,7 @@ export default {
ListDirectories, ListDirectories,
ListPlaylists, ListPlaylists,
ListTracks, ListTracks,
ModalDialogDirectory ModalDialogPlayable
}, },
beforeRouteEnter(to, from, next) { beforeRouteEnter(to, from, next) {
dataObject.load(to).then((response) => { dataObject.load(to).then((response) => {
@ -117,6 +117,17 @@ export default {
return this.current?.slice(this.current.lastIndexOf('/') + 1) return this.current?.slice(this.current.lastIndexOf('/') + 1)
} }
return this.$t('page.files.title') return this.$t('page.files.title')
},
playable() {
return {
expression: `path starts with "${this.current}" order by path asc`,
name: this.current,
properties: [
{ key: 'property.folders', value: this.directories.length },
{ key: 'property.playlists', value: this.playlists.total },
{ key: 'property.tracks', value: this.tracks.total }
]
}
} }
}, },
methods: { methods: {