Add album timeline

old-stable24
Varun Patil 2022-10-26 16:27:00 -07:00
parent 8d97dc7914
commit 26d3e7068b
4 changed files with 18 additions and 5 deletions

View File

@ -9,7 +9,10 @@ return [
],
['name' => 'page#favorites', 'url' => '/favorites', 'verb' => 'GET'],
['name' => 'page#videos', 'url' => '/videos', 'verb' => 'GET'],
['name' => 'page#albums', 'url' => '/albums', 'verb' => 'GET'],
['name' => 'page#albums', 'url' => '/albums/{id}', 'verb' => 'GET',
'requirements' => [ 'id' => '.*' ],
'defaults' => [ 'id' => '' ]
],
['name' => 'page#archive', 'url' => '/archive', 'verb' => 'GET'],
['name' => 'page#thisday', 'url' => '/thisday', 'verb' => 'GET'],
['name' => 'page#people', 'url' => '/people/{name}', 'verb' => 'GET',

View File

@ -485,6 +485,11 @@ export default class Timeline extends Mixins(GlobalMixin, UserConfig) {
query.set('tag', this.$route.params.name);
}
// Albums
if (this.$route.name === 'albums' && this.$route.params.id) {
query.set('album', this.$route.params.id);
}
// Create query string and append to URL
const queryStr = query.toString();
if (queryStr) {
@ -554,7 +559,7 @@ export default class Timeline extends Mixins(GlobalMixin, UserConfig) {
data = await dav.getTagsData();
} else if (this.$route.name === 'people' && !this.$route.params.name) {
data = await dav.getPeopleData();
} else if (this.$route.name === 'albums') {
} else if (this.$route.name === 'albums' && !this.$route.params.id) {
data = await dav.getAlbumsData();
} else {
// Try the cache

View File

@ -122,9 +122,14 @@ export default class Tag extends Mixins(GlobalMixin) {
const name = this.data.name || this.data.fileid.toString();
const user = this.data.user_id;
return { name: 'people', params: { name, user }};
} else {
return { name: 'tags', params: { name: this.data.name }};
}
if (this.isAlbum) {
const id = this.data.fileid;
return { name: 'albums', params: { id }};
}
return { name: 'tags', params: { name: this.data.name }};
}
}
</script>

View File

@ -83,7 +83,7 @@
},
{
path: '/albums',
path: '/albums/:id*',
component: Timeline,
name: 'albums',
props: route => ({