</RouterLink>\r
<div class="flex grow items-start justify-end">\r
<!-- New Note -->\r
- <RouterLink :to="{ name: 'new' }">\r
+ <RouterLink v-if="showNewButton" :to="{ name: 'new' }">\r
<CustomButton :iconPath="mdilPlusCircle" label="New Note" />\r
</RouterLink>\r
<!-- Menu -->\r
mdilNoteMultiple,\r
mdilPlusCircle,\r
} from "@mdi/light-js";\r
-import { ref } from "vue";\r
+import { computed, ref } from "vue";\r
import { RouterLink, useRouter } from "vue-router";\r
\r
import CustomButton from "../components/CustomButton.vue";\r
import Logo from "../components/Logo.vue";\r
import PrimeMenu from "../components/PrimeMenu.vue";\r
+import { authTypes } from "../constants.js";\r
+import { useGlobalStore } from "../globalStore.js";\r
import { toggleTheme } from "../helpers.js";\r
import { clearStoredToken } from "../tokenStorage.js";\r
\r
+const globalStore = useGlobalStore();\r
const menu = ref();\r
const router = useRouter();\r
\r
},\r
{\r
separator: true,\r
+ visible: showLogOutButton,\r
},\r
{\r
label: "Log Out",\r
icon: mdilLogout,\r
command: logOut,\r
+ visible: showLogOutButton,\r
},\r
];\r
\r
+const showNewButton = computed(() => {\r
+ return globalStore.authType !== authTypes.readOnly;\r
+});\r
+\r
function logOut() {\r
clearStoredToken();\r
router.push({ name: "login" });\r
function toggleMenu(event) {\r
menu.value.toggle(event);\r
}\r
+\r
+function showLogOutButton() {\r
+ return ![authTypes.none, authTypes.readOnly].includes(globalStore.authType);\r
+}\r
</script>\r