import { defineComponent, ref, Transition, TransitionGroup, watch } from 'vue' import ModeSwitch from './ModeSwitch' import icons, { initIcons } from './icons' import { OhVueIcon, addIcons } from 'oh-vue-icons' import { PxHeadset, PxAddBox, PxCheck } from 'oh-vue-icons/icons' import useRouterStore from '@/useRouterStore' import useLayoutStore from '../useLayoutStore' import useUserStore from '@/user/useUserStore' import AvatarCircle from '@/user/AvatarCircle' import clsx from 'clsx' import useSettingsStore from '@/settings/useSettingsStore' initIcons() addIcons(PxHeadset, PxAddBox, PxCheck) const Item = defineComponent({ props: { name: { type: String, default: '' }, label: { type: String, default: '' }, idx: { type: Number, default: 0 }, active: { type: Boolean, default: false } }, emits: ['click'], setup(props, ctx) { const hover = ref(false) return () => (
{ hover.value = true }} onMouseleave={() => { hover.value = false }} onClick={() => { ctx.emit('click') }} > {props.label}
) } }) export default defineComponent(() => { const showEdit = ref(false) const selected = ref(icons[0]) const router = useRouterStore() const layout = useLayoutStore() const settings = useSettingsStore() const user = useUserStore() const show = ref(false) const label = ref('') watch( selected, (val) => { label.value = val.label }, { immediate: true } ) return () => ( {layout.ready && (
{ show.value = false }} onMouseenter={() => { show.value = true }} >
)} ) })