mirror of
https://akkoma.dev/AkkomaGang/akkoma-fe
synced 2025-05-03 20:29:31 +08:00
Fix public favorites
Show favorites tab to anyone when "Don't show list of my favorites" is unchecked. Adapted from upstream changes by marcin mikołajczak <git@mkljczk.pl>:6f452d672f
1ceffb4e71
This commit is contained in:
parent
ed0b403c33
commit
4d91a7b2c3
4 changed files with 15 additions and 5 deletions
|
@ -97,6 +97,9 @@ const UserProfile = {
|
||||||
followersTabVisible () {
|
followersTabVisible () {
|
||||||
return this.isUs || !this.user.hide_followers
|
return this.isUs || !this.user.hide_followers
|
||||||
},
|
},
|
||||||
|
favoritesTabVisible () {
|
||||||
|
return this.isUs || !this.user.hide_favorites
|
||||||
|
},
|
||||||
currentUser () {
|
currentUser () {
|
||||||
return this.$store.state.users.currentUser
|
return this.$store.state.users.currentUser
|
||||||
},
|
},
|
||||||
|
@ -114,14 +117,14 @@ const UserProfile = {
|
||||||
replies: 'replies',
|
replies: 'replies',
|
||||||
media: 'media'
|
media: 'media'
|
||||||
}
|
}
|
||||||
// only we can see our own favourites
|
|
||||||
if (this.isUs) timelineTabMap['favorites'] = 'favorites'
|
if (this.favoritesTabVisible) timelineTabMap['favorites'] = 'favorites'
|
||||||
|
|
||||||
const timeline = timelineTabMap[nextTab]
|
const timeline = timelineTabMap[nextTab]
|
||||||
|
|
||||||
if (timeline) {
|
if (timeline) {
|
||||||
this.stopFetching()
|
this.stopFetching()
|
||||||
this.$store.dispatch('startFetchingTimeline', { timeline: timeline, userId: this.userId })
|
this.$store.dispatch('startFetchingTimeline', { timeline: timeline, userId: nextTab == 'favorites' && this.isUs ? null : this.userId })
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
load (userNameOrId) {
|
load (userNameOrId) {
|
||||||
|
|
|
@ -165,14 +165,14 @@
|
||||||
:footer-slipgate="footerRef"
|
:footer-slipgate="footerRef"
|
||||||
/>
|
/>
|
||||||
<Timeline
|
<Timeline
|
||||||
v-if="isUs"
|
v-if="favoritesTabVisible"
|
||||||
key="favorites"
|
key="favorites"
|
||||||
:label="$t('user_card.favorites')"
|
:label="$t('user_card.favorites')"
|
||||||
:disabled="!isUs"
|
|
||||||
:embedded="true"
|
:embedded="true"
|
||||||
:title="$t('user_card.favorites')"
|
:title="$t('user_card.favorites')"
|
||||||
timeline-name="favorites"
|
timeline-name="favorites"
|
||||||
:timeline="favorites"
|
:timeline="favorites"
|
||||||
|
:user-id="isUs ? undefined : userId"
|
||||||
:in-profile="true"
|
:in-profile="true"
|
||||||
:footer-slipgate="footerRef"
|
:footer-slipgate="footerRef"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -107,6 +107,7 @@ const PLEROMA_ANNOUNCEMENTS_URL = '/api/v1/pleroma/admin/announcements'
|
||||||
const PLEROMA_POST_ANNOUNCEMENT_URL = '/api/v1/pleroma/admin/announcements'
|
const PLEROMA_POST_ANNOUNCEMENT_URL = '/api/v1/pleroma/admin/announcements'
|
||||||
const PLEROMA_EDIT_ANNOUNCEMENT_URL = id => `/api/v1/pleroma/admin/announcements/${id}`
|
const PLEROMA_EDIT_ANNOUNCEMENT_URL = id => `/api/v1/pleroma/admin/announcements/${id}`
|
||||||
const PLEROMA_DELETE_ANNOUNCEMENT_URL = id => `/api/v1/pleroma/admin/announcements/${id}`
|
const PLEROMA_DELETE_ANNOUNCEMENT_URL = id => `/api/v1/pleroma/admin/announcements/${id}`
|
||||||
|
const PLEROMA_USER_FAVORITES_TIMELINE_URL = id => `/api/v1/pleroma/accounts/${id}/favourites`
|
||||||
const AKKOMA_SETTING_PROFILE_URL = (name) => `/api/v1/akkoma/frontend_settings/pleroma-fe/${name}`
|
const AKKOMA_SETTING_PROFILE_URL = (name) => `/api/v1/akkoma/frontend_settings/pleroma-fe/${name}`
|
||||||
const AKKOMA_SETTING_PROFILE_LIST = `/api/v1/akkoma/frontend_settings/pleroma-fe`
|
const AKKOMA_SETTING_PROFILE_LIST = `/api/v1/akkoma/frontend_settings/pleroma-fe`
|
||||||
const MASTODON_TAG_URL = (name) => `/api/v1/tags/${name}`
|
const MASTODON_TAG_URL = (name) => `/api/v1/tags/${name}`
|
||||||
|
@ -709,6 +710,7 @@ const fetchTimeline = ({
|
||||||
media: MASTODON_USER_TIMELINE_URL,
|
media: MASTODON_USER_TIMELINE_URL,
|
||||||
list: MASTODON_LIST_TIMELINE_URL,
|
list: MASTODON_LIST_TIMELINE_URL,
|
||||||
favorites: MASTODON_USER_FAVORITES_TIMELINE_URL,
|
favorites: MASTODON_USER_FAVORITES_TIMELINE_URL,
|
||||||
|
publicFavorites: PLEROMA_USER_FAVORITES_TIMELINE_URL,
|
||||||
tag: MASTODON_TAG_TIMELINE_URL,
|
tag: MASTODON_TAG_TIMELINE_URL,
|
||||||
bookmarks: MASTODON_BOOKMARK_TIMELINE_URL
|
bookmarks: MASTODON_BOOKMARK_TIMELINE_URL
|
||||||
}
|
}
|
||||||
|
@ -717,6 +719,10 @@ const fetchTimeline = ({
|
||||||
|
|
||||||
let url = timelineUrls[timeline]
|
let url = timelineUrls[timeline]
|
||||||
|
|
||||||
|
if (timeline === 'favorites' && userId) {
|
||||||
|
url = timelineUrls.publicFavorites(userId)
|
||||||
|
}
|
||||||
|
|
||||||
if (timeline === 'user' || timeline === 'media' || timeline === 'replies') {
|
if (timeline === 'user' || timeline === 'media' || timeline === 'replies') {
|
||||||
url = url(userId)
|
url = url(userId)
|
||||||
}
|
}
|
||||||
|
|
|
@ -110,6 +110,7 @@ export const parseUser = (data) => {
|
||||||
|
|
||||||
output.allow_following_move = data.pleroma.allow_following_move
|
output.allow_following_move = data.pleroma.allow_following_move
|
||||||
|
|
||||||
|
output.hide_favorites = data.pleroma.hide_favorites
|
||||||
output.hide_follows = data.pleroma.hide_follows
|
output.hide_follows = data.pleroma.hide_follows
|
||||||
output.hide_followers = data.pleroma.hide_followers
|
output.hide_followers = data.pleroma.hide_followers
|
||||||
output.hide_follows_count = data.pleroma.hide_follows_count
|
output.hide_follows_count = data.pleroma.hide_follows_count
|
||||||
|
|
Loading…
Reference in a new issue