thelounge/client/components/Session.vue
2019-11-25 20:12:27 +02:00

56 lines
983 B
Vue

<template>
<p>
<button
class="btn pull-right remove-session"
@click.prevent="signOut"
>
<template v-if="session.current">
Sign out
</template>
<template v-else>
Revoke
</template>
</button>
<strong>{{ session.agent }}</strong>
<a
:href="'https://ipinfo.io/'+session.ip"
target="_blank"
rel="noopener"
>{{ session.ip }}</a>
<template v-if="!session.current">
<br>
<template v-if="session.active">
<em>Currently active</em>
</template>
<template v-else>
Last used on <time>{{ session.lastUse | localetime }}</time>
</template>
</template>
</p>
</template>
<script>
const Auth = require("../js/auth");
const socket = require("../js/socket");
export default {
name: "Session",
props: {
session: Object,
},
methods: {
signOut() {
if (!this.session.current) {
socket.emit("sign-out", this.session.token);
} else {
socket.emit("sign-out");
Auth.signout();
}
},
},
};
</script>