<template>
    <div class="modal modal-otp" v-bind:class="{ 'is-active': isActive }">
        <div class="modal-background" @click.stop="closeModal"></div>
        <div class="modal-content">
            <section class="section">
                <div class="columns is-centered">
                    <div class="column is-three-quarters">
                        <div class="modal-slot box has-text-centered is-shadowless">
                            <slot></slot>
                        </div>
                    </div>
                </div>
            </section>
        </div>
        <div v-if="this.showcloseButton" class="fullscreen-footer">
            <!-- Close button -->
            <button id="btnClose" ref="closeModalButton" class="button is-rounded" :class="{'is-dark' : $root.showDarkMode}" @click.stop="closeModal">
                {{ $t('commons.close') }}
            </button>
        </div>
    </div>
</template>

<script>
export default {
    name: 'Modal',

    data(){
        return {
            showcloseButton: this.closable,
        }
    },

    props: {
        value: Boolean,
        closable: {
            type: Boolean,
            default: true
        },
    },

    computed: {
        isActive: {
            get () {
                return this.value
            },
            set (value) {
                this.$emit('input', value)
            }
        }
    },

    methods: {
        closeModal: function(event) {
            if (event) {
                this.isActive = false
                this.$notify({ clean: true })
                this.$parent.$emit('modalClose')
            }
        }
    }
}
</script>