logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://hacktivis.me/git/pleroma-fe.git
commit: adfe56a3a31b3c4a8c2c206c06bebf9c4af675d1
parent 2725a0c6398a876590b458ff1a8d6c2cc9af1d11
Author: Eris <femmediscord@gmail.com>
Date:   Mon, 14 Jun 2021 17:54:40 +0000

New option: Always show floating New Post button

Diffstat:

M.gitignore2++
MCHANGELOG.md2+-
MCONTRIBUTORS.md1+
Msrc/App.js3+++
Msrc/App.vue1+
Msrc/components/mobile_post_status_button/mobile_post_status_button.js3+++
Msrc/components/mobile_post_status_button/mobile_post_status_button.vue4++--
Msrc/components/settings_modal/tabs/general_tab.vue5+++++
Msrc/components/shout_panel/shout_panel.vue9++++++++-
Msrc/i18n/en.json1+
Msrc/modules/config.js1+
11 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -7,3 +7,5 @@ test/e2e/reports selenium-debug.log .idea/ config/local.json +.gitignore +config/local.example.json diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -9,7 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Added option to mark posts as sensitive by default - Added quick filters for notifications - Implemented user option to change sidebar position to the right side - +- Implemented user option to always show floating New Post button (normally mobile-only) ## [2.3.0] - 2021-03-01 ### Fixed diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md @@ -3,6 +3,7 @@ Contributors of this project. - Constance Variable (lambadalambda@social.heldscal.la): Code - Coco Snuss (cocosnuss@social.heldscal.la): Code - wakarimasen (wakarimasen@shitposter.club): NSFW hiding image +- eris (eris@disqordia.space): Code - dtluna (dtluna@social.heldscal.la): Code - sonyam (sonyam@social.heldscal.la): Background images - hakui (hakui@freezepeach.xyz): CSS and styling diff --git a/src/App.js b/src/App.js @@ -73,6 +73,9 @@ export default { this.$store.state.instance.instanceSpecificPanelContent }, showFeaturesPanel () { return this.$store.state.instance.showFeaturesPanel }, + shoutboxPosition () { + return this.$store.getters.mergedConfig.showNewPostButton || false + }, isMobileLayout () { return this.$store.state.interface.mobileLayout }, privateMode () { return this.$store.state.instance.private }, sidebarAlign () { diff --git a/src/App.vue b/src/App.vue @@ -53,6 +53,7 @@ v-if="currentUser && shout" :floating="true" class="floating-shout mobile-hidden" + :class="{ 'left': shoutboxPosition }" /> <MobilePostStatusButton /> <UserReportingModal /> diff --git a/src/components/mobile_post_status_button/mobile_post_status_button.js b/src/components/mobile_post_status_button/mobile_post_status_button.js @@ -44,6 +44,9 @@ const MobilePostStatusButton = { return this.autohideFloatingPostButton && (this.hidden || this.inputActive) }, + isPersistent () { + return !!this.$store.getters.mergedConfig.showNewPostButton + }, autohideFloatingPostButton () { return !!this.$store.getters.mergedConfig.autohideFloatingPostButton } diff --git a/src/components/mobile_post_status_button/mobile_post_status_button.vue b/src/components/mobile_post_status_button/mobile_post_status_button.vue @@ -2,7 +2,7 @@ <div v-if="isLoggedIn"> <button class="button-default new-status-button" - :class="{ 'hidden': isHidden }" + :class="{ 'hidden': isHidden, 'always-show': isPersistent }" @click="openPostForm" > <FAIcon icon="pen" /> @@ -47,7 +47,7 @@ } @media all and (min-width: 801px) { - .new-status-button { + .new-status-button:not(.always-show) { display: none; } } diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue @@ -118,6 +118,11 @@ </BooleanSetting> </li> <li> + <BooleanSetting path="showNewPostButton"> + {{ $t('settings.showPostButton') }} + </BooleanSetting> + </li> + <li> <BooleanSetting path="autohideFloatingPostButton"> {{ $t('settings.autohide_floating_post_button') }} </BooleanSetting> diff --git a/src/components/shout_panel/shout_panel.vue b/src/components/shout_panel/shout_panel.vue @@ -79,12 +79,19 @@ .floating-shout { position: fixed; - right: 0px; bottom: 0px; z-index: 1000; max-width: 25em; } +.floating-shout.left { + left: 0px; +} + +.floating-shout:not(.left) { + right: 0px; +} + .shout-panel { .shout-heading { cursor: pointer; diff --git a/src/i18n/en.json b/src/i18n/en.json @@ -349,6 +349,7 @@ "max_thumbnails": "Maximum amount of thumbnails per post", "hide_isp": "Hide instance-specific panel", "right_sidebar": "Show sidebar on the right side", + "showPostButton": "Always show floating New Post button", "hide_wallpaper": "Hide instance wallpaper", "preload_images": "Preload images", "use_one_click_nsfw": "Open NSFW attachments with just one click", diff --git a/src/modules/config.js b/src/modules/config.js @@ -34,6 +34,7 @@ export const defaultState = { loopVideoSilentOnly: true, streaming: false, emojiReactionsOnTimeline: true, + showNewPostButton: false, autohideFloatingPostButton: false, pauseOnUnfocused: true, stopGifs: false,