mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-05 14:26:06 +02:00
replace some el-button
This commit is contained in:
@@ -35,7 +35,7 @@
|
||||
@input="searchAvatarFavorites" />
|
||||
<DropdownMenu v-model:open="avatarToolbarMenuOpen">
|
||||
<DropdownMenuTrigger as-child>
|
||||
<el-button :icon="MoreFilled" size="small" circle />
|
||||
<Button class="rounded-full" size="icon-sm" variant="ghost"> <Ellipsis /> </Button>
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent class="favorites-dropdown">
|
||||
<li class="favorites-dropdown__control" @click.stop>
|
||||
@@ -195,16 +195,19 @@
|
||||
<div class="group-section__header">
|
||||
<span>{{ t('view.favorite.avatars.local_favorites') }}</span>
|
||||
<template v-if="!refreshingLocalFavorites">
|
||||
<el-button
|
||||
size="small"
|
||||
:icon="Refresh"
|
||||
circle
|
||||
@click.stop="refreshLocalAvatarFavorites" />
|
||||
<Button
|
||||
class="rounded-full"
|
||||
size="icon"
|
||||
variant="outline"
|
||||
@click.stop="refreshLocalAvatarFavorites"
|
||||
><RefreshCcw
|
||||
/></Button>
|
||||
</template>
|
||||
<el-button v-else size="small" text @click.stop="cancelLocalAvatarRefresh">
|
||||
<el-icon class="is-loading"><Loading /></el-icon>
|
||||
<Button size="sm" variant="ghost" v-else @click.stop="cancelLocalAvatarRefresh">
|
||||
<Loader />
|
||||
|
||||
{{ t('view.favorite.avatars.cancel_refresh') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
<div class="group-section__list">
|
||||
<template v-if="localAvatarFavoriteGroups.length">
|
||||
@@ -226,12 +229,13 @@
|
||||
:open="activeGroupMenu === localGroupMenuKey(group)"
|
||||
@update:open="handleGroupMenuVisible(localGroupMenuKey(group), $event)">
|
||||
<PopoverTrigger asChild>
|
||||
<el-button
|
||||
text
|
||||
size="small"
|
||||
:icon="MoreFilled"
|
||||
circle
|
||||
@click.stop></el-button>
|
||||
<Button
|
||||
class="rounded-full"
|
||||
size="icon-sm"
|
||||
variant="ghost"
|
||||
@click.stop
|
||||
><Ellipsis
|
||||
/></Button>
|
||||
</PopoverTrigger>
|
||||
<PopoverContent side="right" class="w-50 p-1 rounded-lg">
|
||||
<div class="favorites-group-menu">
|
||||
@@ -295,7 +299,9 @@
|
||||
:open="activeGroupMenu === historyGroupMenuKey"
|
||||
@update:open="handleGroupMenuVisible(historyGroupMenuKey, $event)">
|
||||
<PopoverTrigger asChild>
|
||||
<el-button text size="small" :icon="MoreFilled" circle @click.stop></el-button>
|
||||
<Button class="rounded-full" size="icon-sm" variant="ghost" @click.stop
|
||||
><Ellipsis
|
||||
/></Button>
|
||||
</PopoverTrigger>
|
||||
<PopoverContent side="right" class="w-45 p-1 rounded-lg">
|
||||
<div class="favorites-group-menu">
|
||||
@@ -359,25 +365,34 @@
|
||||
<div
|
||||
v-if="avatarEditMode && !isSearchActive && activeRemoteGroup"
|
||||
class="favorites-content__actions">
|
||||
<el-button size="small" @click="toggleSelectAllAvatars">
|
||||
<Button size="sm" variant="outline" @click="toggleSelectAllAvatars">
|
||||
{{
|
||||
isAllAvatarsSelected
|
||||
? t('view.favorite.deselect_all')
|
||||
: t('view.favorite.select_all')
|
||||
}}
|
||||
</el-button>
|
||||
<el-button size="small" :disabled="!hasAvatarSelection" @click="clearSelectedAvatars">
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
variant="secondary"
|
||||
:disabled="!hasAvatarSelection"
|
||||
@click="clearSelectedAvatars">
|
||||
{{ t('view.favorite.clear') }}
|
||||
</el-button>
|
||||
<el-button size="small" :disabled="!hasAvatarSelection" @click="copySelectedAvatars">
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
variant="outline"
|
||||
:disabled="!hasAvatarSelection"
|
||||
@click="copySelectedAvatars">
|
||||
{{ t('view.favorite.copy') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
size="small"
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
variant="outline"
|
||||
:disabled="!hasAvatarSelection"
|
||||
@click="showAvatarBulkUnfavoriteSelectionConfirm">
|
||||
{{ t('view.favorite.bulk_unfavorite') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<div ref="avatarFavoritesContainerRef" class="favorites-content__list">
|
||||
@@ -496,8 +511,10 @@
|
||||
|
||||
<script setup>
|
||||
import { computed, h, nextTick, onBeforeMount, onBeforeUnmount, onMounted, reactive, ref, watch } from 'vue';
|
||||
import { Loading, MoreFilled, Plus, Refresh } from '@element-plus/icons-vue';
|
||||
import { ElMessageBox, ElNotification, ElProgress } from 'element-plus';
|
||||
import { MoreFilled, Plus, Refresh } from '@element-plus/icons-vue';
|
||||
import { Ellipsis, RefreshCcw } from 'lucide-vue-next';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { toast } from 'vue-sonner';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
@input="searchFriendFavorites" />
|
||||
<DropdownMenu v-model:open="friendToolbarMenuOpen">
|
||||
<DropdownMenuTrigger as-child>
|
||||
<el-button :icon="MoreFilled" size="small" circle />
|
||||
<Button class="rounded-full" size="icon-sm" variant="ghost"><Ellipsis /></Button>
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent class="favorites-dropdown">
|
||||
<li class="favorites-dropdown__control" @click.stop>
|
||||
@@ -196,25 +196,34 @@
|
||||
</div>
|
||||
<div class="favorites-content__edit-actions">
|
||||
<div v-if="friendEditMode && !isSearchActive" class="favorites-content__actions">
|
||||
<el-button size="small" @click="toggleSelectAllFriends">
|
||||
<Button size="sm" variant="outline" @click="toggleSelectAllFriends">
|
||||
{{
|
||||
isAllFriendsSelected
|
||||
? t('view.favorite.deselect_all')
|
||||
: t('view.favorite.select_all')
|
||||
}}
|
||||
</el-button>
|
||||
<el-button size="small" :disabled="!hasFriendSelection" @click="clearSelectedFriends">
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
variant="secondary"
|
||||
:disabled="!hasFriendSelection"
|
||||
@click="clearSelectedFriends">
|
||||
{{ t('view.favorite.clear') }}
|
||||
</el-button>
|
||||
<el-button size="small" :disabled="!hasFriendSelection" @click="copySelectedFriends">
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
variant="outline"
|
||||
:disabled="!hasFriendSelection"
|
||||
@click="copySelectedFriends">
|
||||
{{ t('view.favorite.copy') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
size="small"
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
variant="outline"
|
||||
:disabled="!hasFriendSelection"
|
||||
@click="showFriendBulkUnfavoriteSelectionConfirm">
|
||||
{{ t('view.favorite.bulk_unfavorite') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<div ref="friendFavoritesContainerRef" class="favorites-content__list">
|
||||
@@ -287,7 +296,9 @@
|
||||
<script setup>
|
||||
import { computed, onBeforeMount, ref, watch } from 'vue';
|
||||
import { MoreFilled, Refresh } from '@element-plus/icons-vue';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { ElMessageBox } from 'element-plus';
|
||||
import { Ellipsis } from 'lucide-vue-next';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { toast } from 'vue-sonner';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
@input="searchWorldFavorites" />
|
||||
<DropdownMenu v-model:open="worldToolbarMenuOpen">
|
||||
<DropdownMenuTrigger as-child>
|
||||
<el-button :icon="MoreFilled" size="small" circle />
|
||||
<Button class="rounded-full" size="icon" variant="outline"><Ellipsis /></Button>
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent class="favorites-dropdown">
|
||||
<li class="favorites-dropdown__control" @click.stop>
|
||||
@@ -194,16 +194,18 @@
|
||||
<div class="group-section">
|
||||
<div class="group-section__header">
|
||||
<span>{{ t('view.favorite.worlds.local_favorites') }}</span>
|
||||
<el-button
|
||||
<Button
|
||||
class="rounded-full"
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
v-if="!refreshingLocalFavorites"
|
||||
size="small"
|
||||
@click.stop="refreshLocalWorldFavorites"
|
||||
:icon="Refresh"
|
||||
circle />
|
||||
<el-button v-else size="small" text @click.stop="cancelLocalWorldRefresh">
|
||||
<el-icon class="is-loading"><Loading /></el-icon>
|
||||
><RefreshCcw
|
||||
/></Button>
|
||||
<Button size="icon-sm" variant="ghost" v-else @click.stop="cancelLocalWorldRefresh">
|
||||
<RefreshCcw />
|
||||
{{ t('view.favorite.worlds.cancel_refresh') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
<div class="group-section__list">
|
||||
<template v-if="localWorldFavoriteGroups.length">
|
||||
@@ -226,12 +228,13 @@
|
||||
handleGroupMenuVisible(localGroupMenuKey(group), $event)
|
||||
">
|
||||
<PopoverTrigger asChild>
|
||||
<el-button
|
||||
text
|
||||
size="small"
|
||||
:icon="MoreFilled"
|
||||
circle
|
||||
@click.stop></el-button>
|
||||
<Button
|
||||
class="rounded-full"
|
||||
size="icon-sm"
|
||||
variant="ghost"
|
||||
@click.stop
|
||||
><Ellipsis
|
||||
/></Button>
|
||||
</PopoverTrigger>
|
||||
<PopoverContent side="right" class="w-50 p-1 rounded-lg">
|
||||
<div class="favorites-group-menu">
|
||||
@@ -302,25 +305,34 @@
|
||||
</div>
|
||||
<div class="favorites-content__edit-actions">
|
||||
<div v-if="worldEditMode && !isSearchActive" class="favorites-content__actions">
|
||||
<el-button size="small" @click="toggleSelectAllWorlds">
|
||||
<Button size="sm" variant="outline" @click="toggleSelectAllWorlds">
|
||||
{{
|
||||
isAllWorldsSelected
|
||||
? t('view.favorite.deselect_all')
|
||||
: t('view.favorite.select_all')
|
||||
}}
|
||||
</el-button>
|
||||
<el-button size="small" :disabled="!hasWorldSelection" @click="clearSelectedWorlds">
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
variant="secondary"
|
||||
:disabled="!hasWorldSelection"
|
||||
@click="clearSelectedWorlds">
|
||||
{{ t('view.favorite.clear') }}
|
||||
</el-button>
|
||||
<el-button size="small" :disabled="!hasWorldSelection" @click="copySelectedWorlds">
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
variant="outline"
|
||||
:disabled="!hasWorldSelection"
|
||||
@click="copySelectedWorlds">
|
||||
{{ t('view.favorite.copy') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
size="small"
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
variant="outline"
|
||||
:disabled="!hasWorldSelection"
|
||||
@click="showWorldBulkUnfavoriteSelectionConfirm">
|
||||
{{ t('view.favorite.bulk_unfavorite') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<div ref="worldFavoritesContainerRef" class="favorites-content__list">
|
||||
@@ -413,7 +425,9 @@
|
||||
|
||||
<script setup>
|
||||
import { computed, nextTick, onBeforeMount, onBeforeUnmount, onMounted, ref, watch } from 'vue';
|
||||
import { Loading, MoreFilled, Plus, Refresh } from '@element-plus/icons-vue';
|
||||
import { MoreFilled, Plus, Refresh } from '@element-plus/icons-vue';
|
||||
import { Ellipsis, RefreshCcw } from 'lucide-vue-next';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { ElMessageBox } from 'element-plus';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { toast } from 'vue-sonner';
|
||||
|
||||
@@ -68,13 +68,14 @@
|
||||
<div class="favorites-search-card__action-group">
|
||||
<div class="favorites-search-card__action" v-if="canSelectAvatar">
|
||||
<TooltipWrapper side="top" :content="t('view.favorite.select_avatar_tooltip')">
|
||||
<el-button
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
:disabled="currentUser.currentAvatar === favorite.id"
|
||||
size="small"
|
||||
:icon="Check"
|
||||
circle
|
||||
class="favorites-search-card__action-btn"
|
||||
@click.stop="selectAvatarWithConfirmation(favorite.id)" />
|
||||
class="favorites-search-card__action-btn rounded-full text-xs h-6 w-6"
|
||||
@click.stop="selectAvatarWithConfirmation(favorite.id)"
|
||||
><i class="ri-check-line"></i
|
||||
></Button>
|
||||
</TooltipWrapper>
|
||||
</div>
|
||||
<div class="favorites-search-card__action">
|
||||
@@ -82,22 +83,22 @@
|
||||
v-if="showDangerUnfavorite"
|
||||
side="bottom"
|
||||
:content="t('view.favorite.unfavorite_tooltip')">
|
||||
<el-button
|
||||
size="small"
|
||||
:icon="Close"
|
||||
circle
|
||||
class="favorites-search-card__action-btn"
|
||||
type="danger"
|
||||
@click.stop="handlePrimaryDeleteAction" />
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="destructive"
|
||||
class="favorites-search-card__action-btn rounded-full text-xs h-6 w-6"
|
||||
@click.stop="handlePrimaryDeleteAction"
|
||||
><i class="ri-delete-bin-line"></i
|
||||
></Button>
|
||||
</TooltipWrapper>
|
||||
<TooltipWrapper v-else side="bottom" :content="t('view.favorite.edit_favorite_tooltip')">
|
||||
<el-button
|
||||
type="default"
|
||||
:icon="Star"
|
||||
size="small"
|
||||
circle
|
||||
class="favorites-search-card__action-btn"
|
||||
@click.stop="showFavoriteDialog('avatar', favorite.id)" />
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
class="favorites-search-card__action-btn rounded-full text-xs h-6 w-6"
|
||||
@click.stop="showFavoriteDialog('avatar', favorite.id)"
|
||||
><i class="ri-star-line"></i
|
||||
></Button>
|
||||
</TooltipWrapper>
|
||||
</div>
|
||||
</div>
|
||||
@@ -113,9 +114,13 @@
|
||||
</div>
|
||||
<div class="favorites-search-card__actions">
|
||||
<div class="favorites-search-card__action">
|
||||
<el-button circle type="default" size="small" @click.stop="handlePrimaryDeleteAction">
|
||||
<Button
|
||||
class="rounded-full text-xs h-6 w-6"
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
@click.stop="handlePrimaryDeleteAction">
|
||||
<i class="ri-delete-bin-line"></i>
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -123,7 +128,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { Check, Close, Star } from '@element-plus/icons-vue';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { Checkbox } from '@/components/ui/checkbox';
|
||||
import { computed } from 'vue';
|
||||
import { storeToRefs } from 'pinia';
|
||||
|
||||
@@ -15,24 +15,33 @@
|
||||
<div class="favorites-search-card__action-group">
|
||||
<div class="favorites-search-card__action">
|
||||
<TooltipWrapper side="top" :content="t('view.favorite.select_avatar_tooltip')">
|
||||
<el-button
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
:disabled="currentUser.currentAvatar === favorite.id"
|
||||
size="small"
|
||||
:icon="Check"
|
||||
circle
|
||||
class="favorites-search-card__action-btn"
|
||||
@click.stop="selectAvatarWithConfirmation(favorite.id)" />
|
||||
class="favorites-search-card__action-btn rounded-full"
|
||||
@click.stop="selectAvatarWithConfirmation(favorite.id)">
|
||||
<Check
|
||||
/></Button>
|
||||
</TooltipWrapper>
|
||||
</div>
|
||||
<div class="favorites-search-card__action">
|
||||
<TooltipWrapper side="bottom" :content="t('view.favorite.favorite_tooltip')">
|
||||
<el-button
|
||||
type="default"
|
||||
:icon="favoriteExists ? Star : StarFilled"
|
||||
size="small"
|
||||
circle
|
||||
class="favorites-search-card__action-btn"
|
||||
@click.stop="showFavoriteDialog('avatar', favorite.id)" />
|
||||
<Button
|
||||
v-if="favoriteExists"
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
class="favorites-search-card__action-btn rounded-full"
|
||||
@click.stop="showFavoriteDialog('avatar', favorite.id)">
|
||||
<Star />
|
||||
</Button>
|
||||
<Button
|
||||
else
|
||||
size="icon-sm"
|
||||
class="favorites-search-card__action-btn rounded-full"
|
||||
@click.stop="showFavoriteDialog('avatar', favorite.id)">
|
||||
<Star />
|
||||
</Button>
|
||||
</TooltipWrapper>
|
||||
</div>
|
||||
</div>
|
||||
@@ -41,7 +50,8 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { Check, Star, StarFilled } from '@element-plus/icons-vue';
|
||||
import { Check, Star } from 'lucide-vue-next';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { computed } from 'vue';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
@@ -34,14 +34,13 @@
|
||||
</div>
|
||||
<div class="favorites-search-card__action">
|
||||
<TooltipWrapper side="left" :content="t('view.favorite.unfavorite_tooltip')">
|
||||
<el-button
|
||||
size="small"
|
||||
circle
|
||||
class="favorites-search-card__action-btn"
|
||||
type="default"
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
class="favorites-search-card__action-btn rounded-full text-xs h-6 w-6"
|
||||
@click.stop="handleDeleteFavorite">
|
||||
<i class="ri-delete-bin-line"></i>
|
||||
</el-button>
|
||||
</Button>
|
||||
</TooltipWrapper>
|
||||
</div>
|
||||
</div>
|
||||
@@ -49,12 +48,13 @@
|
||||
<template v-else>
|
||||
<div class="favorites-search-card__action">
|
||||
<TooltipWrapper side="right" :content="t('view.favorite.edit_favorite_tooltip')">
|
||||
<el-button
|
||||
size="small"
|
||||
:icon="Star"
|
||||
circle
|
||||
class="favorites-search-card__action-btn"
|
||||
@click.stop="showFavoriteDialog('friend', favorite.id)" />
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
class="favorites-search-card__action-btn rounded-full text-xs h-6 w-6"
|
||||
@click.stop="showFavoriteDialog('friend', favorite.id)"
|
||||
><i class="ri-star-line"></i
|
||||
></Button>
|
||||
</TooltipWrapper>
|
||||
</div>
|
||||
</template>
|
||||
@@ -69,9 +69,13 @@
|
||||
</div>
|
||||
<div class="favorites-search-card__actions">
|
||||
<div class="favorites-search-card__action">
|
||||
<el-button circle type="default" size="small" @click.stop="handleDeleteFavorite">
|
||||
<Button
|
||||
class="rounded-full text-xs h-6 w-6"
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
@click.stop="handleDeleteFavorite">
|
||||
<i class="ri-delete-bin-line"></i>
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -79,8 +83,8 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { Checkbox } from '@/components/ui/checkbox';
|
||||
import { Star } from '@element-plus/icons-vue';
|
||||
import { computed } from 'vue';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<template>
|
||||
<DropdownMenu v-model:open="moveDropdownOpen" style="margin-left: 5px">
|
||||
<DropdownMenuTrigger as-child>
|
||||
<el-button type="default" :icon="Back" size="small" circle></el-button>
|
||||
<Button class="rounded-full w-6 h-6 text-xs" size="icon-sm" variant="ghost"
|
||||
><i class="ri-arrow-left-line"></i
|
||||
></Button>
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent class="favorites-dropdown">
|
||||
<span style="font-weight: bold; display: block; text-align: center">
|
||||
@@ -23,7 +25,7 @@
|
||||
|
||||
<script setup>
|
||||
import { computed, ref } from 'vue';
|
||||
import { Back } from '@element-plus/icons-vue';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { toast } from 'vue-sonner';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
|
||||
@@ -50,14 +50,13 @@
|
||||
type="world" />
|
||||
</div>
|
||||
<div class="favorites-search-card__action">
|
||||
<el-button
|
||||
size="small"
|
||||
circle
|
||||
class="favorites-search-card__action-btn"
|
||||
type="default"
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
class="favorites-search-card__action-btn rounded-full text-xs h-6 w-6"
|
||||
@click.stop="handleDeleteFavorite">
|
||||
<i class="ri-delete-bin-line"></i>
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -65,12 +64,13 @@
|
||||
<div class="favorites-search-card__action-group">
|
||||
<div class="favorites-search-card__action">
|
||||
<TooltipWrapper side="top" :content="inviteOrLaunchText">
|
||||
<el-button
|
||||
size="small"
|
||||
:icon="Message"
|
||||
class="favorites-search-card__action-btn"
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
class="favorites-search-card__action-btn rounded-full text-xs h-6 w-6"
|
||||
@click.stop="newInstanceSelfInvite(favorite.id)"
|
||||
circle />
|
||||
><i class="ri-mail-line"></i
|
||||
></Button>
|
||||
</TooltipWrapper>
|
||||
</div>
|
||||
<div class="favorites-search-card__action">
|
||||
@@ -78,22 +78,22 @@
|
||||
v-if="showDangerUnfavorite"
|
||||
side="top"
|
||||
:content="t('view.favorite.unfavorite_tooltip')">
|
||||
<el-button
|
||||
size="small"
|
||||
:icon="Close"
|
||||
circle
|
||||
class="favorites-search-card__action-btn"
|
||||
type="danger"
|
||||
@click.stop="handleDeleteFavorite" />
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="destructive"
|
||||
class="favorites-search-card__action-btn rounded-full text-xs h-6 w-6"
|
||||
@click.stop="handleDeleteFavorite"
|
||||
><i class="ri-star-line"></i
|
||||
></Button>
|
||||
</TooltipWrapper>
|
||||
<TooltipWrapper v-else side="top" :content="t('view.favorite.edit_favorite_tooltip')">
|
||||
<el-button
|
||||
type="default"
|
||||
:icon="Star"
|
||||
size="small"
|
||||
circle
|
||||
class="favorites-search-card__action-btn"
|
||||
@click.stop="showFavoriteDialog('world', favorite.id)" />
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
class="favorites-search-card__action-btn rounded-full text-xs h-6 w-6"
|
||||
@click.stop="showFavoriteDialog('world', favorite.id)"
|
||||
><i class="ri-delete-bin-line"></i
|
||||
></Button>
|
||||
</TooltipWrapper>
|
||||
</div>
|
||||
</div>
|
||||
@@ -113,9 +113,13 @@
|
||||
</div>
|
||||
<div class="favorites-search-card__actions">
|
||||
<div class="favorites-search-card__action">
|
||||
<el-button circle type="default" size="small" @click.stop="handleDeleteFavorite">
|
||||
<Button
|
||||
class="rounded-full text-xs h-6 w-6"
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
@click.stop="handleDeleteFavorite">
|
||||
<i class="ri-delete-bin-line"></i>
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -123,7 +127,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { Close, Message, Star } from '@element-plus/icons-vue';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { Checkbox } from '@/components/ui/checkbox';
|
||||
import { computed } from 'vue';
|
||||
import { storeToRefs } from 'pinia';
|
||||
|
||||
@@ -47,12 +47,13 @@
|
||||
<div class="favorites-search-card__action-group">
|
||||
<div class="favorites-search-card__action">
|
||||
<TooltipWrapper side="top" :content="inviteOrLaunchText">
|
||||
<el-button
|
||||
size="small"
|
||||
:icon="Message"
|
||||
class="favorites-search-card__action-btn"
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
class="favorites-search-card__action-btn rounded-full text-xs h-6 w-6"
|
||||
@click.stop="newInstanceSelfInvite(favorite.id)"
|
||||
circle />
|
||||
><i class="ri-mail-line"></i
|
||||
></Button>
|
||||
</TooltipWrapper>
|
||||
</div>
|
||||
<div class="favorites-search-card__action">
|
||||
@@ -60,22 +61,22 @@
|
||||
v-if="showDangerUnfavorite"
|
||||
side="top"
|
||||
:content="t('view.favorite.unfavorite_tooltip')">
|
||||
<el-button
|
||||
size="small"
|
||||
:icon="Close"
|
||||
circle
|
||||
class="favorites-search-card__action-btn"
|
||||
type="danger"
|
||||
@click.stop="handleDeleteFavorite" />
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="destructive"
|
||||
class="favorites-search-card__action-btn rounded-full text-xs h-6 w-6"
|
||||
@click.stop="handleDeleteFavorite"
|
||||
><i class="ri-delete-bin-line"></i
|
||||
></Button>
|
||||
</TooltipWrapper>
|
||||
<TooltipWrapper v-else side="top" :content="t('view.favorite.edit_favorite_tooltip')">
|
||||
<el-button
|
||||
type="default"
|
||||
:icon="Star"
|
||||
size="small"
|
||||
circle
|
||||
class="favorites-search-card__action-btn"
|
||||
@click.stop="showFavoriteDialog('world', favorite.id)" />
|
||||
<Button
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
class="favorites-search-card__action-btn rounded-full text-xs h-6 w-6"
|
||||
@click.stop="showFavoriteDialog('world', favorite.id)"
|
||||
><i class="ri-star-line"></i
|
||||
></Button>
|
||||
</TooltipWrapper>
|
||||
</div>
|
||||
</div>
|
||||
@@ -91,9 +92,13 @@
|
||||
</div>
|
||||
<div class="favorites-search-card__actions">
|
||||
<div class="favorites-search-card__action">
|
||||
<el-button circle type="default" size="small" @click.stop="handleDeleteFavorite">
|
||||
<Button
|
||||
class="rounded-full text-xs h-6 w-6"
|
||||
size="icon-sm"
|
||||
variant="outline"
|
||||
@click.stop="handleDeleteFavorite">
|
||||
<i class="ri-delete-bin-line"></i>
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -101,7 +106,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { Close, Message, Star } from '@element-plus/icons-vue';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { computed } from 'vue';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
{{ avatarImportDialog.progressTotal }}
|
||||
<el-icon style="margin: 0 5px"><Loading /></el-icon>
|
||||
</div>
|
||||
<el-button v-if="avatarImportDialog.loading" size="small" @click="cancelAvatarImport">
|
||||
<Button v-if="avatarImportDialog.loading" size="sm" variant="secondary" @click="cancelAvatarImport">
|
||||
{{ t('dialog.avatar_import.cancel') }}
|
||||
</el-button>
|
||||
<el-button v-else size="small" :disabled="!avatarImportDialog.input" @click="processAvatarImportList">
|
||||
</Button>
|
||||
<Button size="sm" v-else :disabled="!avatarImportDialog.input" @click="processAvatarImportList">
|
||||
{{ t('dialog.avatar_import.process_list') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<el-input
|
||||
@@ -75,13 +75,11 @@
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<el-button size="small" @click="clearAvatarImportTable">
|
||||
<Button size="sm" variant="secondary" class="mr-2" @click="clearAvatarImportTable">
|
||||
{{ t('dialog.avatar_import.clear_table') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
size="small"
|
||||
type="primary"
|
||||
style="margin: 5px"
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
:disabled="
|
||||
avatarImportTable.data.length === 0 ||
|
||||
(!avatarImportDialog.avatarImportFavoriteGroup &&
|
||||
@@ -89,7 +87,7 @@
|
||||
"
|
||||
@click="importAvatarImportTable">
|
||||
{{ t('dialog.avatar_import.import') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<span v-if="avatarImportDialog.importProgress" style="margin: 10px">
|
||||
@@ -99,9 +97,9 @@
|
||||
</span>
|
||||
<br />
|
||||
<template v-if="avatarImportDialog.errors">
|
||||
<el-button size="small" @click="avatarImportDialog.errors = ''">
|
||||
<Button size="sm" variant="secondary" @click="avatarImportDialog.errors = ''">
|
||||
{{ t('dialog.avatar_import.clear_errors') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
<h2 style="font-weight: bold; margin: 5px 0">
|
||||
{{ t('dialog.avatar_import.errors') }}
|
||||
</h2>
|
||||
@@ -154,7 +152,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column :label="t('table.import.action')" width="90" align="right">
|
||||
<template #default="{ row }">
|
||||
<el-button text :icon="Close" size="small" @click="deleteItemAvatarImport(row)"> </el-button>
|
||||
<Button size="icon-sm" variant="ghost" @click="deleteItemAvatarImport(row)"><Trash2 /> </Button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</DataTable>
|
||||
@@ -164,7 +162,9 @@
|
||||
<script setup>
|
||||
import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';
|
||||
import { computed, ref, watch } from 'vue';
|
||||
import { Close, Loading } from '@element-plus/icons-vue';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { Loading } from '@element-plus/icons-vue';
|
||||
import { Trash2 } from 'lucide-vue-next';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { toast } from 'vue-sonner';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
{{ friendImportDialog.progressTotal }}
|
||||
<el-icon style="margin: 0 5px"><Loading /></el-icon>
|
||||
</div>
|
||||
<el-button v-if="friendImportDialog.loading" size="small" @click="cancelFriendImport">
|
||||
<Button v-if="friendImportDialog.loading" size="sm" variant="secondary" @click="cancelFriendImport">
|
||||
{{ t('dialog.friend_import.cancel') }}
|
||||
</el-button>
|
||||
<el-button v-else size="small" :disabled="!friendImportDialog.input" @click="processFriendImportList">
|
||||
</Button>
|
||||
<Button size="sm" v-else :disabled="!friendImportDialog.input" @click="processFriendImportList">
|
||||
{{ t('dialog.friend_import.process_list') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<el-input
|
||||
@@ -56,17 +56,20 @@
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<el-button size="small" :disabled="friendImportTable.data.length === 0" @click="clearFriendImportTable">
|
||||
<Button
|
||||
size="sm"
|
||||
class="mr-2"
|
||||
variant="secondary"
|
||||
:disabled="friendImportTable.data.length === 0"
|
||||
@click="clearFriendImportTable">
|
||||
{{ t('dialog.friend_import.clear_table') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
size="small"
|
||||
type="primary"
|
||||
style="margin: 5px"
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
:disabled="friendImportTable.data.length === 0 || !friendImportDialog.friendImportFavoriteGroup"
|
||||
@click="importFriendImportTable">
|
||||
{{ t('dialog.friend_import.import') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<span v-if="friendImportDialog.importProgress" style="margin: 10px">
|
||||
@@ -77,9 +80,9 @@
|
||||
</span>
|
||||
<br />
|
||||
<template v-if="friendImportDialog.errors">
|
||||
<el-button size="small" @click="friendImportDialog.errors = ''">
|
||||
<Button size="sm" variant="secondary" @click="friendImportDialog.errors = ''">
|
||||
{{ t('dialog.friend_import.clear_errors') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
<h2 style="font-weight: bold; margin: 5px 0">{{ t('dialog.friend_import.errors') }}</h2>
|
||||
<pre style="white-space: pre-wrap; font-size: 12px" v-text="friendImportDialog.errors"></pre>
|
||||
</template>
|
||||
@@ -107,7 +110,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column :label="t('table.import.action')" width="90" align="right">
|
||||
<template #default="{ row }">
|
||||
<el-button text :icon="Close" size="small" @click="deleteItemFriendImport(row)"> </el-button>
|
||||
<Button size="icon-sm" variant="ghost" @click="deleteItemFriendImport(row)"><Trash2 /></Button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</DataTable>
|
||||
@@ -117,7 +120,9 @@
|
||||
<script setup>
|
||||
import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';
|
||||
import { computed, ref, watch } from 'vue';
|
||||
import { Close, Loading } from '@element-plus/icons-vue';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { Loading } from '@element-plus/icons-vue';
|
||||
import { Trash2 } from 'lucide-vue-next';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { toast } from 'vue-sonner';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
{{ worldImportDialog.progress }} / {{ worldImportDialog.progressTotal }}
|
||||
<el-icon style="margin: 0 5px"><Loading /></el-icon>
|
||||
</div>
|
||||
<el-button v-if="worldImportDialog.loading" size="small" @click="cancelWorldImport">
|
||||
<Button v-if="worldImportDialog.loading" size="sm" variant="outline" @click="cancelWorldImport">
|
||||
{{ t('dialog.world_import.cancel') }}
|
||||
</el-button>
|
||||
<el-button v-else size="small" :disabled="!worldImportDialog.input" @click="processWorldImportList">
|
||||
</Button>
|
||||
<Button size="sm" v-else :disabled="!worldImportDialog.input" @click="processWorldImportList">
|
||||
{{ t('dialog.world_import.process_list') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<el-input
|
||||
@@ -75,13 +75,16 @@
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
<el-button size="small" :disabled="worldImportTable.data.length === 0" @click="clearWorldImportTable">
|
||||
<Button
|
||||
size="sm"
|
||||
variant="secondary"
|
||||
class="mr-2"
|
||||
:disabled="worldImportTable.data.length === 0"
|
||||
@click="clearWorldImportTable">
|
||||
{{ t('dialog.world_import.clear_table') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
size="small"
|
||||
type="primary"
|
||||
style="margin: 5px"
|
||||
</Button>
|
||||
<Button
|
||||
size="sm"
|
||||
:disabled="
|
||||
worldImportTable.data.length === 0 ||
|
||||
(!worldImportDialog.worldImportFavoriteGroup &&
|
||||
@@ -89,7 +92,7 @@
|
||||
"
|
||||
@click="importWorldImportTable">
|
||||
{{ t('dialog.world_import.import') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<span v-if="worldImportDialog.importProgress" style="margin: 10px">
|
||||
@@ -99,9 +102,9 @@
|
||||
</span>
|
||||
<br />
|
||||
<template v-if="worldImportDialog.errors">
|
||||
<el-button size="small" @click="worldImportDialog.errors = ''">
|
||||
<Button size="sm" variant="secondary" @click="worldImportDialog.errors = ''">
|
||||
{{ t('dialog.world_import.clear_errors') }}
|
||||
</el-button>
|
||||
</Button>
|
||||
<h2 style="font-weight: bold; margin: 5px 0">
|
||||
{{ t('dialog.world_import.errors') }}
|
||||
</h2>
|
||||
@@ -149,7 +152,9 @@
|
||||
</el-table-column>
|
||||
<el-table-column :label="t('table.import.action')" width="90" align="right">
|
||||
<template #default="{ row }">
|
||||
<el-button text :icon="Close" size="small" @click="deleteItemWorldImport(row)"></el-button>
|
||||
<Button size="icon-sm" class="w-6 h-6" variant="ghost" @click="deleteItemWorldImport(row)"
|
||||
><Trash2
|
||||
/></Button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</DataTable>
|
||||
@@ -159,7 +164,9 @@
|
||||
<script setup>
|
||||
import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';
|
||||
import { computed, ref, watch } from 'vue';
|
||||
import { Close, Loading } from '@element-plus/icons-vue';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { Loading } from '@element-plus/icons-vue';
|
||||
import { Trash2 } from 'lucide-vue-next';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { toast } from 'vue-sonner';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
Reference in New Issue
Block a user