<!DOCTYPE html>
<html>
  <head>
    <link data-require="bootstrap@3.3.7" data-semver="3.3.7" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
    <link rel="stylesheet" href="style.css" />
  </head>
  <body>
    <div class="container" id="progressbar">
      <div class="progress">
        <div class="progress-bar progress-bar-striped" role="progressbar" :aria-valuenow="progress" aria-valuemin="0" aria-valuemax="100" :style="{'width': `${progress}%`}">
          {{ progress }}%
        </div>
      </div>
      <div v-if="completed">
        <button class="btn" @click="restart">Restart!</button>
      </div>
    </div>
    
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
    <script src="script.js"></script>
  </body>
</html>
// Code goes here
new Vue({
	el: '#progressbar',
  data: { 
  	progress: 0,
    completed: false,
    tempo: 50,
  },
  created: function() {
  	this.timer(this.tempo)
  },
    methods: {
  	timer: function(tempo) {
    	let vm = this;
    	let setIntervalRef = setInterval(function() {
      	vm.progress++;
        if (vm.progress == 100) {
        	clearInterval(setIntervalRef);
        	vm.completed = true;
				}
      }, tempo);
    },
    restart: function() {
    	this.completed = false;
      this.progress = 0;
      this.timer(this.tempo);
    }
  }
});



/* Styles go here */
html {
  margin: 15px;
}