<style scoped>
    .question {
      padding: 0.5em;
    }

    button {
      display: block; 
      width: 80%;
      margin: 0 auto;
      margin-bottom: 5%;
    }    
    
</style>

<template>
    <div class="question">
        <p>{{ question }}</p>
        <div v-if="type === 'yesno'" class="question-choice">
            <button v-on:click="$store.commit('nextQuestion')">Ja</button>
            <button v-on:click="$store.commit('nextQuestion')">Nein</button>
        </div>
        <div v-if="type === 'slider'" class="question-slider">
            <p>{{ selection }}</p>
            <input v-model="selection" type="range" min="0" max="150" value="18" class="slider">
        </div>
        <div v-if="type === 'choice'" class="question-options">
            <button v-bind:key="answer.text"
                    v-for="answer in answers"
                    v-on:click="answerQuestion(answer.value)">{{ answer.text }}</button>
        </div>
        <router-link to="/questionnaire/help" style="text-decoration: none"><button class="alert">Ich brauche Hilfe zu dieser Frage</button></router-link>
        <svg v-on:click="goBack()" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="48" height="48"><path fill="none" d="M0 0h24v24H0z"/><path d="M8 11.333l10.223-6.815a.5.5 0 0 1 .777.416v14.132a.5.5 0 0 1-.777.416L8 12.667V19a1 1 0 0 1-2 0V5a1 1 0 1 1 2 0v6.333z"/></svg>
    </div>
</template>

<script>
    export default {
        name: "Question",
        props: {
            type: String,
            question: String,
            answers: Array
        },
        data() {
            return {
                selection: 0
            }
        },
        methods: {
            answerQuestion(value) {
                this.$store.commit('answerQuestion', value)
                this.$store.commit('nextQuestion')
            },
            goBack() {
                this.$store.commit('previousQuestion')
            }
        },
    }
</script>

<style scoped>
    .slider {
        -webkit-appearance: none;
        appearance: none;
        width: 100%;
        height: 1em;
        background: #d3d3d3;
        outline: none;
        opacity: 0.7;
        -webkit-transition: .2s;
        transition: opacity .2s;
    }

    .slider:hover {
        opacity: 1;
    }

    .slider::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 2.5em;
        height: 2.5em;
        background: #e94a47;
        cursor: pointer;
    }

    .slider::-moz-range-thumb {
        width: 2.5em;
        height: 2.5em;
        background: #e94a47;
        cursor: pointer;
    }

</style>