<template>
<form class="flex w-full max-w-[500px]" @submit.prevent="search">
- <TextInput placeholder="Search" class="rounded-r-none" />
+ <TextInput v-model="searchTerm" placeholder="Search" class="rounded-r-none" />
<CustomButton
:iconPath="mdilMagnify"
iconSize="1.75em"
<script setup>
import { mdilMagnify } from "@mdi/light-js";
+import { useRouter } from "vue-router";
+import { ref } from "vue";
+import * as constants from "../constants";
import CustomButton from "../components/CustomButton.vue";
import TextInput from "../components/TextInput.vue";
+const router = useRouter();
+const searchTerm = ref("");
+
function search() {
- console.log("searching..."); // TODO: Implement search functionality
+ router.push({
+ name: "search",
+ query: { [constants.params.searchTerm]: searchTerm.value },
+ });
}
</script>
path: "/login",\r
name: "login",\r
component: () => import("./views/LogIn.vue"),\r
- props: (route) => ({ [constants.params.redirect]: route.query.redirect }),\r
+ props: (route) => ({ redirect: route.query[constants.params.redirect] }),\r
},\r
{\r
path: "/note/:title",\r
component: () => import("./views/Note.vue"),\r
props: true,\r
},\r
+ {\r
+ path: "/search",\r
+ name: "search",\r
+ component: () => import("./views/Search.vue"),\r
+ props: (route) => ({\r
+ searchTerm: route.query[constants.params.searchTerm],\r
+ }),\r
+ },\r
],\r
});\r
\r