Algumas coisas
Andrey

Milhas ou Dinheiro

23/11/2016

visite o site do serviço

angular milhas gol tam multiplus

É uma aplicação bem simples, mas tem sido bem útil pramim e pra mais algumas pessoas. Feito em Angular que calcula o valor em reais de passagens que podem ser compradas com dinheiro, milhas ou uma combinação dos dois.

Geralmente, tanto nas pesquisas feitas no site da Gol/Smiles como na Latam/Multiplus, são exibidos valores de passagens com pontos:

  • Somente pontos. Ex.: 25000 pontos
  • Poucos pontos + muitos reais. Ex.: 1000 pontos + 500 reais
  • Poucos pontos + muitos reais. Ex.: 5000 pontos + 300 reais
  • Poucos pontos + muitos reais. Ex.: 20000 pontos + 50 reais

Além disso, é possível pesquisar o valor da passagem em reais.

As contas a serem feitas são bem simples, mas dão uma trabalheira. Então, esse código bem simples deu uma boa ajuda.

Foi utilizado apenas AngularJS. Talvez, no futuro, eu venha a implementar algum CSS só pra deixar mais bonito.

O comparadorApp.js é totalmente dispensável: ele só foi usado para definir os valores iniciais. O restante é html simples: campos de input com valores ligados aos cálculos pelo próprio AngularJS, entre {{ e }}.

Abaixo, os arquivos simplificados. Na aplicação, tem uns CSSs e os campos estão numa tabela. Além disso, lá tem dois controllers, um para Smiles e outro para Multiplus.

Se quiser, o download dos fontes está aqui ou veja no github.

milhas-ou-dinheiro.html

<script src="comparadorApp.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>

<div ng-app="comparadorApp">

	<div ng-controller="smilesCtrl">

		<p>	<label>Preço de 1 mil pontos:</label>
			<input type="number" ng-model="precoMilhas">
	    </p>

		<p>	<label>zero milhas, só dinheiro</label>
	    	<input type="number" ng-model="preco" placeholder="Em reais">
	    	<span class="p" id="psD">R${{preco}}</span>
	    </p>

	    <p>	<label>só milhas, zero dinheiro</label>
	    	<input type="number" ng-model="pontos" placeholder="Em múltiplos de 1000">
	    	<span class="p" id="psM">R${{pontos * precoMilhas}}</span>
	    </p>

	    <p>Pontos mais milhas</p>

	    <p>	<label>Pontos</label>  	<input type="number" ng-model="pontosA">
	    	<label>Reais</label>   	<input type="number" ng-model="precoA">
	    	<span class="p" id="psA">R${{pontosA * precoMilhas + precoA}}</span>
	    </p>


		<p>	<label>Pontos</label>	<input type="number" ng-model="pontosB"></td>
		    <label>Reais</label>   	<input type="number" ng-model="precoB" placeholder="Em reais">
		    <span class="p" id="psB">R${{pontosB * precoMilhas + precoB}}</span>
	        
	    <p>	<label>Pontos</label>	<input type="number" ng-model="pontosC" placeholder="Em múltiplos de 1000">
	        <label>Reais</label>   	<input type="number" ng-model="precoC" placeholder="Em reais">
	        <span class="p" id="psC">R${{pontosC * precoMilhas + precoC}}</span>
	    </p>

	</div>

</div>

comparadorApp.js

Conforme escrevi acima, esse arquivo é totalmente dispensável: ele só foi usado para definir os valores iniciais.


var app = angular.module('comparadorApp', []);

app.controller('smilesCtrl', function($scope,$http) {

  $scope.precoMilhas = 35;

  $scope.pontos = 20;
  $scope.pontosA = 1;
  $scope.pontosB = 5;
  $scope.pontosC = 19;

  $scope.preco = 668;
  $scope.precoA = 602;
  $scope.precoB = 373;
  $scope.precoC = 48;

});