Videos: Move Live Photos page to "Videos" sub-navigation #1761

As requested, live photos are not included in video search
results anymore until we find a better solution.
This commit is contained in:
Michael Mayer 2021-11-30 15:38:24 +01:00
parent 8d9c60c6c1
commit 8c7037175a
4 changed files with 31 additions and 19 deletions

View file

@ -110,15 +110,6 @@
</v-list-tile-content>
</v-list-tile>
<v-list-tile :to="{name: 'live'}" class="nav-live" @click.stop="">
<v-list-tile-content>
<v-list-tile-title :class="`p-flex-menuitem menu-item ${rtl ? '--rtl' : ''}`">
<translate>Live</translate>
<span v-show="config.count.live > 0" :class="`nav-count ${rtl ? '--rtl' : ''}`">{{ config.count.live | abbreviateCount }}</span>
</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-tile :to="{name: 'photos', query: { q: 'scan:true' }}" :exact="true" class="nav-scans" @click.stop="">
<v-list-tile-content>
<v-list-tile-title :class="`p-flex-menuitem menu-item ${rtl ? '--rtl' : ''}`">
@ -179,19 +170,40 @@
</v-list-tile>
</v-list-group>
<v-list-tile v-if="$config.feature('videos')" to="/videos" class="nav-video" @click.stop="">
<v-list-tile v-if="isMini && $config.feature('videos')" to="/videos" class="nav-video" @click.stop="">
<v-list-tile-action :title="$gettext('Videos')">
<v-icon>play_circle_fill</v-icon>
</v-list-tile-action>
<v-list-tile-content>
<v-list-tile-title class="p-flex-menuitem">
<v-list-tile-title :class="`menu-item ${rtl ? '--rtl' : ''}`">
<translate key="Videos">Videos</translate>
<span v-show="config.count.videos > 0" :class="`nav-count ${rtl ? '--rtl' : ''}`">{{ (config.count.videos + config.count.live) | abbreviateCount }}</span>
</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
<v-list-group v-if="!isMini && $config.feature('videos')" prepend-icon="play_circle_fill" no-action>
<template #activator>
<v-list-tile to="/videos" class="nav-video" @click.stop="">
<v-list-tile-content>
<v-list-tile-title class="p-flex-menuitem">
<translate key="Videos">Videos</translate>
<span v-show="config.count.videos > 0" :class="`nav-count ${rtl ? '--rtl' : ''}`">{{ config.count.videos | abbreviateCount }}</span>
</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
</template>
<v-list-tile :to="{name: 'live'}" class="nav-live" @click.stop="">
<v-list-tile-content>
<v-list-tile-title :class="`p-flex-menuitem menu-item ${rtl ? '--rtl' : ''}`">
<translate>Live</translate>
<span v-show="config.count.live > 0" :class="`nav-count ${rtl ? '--rtl' : ''}`">{{ config.count.live | abbreviateCount }}</span>
</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
</v-list-group>
<v-list-tile v-show="$config.feature('people')" :to="{ name: 'people' }" class="nav-people" @click.stop="">
<v-list-tile-action :title="$gettext('People')">
<v-icon>person</v-icon>

View file

@ -30,7 +30,7 @@ func TestMediaFile_Location(t *testing.T) {
}
assert.Equal(t, "高砂市", location.City())
assert.Equal(t, "兵庫県", location.State())
assert.Equal(t, "姫路市", location.State())
assert.Equal(t, "Japan", location.CountryName())
assert.Equal(t, "", location.Category())
assert.True(t, strings.HasPrefix(location.ID, s2.TokenPrefix+"3554df45"))
@ -44,7 +44,7 @@ func TestMediaFile_Location(t *testing.T) {
t.Fatal(err)
}
assert.Equal(t, "高砂市", location2.City())
assert.Equal(t, "姫路市", location2.City())
assert.Equal(t, "兵庫県", location2.State())
})
t.Run("cat_brown.jpg", func(t *testing.T) {

View file

@ -377,7 +377,7 @@ func Photos(f form.SearchPhotos) (results PhotoResults, count int, err error) {
if f.Type != "" {
s = s.Where("photos.photo_type IN (?)", strings.Split(strings.ToLower(f.Type), txt.Or))
} else if f.Video {
s = s.Where("photos.photo_type IN ('video','live')")
s = s.Where("photos.photo_type = 'video'")
} else if f.Photo {
s = s.Where("photos.photo_type IN ('image','raw','live')")
} else if f.Raw {

View file

@ -960,8 +960,8 @@ func TestPhotos(t *testing.T) {
assert.IsType(t, Photo{}, r)
assert.NotEmpty(t, r.ID)
if r.PhotoType != "video" && r.PhotoType != "live" {
t.Error("type should be video or live")
if r.PhotoType != "video" {
t.Error("type should be video only")
}
assert.NotEmpty(t, r.LensID)
@ -990,8 +990,8 @@ func TestPhotos(t *testing.T) {
assert.IsType(t, Photo{}, r)
assert.NotEmpty(t, r.ID)
if r.PhotoType != "video" && r.PhotoType != "live" {
t.Error("type should be video or live")
if r.PhotoType != "video" {
t.Error("type should be video only")
}
assert.NotEmpty(t, r.LensID)