diff --git a/front/src/components/audio/track/Widget.vue b/front/src/components/audio/track/Widget.vue index 945db6a167f1e5ae5ef46ae5c102bf32b4cc6b49..615586b6482694229513fe571f2dccfeb5e879d2 100644 --- a/front/src/components/audio/track/Widget.vue +++ b/front/src/components/audio/track/Widget.vue @@ -144,6 +144,9 @@ export default { }, "$store.state.moderation.lastUpdate": function () { this.fetchData(this.url) + }, + count (v) { + this.$emit('count', v) } } } diff --git a/front/src/views/auth/ProfileActivity.vue b/front/src/views/auth/ProfileActivity.vue index 50ef0e9259b27c161bd693cec7ebde5a6537e9dc..bd893c9672f029e3ccbc99901b80cf3b4407b510 100644 --- a/front/src/views/auth/ProfileActivity.vue +++ b/front/src/views/auth/ProfileActivity.vue @@ -1,10 +1,14 @@ <template> <section> <div> + <radio-button v-if="recentActivity > 0" class="right floated" type="account" :object-id="{username: object.preferred_username, fullUsername: object.full_username}" :client-only="true"></radio-button> <h2 class="ui header"> <translate translate-context="Content/Home/Title">Recently listened</translate> </h2> - <track-widget :url="'history/listenings/'" :filters="{scope: `actor:${object.full_username}`, ordering: '-creation_date'}"> + <track-widget + @count="recentActivity = $event" + :url="'history/listenings/'" + :filters="{scope: `actor:${object.full_username}`, ordering: '-creation_date'}"> </track-widget> </div> <div class="ui hidden divider"></div> @@ -28,9 +32,15 @@ <script> import TrackWidget from "@/components/audio/track/Widget" import PlaylistWidget from "@/components/playlists/Widget" +import RadioButton from "@/components/radios/Button" export default { props: ['object'], - components: {TrackWidget, PlaylistWidget}, + components: {TrackWidget, PlaylistWidget, RadioButton}, + data () { + return { + recentActivity: 0, + } + } } </script> diff --git a/front/src/views/auth/ProfileBase.vue b/front/src/views/auth/ProfileBase.vue index 702d3b870d572902f9328b45db96286402554d4d..ac828288b95c74299296f4944bbd011de5ae3a69 100644 --- a/front/src/views/auth/ProfileBase.vue +++ b/front/src/views/auth/ProfileBase.vue @@ -43,9 +43,6 @@ </div> </template> </h1> - <div class="ui center aligned text"> - <radio-button type="account" :object-id="{username: object.preferred_username, fullUsername: object.full_username}" :client-only="true"></radio-button> - </div> <div class="ui small hidden divider"></div> <div v-if="$store.getters['ui/layoutVersion'] === 'large'"> <rendered-description @@ -68,10 +65,7 @@ </router-link> </div> <div class="ui hidden divider"></div> - <keep-alive> - <router-view @updated="fetch" :object="object"></router-view> - </keep-alive> - + <router-view @updated="fetch" :object="object"></router-view> </div> </div> </div> @@ -85,7 +79,6 @@ import { mapState } from "vuex" import axios from 'axios' import ReportMixin from '@/components/mixins/Report' -import RadioButton from "@/components/radios/Button" export default { mixins: [ReportMixin], @@ -93,9 +86,6 @@ export default { username: {type: String, required: true}, domain: {type: String, required: false, default: null}, }, - components: { - RadioButton, - }, data () { return { object: null,