fix styles

This commit is contained in:
pa
2026-01-12 21:08:18 +09:00
committed by Natsumi
parent 065870a7f8
commit 82bd985142
14 changed files with 129 additions and 109 deletions

View File

@@ -67,7 +67,7 @@
</template> </template>
<template #footer> <template #footer>
<Button variant="secondary" @click="closeSetAvatarStylesDialog">{{ <Button variant="secondary" class="mr-2" @click="closeSetAvatarStylesDialog">{{
t('dialog.set_avatar_styles.cancel') t('dialog.set_avatar_styles.cancel')
}}</Button> }}</Button>
<Button @click="saveSetAvatarStylesDialog"> <Button @click="saveSetAvatarStylesDialog">

View File

@@ -90,7 +90,7 @@
</div> </div>
</template> </template>
<template #footer> <template #footer>
<Button variant="secondary" @click="closeSetAvatarTagsDialog">{{ <Button variant="secondary" class="mr-2" @click="closeSetAvatarTagsDialog">{{
t('dialog.set_avatar_tags.cancel') t('dialog.set_avatar_tags.cancel')
}}</Button> }}</Button>
<Button @click="saveSetAvatarTagsDialog">{{ t('dialog.set_avatar_tags.save') }}</Button> <Button @click="saveSetAvatarTagsDialog">{{ t('dialog.set_avatar_tags.save') }}</Button>

View File

@@ -199,7 +199,7 @@
{{ t('nav_menu.custom_nav.delete_folder') }} {{ t('nav_menu.custom_nav.delete_folder') }}
</Button> </Button>
<div class="folder-editor__footer-spacer"></div> <div class="folder-editor__footer-spacer"></div>
<Button variant="secondary" @click="closeFolderEditor"> <Button variant="secondary" class="mr-2" @click="closeFolderEditor">
{{ t('nav_menu.custom_nav.cancel') }} {{ t('nav_menu.custom_nav.cancel') }}
</Button> </Button>
<Button :disabled="folderEditorSaveDisabled" @click="handleFolderEditorSave"> <Button :disabled="folderEditorSaveDisabled" @click="handleFolderEditorSave">

View File

@@ -790,73 +790,85 @@
<br /> <br />
<span class="name">{{ t('dialog.group_member_moderation.actions') }}</span> <span class="name">{{ t('dialog.group_member_moderation.actions') }}</span>
<br /> <br />
<Button <div class="flex gap-2">
variant="outline" <Button
:disabled=" variant="outline"
Boolean( :disabled="
!selectedRoles.length || Boolean(
progressCurrent || !selectedRoles.length ||
!hasGroupPermission(groupMemberModeration.groupRef, 'group-roles-assign') progressCurrent ||
) !hasGroupPermission(groupMemberModeration.groupRef, 'group-roles-assign')
" )
@click="groupMembersAddRoles" "
>{{ t('dialog.group_member_moderation.add_roles') }}</Button @click="groupMembersAddRoles"
> >{{ t('dialog.group_member_moderation.add_roles') }}</Button
<Button >
variant="secondary" <Button
:disabled=" variant="secondary"
Boolean( :disabled="
!selectedRoles.length || Boolean(
progressCurrent || !selectedRoles.length ||
!hasGroupPermission(groupMemberModeration.groupRef, 'group-roles-assign') progressCurrent ||
) !hasGroupPermission(groupMemberModeration.groupRef, 'group-roles-assign')
" )
@click="groupMembersRemoveRoles" "
>{{ t('dialog.group_member_moderation.remove_roles') }}</Button @click="groupMembersRemoveRoles"
> >{{ t('dialog.group_member_moderation.remove_roles') }}</Button
<Button >
variant="outline" <Button
:disabled=" variant="outline"
Boolean( :disabled="
progressCurrent || !hasGroupPermission(groupMemberModeration.groupRef, 'group-members-manage') Boolean(
) progressCurrent ||
" !hasGroupPermission(groupMemberModeration.groupRef, 'group-members-manage')
@click="groupMembersSaveNote" )
>{{ t('dialog.group_member_moderation.save_note') }}</Button "
> @click="groupMembersSaveNote"
<Button >{{ t('dialog.group_member_moderation.save_note') }}</Button
variant="outline" >
:disabled=" <Button
Boolean( variant="outline"
progressCurrent || !hasGroupPermission(groupMemberModeration.groupRef, 'group-members-remove') :disabled="
) Boolean(
" progressCurrent ||
@click="groupMembersKick" !hasGroupPermission(groupMemberModeration.groupRef, 'group-members-remove')
>{{ t('dialog.group_member_moderation.kick') }}</Button )
> "
<Button @click="groupMembersKick"
variant="outline" >{{ t('dialog.group_member_moderation.kick') }}</Button
:disabled=" >
Boolean(progressCurrent || !hasGroupPermission(groupMemberModeration.groupRef, 'group-bans-manage')) <Button
" variant="outline"
@click="groupMembersBan" :disabled="
>{{ t('dialog.group_member_moderation.ban') }}</Button Boolean(
> progressCurrent || !hasGroupPermission(groupMemberModeration.groupRef, 'group-bans-manage')
<Button )
variant="outline" "
:disabled=" @click="groupMembersBan"
Boolean(progressCurrent || !hasGroupPermission(groupMemberModeration.groupRef, 'group-bans-manage')) >{{ t('dialog.group_member_moderation.ban') }}</Button
" >
@click="groupMembersUnban" <Button
>{{ t('dialog.group_member_moderation.unban') }}</Button variant="outline"
> :disabled="
<span v-if="progressCurrent" style="margin-top: 10px"> Boolean(
<el-icon class="is-loading" style="margin-left: 5px; margin-right: 5px"><Loading /></el-icon> progressCurrent || !hasGroupPermission(groupMemberModeration.groupRef, 'group-bans-manage')
{{ t('dialog.group_member_moderation.progress') }} {{ progressCurrent }}/{{ progressTotal }} )
</span> "
<Button variant="secondary" v-if="progressCurrent" style="margin-left: 5px" @click="progressTotal = 0">{{ @click="groupMembersUnban"
t('dialog.group_member_moderation.cancel') >{{ t('dialog.group_member_moderation.unban') }}</Button
}}</Button> >
<span v-if="progressCurrent" style="margin-top: 10px">
<el-icon class="is-loading" style="margin-left: 5px; margin-right: 5px"><Loading /></el-icon>
{{ t('dialog.group_member_moderation.progress') }} {{ progressCurrent }}/{{ progressTotal }}
</span>
<Button
variant="secondary"
v-if="progressCurrent"
style="margin-left: 5px"
@click="progressTotal = 0"
>{{ t('dialog.group_member_moderation.cancel') }}</Button
>
</div>
</div> </div>
<group-member-moderation-export-dialog <group-member-moderation-export-dialog
v-model:isGroupLogsExportDialogVisible="isGroupLogsExportDialogVisible" v-model:isGroupLogsExportDialogVisible="isGroupLogsExportDialogVisible"

View File

@@ -89,15 +89,17 @@
</el-form> </el-form>
</div> </div>
<template #footer> <template #footer>
<Button variant="secondary" @click="groupPostEditDialog.visible = false"> <div class="flex gap-2">
{{ t('dialog.group_post_edit.cancel') }} <Button variant="secondary" @click="groupPostEditDialog.visible = false">
</Button> {{ t('dialog.group_post_edit.cancel') }}
<Button v-if="groupPostEditDialog.postId" @click="editGroupPost"> </Button>
{{ t('dialog.group_post_edit.edit_post') }} <Button v-if="groupPostEditDialog.postId" @click="editGroupPost">
</Button> {{ t('dialog.group_post_edit.edit_post') }}
<Button v-else @click="createGroupPost"> </Button>
{{ t('dialog.group_post_edit.create_post') }} <Button v-else @click="createGroupPost">
</Button> {{ t('dialog.group_post_edit.create_post') }}
</Button>
</div>
</template> </template>
<GallerySelectDialog <GallerySelectDialog
:gallery-select-dialog="gallerySelectDialog" :gallery-select-dialog="gallerySelectDialog"
@@ -107,9 +109,9 @@
</template> </template>
<script setup> <script setup>
import { InputGroupField, InputGroupTextareaField } from '@/components/ui/input-group';
import { computed, ref } from 'vue'; import { computed, ref } from 'vue';
import { Button } from '@/components/ui/button'; import { Button } from '@/components/ui/button';
import { InputGroupField, InputGroupTextareaField } from '@/components/ui/input-group';
import { Checkbox } from '@/components/ui/checkbox'; import { Checkbox } from '@/components/ui/checkbox';
import { toast } from 'vue-sonner'; import { toast } from 'vue-sonner';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';

View File

@@ -18,7 +18,7 @@
v-for="(link, index) in bioDialog.bioLinks" v-for="(link, index) in bioDialog.bioLinks"
:key="index" :key="index"
v-model="bioDialog.bioLinks[index]" v-model="bioDialog.bioLinks[index]"
maxlength="64" :maxlength="64"
show-count show-count
size="sm" size="sm"
style="margin-top: 5px"> style="margin-top: 5px">
@@ -26,7 +26,9 @@
<img :src="getFaviconUrl(link)" style="width: 16px; height: 16px; vertical-align: middle" /> <img :src="getFaviconUrl(link)" style="width: 16px; height: 16px; vertical-align: middle" />
</template> </template>
<template #actions> <template #actions>
<Button variant="outline" @click="bioDialog.bioLinks.splice(index, 1)" /> <Button variant="ghost" size="icon-sm" @click="bioDialog.bioLinks.splice(index, 1)"
><Trash2 class="size-4"
/></Button>
</template> </template>
</InputGroupAction> </InputGroupAction>
@@ -49,8 +51,9 @@
</template> </template>
<script setup> <script setup>
import { Button } from '@/components/ui/button';
import { InputGroupAction, InputGroupTextareaField } from '@/components/ui/input-group'; import { InputGroupAction, InputGroupTextareaField } from '@/components/ui/input-group';
import { Button } from '@/components/ui/button';
import { Trash2 } from 'lucide-vue-next';
import { toast } from 'vue-sonner'; import { toast } from 'vue-sonner';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';

View File

@@ -9,7 +9,7 @@
append-to-body append-to-body
@close="cancel"> @close="cancel">
<template v-if="!hideUserNotes || (hideUserNotes && hideUserMemos)"> <template v-if="!hideUserNotes || (hideUserNotes && hideUserMemos)">
<span class="name">{{ t('dialog.user.info.note') }}</span> <span class="name my-2">{{ t('dialog.user.info.note') }}</span>
<br /> <br />
<InputGroupTextareaField <InputGroupTextareaField
v-model="note" v-model="note"
@@ -18,22 +18,22 @@
:rows="6" :rows="6"
:placeholder="t('dialog.user.info.note_placeholder')" :placeholder="t('dialog.user.info.note_placeholder')"
input-class="extra resize-none" input-class="extra resize-none"
class="my-2"
show-count /> show-count />
</template> </template>
<template v-if="!hideUserMemos || (hideUserNotes && hideUserMemos)"> <template v-if="!hideUserMemos || (hideUserNotes && hideUserMemos)">
<span class="name">{{ t('dialog.user.info.memo') }}</span> <span class="name">{{ t('dialog.user.info.memo') }}</span>
<br />
<InputGroupTextareaField <InputGroupTextareaField
v-model="memo" v-model="memo"
class="extra" class="extra mt-2"
:rows="6" :rows="6"
:placeholder="t('dialog.user.info.memo_placeholder')" :placeholder="t('dialog.user.info.memo_placeholder')"
input-class="resize-none min-h-0" /> input-class="resize-none min-h-0" />
</template> </template>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<Button variant="secondary" @click="cancel">Cancel</Button> <Button variant="secondary" @click="cancel" class="mr-2">Cancel</Button>
<Button @click="saveChanges"> Confirm </Button> <Button @click="saveChanges">Confirm</Button>
</div> </div>
</template> </template>
</el-dialog> </el-dialog>

View File

@@ -89,7 +89,7 @@
<span>{{ t('dialog.new_instance.content_third_person') }}</span> <span>{{ t('dialog.new_instance.content_third_person') }}</span>
</label> </label>
<template #footer> <template #footer>
<div style="display: flex"> <div class="flex gap-2">
<Button variant="secondary" @click="isVisible = false"> <Button variant="secondary" @click="isVisible = false">
{{ t('dialog.set_world_tags.cancel') }} {{ t('dialog.set_world_tags.cancel') }}
</Button> </Button>
@@ -104,8 +104,8 @@
<script setup> <script setup>
import { computed, ref, watch } from 'vue'; import { computed, ref, watch } from 'vue';
import { Button } from '@/components/ui/button'; import { Button } from '@/components/ui/button';
import { InputGroupTextareaField } from '@/components/ui/input-group';
import { Checkbox } from '@/components/ui/checkbox'; import { Checkbox } from '@/components/ui/checkbox';
import { InputGroupTextareaField } from '@/components/ui/input-group';
import { toast } from 'vue-sonner'; import { toast } from 'vue-sonner';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';

View File

@@ -13,7 +13,7 @@
size="sm" size="sm"
style="margin-top: 5px"> style="margin-top: 5px">
<template #actions> <template #actions>
<Button variant="outline" @click="urlList.splice(index, 1)"></Button> <Button variant="ghost" @click="urlList.splice(index, 1)"><Trash2 /></Button>
</template> </template>
</InputGroupAction> </InputGroupAction>
<Button size="sm" variant="outline" style="margin-top: 5px" @click="urlList.push('')"> <Button size="sm" variant="outline" style="margin-top: 5px" @click="urlList.push('')">
@@ -32,6 +32,7 @@
import { computed, ref, watch } from 'vue'; import { computed, ref, watch } from 'vue';
import { Button } from '@/components/ui/button'; import { Button } from '@/components/ui/button';
import { InputGroupAction } from '@/components/ui/input-group'; import { InputGroupAction } from '@/components/ui/input-group';
import { Trash2 } from 'lucide-vue-next';
import { toast } from 'vue-sonner'; import { toast } from 'vue-sonner';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';

View File

@@ -68,7 +68,7 @@
const lineHeight = parseFloat(computedStyle.lineHeight) || 16; const lineHeight = parseFloat(computedStyle.lineHeight) || 16;
const paddingTop = parseFloat(computedStyle.paddingTop) || 0; const paddingTop = parseFloat(computedStyle.paddingTop) || 0;
const paddingBottom = parseFloat(computedStyle.paddingBottom) || 0; const paddingBottom = parseFloat(computedStyle.paddingBottom) || 0;
const minRows = autosizeConfig.value.minRows ?? Number(attrs.rows) || 1; const minRows = autosizeConfig.value.minRows ?? (Number(attrs.rows) || 1);
const maxRows = autosizeConfig.value.maxRows ?? Number.POSITIVE_INFINITY; const maxRows = autosizeConfig.value.maxRows ?? Number.POSITIVE_INFINITY;
const minHeight = lineHeight * minRows + paddingTop + paddingBottom; const minHeight = lineHeight * minRows + paddingTop + paddingBottom;
const maxHeight = lineHeight * maxRows + paddingTop + paddingBottom; const maxHeight = lineHeight * maxRows + paddingTop + paddingBottom;

View File

@@ -275,7 +275,10 @@
}) })
); );
const playerListDisplayData = computed(() => currentInstanceUsersData.value ?? []); const playerListDisplayData = computed(() => {
const data = currentInstanceUsersData.value;
return Array.isArray(data) ? data.slice() : [];
});
const { table: playerListTable } = useVrcxVueTable({ const { table: playerListTable } = useVrcxVueTable({
persistKey: 'playerList', persistKey: 'playerList',

View File

@@ -9,7 +9,7 @@
@input="updateSearchText" @input="updateSearchText"
@keyup.enter="search" /> @keyup.enter="search" />
<TooltipWrapper side="bottom" :content="t('view.search.clear_results_tooltip')"> <TooltipWrapper side="bottom" :content="t('view.search.clear_results_tooltip')">
<Button class="rounded-full mr-2" size="icon-sm" variant="ghost" @click="handleClearSearch" <Button class="rounded-full ml-2" size="icon" variant="ghost" @click="handleClearSearch"
><Trash2 ><Trash2
/></Button> /></Button>
</TooltipWrapper> </TooltipWrapper>

View File

@@ -23,7 +23,7 @@
:value="screenshotHelperCopyToClipboard" :value="screenshotHelperCopyToClipboard"
@change="setScreenshotHelperCopyToClipboard()" @change="setScreenshotHelperCopyToClipboard()"
:long-label="true" /> :long-label="true" />
<Button size="sm" variant="outline" @click="askDeleteAllScreenshotMetadata()">{{ <Button size="sm" variant="outline" class="mt-2" @click="askDeleteAllScreenshotMetadata()">{{
t('view.settings.advanced.advanced.delete_all_screenshot_metadata.button') t('view.settings.advanced.advanced.delete_all_screenshot_metadata.button')
}}</Button> }}</Button>
</div> </div>
@@ -46,15 +46,18 @@
t('view.settings.advanced.advanced.user_generated_content.description') t('view.settings.advanced.advanced.user_generated_content.description')
}}</span> }}</span>
</div> </div>
<Button size="sm" variant="outline" @click="openUGCFolder()">{{ <div class="flex gap-2 mt-2">
t('view.settings.advanced.advanced.user_generated_content.folder') <Button size="sm" variant="outline" @click="openUGCFolder()">{{
}}</Button> t('view.settings.advanced.advanced.user_generated_content.folder')
<Button size="sm" variant="outline" @click="openUGCFolderSelector()">{{ }}</Button>
t('view.settings.advanced.advanced.user_generated_content.set_folder') <Button size="sm" variant="outline" @click="openUGCFolderSelector()">{{
}}</Button> t('view.settings.advanced.advanced.user_generated_content.set_folder')
<Button size="sm" variant="outline" @click="resetUGCFolder()" v-if="ugcFolderPath">{{ }}</Button>
t('view.settings.advanced.advanced.user_generated_content.reset_override') <Button size="sm" variant="outline" @click="resetUGCFolder()" v-if="ugcFolderPath">{{
}}</Button> t('view.settings.advanced.advanced.user_generated_content.reset_override')
}}</Button>
</div>
<br /> <br />
<br /> <br />
<br /> <br />

View File

@@ -554,10 +554,10 @@
import { computed, onBeforeUnmount, onMounted, ref } from 'vue'; import { computed, onBeforeUnmount, onMounted, ref } from 'vue';
import { Maximize2, Trash2 } from 'lucide-vue-next'; import { Maximize2, Trash2 } from 'lucide-vue-next';
import { Button } from '@/components/ui/button'; import { Button } from '@/components/ui/button';
import { InputGroupTextareaField } from '@/components/ui/input-group';
import { ButtonGroup } from '@/components/ui/button-group'; import { ButtonGroup } from '@/components/ui/button-group';
import { Checkbox } from '@/components/ui/checkbox'; import { Checkbox } from '@/components/ui/checkbox';
import { ElMessageBox } from 'element-plus'; import { ElMessageBox } from 'element-plus';
import { InputGroupTextareaField } from '@/components/ui/input-group';
import { VirtualCombobox } from '@/components/ui/virtual-combobox'; import { VirtualCombobox } from '@/components/ui/virtual-combobox';
import { storeToRefs } from 'pinia'; import { storeToRefs } from 'pinia';
import { toast } from 'vue-sonner'; import { toast } from 'vue-sonner';
@@ -1159,8 +1159,4 @@
.gallery-meta--small { .gallery-meta--small {
font-size: 11px; font-size: 11px;
} }
.gallery-page__back {
padding-left: 0;
}
</style> </style>