replace el-button-group with ToggleGroup

This commit is contained in:
pa
2026-01-08 19:50:28 +09:00
committed by Natsumi
parent 9735073c7a
commit 914fea6ccf
11 changed files with 448 additions and 187 deletions

View File

@@ -12,24 +12,27 @@
</div>
<div class="options-container-item">
<span class="name">{{ t('view.settings.advanced.photon.event_hud.filter') }}</span>
<el-radio-group
<ToggleGroup
type="single"
required
variant="outline"
size="sm"
:model-value="photonEventOverlayFilter"
size="small"
:disabled="!openVR || !photonEventOverlay"
@change="
@update:model-value="
setPhotonEventOverlayFilter($event);
saveEventOverlay();
">
<el-radio-button value="VIP">{{
<ToggleGroupItem value="VIP">{{
t('view.settings.advanced.photon.event_hud.filter_favorites')
}}</el-radio-button>
<el-radio-button value="Friends">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Friends">{{
t('view.settings.advanced.photon.event_hud.filter_friends')
}}</el-radio-button>
<el-radio-button value="Everyone">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Everyone">{{
t('view.settings.advanced.photon.event_hud.filter_everyone')
}}</el-radio-button>
</el-radio-group>
}}</ToggleGroupItem>
</ToggleGroup>
</div>
<div class="options-container-item">
<el-button size="small" :icon="Timer" :disabled="!openVR" @click="promptPhotonOverlayMessageTimeout">{{
@@ -65,24 +68,27 @@
@change="saveEventOverlay('VRCX_TimeoutHudOverlay')"></simple-switch>
<div class="options-container-item">
<span class="name">{{ t('view.settings.advanced.photon.timeout_hud.filter') }}</span>
<el-radio-group
<ToggleGroup
type="single"
required
variant="outline"
size="sm"
:model-value="timeoutHudOverlayFilter"
size="small"
:disabled="!openVR || !timeoutHudOverlay"
@change="
@update:model-value="
setTimeoutHudOverlayFilter($event);
saveEventOverlay();
">
<el-radio-button label="VIP">{{
<ToggleGroupItem value="VIP">{{
t('view.settings.advanced.photon.timeout_hud.filter_favorites')
}}</el-radio-button>
<el-radio-button label="Friends">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Friends">{{
t('view.settings.advanced.photon.timeout_hud.filter_friends')
}}</el-radio-button>
<el-radio-button label="Everyone">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Everyone">{{
t('view.settings.advanced.photon.timeout_hud.filter_everyone')
}}</el-radio-button>
</el-radio-group>
}}</ToggleGroupItem>
</ToggleGroup>
</div>
<div class="options-container-item">
<el-button size="small" :icon="Timer" :disabled="!openVR" @click="promptPhotonLobbyTimeoutThreshold">{{
@@ -99,6 +105,7 @@
import { useNotificationsSettingsStore, usePhotonStore } from '../../../stores';
import { photonEventTableTypeFilterList } from '../../../shared/constants/photon';
import { ToggleGroup, ToggleGroupItem } from '../../../components/ui/toggle-group';
import SimpleSwitch from './SimpleSwitch.vue';

View File

@@ -45,21 +45,24 @@
<div v-if="!noUpdater" class="options-container-item">
<span class="name">{{ t('view.settings.general.vrcx_updater.update_action') }}</span>
<br />
<el-radio-group
<ToggleGroup
type="single"
required
variant="outline"
size="sm"
:model-value="autoUpdateVRCX"
size="small"
style="margin-top: 5px"
@change="setAutoUpdateVRCX">
<el-radio-button value="Off">{{
@update:model-value="setAutoUpdateVRCX">
<ToggleGroupItem value="Off">{{
t('view.settings.general.vrcx_updater.auto_update_off')
}}</el-radio-button>
<el-radio-button value="Notify">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Notify">{{
t('view.settings.general.vrcx_updater.auto_update_notify')
}}</el-radio-button>
<el-radio-button value="Auto Download">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Auto Download">{{
t('view.settings.general.vrcx_updater.auto_update_download')
}}</el-radio-button>
</el-radio-group>
}}</ToggleGroupItem>
</ToggleGroup>
</div>
<div v-else class="options-container-item">
<span>{{ t('view.settings.general.vrcx_updater.updater_disabled') }}</span>
@@ -242,21 +245,24 @@
</TooltipWrapper>
</span>
<br />
<el-radio-group
<ToggleGroup
type="single"
required
variant="outline"
size="sm"
:model-value="autoAcceptInviteRequests"
size="small"
style="margin-top: 5px"
@change="setAutoAcceptInviteRequests">
<el-radio-button value="Off">{{
@update:model-value="setAutoAcceptInviteRequests">
<ToggleGroupItem value="Off">{{
t('view.settings.general.automation.auto_invite_request_accept_off')
}}</el-radio-button>
<el-radio-button value="All Favorites">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="All Favorites">{{
t('view.settings.general.automation.auto_invite_request_accept_favs')
}}</el-radio-button>
<el-radio-button value="Selected Favorites">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Selected Favorites">{{
t('view.settings.general.automation.auto_invite_request_accept_selected_favs')
}}</el-radio-button>
</el-radio-group>
}}</ToggleGroupItem>
</ToggleGroup>
</div>
</div>
<div class="options-container">
@@ -301,6 +307,8 @@
import { links } from '../../../../shared/constants';
import { openExternalLink } from '../../../../shared/utils';
import { ToggleGroup, ToggleGroupItem } from '../../../../components/ui/toggle-group';
import SimpleSwitch from '../SimpleSwitch.vue';
const { t } = useI18n();

View File

@@ -17,9 +17,12 @@
t('view.settings.notifications.notifications.desktop_notifications.when_to_display')
}}</span>
<br />
<el-radio-group
<ToggleGroup
type="single"
required
variant="outline"
size="sm"
:model-value="overlayToast"
size="small"
:disabled="
(!overlayNotifications || !openVR) &&
!xsNotifications &&
@@ -27,23 +30,23 @@
!ovrtWristNotifications
"
style="margin-top: 5px"
@change="
@update:model-value="
setOverlayToast($event);
saveOpenVROption();
">
<el-radio-button value="Never">{{
<ToggleGroupItem value="Never">{{
t('view.settings.notifications.notifications.conditions.never')
}}</el-radio-button>
<el-radio-button value="Game Running">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Game Running">{{
t('view.settings.notifications.notifications.conditions.inside_vrchat')
}}</el-radio-button>
<el-radio-button value="Game Closed">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Game Closed">{{
t('view.settings.notifications.notifications.conditions.outside_vrchat')
}}</el-radio-button>
<el-radio-button value="Always">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Always">{{
t('view.settings.notifications.notifications.conditions.always')
}}</el-radio-button>
</el-radio-group>
}}</ToggleGroupItem>
</ToggleGroup>
</div>
<simple-switch
:label="t('view.settings.notifications.notifications.steamvr_notifications.steamvr_overlay')"
@@ -155,33 +158,36 @@
t('view.settings.notifications.notifications.desktop_notifications.when_to_display')
}}</span>
<br />
<el-radio-group
<ToggleGroup
type="single"
required
variant="outline"
size="sm"
:model-value="desktopToast"
size="small"
style="margin-top: 5px"
@change="setDesktopToast(String($event))">
<el-radio-button value="Never">{{
@update:model-value="setDesktopToast(String($event))">
<ToggleGroupItem value="Never">{{
t('view.settings.notifications.notifications.conditions.never')
}}</el-radio-button>
<el-radio-button value="Desktop Mode">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Desktop Mode">{{
t('view.settings.notifications.notifications.conditions.desktop')
}}</el-radio-button>
<el-radio-button value="Inside VR">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Inside VR">{{
t('view.settings.notifications.notifications.conditions.inside_vr')
}}</el-radio-button>
<el-radio-button value="Outside VR">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Outside VR">{{
t('view.settings.notifications.notifications.conditions.outside_vr')
}}</el-radio-button>
<el-radio-button value="Game Running">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Game Running">{{
t('view.settings.notifications.notifications.conditions.inside_vrchat')
}}</el-radio-button>
<el-radio-button value="Game Closed">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Game Closed">{{
t('view.settings.notifications.notifications.conditions.outside_vrchat')
}}</el-radio-button>
<el-radio-button value="Always">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Always">{{
t('view.settings.notifications.notifications.conditions.always')
}}</el-radio-button>
</el-radio-group>
}}</ToggleGroupItem>
</ToggleGroup>
</div>
<simple-switch
:label="
@@ -197,27 +203,30 @@
t('view.settings.notifications.notifications.text_to_speech.when_to_play')
}}</span>
<br />
<el-radio-group
<ToggleGroup
type="single"
required
variant="outline"
size="sm"
:model-value="notificationTTS"
size="small"
style="margin-top: 5px"
@change="saveNotificationTTS">
<el-radio-button value="Never">{{
@update:model-value="saveNotificationTTS">
<ToggleGroupItem value="Never">{{
t('view.settings.notifications.notifications.conditions.never')
}}</el-radio-button>
<el-radio-button value="Inside VR">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Inside VR">{{
t('view.settings.notifications.notifications.conditions.inside_vr')
}}</el-radio-button>
<el-radio-button value="Game Running">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Game Running">{{
t('view.settings.notifications.notifications.conditions.inside_vrchat')
}}</el-radio-button>
<el-radio-button value="Game Closed">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Game Closed">{{
t('view.settings.notifications.notifications.conditions.outside_vrchat')
}}</el-radio-button>
<el-radio-button value="Always">{{
}}</ToggleGroupItem>
<ToggleGroupItem value="Always">{{
t('view.settings.notifications.notifications.conditions.always')
}}</el-radio-button>
</el-radio-group>
}}</ToggleGroupItem>
</ToggleGroup>
</div>
<div class="options-container-item">
<span class="name">{{ t('view.settings.notifications.notifications.text_to_speech.tts_voice') }}</span>
@@ -272,6 +281,7 @@
import { useAdvancedSettingsStore, useNotificationsSettingsStore, useVrStore } from '../../../../stores';
import { Slider } from '../../../../components/ui/slider';
import { ToggleGroup, ToggleGroupItem } from '../../../../components/ui/toggle-group';
import FeedFiltersDialog from '../../dialogs/FeedFiltersDialog.vue';
import NotificationPositionDialog from '../../dialogs/NotificationPositionDialog.vue';

View File

@@ -73,23 +73,26 @@
</div>
<div class="options-container-item">
<span class="name">{{ t('view.settings.wrist_overlay.steamvr_wrist_overlay.display_overlay_on') }}</span>
<el-radio-group
:model-value="overlayHand"
size="small"
@change="
setOverlayHand($event);
saveOpenVROption();
">
<el-radio-button value="1">{{
t('view.settings.wrist_overlay.steamvr_wrist_overlay.display_overlay_on_left')
}}</el-radio-button>
<el-radio-button value="2">{{
t('view.settings.wrist_overlay.steamvr_wrist_overlay.display_overlay_on_right')
}}</el-radio-button>
<el-radio-button value="0">{{
t('view.settings.wrist_overlay.steamvr_wrist_overlay.display_overlay_on_both')
}}</el-radio-button>
</el-radio-group>
<ToggleGroup
type="single"
required
variant="outline"
size="sm"
:model-value="overlayHand"
@update:model-value="
setOverlayHand($event);
saveOpenVROption();
">
<ToggleGroupItem value="1">{{
t('view.settings.wrist_overlay.steamvr_wrist_overlay.display_overlay_on_left')
}}</ToggleGroupItem>
<ToggleGroupItem value="2">{{
t('view.settings.wrist_overlay.steamvr_wrist_overlay.display_overlay_on_right')
}}</ToggleGroupItem>
<ToggleGroupItem value="0">{{
t('view.settings.wrist_overlay.steamvr_wrist_overlay.display_overlay_on_both')
}}</ToggleGroupItem>
</ToggleGroup>
</div>
<simple-switch
:label="t('view.settings.wrist_overlay.steamvr_wrist_overlay.grey_background')"
@@ -148,6 +151,7 @@
import { useI18n } from 'vue-i18n';
import { useNotificationsSettingsStore, useVrStore, useWristOverlaySettingsStore } from '../../../stores';
import { ToggleGroup, ToggleGroupItem } from '../../../components/ui/toggle-group';
import SimpleSwitch from './SimpleSwitch.vue';