logout functionality (still needs ws disconnect to work fully)

This commit is contained in:
Andrew Gundersen 2021-03-10 11:16:02 -06:00
commit 387d3dd54b

View file

@ -14,7 +14,12 @@
<!-- Settings "page." --> <!-- Settings "page." -->
<div id="settings" v-show="toggleSettings"> <div id="settings" v-show="toggleSettings">
<button class="settingsOption">Logout</button> <button
class="settingsOption"
@click="onLogout"
>
Logout
</button>
</div> </div>
<!-- List of message bubbles. --> <!-- List of message bubbles. -->
@ -31,6 +36,9 @@ import MessageItem from "@/components/messageItem.vue";
import InputItem from "@/components/inputItem/inputItem.vue"; import InputItem from "@/components/inputItem/inputItem.vue";
import useMitt from "@/modules/mitt"; import useMitt from "@/modules/mitt";
import { useRouter } from "vue-router";
import { useAuth } from "@/modules/auth";
export default defineComponent({ export default defineComponent({
name: "Messenger", name: "Messenger",
@ -41,8 +49,11 @@ export default defineComponent({
setup() { setup() {
const { logout } = useAuth();
const router = useRouter();
// Whether or not to show the settings. // Whether or not to show the settings.
let toggleSettings = ref(false); const toggleSettings = ref(false);
// Listen for escape key to close settings. // Listen for escape key to close settings.
const onEscape = (e: any) => { const onEscape = (e: any) => {
@ -58,6 +69,12 @@ export default defineComponent({
window.addEventListener("keydown", onEscape); window.addEventListener("keydown", onEscape);
} }
// When user clicks logout button in settings.
const onLogout = () => {
logout();
router.push({ name: "login" });
}
const { emitter } = useMitt(); const { emitter } = useMitt();
@ -103,7 +120,8 @@ export default defineComponent({
return { return {
toggleSettings, toggleSettings,
messages, messages,
onSettings onSettings,
onLogout
}; };
}, },
}); });