2025-12-10 20:52:44 +08:00
|
|
|
<template>
|
2026-03-31 19:19:04 +08:00
|
|
|
<div
|
|
|
|
|
class="relative group cursor-pointer"
|
2025-12-10 20:52:44 +08:00
|
|
|
:class="containerClass"
|
|
|
|
|
>
|
|
|
|
|
<!-- Logo SVG -->
|
2026-03-31 19:19:04 +08:00
|
|
|
<svg
|
|
|
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
|
|
|
:viewBox="viewBox"
|
2025-12-12 16:15:16 +08:00
|
|
|
class="transition-colors duration-500 ease-out"
|
2026-03-31 19:19:04 +08:00
|
|
|
:class="[logoClass]"
|
2025-12-10 20:52:44 +08:00
|
|
|
>
|
2026-03-31 19:19:04 +08:00
|
|
|
<path
|
|
|
|
|
:d="aetherFullPath"
|
|
|
|
|
fill-rule="evenodd"
|
2025-12-10 20:52:44 +08:00
|
|
|
fill="currentColor"
|
|
|
|
|
/>
|
|
|
|
|
</svg>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
2026-03-31 19:19:04 +08:00
|
|
|
import { AETHER_FULL_PATH, AETHER_SVG_VIEWBOX } from '@/constants/logoPaths'
|
|
|
|
|
|
2025-12-10 20:52:44 +08:00
|
|
|
interface Props {
|
|
|
|
|
size?: string
|
|
|
|
|
className?: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const props = withDefaults(defineProps<Props>(), {
|
|
|
|
|
size: 'h-8 w-8',
|
|
|
|
|
className: ''
|
|
|
|
|
})
|
|
|
|
|
|
2026-03-31 19:19:04 +08:00
|
|
|
const aetherFullPath = AETHER_FULL_PATH
|
|
|
|
|
const viewBox = AETHER_SVG_VIEWBOX
|
|
|
|
|
const containerClass = `${props.size} ${props.className}`.trim()
|
2025-12-10 20:52:44 +08:00
|
|
|
const logoClass = 'w-full h-full'
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
|
</style>
|