<template>\r
<div class="container mx-auto flex h-screen flex-col px-2 py-4">\r
- <NavBar />\r
<RouterView />\r
</div>\r
</template>\r
\r
<script setup>\r
import { RouterView } from "vue-router";\r
-import NavBar from "/partials/NavBar.vue";\r
</script>\r
-<template>\r
- <button\r
- class="hover:bg-theme-background-hover flex items-center rounded px-2 py-1 text-theme-text-muted"\r
- >\r
- <SvgIcon\r
- v-if="iconPath"\r
- type="mdi"\r
- :path="iconPath"\r
- :size="iconSize"\r
- :class="{ 'mr-1': label }"\r
- ></SvgIcon>\r
- <span v-if-label>{{ label }}</span>\r
- </button>\r
-</template>\r
-\r
-<script setup>\r
-import SvgIcon from "@jamescoyle/vue-icon";\r
-\r
-defineProps({\r
- iconPath: String,\r
- iconSize: {\r
- type: String,\r
- default: "1.25em",\r
- },\r
- label: String,\r
-});\r
-</script>\r
+<template>
+ <button
+ class="hover:bg-theme-background-hover flex items-center rounded px-2 py-1 text-theme-text-muted"
+ >
+ <SvgIcon
+ v-if="iconPath"
+ type="mdi"
+ :path="iconPath"
+ :size="iconSize"
+ :class="{ 'mr-1': label }"
+ ></SvgIcon>
+ <span v-if="label">{{ label }}</span>
+ </button>
+</template>
+
+<script setup>
+import SvgIcon from "@jamescoyle/vue-icon";
+
+defineProps({
+ iconPath: String,
+ iconSize: {
+ type: String,
+ default: "1.25em",
+ },
+ label: String,
+});
+</script>
<template>\r
- <form class="flex" v-on:submit.prevent="search">\r
+ <form class="flex w-full max-w-[500px]" v-on:submit.prevent="search">\r
<input\r
type="text"\r
- class="rounded rounded-r-none border border-theme-border bg-theme-background-elevated px-3 py-2"\r
+ class="rounded rounded-r-none border border-theme-border bg-theme-background-elevated px-3 py-2 w-full focus:outline-none focus:ring-1"\r
placeholder="Search"\r
/>\r
- <Button\r
+ <ButtonComponent\r
:iconPath="mdilMagnify"\r
iconSize="1.75em"\r
- class="rounded-l-none border border-l-0 border-theme-border"\r
+ class="rounded-l-none border border-l-0 border-theme-border focus:outline-none focus:ring-1"\r
/>\r
</form>\r
</template>\r
\r
<script setup>\r
-import Button from "./Button.vue";\r
import { mdilMagnify } from "@mdi/light-js";\r
\r
+import ButtonComponent from "./ButtonComponent.vue";\r
+\r
function search() {\r
- console.log("searching...");\r
+ console.log("searching..."); // TODO: Implement search functionality\r
}\r
</script>\r
<template>\r
<nav class="flex justify-between">\r
- <Logo></Logo>\r
+ <RouterLink to="/">\r
+ <Logo :class="{ invisible: hideLogo }"></Logo>\r
+ </RouterLink>\r
<div>\r
- <Button\r
+ <ButtonComponent\r
:iconPath="mdilPlusCircle"\r
label="New Note"\r
@click="toggleTheme"\r
- ></Button>\r
+ />\r
</div>\r
</nav>\r
</template>\r
\r
<script setup>\r
import { mdilPlusCircle } from "@mdi/light-js";\r
+import { RouterLink } from "vue-router";\r
\r
-import Button from "/components/Button.vue";\r
-import Logo from "/components/Logo.vue";\r
+import ButtonComponent from "../components/ButtonComponent.vue";\r
+import Logo from "../components/Logo.vue";\r
+\r
+defineProps({\r
+ hideLogo: Boolean\r
+});\r
\r
function toggleTheme() {\r
document.body.classList.toggle("dark-theme");\r
-import { createRouter, createWebHistory } from 'vue-router'\r
+import { createRouter, createWebHistory } from "vue-router";\r
\r
-import HomeView from '/views/HomeView.vue'\r
+import HomeView from "/views/HomeView.vue";\r
+import LoginView from "/views/LoginView.vue";\r
\r
const router = createRouter({\r
history: createWebHistory(import.meta.env.BASE_URL),\r
routes: [\r
{\r
- path: '/',\r
- name: 'home',\r
- component: HomeView\r
- }\r
- ]\r
-})\r
+ path: "/login",\r
+ name: "login",\r
+ component: LoginView,\r
+ },\r
+ {\r
+ path: "/",\r
+ name: "home",\r
+ component: HomeView,\r
+ },\r
+ ],\r
+});\r
\r
-export default router\r
+export default router;\r
<template>\r
- <div class="flex h-full flex-col items-center justify-center">\r
- <SearchInput />\r
+ <div class="h-full">\r
+ <NavBar hide-logo />\r
+ <div class="flex h-full flex-col items-center justify-center">\r
+ <Logo class="mb-5" />\r
+ <SearchInput class="shadow-[0_0_20px] shadow-theme-shadow" />\r
+ </div>\r
</div>\r
</template>\r
\r
<script setup>\r
+import Logo from "../components/Logo.vue";\r
import SearchInput from "../components/SearchInput.vue";\r
+import NavBar from "../partials/NavBar.vue";\r
</script>\r
--- /dev/null
+<template>Login</template>