From 7c57be22e455d78df41e0df9aaba123d66dc1d05 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 24 Nov 2025 20:05:38 +0200 Subject: [PATCH] working prototype --- .../settings_modal/settings_modal.scss | 30 +++- .../settings_modal_user_content.js | 18 --- .../settings_modal_user_content.scss | 14 -- .../settings_modal_user_content.vue | 68 ++++---- .../settings_modal/tabs/appearance_tab.scss | 12 +- .../tabs/data_import_export_tab.scss | 5 + .../tabs/data_import_export_tab.vue | 17 +- .../settings_modal/tabs/developer_tab.js | 12 +- .../settings_modal/tabs/developer_tab.scss | 10 ++ .../settings_modal/tabs/developer_tab.vue | 54 +++---- .../settings_modal/tabs/posts_tab.vue | 8 +- .../settings_modal/tabs/profile_tab.vue | 4 +- .../tab_switcher/vertical_tab_switcher.jsx | 79 +++------- .../tab_switcher/vertical_tab_switcher.scss | 145 +++++++++++++----- src/i18n/en.json | 5 +- 15 files changed, 266 insertions(+), 215 deletions(-) create mode 100644 src/components/settings_modal/tabs/data_import_export_tab.scss create mode 100644 src/components/settings_modal/tabs/developer_tab.scss diff --git a/src/components/settings_modal/settings_modal.scss b/src/components/settings_modal/settings_modal.scss index 9c78cd901..a1e3ec412 100644 --- a/src/components/settings_modal/settings_modal.scss +++ b/src/components/settings_modal/settings_modal.scss @@ -1,14 +1,26 @@ .settings-modal { overflow: hidden; - h3 { - font-size: 1.4rem; + h2 { + font-size: 1.3rem; + font-weight: 500; margin-top: 1em; margin-bottom: 1em; } - h4 { + h3 { font-size: 1.2rem; + font-weight: 500; + margin-top: 1em; + margin-bottom: 0.5em; + border-bottom: 1px solid var(--border); + padding-bottom: 0.25em; + box-sizing: border-box; + padding-left: 0.5em; + } + + h4 { + font-size: 1.1rem; margin-top: 1em; margin-bottom: 0.5em; } @@ -16,19 +28,21 @@ h5 { font-size: 1rem; margin-bottom: 0.5em; + margin-top: 0; } .setting-list, .option-list { list-style-type: none; padding-left: 2em; + margin: 0; .btn:not(.dropdown-button) { padding: 0 2em; } li { - margin-bottom: 0.5em; + margin: 1em 0; } .suboptions { @@ -55,7 +69,7 @@ transition: transform; transition-timing-function: ease-in-out; transition-duration: 300ms; - width: 1000px; + width: 70em; max-width: 90vw; height: 90vh; @@ -90,6 +104,12 @@ } &.-mobile { + .tabs { + .menu-item { + font-size: 1.2em + } + } + .setting-list, .option-list { padding-left: 0.25em; diff --git a/src/components/settings_modal/settings_modal_user_content.js b/src/components/settings_modal/settings_modal_user_content.js index 9c6e3bba6..18e1148dc 100644 --- a/src/components/settings_modal/settings_modal_user_content.js +++ b/src/components/settings_modal/settings_modal_user_content.js @@ -82,9 +82,6 @@ const SettingsModalContent = { }, expertLevel () { return this.$store.state.config.expertLevel - }, - isMobileLayout () { - return useInterfaceStore().layoutType === 'mobile' } }, data () { @@ -108,21 +105,6 @@ const SettingsModalContent = { // Clear the state of target tab, so that next time settings is opened // it doesn't force it. useInterfaceStore().clearSettingsModalTargetTab() - }, - nestedTooBig () { - if (this.navCollapsed) { - this.navCollapsed = false - this.$refs.tabSwitcher.showNav() - } - }, - nestedTooSmall () { - if (!this.navCollapsed) { - this.navCollapsed = true - this.$refs.tabSwitcher.hideNav() - } - }, - nestedNavSide (side) { - this.navHideHeader = side === 'content' } }, mounted () { diff --git a/src/components/settings_modal/settings_modal_user_content.scss b/src/components/settings_modal/settings_modal_user_content.scss index 2884938b4..5deca7868 100644 --- a/src/components/settings_modal/settings_modal_user_content.scss +++ b/src/components/settings_modal/settings_modal_user_content.scss @@ -1,20 +1,6 @@ .settings_tab-switcher { height: 100%; - h1 { - margin-bottom: 0.5em; - margin-top: 0.5em; - } - - h4 { - margin-bottom: 0; - margin-top: 0.25em; - } - - h5 { - margin-top: 0.25em; - } - .setting-item { border-bottom: 2px solid var(--border); margin: 1em 1em 1.4em; diff --git a/src/components/settings_modal/settings_modal_user_content.vue b/src/components/settings_modal/settings_modal_user_content.vue index 58a0adbd9..4b3308869 100644 --- a/src/components/settings_modal/settings_modal_user_content.vue +++ b/src/components/settings_modal/settings_modal_user_content.vue @@ -8,7 +8,6 @@ :hide-header="navHideHeader" >
- +
- +
- +
-
- -
-
- -
@@ -99,6 +83,22 @@ >
+
+ +
+
+ +
- +
-

{{ $t('settings.follow_import') }}

+

{{ $t('settings.follow_import') }}

{{ $t('settings.import_followers_from_a_csv_file') }}

-

{{ $t('settings.follow_export') }}

+

{{ $t('settings.follow_export') }}

-

{{ $t('settings.block_import') }}

+

{{ $t('settings.block_import') }}

{{ $t('settings.import_blocks_from_a_csv_file') }}

-

{{ $t('settings.block_export') }}

+

{{ $t('settings.block_export') }}

-

{{ $t('settings.mute_import') }}

+

{{ $t('settings.mute_import') }}

{{ $t('settings.import_mutes_from_a_csv_file') }}

-

{{ $t('settings.mute_export') }}

+

{{ $t('settings.mute_export') }}

-

{{ $t('settings.account_backup') }}

+

{{ $t('settings.account_backup') }}

{{ $t('settings.account_backup_description') }}

@@ -128,4 +129,4 @@ - + diff --git a/src/components/settings_modal/tabs/developer_tab.js b/src/components/settings_modal/tabs/developer_tab.js index 20a671735..e9978884e 100644 --- a/src/components/settings_modal/tabs/developer_tab.js +++ b/src/components/settings_modal/tabs/developer_tab.js @@ -1,3 +1,9 @@ +import BooleanSetting from '../helpers/boolean_setting.vue' + +import SharedComputedObject from '../helpers/shared_computed_object.js' + +import { clearCache, cacheKey, emojiCacheKey } from 'src/services/sw/sw.js' + const pleromaFeCommitUrl = 'https://git.pleroma.social/pleroma/pleroma-fe/commit/' const VersionTab = { @@ -9,10 +15,14 @@ const VersionTab = { frontendVersion: instance.frontendVersion } }, + components: { + BooleanSetting + }, computed: { frontendVersionLink () { return pleromaFeCommitUrl + this.frontendVersion - } + }, + ...SharedComputedObject(), } } diff --git a/src/components/settings_modal/tabs/developer_tab.scss b/src/components/settings_modal/tabs/developer_tab.scss new file mode 100644 index 000000000..944cf052f --- /dev/null +++ b/src/components/settings_modal/tabs/developer_tab.scss @@ -0,0 +1,10 @@ +.developer-tab { + dt { + font-weight: 900; + } + + dd { + margin-top: 0.5em; + margin-bottom: 1em; + } +} diff --git a/src/components/settings_modal/tabs/developer_tab.vue b/src/components/settings_modal/tabs/developer_tab.vue index 8c9c9efc1..6b4480db7 100644 --- a/src/components/settings_modal/tabs/developer_tab.vue +++ b/src/components/settings_modal/tabs/developer_tab.vue @@ -1,32 +1,31 @@