|
| 1 | +<template> |
| 2 | + <Disclosure as="nav" class="bg-gray-800" v-slot="{ open }"> |
| 3 | + <div class="mx-auto max-w-7xl px-2 sm:px-6 lg:px-8"> |
| 4 | + <div class="relative flex h-16 items-center justify-between"> |
| 5 | + <div class="absolute inset-y-0 left-0 flex items-center sm:hidden"> |
| 6 | + <!-- Mobile menu button--> |
| 7 | + <DisclosureButton |
| 8 | + class="relative inline-flex items-center justify-center rounded-md p-2 text-gray-400 hover:bg-gray-700 hover:text-white focus:ring-2 focus:ring-white focus:outline-hidden focus:ring-inset"> |
| 9 | + <span class="absolute -inset-0.5" /> |
| 10 | + <span class="sr-only">Open main menu</span> |
| 11 | + <Bars3Icon v-if="!open" class="block size-6" aria-hidden="true" /> |
| 12 | + <XMarkIcon v-else class="block size-6" aria-hidden="true" /> |
| 13 | + </DisclosureButton> |
| 14 | + </div> |
| 15 | + <div class="flex flex-1 items-center justify-center sm:items-stretch sm:justify-start"> |
| 16 | + <div class="flex shrink-0 items-center"> |
| 17 | + <img class="h-8 w-auto" src="https://tailwindcss.com/plus-assets/img/logos/mark.svg?color=indigo&shade=500" |
| 18 | + alt="Your Company" /> |
| 19 | + </div> |
| 20 | + <div class="hidden sm:ml-6 sm:block"> |
| 21 | + <div class="flex space-x-4"> |
| 22 | + <a v-for="item in navigation" :key="item.name" :href="item.href" |
| 23 | + :class="[item.current ? 'bg-gray-900 text-white' : 'text-gray-300 hover:bg-gray-700 hover:text-white', 'rounded-md px-3 py-2 text-sm font-medium']" |
| 24 | + :aria-current="item.current ? 'page' : undefined">{{ item.name }}</a> |
| 25 | + </div> |
| 26 | + </div> |
| 27 | + </div> |
| 28 | + <div class="absolute inset-y-0 right-0 flex items-center pr-2 sm:static sm:inset-auto sm:ml-6 sm:pr-0"> |
| 29 | + <button type="button" |
| 30 | + class="relative rounded-full bg-gray-800 p-1 text-gray-400 hover:text-white focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-gray-800 focus:outline-hidden"> |
| 31 | + <span class="absolute -inset-1.5" /> |
| 32 | + <span class="sr-only">View notifications</span> |
| 33 | + <BellIcon class="size-6" aria-hidden="true" /> |
| 34 | + </button> |
| 35 | + </div> |
| 36 | + </div> |
| 37 | + </div> |
| 38 | + |
| 39 | + <DisclosurePanel class="sm:hidden"> |
| 40 | + <div class="space-y-1 px-2 pt-2 pb-3"> |
| 41 | + <DisclosureButton v-for="item in navigation" :key="item.name" as="a" :href="item.href" |
| 42 | + :class="[item.current ? 'bg-gray-900 text-white' : 'text-gray-300 hover:bg-gray-700 hover:text-white', 'block rounded-md px-3 py-2 text-base font-medium']" |
| 43 | + :aria-current="item.current ? 'page' : undefined">{{ item.name }}</DisclosureButton> |
| 44 | + </div> |
| 45 | + </DisclosurePanel> |
| 46 | + </Disclosure> |
| 47 | +</template> |
| 48 | + |
| 49 | +<script setup> |
| 50 | +import { Disclosure, DisclosureButton, DisclosurePanel, Menu, MenuButton, MenuItem, MenuItems } from '@headlessui/vue' |
| 51 | +import { Bars3Icon, BellIcon, XMarkIcon } from '@heroicons/vue/24/outline' |
| 52 | +
|
| 53 | +const navigation = [ |
| 54 | + { name: 'Dashboard', href: '#', current: true }, |
| 55 | + { name: 'Team', href: '#', current: false }, |
| 56 | + { name: 'Projects', href: '#', current: false }, |
| 57 | + { name: 'Calendar', href: '#', current: false }, |
| 58 | +] |
| 59 | +</script> |
0 commit comments