From 64c4a47889b915542e1f79835e17b935b4b2675d Mon Sep 17 00:00:00 2001 From: cade Date: Sat, 11 Jul 2026 23:51:58 +0800 Subject: [PATCH 01/11] Re-implemented several settings options --- .../v2/SettingsSection.vue | 13 +++ .../settings-components/v2/SettingsView.vue | 102 ++++++++++++++++++ .../v2/SettingsViewWrapper.vue | 61 +++++++++++ .../v2/entries/DataDirectory.vue | 54 ++++++++++ .../v2/entries/ExpandCards.vue | 49 +++++++++ .../v2/entries/ExportProfile.vue | 62 +++++++++++ .../v2/entries/FunkyMode.vue | 45 ++++++++ .../v2/entries/GameDirectory.vue | 85 +++++++++++++++ .../v2/entries/RefreshOnlineModList.vue | 52 +++++++++ .../settings-components/v2/entries/Theme.vue | 44 ++++++++ .../loaders/bind_impls/BindLoaderImpl.ts | 2 +- src/router/routes.ts | 2 +- 12 files changed, 569 insertions(+), 2 deletions(-) create mode 100644 src/components/settings-components/v2/SettingsSection.vue create mode 100644 src/components/settings-components/v2/SettingsView.vue create mode 100644 src/components/settings-components/v2/SettingsViewWrapper.vue create mode 100644 src/components/settings-components/v2/entries/DataDirectory.vue create mode 100644 src/components/settings-components/v2/entries/ExpandCards.vue create mode 100644 src/components/settings-components/v2/entries/ExportProfile.vue create mode 100644 src/components/settings-components/v2/entries/FunkyMode.vue create mode 100644 src/components/settings-components/v2/entries/GameDirectory.vue create mode 100644 src/components/settings-components/v2/entries/RefreshOnlineModList.vue create mode 100644 src/components/settings-components/v2/entries/Theme.vue diff --git a/src/components/settings-components/v2/SettingsSection.vue b/src/components/settings-components/v2/SettingsSection.vue new file mode 100644 index 000000000..147b509e2 --- /dev/null +++ b/src/components/settings-components/v2/SettingsSection.vue @@ -0,0 +1,13 @@ + + + diff --git a/src/components/settings-components/v2/SettingsView.vue b/src/components/settings-components/v2/SettingsView.vue new file mode 100644 index 000000000..9653d8305 --- /dev/null +++ b/src/components/settings-components/v2/SettingsView.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/src/components/settings-components/v2/SettingsViewWrapper.vue b/src/components/settings-components/v2/SettingsViewWrapper.vue new file mode 100644 index 000000000..9add0ee9a --- /dev/null +++ b/src/components/settings-components/v2/SettingsViewWrapper.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/components/settings-components/v2/entries/DataDirectory.vue b/src/components/settings-components/v2/entries/DataDirectory.vue new file mode 100644 index 000000000..e7e8af0e2 --- /dev/null +++ b/src/components/settings-components/v2/entries/DataDirectory.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/components/settings-components/v2/entries/ExpandCards.vue b/src/components/settings-components/v2/entries/ExpandCards.vue new file mode 100644 index 000000000..89fc4b248 --- /dev/null +++ b/src/components/settings-components/v2/entries/ExpandCards.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/components/settings-components/v2/entries/ExportProfile.vue b/src/components/settings-components/v2/entries/ExportProfile.vue new file mode 100644 index 000000000..dfda1a0c9 --- /dev/null +++ b/src/components/settings-components/v2/entries/ExportProfile.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/components/settings-components/v2/entries/FunkyMode.vue b/src/components/settings-components/v2/entries/FunkyMode.vue new file mode 100644 index 000000000..7578bf634 --- /dev/null +++ b/src/components/settings-components/v2/entries/FunkyMode.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/components/settings-components/v2/entries/GameDirectory.vue b/src/components/settings-components/v2/entries/GameDirectory.vue new file mode 100644 index 000000000..c1617b6a9 --- /dev/null +++ b/src/components/settings-components/v2/entries/GameDirectory.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/components/settings-components/v2/entries/RefreshOnlineModList.vue b/src/components/settings-components/v2/entries/RefreshOnlineModList.vue new file mode 100644 index 000000000..05f23b89e --- /dev/null +++ b/src/components/settings-components/v2/entries/RefreshOnlineModList.vue @@ -0,0 +1,52 @@ + + + diff --git a/src/components/settings-components/v2/entries/Theme.vue b/src/components/settings-components/v2/entries/Theme.vue new file mode 100644 index 000000000..a43184422 --- /dev/null +++ b/src/components/settings-components/v2/entries/Theme.vue @@ -0,0 +1,44 @@ + + + diff --git a/src/providers/components/loaders/bind_impls/BindLoaderImpl.ts b/src/providers/components/loaders/bind_impls/BindLoaderImpl.ts index cbefc87b0..c019fc9e5 100644 --- a/src/providers/components/loaders/bind_impls/BindLoaderImpl.ts +++ b/src/providers/components/loaders/bind_impls/BindLoaderImpl.ts @@ -5,7 +5,7 @@ import OnlineModListProvider from '../OnlineModListProvider'; export default class BindLoaderImpl { static bind() { - SettingsViewProvider.provide(() => import("../../../../components/settings-components/SettingsView.vue")); + SettingsViewProvider.provide(() => import("../../../../components/settings-components/v2/SettingsView.vue")); LocalModListProvider.provide(() => import("../../../../components/views/LocalModList.vue")); OnlineModListProvider.provide(() => import("../../../../components/views/OnlineModListWithPanel.vue")); } diff --git a/src/router/routes.ts b/src/router/routes.ts index 56a86a54b..ba39ec7e3 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -89,7 +89,7 @@ const routes: RouteRecordRaw[] = [ name: 'manager.settings', path: 'settings/', components: { - subview: () => import('components/settings-components/SettingsView.vue') + subview: () => import('components/settings-components/v2/SettingsView.vue') }, meta: {title: () => profileTitle()} } From 23c85406814723babe816c25324b9c497cc18f97 Mon Sep 17 00:00:00 2001 From: cade Date: Mon, 13 Jul 2026 18:52:38 +0800 Subject: [PATCH 02/11] Fully implemented currently ported settings and added improved search - Searching can now be done via key terms - Searches can also be by value for some entries - Also added ModState.vue to replace Enable/disable all mods --- src/_managerinf/ManagerInformation.ts | 1 + .../composables/SettingSearchComposable.ts | 24 ++++ .../modals/IncorrectGameDirectoryModal.vue | 36 ++++++ .../settings-components/v2/SettingsView.vue | 35 +++-- .../v2/entries/DataDirectory.vue | 109 ++++++++++++++-- .../v2/entries/ExpandCards.vue | 15 ++- .../v2/entries/ExportProfile.vue | 13 +- .../v2/entries/FunkyMode.vue | 14 +- .../v2/entries/GameDirectory.vue | 121 ++++++++++++++++-- .../v2/entries/ModState.vue | 98 ++++++++++++++ .../v2/entries/RefreshOnlineModList.vue | 12 +- .../settings-components/v2/entries/Theme.vue | 14 +- src/pages/Manager.vue | 118 +---------------- src/store/modules/ModalsModule.ts | 10 ++ src/utils/SearchUtils.ts | 8 +- 15 files changed, 472 insertions(+), 156 deletions(-) create mode 100644 src/components/composables/SettingSearchComposable.ts create mode 100644 src/components/modals/IncorrectGameDirectoryModal.vue create mode 100644 src/components/settings-components/v2/entries/ModState.vue diff --git a/src/_managerinf/ManagerInformation.ts b/src/_managerinf/ManagerInformation.ts index 1fa431ef2..862df1ffb 100644 --- a/src/_managerinf/ManagerInformation.ts +++ b/src/_managerinf/ManagerInformation.ts @@ -4,4 +4,5 @@ export default class ManagerInformation { public static VERSION: VersionNumber = new VersionNumber('3.2.18'); public static IS_PORTABLE: boolean = false; public static APP_NAME: string = "r2modman"; + public static WIKI_GAME_DIRECTORY_HELP_URL = "https://github.com/ebkr/r2modmanPlus/wiki/Why-aren't-my-mods-working%3F#games-via-steam"; } diff --git a/src/components/composables/SettingSearchComposable.ts b/src/components/composables/SettingSearchComposable.ts new file mode 100644 index 000000000..4c3f2ac1a --- /dev/null +++ b/src/components/composables/SettingSearchComposable.ts @@ -0,0 +1,24 @@ +import { computed, toValue, type ComputedRef, type MaybeRefOrGetter } from 'vue'; + +import SearchUtils from '../../utils/SearchUtils'; + +export type SettingSearchPhrases = MaybeRefOrGetter<(string | undefined | null)[]>; + +export function useSettingSearch( + searchTerm: MaybeRefOrGetter, + keyPhrases: SettingSearchPhrases +): { isVisible: ComputedRef } { + const isVisible = computed(() => { + const term = toValue(searchTerm); + if (!term) { + return true; + } + const keys = SearchUtils.makeKeys(term); + const haystack = toValue(keyPhrases) + .filter((phrase): phrase is string => Boolean(phrase)) + .join(' '); + return SearchUtils.isSearched(keys, haystack); + }); + + return { isVisible }; +} diff --git a/src/components/modals/IncorrectGameDirectoryModal.vue b/src/components/modals/IncorrectGameDirectoryModal.vue new file mode 100644 index 000000000..3f67b826b --- /dev/null +++ b/src/components/modals/IncorrectGameDirectoryModal.vue @@ -0,0 +1,36 @@ + + + diff --git a/src/components/settings-components/v2/SettingsView.vue b/src/components/settings-components/v2/SettingsView.vue index 9653d8305..b57bb4f6a 100644 --- a/src/components/settings-components/v2/SettingsView.vue +++ b/src/components/settings-components/v2/SettingsView.vue @@ -11,11 +11,14 @@ import Theme from './entries/Theme.vue'; import ExpandCards from './entries/ExpandCards.vue'; import FunkyMode from './entries/FunkyMode.vue'; import RefreshOnlineModList from './entries/RefreshOnlineModList.vue'; +import ModState from './entries/ModState.vue'; + +const searchTerm = ref(''); const managerVersionNumber = ref(ManagerInformation.VERSION); const appName = computed(() => ManagerInformation.APP_NAME); -const categories = ['All', 'Directories', 'Profile', 'Debugging', 'Modpacks', 'Other'] as const; +const categories = ['All', 'Directories', 'Profile', 'Appearance', 'Other'] as const; type Category = typeof categories[number]; const activeCategory = ref('All'); @@ -48,20 +51,36 @@ function isVisible(section: Category): boolean {
+ +
+
+
+
+ Search: + +
+
+
+
+ - - + + - + + + + + + + + - - - - +
diff --git a/src/components/settings-components/v2/entries/DataDirectory.vue b/src/components/settings-components/v2/entries/DataDirectory.vue index e7e8af0e2..a48ee5148 100644 --- a/src/components/settings-components/v2/entries/DataDirectory.vue +++ b/src/components/settings-components/v2/entries/DataDirectory.vue @@ -1,54 +1,135 @@ diff --git a/src/components/settings-components/v2/entries/ExpandCards.vue b/src/components/settings-components/v2/entries/ExpandCards.vue index 89fc4b248..1912e71ca 100644 --- a/src/components/settings-components/v2/entries/ExpandCards.vue +++ b/src/components/settings-components/v2/entries/ExpandCards.vue @@ -4,11 +4,24 @@ import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import ManagerSettings from '../../../../r2mm/manager/ManagerSettings'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; +import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; const store = getStore(); + +const props = defineProps<{ + searchTerm?: string; +}>(); + const settings = ref(null); const expandedCards = ref(false); +const { isVisible } = useSettingSearch(() => props.searchTerm, [ + 'Expand cards by default', + 'Toggle', + 'Collapsed', + 'Expanded', +]); + onMounted(async () => { settings.value = await ManagerSettings.getSingleton(store.state.activeGame); expandedCards.value = settings.value.getContext().global.expandedCards; @@ -25,7 +38,7 @@ async function setExpanded(expanded: boolean) { - - From 12cb1f1e6ff7d6d5beb9b8779bab2e46fc9d5f51 Mon Sep 17 00:00:00 2001 From: cade Date: Tue, 14 Jul 2026 14:08:22 +0800 Subject: [PATCH 07/11] Help action in GameDirectory setting now opens the help wiki page --- .../settings-components/v2/entries/GameDirectory.vue | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/settings-components/v2/entries/GameDirectory.vue b/src/components/settings-components/v2/entries/GameDirectory.vue index 66b3f29ed..9eaff7bc4 100644 --- a/src/components/settings-components/v2/entries/GameDirectory.vue +++ b/src/components/settings-components/v2/entries/GameDirectory.vue @@ -13,7 +13,8 @@ import LinkProvider from '../../../../providers/components/LinkProvider'; import AppWindow from '../../../../providers/node/app/app_window'; import os from '../../../../providers/node/os/os'; import R2Error from '../../../../model/errors/R2Error'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../../components/composables/SettingSearchComposable'; +import ManagerInformation from '../../../../_managerinf/ManagerInformation'; const store = getStore(); @@ -138,6 +139,10 @@ function browseDirectory() { LinkProvider.instance.openLink(settings.value?.getContext().gameSpecific.gameDirectory!) } } + +function openHelpLink() { + LinkProvider.instance.openLink(ManagerInformation.WIKI_GAME_DIRECTORY_HELP_URL); +} From 48e2f34e24e9aacbb08e8f22885a7a431ec7a6c7 Mon Sep 17 00:00:00 2001 From: cade Date: Tue, 14 Jul 2026 14:12:43 +0800 Subject: [PATCH 08/11] Fixed non-relative imports --- .../settings-components/v2/entries/ChangeLaunchBehaviour.vue | 2 +- .../settings-components/v2/entries/CopyLogToClipboard.vue | 2 +- .../settings-components/v2/entries/CopyTroubleshooting.vue | 2 +- src/components/settings-components/v2/entries/DataDirectory.vue | 2 +- src/components/settings-components/v2/entries/ExpandCards.vue | 2 +- src/components/settings-components/v2/entries/ExportProfile.vue | 2 +- src/components/settings-components/v2/entries/FunkyMode.vue | 2 +- .../settings-components/v2/entries/ImportLocalMod.vue | 2 +- .../settings-components/v2/entries/LaunchArguments.vue | 2 +- src/components/settings-components/v2/entries/ModCache.vue | 2 +- src/components/settings-components/v2/entries/ModState.vue | 2 +- src/components/settings-components/v2/entries/OnlineModList.vue | 2 +- .../settings-components/v2/entries/ResetGameInstallation.vue | 2 +- .../settings-components/v2/entries/ShowDependencyStrings.vue | 2 +- .../settings-components/v2/entries/SteamDirectory.vue | 2 +- src/components/settings-components/v2/entries/Theme.vue | 2 +- src/components/settings-components/v2/entries/ToggleCdn.vue | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/components/settings-components/v2/entries/ChangeLaunchBehaviour.vue b/src/components/settings-components/v2/entries/ChangeLaunchBehaviour.vue index 598b695c9..47fe2e524 100644 --- a/src/components/settings-components/v2/entries/ChangeLaunchBehaviour.vue +++ b/src/components/settings-components/v2/entries/ChangeLaunchBehaviour.vue @@ -4,7 +4,7 @@ import Game from '../../../../model/game/Game'; import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; import { getLaunchType, LaunchType } from '../../../../model/real_enums/launch/LaunchType'; import { LaunchTypeModalOpen } from '../../../../components/modals/launch-type/LaunchTypeRefs'; diff --git a/src/components/settings-components/v2/entries/CopyLogToClipboard.vue b/src/components/settings-components/v2/entries/CopyLogToClipboard.vue index ab19b3de9..928c44be2 100644 --- a/src/components/settings-components/v2/entries/CopyLogToClipboard.vue +++ b/src/components/settings-components/v2/entries/CopyLogToClipboard.vue @@ -3,7 +3,7 @@ import { computed, ref } from 'vue'; import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; import FsProvider from '../../../../providers/generic/file/FsProvider'; import path from '../../../../providers/node/path/path'; import InteractionProvider from '../../../../providers/ror2/system/InteractionProvider'; diff --git a/src/components/settings-components/v2/entries/CopyTroubleshooting.vue b/src/components/settings-components/v2/entries/CopyTroubleshooting.vue index dac77d0d5..7ccde59b3 100644 --- a/src/components/settings-components/v2/entries/CopyTroubleshooting.vue +++ b/src/components/settings-components/v2/entries/CopyTroubleshooting.vue @@ -3,7 +3,7 @@ import { ref } from 'vue'; import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; import InteractionProvider from '../../../../providers/ror2/system/InteractionProvider'; import R2Error from '../../../../model/errors/R2Error'; diff --git a/src/components/settings-components/v2/entries/DataDirectory.vue b/src/components/settings-components/v2/entries/DataDirectory.vue index aa77c9194..297238412 100644 --- a/src/components/settings-components/v2/entries/DataDirectory.vue +++ b/src/components/settings-components/v2/entries/DataDirectory.vue @@ -10,7 +10,7 @@ import { State } from '../../../../store'; import Game from '../../../../model/game/Game'; import InteractionProvider from '../../../../providers/ror2/system/InteractionProvider'; import R2Error from '../../../../model/errors/R2Error'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; const store = getStore(); diff --git a/src/components/settings-components/v2/entries/ExpandCards.vue b/src/components/settings-components/v2/entries/ExpandCards.vue index 3cd3695a9..350584966 100644 --- a/src/components/settings-components/v2/entries/ExpandCards.vue +++ b/src/components/settings-components/v2/entries/ExpandCards.vue @@ -4,7 +4,7 @@ import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import ManagerSettings from '../../../../r2mm/manager/ManagerSettings'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; const store = getStore(); diff --git a/src/components/settings-components/v2/entries/ExportProfile.vue b/src/components/settings-components/v2/entries/ExportProfile.vue index f3c27c3f2..d8957c2dd 100644 --- a/src/components/settings-components/v2/entries/ExportProfile.vue +++ b/src/components/settings-components/v2/entries/ExportProfile.vue @@ -4,7 +4,7 @@ import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import R2Error from '../../../../model/errors/R2Error'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; const store = getStore(); diff --git a/src/components/settings-components/v2/entries/FunkyMode.vue b/src/components/settings-components/v2/entries/FunkyMode.vue index 14e241f76..628c0108c 100644 --- a/src/components/settings-components/v2/entries/FunkyMode.vue +++ b/src/components/settings-components/v2/entries/FunkyMode.vue @@ -4,7 +4,7 @@ import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import ManagerSettings from '../../../../r2mm/manager/ManagerSettings'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; const store = getStore(); const settings = ref(null); diff --git a/src/components/settings-components/v2/entries/ImportLocalMod.vue b/src/components/settings-components/v2/entries/ImportLocalMod.vue index e2b7ee12a..abda6d8ac 100644 --- a/src/components/settings-components/v2/entries/ImportLocalMod.vue +++ b/src/components/settings-components/v2/entries/ImportLocalMod.vue @@ -2,7 +2,7 @@ import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; const store = getStore(); diff --git a/src/components/settings-components/v2/entries/LaunchArguments.vue b/src/components/settings-components/v2/entries/LaunchArguments.vue index 3f7a0b776..0a5cdf1a8 100644 --- a/src/components/settings-components/v2/entries/LaunchArguments.vue +++ b/src/components/settings-components/v2/entries/LaunchArguments.vue @@ -2,7 +2,7 @@ import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; const store = getStore(); diff --git a/src/components/settings-components/v2/entries/ModCache.vue b/src/components/settings-components/v2/entries/ModCache.vue index 0091fbcd0..a3aaf956b 100644 --- a/src/components/settings-components/v2/entries/ModCache.vue +++ b/src/components/settings-components/v2/entries/ModCache.vue @@ -3,7 +3,7 @@ import { computed, ref } from 'vue'; import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; import CacheUtil from '../../../../r2mm/mods/CacheUtil'; import R2Error from '../../../../model/errors/R2Error'; diff --git a/src/components/settings-components/v2/entries/ModState.vue b/src/components/settings-components/v2/entries/ModState.vue index 6ed0f9df3..d7f825f12 100644 --- a/src/components/settings-components/v2/entries/ModState.vue +++ b/src/components/settings-components/v2/entries/ModState.vue @@ -6,7 +6,7 @@ import R2Error from '../../../../model/errors/R2Error'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; import { useSettingSearch } from '../../../../components/composables/SettingSearchComposable'; import { useRouter } from 'vue-router'; -import ManifestV2 from 'src/model/ManifestV2'; +import ManifestV2 from '../../../../model/ManifestV2'; const store = getStore(); const router = useRouter(); diff --git a/src/components/settings-components/v2/entries/OnlineModList.vue b/src/components/settings-components/v2/entries/OnlineModList.vue index 2bd0cd3e4..1dfbf2f52 100644 --- a/src/components/settings-components/v2/entries/OnlineModList.vue +++ b/src/components/settings-components/v2/entries/OnlineModList.vue @@ -4,7 +4,7 @@ import moment from 'moment'; import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; import R2Error from '../../../../model/errors/R2Error'; const store = getStore(); diff --git a/src/components/settings-components/v2/entries/ResetGameInstallation.vue b/src/components/settings-components/v2/entries/ResetGameInstallation.vue index 034fa4c9f..7adcdc5f3 100644 --- a/src/components/settings-components/v2/entries/ResetGameInstallation.vue +++ b/src/components/settings-components/v2/entries/ResetGameInstallation.vue @@ -3,7 +3,7 @@ import { computed, ref } from 'vue'; import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; import { SteamInstallationValidator } from '../../../../r2mm/manager/SteamInstallationValidator'; import R2Error from '../../../../model/errors/R2Error'; diff --git a/src/components/settings-components/v2/entries/ShowDependencyStrings.vue b/src/components/settings-components/v2/entries/ShowDependencyStrings.vue index e0403b65a..210fb30a4 100644 --- a/src/components/settings-components/v2/entries/ShowDependencyStrings.vue +++ b/src/components/settings-components/v2/entries/ShowDependencyStrings.vue @@ -3,7 +3,7 @@ import { computed } from 'vue'; import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; const store = getStore(); diff --git a/src/components/settings-components/v2/entries/SteamDirectory.vue b/src/components/settings-components/v2/entries/SteamDirectory.vue index 98d30a907..392a1a1f4 100644 --- a/src/components/settings-components/v2/entries/SteamDirectory.vue +++ b/src/components/settings-components/v2/entries/SteamDirectory.vue @@ -5,7 +5,7 @@ import { getStore } from '../../../../providers/generic/store/StoreProvider'; import { State } from '../../../../store'; import ManagerSettings from '../../../../r2mm/manager/ManagerSettings'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; import InteractionProvider from '../../../../providers/ror2/system/InteractionProvider'; import path from '../../../../providers/node/path/path'; import FsProvider from '../../../../providers/generic/file/FsProvider'; diff --git a/src/components/settings-components/v2/entries/Theme.vue b/src/components/settings-components/v2/entries/Theme.vue index 43f2612ca..0ee8d30cc 100644 --- a/src/components/settings-components/v2/entries/Theme.vue +++ b/src/components/settings-components/v2/entries/Theme.vue @@ -5,7 +5,7 @@ import { State } from '../../../../store'; import ManagerSettings from '../../../../r2mm/manager/ManagerSettings'; import ThemeManager from '../../../../r2mm/manager/ThemeManager'; import SettingsViewWrapper from '../SettingsViewWrapper.vue'; -import { useSettingSearch } from 'src/components/composables/SettingSearchComposable'; +import { useSettingSearch } from '../../../composables/SettingSearchComposable'; const store = getStore(); const settings = ref(null); diff --git a/src/components/settings-components/v2/entries/ToggleCdn.vue b/src/components/settings-components/v2/entries/ToggleCdn.vue index bddd37d27..0936635a2 100644 --- a/src/components/settings-components/v2/entries/ToggleCdn.vue +++ b/src/components/settings-components/v2/entries/ToggleCdn.vue @@ -1,7 +1,7 @@ - - diff --git a/src/components/settings-components/v2/SettingsSection.vue b/src/components/settings-components/SettingsSection.vue similarity index 100% rename from src/components/settings-components/v2/SettingsSection.vue rename to src/components/settings-components/SettingsSection.vue diff --git a/src/components/settings-components/SettingsView.vue b/src/components/settings-components/SettingsView.vue index e804198fa..0c5ce4101 100644 --- a/src/components/settings-components/SettingsView.vue +++ b/src/components/settings-components/SettingsView.vue @@ -1,434 +1,129 @@ @@ -439,6 +134,29 @@ function emitInvoke(invoked: string) { display: flex; flex-direction: column; flex: 1; + min-height: 0; overflow-y: auto; } + +.settings-shell { + display: flex; + align-items: flex-start; + flex: 1 0 auto; +} + +.settings-nav { + flex: 0 0 200px; + padding: 1.25rem 1rem; + position: sticky; + top: 0; + align-self: flex-start; + max-height: 100vh; + overflow-y: auto; +} + +.settings-list { + flex: 1; + min-width: 0; + padding: 1rem 1.25rem 1rem; +} diff --git a/src/components/settings-components/v2/SettingsViewWrapper.vue b/src/components/settings-components/SettingsViewWrapper.vue similarity index 100% rename from src/components/settings-components/v2/SettingsViewWrapper.vue rename to src/components/settings-components/SettingsViewWrapper.vue diff --git a/src/components/settings-components/v2/entries/ChangeLaunchBehaviour.vue b/src/components/settings-components/entries/ChangeLaunchBehaviour.vue similarity index 76% rename from src/components/settings-components/v2/entries/ChangeLaunchBehaviour.vue rename to src/components/settings-components/entries/ChangeLaunchBehaviour.vue index 47fe2e524..acba75d43 100644 --- a/src/components/settings-components/v2/entries/ChangeLaunchBehaviour.vue +++ b/src/components/settings-components/entries/ChangeLaunchBehaviour.vue @@ -1,12 +1,12 @@ + + diff --git a/src/components/settings-components/v2/entries/CopyLogToClipboard.vue b/src/components/settings-components/entries/CopyLogToClipboard.vue similarity index 83% rename from src/components/settings-components/v2/entries/CopyLogToClipboard.vue rename to src/components/settings-components/entries/CopyLogToClipboard.vue index 928c44be2..ca330b7fa 100644 --- a/src/components/settings-components/v2/entries/CopyLogToClipboard.vue +++ b/src/components/settings-components/entries/CopyLogToClipboard.vue @@ -1,14 +1,14 @@ + + + + diff --git a/src/components/settings-components/v2/entries/ExpandCards.vue b/src/components/settings-components/entries/ExpandCards.vue similarity index 85% rename from src/components/settings-components/v2/entries/ExpandCards.vue rename to src/components/settings-components/entries/ExpandCards.vue index 350584966..fedb0da36 100644 --- a/src/components/settings-components/v2/entries/ExpandCards.vue +++ b/src/components/settings-components/entries/ExpandCards.vue @@ -1,10 +1,10 @@ + + diff --git a/src/components/settings-components/v2/entries/ResetGameInstallation.vue b/src/components/settings-components/entries/ResetGameInstallation.vue similarity index 82% rename from src/components/settings-components/v2/entries/ResetGameInstallation.vue rename to src/components/settings-components/entries/ResetGameInstallation.vue index 7adcdc5f3..41b2c9773 100644 --- a/src/components/settings-components/v2/entries/ResetGameInstallation.vue +++ b/src/components/settings-components/entries/ResetGameInstallation.vue @@ -1,11 +1,11 @@ - - - - diff --git a/src/providers/components/loaders/bind_impls/BindLoaderImpl.ts b/src/providers/components/loaders/bind_impls/BindLoaderImpl.ts index c019fc9e5..cbefc87b0 100644 --- a/src/providers/components/loaders/bind_impls/BindLoaderImpl.ts +++ b/src/providers/components/loaders/bind_impls/BindLoaderImpl.ts @@ -5,7 +5,7 @@ import OnlineModListProvider from '../OnlineModListProvider'; export default class BindLoaderImpl { static bind() { - SettingsViewProvider.provide(() => import("../../../../components/settings-components/v2/SettingsView.vue")); + SettingsViewProvider.provide(() => import("../../../../components/settings-components/SettingsView.vue")); LocalModListProvider.provide(() => import("../../../../components/views/LocalModList.vue")); OnlineModListProvider.provide(() => import("../../../../components/views/OnlineModListWithPanel.vue")); } diff --git a/src/router/routes.ts b/src/router/routes.ts index ba39ec7e3..56a86a54b 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -89,7 +89,7 @@ const routes: RouteRecordRaw[] = [ name: 'manager.settings', path: 'settings/', components: { - subview: () => import('components/settings-components/v2/SettingsView.vue') + subview: () => import('components/settings-components/SettingsView.vue') }, meta: {title: () => profileTitle()} }