From cff3c72f9482e9a95a8990038d21c7e7c82b1ac7 Mon Sep 17 00:00:00 2001 From: ToBinio Date: Thu, 10 Jul 2025 00:59:59 +0200 Subject: [PATCH] feat(theseus): add snapPoints for memory sliders (#1275) * feat: add snapPoints for memory sliders * fix lint * Reapply changes * Hide snap point display when disabled * fix unused imports --------- Co-authored-by: Prospector --- .../ui/instance_settings/JavaSettings.vue | 6 ++++-- .../ui/settings/DefaultInstanceSettings.vue | 7 ++++--- .../src/composables/useMemorySlider.js | 21 +++++++++++++++++++ packages/ui/src/components/base/Slider.vue | 2 +- 4 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 apps/app-frontend/src/composables/useMemorySlider.js diff --git a/apps/app-frontend/src/components/ui/instance_settings/JavaSettings.vue b/apps/app-frontend/src/components/ui/instance_settings/JavaSettings.vue index 7867791a6..cd1b58d3d 100644 --- a/apps/app-frontend/src/components/ui/instance_settings/JavaSettings.vue +++ b/apps/app-frontend/src/components/ui/instance_settings/JavaSettings.vue @@ -6,9 +6,9 @@ import { edit, get_optimal_jre_key } from '@/helpers/profile' import { handleError } from '@/store/notifications' import { defineMessages, useVIntl } from '@vintl/vintl' import JavaSelector from '@/components/ui/JavaSelector.vue' -import { get_max_memory } from '@/helpers/jre' import { get } from '@/helpers/settings.ts' import type { InstanceSettingsTabProps, AppSettings, MemorySettings } from '../../../helpers/types' +import useMemorySlider from '@/composables/useMemorySlider' const { formatMessage } = useVIntl() @@ -34,7 +34,7 @@ const envVars = ref( const overrideMemorySettings = ref(!!props.instance.memory) const memory = ref(props.instance.memory ?? globalSettings.memory) -const maxMemory = Math.floor((await get_max_memory().catch(handleError)) / 1024) +const { maxMemory, snapPoints } = await useMemorySlider() const editProfileObject = computed(() => { const editProfile: { @@ -156,6 +156,8 @@ const messages = defineMessages({ :min="512" :max="maxMemory" :step="64" + :snap-points="snapPoints" + :snap-range="512" unit="MB" />

diff --git a/apps/app-frontend/src/components/ui/settings/DefaultInstanceSettings.vue b/apps/app-frontend/src/components/ui/settings/DefaultInstanceSettings.vue index ac43fb484..4b6a91bfb 100644 --- a/apps/app-frontend/src/components/ui/settings/DefaultInstanceSettings.vue +++ b/apps/app-frontend/src/components/ui/settings/DefaultInstanceSettings.vue @@ -1,9 +1,8 @@