<template>\r
<nav class="mb-12 flex justify-between align-top">\r
+ <SearchModal ref="searchModal" />\r
<RouterLink :to="{ name: 'home' }" v-if="!hideLogo">\r
<Logo responsive></Logo>\r
</RouterLink>\r
import Logo from "../components/Logo.vue";\r
import { clearStoredToken } from "../tokenStorage.js";\r
import PrimeMenu from "../components/PrimeMenu.vue";\r
+import SearchModal from "./SearchModal.vue";\r
\r
-const router = useRouter();\r
const menu = ref();\r
+const router = useRouter();\r
+const searchModal = ref();\r
\r
defineProps({\r
hideLogo: Boolean,\r
{\r
label: "Search",\r
icon: mdilMagnify,\r
- // TODO: Implement search modal\r
+ command: () => searchModal.value.toggle(),\r
},\r
{\r
label: "All Notes",\r
--- /dev/null
+<template>
+ <Modal ref="modal" class="flex flex-col items-center">
+ <Logo class="mb-4" />
+ <SearchInput @search="toggle" />
+ </Modal>
+</template>
+
+<script setup>
+import { ref } from "vue";
+
+import Modal from "../components/Modal.vue";
+import SearchInput from "./SearchInput.vue";
+import Logo from "../components/Logo.vue";
+
+const modal = ref();
+
+function toggle() {
+ modal.value.toggle();
+}
+
+defineExpose({ toggle });
+</script>