mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-26 10:13:48 +02:00
replace el-radio with RadioGroup and RadioGroupItem
This commit is contained in:
@@ -72,25 +72,45 @@
|
||||
@change="setIsAgeGatedInstancesVisible" />
|
||||
<div class="options-container-item">
|
||||
<span class="name">{{ t('view.settings.appearance.appearance.sort_favorite_by') }}</span>
|
||||
<el-radio-group :model-value="sortFavorites" @change="saveSortFavoritesOption">
|
||||
<el-radio :value="false">{{
|
||||
t('view.settings.appearance.appearance.sort_favorite_by_name')
|
||||
}}</el-radio>
|
||||
<el-radio :value="true">{{
|
||||
t('view.settings.appearance.appearance.sort_favorite_by_date')
|
||||
}}</el-radio>
|
||||
</el-radio-group>
|
||||
<RadioGroup
|
||||
:model-value="sortFavorites ? 'true' : 'false'"
|
||||
class="gap-2"
|
||||
style="margin-top: 8px"
|
||||
@update:modelValue="handleSortFavoritesRadio">
|
||||
<div class="flex items-center space-x-2">
|
||||
<RadioGroupItem id="sortFavorites-false" value="false" />
|
||||
<label for="sortFavorites-false">
|
||||
{{ t('view.settings.appearance.appearance.sort_favorite_by_name') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="flex items-center space-x-2">
|
||||
<RadioGroupItem id="sortFavorites-true" value="true" />
|
||||
<label for="sortFavorites-true">
|
||||
{{ t('view.settings.appearance.appearance.sort_favorite_by_date') }}
|
||||
</label>
|
||||
</div>
|
||||
</RadioGroup>
|
||||
</div>
|
||||
<div class="options-container-item">
|
||||
<span class="name">{{ t('view.settings.appearance.appearance.sort_instance_users_by') }}</span>
|
||||
<el-radio-group :model-value="instanceUsersSortAlphabetical" @change="setInstanceUsersSortAlphabetical">
|
||||
<el-radio :value="false">{{
|
||||
t('view.settings.appearance.appearance.sort_instance_users_by_time')
|
||||
}}</el-radio>
|
||||
<el-radio :value="true">{{
|
||||
t('view.settings.appearance.appearance.sort_instance_users_by_alphabet')
|
||||
}}</el-radio>
|
||||
</el-radio-group>
|
||||
<RadioGroup
|
||||
:model-value="instanceUsersSortAlphabetical ? 'true' : 'false'"
|
||||
class="gap-2"
|
||||
style="margin-top: 8px"
|
||||
@update:modelValue="handleInstanceUsersSortAlphabeticalRadio">
|
||||
<div class="flex items-center space-x-2">
|
||||
<RadioGroupItem id="instanceUsersSortAlphabetical-false" value="false" />
|
||||
<label for="instanceUsersSortAlphabetical-false">
|
||||
{{ t('view.settings.appearance.appearance.sort_instance_users_by_time') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="flex items-center space-x-2">
|
||||
<RadioGroupItem id="instanceUsersSortAlphabetical-true" value="true" />
|
||||
<label for="instanceUsersSortAlphabetical-true">
|
||||
{{ t('view.settings.appearance.appearance.sort_instance_users_by_alphabet') }}
|
||||
</label>
|
||||
</div>
|
||||
</RadioGroup>
|
||||
</div>
|
||||
|
||||
<div class="options-container-item">
|
||||
@@ -154,15 +174,24 @@
|
||||
<span class="header">{{ t('view.settings.appearance.timedate.header') }}</span>
|
||||
<div class="options-container-item">
|
||||
<span class="name">{{ t('view.settings.appearance.timedate.time_format') }}</span>
|
||||
<el-radio-group
|
||||
:model-value="dtHour12"
|
||||
@change="
|
||||
setDtHour12();
|
||||
updateVRConfigVars();
|
||||
">
|
||||
<el-radio :value="true">{{ t('view.settings.appearance.timedate.time_format_12') }}</el-radio>
|
||||
<el-radio :value="false">{{ t('view.settings.appearance.timedate.time_format_24') }}</el-radio>
|
||||
</el-radio-group>
|
||||
<RadioGroup
|
||||
:model-value="dtHour12 ? 'true' : 'false'"
|
||||
class="gap-2"
|
||||
style="margin-top: 8px"
|
||||
@update:modelValue="handleDtHour12Radio">
|
||||
<div class="flex items-center space-x-2">
|
||||
<RadioGroupItem id="dtHour12-true" value="true" />
|
||||
<label for="dtHour12-true">
|
||||
{{ t('view.settings.appearance.timedate.time_format_12') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="flex items-center space-x-2">
|
||||
<RadioGroupItem id="dtHour12-false" value="false" />
|
||||
<label for="dtHour12-false">
|
||||
{{ t('view.settings.appearance.timedate.time_format_24') }}
|
||||
</label>
|
||||
</div>
|
||||
</RadioGroup>
|
||||
</div>
|
||||
<simple-switch
|
||||
:label="t('view.settings.appearance.timedate.force_iso_date_format')"
|
||||
@@ -398,6 +427,7 @@
|
||||
import { computed, onBeforeUnmount, ref, watch } from 'vue';
|
||||
import { ArrowRight, Notebook } from '@element-plus/icons-vue';
|
||||
import { CheckIcon, ChevronDown } from 'lucide-vue-next';
|
||||
import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { toast } from 'vue-sonner';
|
||||
@@ -483,6 +513,28 @@
|
||||
|
||||
initGetZoomLevel();
|
||||
|
||||
function handleSortFavoritesRadio(value) {
|
||||
const nextValue = value === 'true';
|
||||
if (nextValue !== sortFavorites.value) {
|
||||
saveSortFavoritesOption();
|
||||
}
|
||||
}
|
||||
|
||||
function handleInstanceUsersSortAlphabeticalRadio(value) {
|
||||
const nextValue = value === 'true';
|
||||
if (nextValue !== instanceUsersSortAlphabetical.value) {
|
||||
setInstanceUsersSortAlphabetical();
|
||||
}
|
||||
}
|
||||
|
||||
function handleDtHour12Radio(value) {
|
||||
const nextValue = value === 'true';
|
||||
if (nextValue !== dtHour12.value) {
|
||||
setDtHour12();
|
||||
updateVRConfigVars();
|
||||
}
|
||||
}
|
||||
|
||||
const tablePageSizesModel = computed({
|
||||
get: () => tablePageSizes.value.map(String),
|
||||
set: (values) => {
|
||||
|
||||
@@ -217,13 +217,25 @@
|
||||
</div>
|
||||
<div class="options-container-item">
|
||||
<span class="name">{{ t('view.settings.general.automation.alone_condition') }}</span>
|
||||
<el-radio-group
|
||||
:model-value="autoStateChangeNoFriends"
|
||||
<RadioGroup
|
||||
:model-value="autoStateChangeNoFriends ? 'true' : 'false'"
|
||||
:disabled="!autoStateChangeEnabled"
|
||||
@change="setAutoStateChangeNoFriends">
|
||||
<el-radio :value="false">{{ t('view.settings.general.automation.alone') }}</el-radio>
|
||||
<el-radio :value="true">{{ t('view.settings.general.automation.no_friends') }}</el-radio>
|
||||
</el-radio-group>
|
||||
class="gap-2"
|
||||
style="margin-top: 8px"
|
||||
@update:modelValue="handleAutoStateChangeNoFriendsRadio">
|
||||
<div class="flex items-center space-x-2">
|
||||
<RadioGroupItem id="autoStateChangeNoFriends-false" value="false" />
|
||||
<label for="autoStateChangeNoFriends-false">
|
||||
{{ t('view.settings.general.automation.alone') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="flex items-center space-x-2">
|
||||
<RadioGroupItem id="autoStateChangeNoFriends-true" value="true" />
|
||||
<label for="autoStateChangeNoFriends-true">
|
||||
{{ t('view.settings.general.automation.no_friends') }}
|
||||
</label>
|
||||
</div>
|
||||
</RadioGroup>
|
||||
</div>
|
||||
<div class="options-container-item">
|
||||
<span class="name"
|
||||
@@ -296,6 +308,7 @@
|
||||
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../../../../components/ui/select';
|
||||
import { useFavoriteStore, useGeneralSettingsStore, useVRCXUpdaterStore } from '../../../../stores';
|
||||
import { RadioGroup, RadioGroupItem } from '../../../../components/ui/radio-group';
|
||||
import { ToggleGroup, ToggleGroupItem } from '../../../../components/ui/toggle-group';
|
||||
import { links } from '../../../../shared/constants';
|
||||
import { openExternalLink } from '../../../../shared/utils';
|
||||
@@ -374,4 +387,11 @@
|
||||
function openOSSDialog() {
|
||||
ossDialog.value = true;
|
||||
}
|
||||
|
||||
function handleAutoStateChangeNoFriendsRadio(value) {
|
||||
const nextValue = value === 'true';
|
||||
if (nextValue !== autoStateChangeNoFriends.value) {
|
||||
setAutoStateChangeNoFriends();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user