Advertisement
Guest User

Untitled

a guest
May 19th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 3.15 KB | None | 0 0
  1. <template>
  2.   <div id="app" class="container">
  3.     <h1>Bem vindo a {{ title }}</h1>
  4.  
  5.     <h3 v-if="horas >= 9 && horas < 17" id="aberta">ABERTA</h3>
  6.    <h3 v-else-if="horas >= 17 && horas < 18" id="proxima-fechar">PRÓXIMA DE FECHAR</h3>
  7.    <h3 v-else id="fechada">FECHADA</h3>
  8.  
  9.    <div class="row">
  10.      <div class="col">
  11.        <h2>Filmes encontrados</h2>
  12.        <button type="button" class="btn btn-primary btn-lg">
  13.          Carrinho: {{ quantidadeNoCarrinho }} filmes
  14.        </button>
  15.      </div>
  16.    </div>
  17.  
  18.    <div class="row">
  19.  
  20.      <div class="col-3" v-bind:key="filme.id" v-for="filme in filmes">
  21.        <div class="card">
  22.          <img v-bind:src="filme.imagem" class="card-img-top" alt="imagem do filme">
  23.          <div class="card-body">
  24.            <h5 class="card-title">{{ filme.titulo }}</h5>
  25.            <p class="card-text" v-html="filme.descricao"></p>
  26.            <p class="card-text">{{ filme.valor | formatarPreco("R$") }}</p>
  27.            <a href="#"
  28.              @click="adicionarAoCarrinho(filme)"
  29.              v-if="validarPermissaoParaAdicionarNoCarrinho(filme)"
  30.              class="btn btn-primary">ALUGAR</a>
  31.            <a href="#" v-else class="btn btn-primary disabled">ALUGAR</a>
  32.          </div>
  33.        </div>
  34.      </div>
  35.  
  36.    </div>
  37.  </div>
  38. </template>
  39.  
  40. <script>
  41. export default {
  42.  name: "app",
  43.  data: function() {
  44.    return {
  45.      title: "Locadora de Filmes",
  46.      horas: new Date().getHours(),
  47.      filmes: [
  48.        { id: 1, titulo: "Vingadores", descricao: "Um <b>filme</b> de heróis", valor: 25, imagem: "assets/logo.png", estoqueDisponivel: 3 },
  49.        { id: 2, titulo: "Pantera Negra", descricao: "Um filme de panteras", valor: 35, imagem: "assets/logo.png", estoqueDisponivel: 6 },
  50.        { id: 3, titulo: "Homem-Formiga", descricao: "Um filme de formigas", valor: 20, imagem: "assets/logo.png", estoqueDisponivel: 2 },
  51.        { id: 4, titulo: "Capitã Marvel", descricao: "Um filme de capitãs", valor: 40, imagem: "assets/logo.png", estoqueDisponivel: 8 },
  52.        { id: 5, titulo: "Hulk", descricao: "Um filme de força", valor: 10, imagem: "assets/logo.png", estoqueDisponivel: 7 }
  53.      ],
  54.      carrinho: []
  55.    };
  56.   },
  57.   methods: {
  58.     adicionarAoCarrinho: function(filme) {
  59.       this.carrinho.push(filme.id);
  60.     },
  61.     quantidadeNoCarrinhoPorFilme: function(filme) {
  62.       var quantidade = 0;
  63.       for(var i = 0; i < this.carrinho.length; i++) {
  64.        if (filme.id == this.carrinho[i]) {
  65.          quantidade++;
  66.        }
  67.      }
  68.      return quantidade;
  69.    },
  70.    validarPermissaoParaAdicionarNoCarrinho: function(filme) {
  71.      return filme.estoqueDisponivel > this.quantidadeNoCarrinhoPorFilme(filme);
  72.     }
  73.   },
  74.   computed: {
  75.     quantidadeNoCarrinho: function() {
  76.       return this.carrinho.length;
  77.     }
  78.   }
  79. };
  80. </script>
  81.  
  82. <style>
  83. #app {
  84.   font-family: "Avenir", Helvetica, Arial, sans-serif;
  85.   -webkit-font-smoothing: antialiased;
  86.   -moz-osx-font-smoothing: grayscale;
  87.   text-align: center;
  88.   color: #2c3e50;
  89.   margin-top: 60px;
  90. }
  91.  
  92. #aberta {
  93.   color: blue;
  94. }
  95.  
  96. #proxima-fechar {
  97.   color: orange;
  98. }
  99.  
  100. #fechada {
  101.   color: red;
  102. }
  103. </style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement