Merge pull request #890 from nagisa77/codex/adapt-menucomponent-and-headercomponent-for-iconpark

refactor: support iconpark in menu and header
This commit is contained in:
Tim
2025-09-05 22:22:18 +08:00
committed by GitHub
3 changed files with 15 additions and 9 deletions

View File

@@ -29,7 +29,7 @@
</div> </div>
<div v-if="isMobile" class="theme-icon" @click="cycleTheme"> <div v-if="isMobile" class="theme-icon" @click="cycleTheme">
<i :class="iconClass"></i> <component :is="iconClass" />
</div> </div>
<div v-if="!isMobile" class="invite_text" @click="copyInviteLink"> <div v-if="!isMobile" class="invite_text" @click="copyInviteLink">
@@ -226,11 +226,11 @@ const headerMenuItems = computed(() => [
const iconClass = computed(() => { const iconClass = computed(() => {
switch (themeState.mode) { switch (themeState.mode) {
case ThemeMode.DARK: case ThemeMode.DARK:
return 'fas fa-moon' return 'Moon'
case ThemeMode.LIGHT: case ThemeMode.LIGHT:
return 'fas fa-sun' return 'SunOne'
default: default:
return 'fas fa-desktop' return 'ComputerOne'
} }
}) })

View File

@@ -95,7 +95,7 @@
class="section-item-icon" class="section-item-icon"
:alt="c.name" :alt="c.name"
/> />
<i v-else :class="['section-item-icon', c.smallIcon || c.icon]"></i> <component v-else :is="c.smallIcon || c.icon" class="section-item-icon" />
</template> </template>
<span class="section-item-text"> <span class="section-item-text">
{{ c.name }} {{ c.name }}
@@ -135,7 +135,7 @@
<ClientOnly v-if="!isMobile"> <ClientOnly v-if="!isMobile">
<div class="menu-footer"> <div class="menu-footer">
<div class="menu-footer-btn" @click="cycleTheme"> <div class="menu-footer-btn" @click="cycleTheme">
<i :class="iconClass"></i> <component :is="iconClass" class="menu-item-icon" />
</div> </div>
</div> </div>
</ClientOnly> </ClientOnly>
@@ -195,11 +195,11 @@ const {
const iconClass = computed(() => { const iconClass = computed(() => {
switch (themeState.mode) { switch (themeState.mode) {
case ThemeMode.DARK: case ThemeMode.DARK:
return 'fas fa-moon' return 'Moon'
case ThemeMode.LIGHT: case ThemeMode.LIGHT:
return 'fas fa-sun' return 'SunOne'
default: default:
return 'fas fa-desktop' return 'ComputerOne'
} }
}) })

View File

@@ -18,6 +18,9 @@ import {
Next, Next,
DropDownList, DropDownList,
MoreOne, MoreOne,
SunOne,
Moon,
ComputerOne,
Comment, Comment,
Link, Link,
SlyFaceWhitSmile, SlyFaceWhitSmile,
@@ -52,6 +55,9 @@ export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.vueApp.component('Next', Next) nuxtApp.vueApp.component('Next', Next)
nuxtApp.vueApp.component('DropDownList', DropDownList) nuxtApp.vueApp.component('DropDownList', DropDownList)
nuxtApp.vueApp.component('MoreOne', MoreOne) nuxtApp.vueApp.component('MoreOne', MoreOne)
nuxtApp.vueApp.component('SunOne', SunOne)
nuxtApp.vueApp.component('Moon', Moon)
nuxtApp.vueApp.component('ComputerOne', ComputerOne)
nuxtApp.vueApp.component('CommentIcon', Comment) nuxtApp.vueApp.component('CommentIcon', Comment)
nuxtApp.vueApp.component('LinkIcon', Link) nuxtApp.vueApp.component('LinkIcon', Link)
nuxtApp.vueApp.component('SlyFaceWhitSmile', SlyFaceWhitSmile) nuxtApp.vueApp.component('SlyFaceWhitSmile', SlyFaceWhitSmile)