logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://hacktivis.me/git/pleroma-fe.git
commit: 0123872b56ccd2d534913706ae0f27ea8d6481de
parent 3a16a59f37b9b637bb4cbc1c3575810a65515cbc
Author: Henry Jameson <me@hjkos.com>
Date:   Fri, 12 Aug 2022 00:50:08 +0300

fixes + fixes for anon users

Diffstat:

Msrc/components/mobile_nav/mobile_nav.vue2+-
Msrc/components/nav_panel/nav_panel.js13+++++++++++++
Msrc/components/nav_panel/nav_panel.vue2+-
Msrc/components/navigation/navigation.js1-
Msrc/components/navigation/navigation_entry.vue2+-
Msrc/components/navigation/navigation_pins.js7+++++++
Msrc/components/navigation/navigation_pins.vue1+
Mtest/unit/specs/modules/serverSideStorage.spec.js4++--
8 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/src/components/mobile_nav/mobile_nav.vue b/src/components/mobile_nav/mobile_nav.vue @@ -86,6 +86,7 @@ grid-template-columns: 2fr auto; width: 100%; box-sizing: border-box; + a { color: var(--topBarLink, $fallback--link); } @@ -175,7 +176,6 @@ .pinned-item { flex-grow: 1; - text-align: center; } } diff --git a/src/components/nav_panel/nav_panel.js b/src/components/nav_panel/nav_panel.js @@ -86,6 +86,19 @@ const NavPanel = { pinnedItems: state => new Set(state.serverSideStorage.prefsStorage.collections.pinnedNavItems), collapsed: state => state.serverSideStorage.prefsStorage.simple.collapseNav }), + timelinesItems () { + return filterNavigation( + Object + .entries({ ...TIMELINES }) + .map(([k, v]) => ({ ...v, name: k })), + { + hasChats: this.pleromaChatMessagesAvailable, + isFederating: this.federating, + isPrivate: this.private, + currentUser: this.currentUser + } + ) + }, rootItems () { return filterNavigation( Object diff --git a/src/components/nav_panel/nav_panel.vue b/src/components/nav_panel/nav_panel.vue @@ -37,7 +37,7 @@ class="timelines-background" > <ul class="timelines"> - <NavigationEntry v-for="item in timelinesList" :key="item.name" :show-pin="true" :item="item" /> + <NavigationEntry v-for="item in timelinesItems" :key="item.name" :show-pin="true" :item="item" /> </ul> </div> </li> diff --git a/src/components/navigation/navigation.js b/src/components/navigation/navigation.js @@ -1,7 +1,6 @@ export const TIMELINES = { home: { route: 'friends', - anonRoute: 'public-timeline', icon: 'home', label: 'nav.home_timeline', criteria: ['!private'] diff --git a/src/components/navigation/navigation_entry.vue b/src/components/navigation/navigation_entry.vue @@ -21,7 +21,7 @@ @click.stop.prevent="togglePin(item.name)" > <FAIcon - v-if="showPin" + v-if="showPin && currentUser" fixed-width class="fa-scale-110" :class="{ 'veryfaint': !isPinned(item.name) }" diff --git a/src/components/navigation/navigation_pins.js b/src/components/navigation/navigation_pins.js @@ -42,6 +42,13 @@ const NavPanel = { pinnedItems: state => new Set(state.serverSideStorage.prefsStorage.collections.pinnedNavItems) }), pinnedList () { + if (!this.currentUser) { + return [ + { ...TIMELINES.public, name: 'public' }, + { ...TIMELINES.twkn, name: 'twkn' }, + { ...ROOT_ITEMS.about, name: 'about' } + ] + } return filterNavigation( [ ...Object diff --git a/src/components/navigation/navigation_pins.vue b/src/components/navigation/navigation_pins.vue @@ -46,6 +46,7 @@ position: relative; flex: 0 0 3em; min-width: 2em; + text-align: center; & .svg-inline--fa, & .iconLetter { diff --git a/test/unit/specs/modules/serverSideStorage.spec.js b/test/unit/specs/modules/serverSideStorage.spec.js @@ -116,7 +116,7 @@ describe('The serverSideStorage module', () => { expect(state.prefsStorage._journal.length).to.eql(1) expect(state.prefsStorage._journal[0]).to.eql({ path: 'simple.testing', - command: 'set', + operation: 'set', args: [1], // should have A timestamp, we don't really care what it is timestamp: state.prefsStorage._journal[0].timestamp @@ -132,7 +132,7 @@ describe('The serverSideStorage module', () => { expect(state.prefsStorage._journal.length).to.eql(1) expect(state.prefsStorage._journal[0]).to.eql({ path: 'simple.testing', - command: 'set', + operation: 'set', args: [2], // should have A timestamp, we don't really care what it is timestamp: state.prefsStorage._journal[0].timestamp