misc_pterodactyl-panel/resources/assets/scripts/components/dashboard/Account.ts
2018-12-30 15:07:12 -08:00

58 lines
1.9 KiB
TypeScript

import Vue from 'vue';
import Navigation from "../core/Navigation";
import Flash from "../Flash";
import UpdateEmail from "./account/UpdateEmail";
import ChangePassword from "./account/ChangePassword";
import TwoFactorAuthentication from "./account/TwoFactorAuthentication";
import Modal from "../core/Modal";
export default Vue.component('account', {
components: {
TwoFactorAuthentication,
Modal,
ChangePassword,
UpdateEmail,
Flash,
Navigation
},
data: function () {
return {
modalVisible: false,
};
},
methods: {
openModal: function () {
this.modalVisible = true;
window.events.$emit('two_factor:open');
},
},
template: `
<div>
<navigation/>
<div class="container animate fadein mt-2 sm:mt-6">
<modal :show="modalVisible" v-on:close="modalVisible = false">
<TwoFactorAuthentication v-on:close="modalVisible = false"/>
</modal>
<flash container="mt-2 sm:mt-6 mb-2"/>
<div class="flex flex-wrap">
<div class="w-full md:w-1/2">
<div class="sm:m-4 md:ml-0">
<update-email class="mb-4 sm:mb-8"/>
<div class="content-box text-center mb-4 sm:mb-0">
<button class="btn btn-green btn-sm" type="submit" id="grid-open-two-factor-modal"
v-on:click="openModal"
>Configure 2-Factor Authentication</button>
</div>
</div>
</div>
<div class="w-full md:w-1/2">
<change-password class="sm:m-4 md:mr-0"/>
</div>
</div>
</div>
</div>
`,
})