thelounge/client/components/Session.vue

49 lines
1,004 B
Vue
Raw Normal View History

2019-03-03 18:47:49 +01:00
<template>
2019-12-12 12:37:53 +01:00
<div class="session-item">
<div class="session-item-info">
<strong>{{ session.agent }}</strong>
2019-03-03 18:47:49 +01:00
2019-12-12 12:37:53 +01:00
<a :href="'https://ipinfo.io/' + session.ip" target="_blank" rel="noopener">{{
session.ip
}}</a>
2019-03-03 18:47:49 +01:00
2019-12-12 12:37:53 +01:00
<template v-if="!session.current">
<p v-if="session.active">
<em>Currently active</em>
</p>
<p v-else>
Last used on <time>{{ session.lastUse | localetime }}</time>
</p>
2019-03-03 18:47:49 +01:00
</template>
2019-12-12 12:37:53 +01:00
</div>
<div class="session-item-btn">
<button class="btn" @click.prevent="signOut">
<template v-if="session.current">Sign out</template>
<template v-else>Revoke</template>
</button>
</div>
</div>
2019-03-03 18:47:49 +01:00
</template>
<script>
2019-11-16 18:24:03 +01:00
import Auth from "../js/auth";
import socket from "../js/socket";
2019-03-03 18:47:49 +01:00
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>