c653ed071d
- 所有 lucide: 前缀的图标字符串替换为 lucide-vue-next 组件直接引用
- 动态图标绑定改为 <component :is> 渲染
- h(Icon, { icon: 'lucide:xxx' }) 改为 h(Xxx, { class: ... })
- app-card.vue 的 icon_url 改为 <img> 标签(实际是图片路径)
- 修复 Webhook 标识符冲突(重命名为 WebhookIcon)
- payment-channels 保留 @iconify/vue 用于品牌图标(支付宝、微信、Stripe、PayPal、USDT)
24 lines
574 B
Vue
24 lines
574 B
Vue
<script setup lang="ts">
|
|
import { Moon, Sun } from 'lucide-vue-next'
|
|
import { useColorMode } from '@vueuse/core'
|
|
|
|
const mode = useColorMode()
|
|
</script>
|
|
|
|
<template>
|
|
<UiButton
|
|
variant="ghost"
|
|
size="icon"
|
|
class="h-9 w-9"
|
|
@click="mode = mode === 'dark' ? 'light' : 'dark'"
|
|
>
|
|
<Sun
|
|
class="h-5 w-5 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"
|
|
/>
|
|
<Moon
|
|
class="absolute h-5 w-5 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"
|
|
/>
|
|
<span class="sr-only">切换主题</span>
|
|
</UiButton>
|
|
</template>
|