Skip to content

Commit 9134ca5

Browse files
committed
Refatoração completa do código e desenvolvimento da parte de jogos STEAM
1 parent ec0641f commit 9134ca5

4 files changed

Lines changed: 191 additions & 24 deletions

File tree

index.html

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!DOCTYPE html>
1+
<!DOCTYPE html>
22
<html>
33

44
<head>
@@ -13,6 +13,8 @@
1313
<link rel="stylesheet" href="css/bulma.min.css" />
1414
<link rel="stylesheet" href="css/bulma-pageloader.min.css" />
1515
<link rel="stylesheet" type="text/css" href="css/landing.css">
16+
<meta http-equiv="Access-Control-Allow-Origin" content="*">
17+
1618
</head>
1719

1820
<body>
@@ -36,7 +38,7 @@ <h2 class="subtitle">
3638
<select id="cmbTipoGerador">
3739
<option selected disabled="disabled">Selecione</option>
3840
<option value="1">Filmes/Séries/Episódioss</option>
39-
<option disabled="disabled" value="2">Jogos</option>
41+
<option value="2">Jogos</option>
4042
<option disabled="disabled" value="3">Músicas</option>
4143
</select>
4244
</div>
@@ -52,8 +54,8 @@ <h2 class="subtitle">
5254
<div class=" is-fullwidth">
5355
<div class="field">
5456
<div class="control">
55-
<input class="input is-primary" id="txtIMDbId" type="text" value="tt4154664"
56-
placeholder="Exemplo: tt4154664">
57+
<input class="input is-primary" id="txtIMDbId" type="text"
58+
placeholder="Exemplo: tt4154664">
5759
</div>
5860
</div>
5961

@@ -63,32 +65,42 @@ <h2 class="subtitle">
6365
<button type="button" id="btnLoadImdb" class="button is-primary">Escolher</button>
6466
</div>
6567
</div>
66-
<button type="button" id="btnGerar" style="display: none"
67-
class="button is-fullwidth is-primary">Gerar BBCode</button>
6868
</div>
6969

70-
<div class="box" id="divBBCode" style="display:none">
71-
<div class="field">
70+
<div class="box" id="divJogosSteam" style="display:none">
71+
<div class="field has-addons">
7272
<div class="control is-expanded">
73-
<div class="is-fullwidth">
74-
<textarea class="textarea" id="txtBBCode"></textarea>
73+
<div class=" is-fullwidth">
74+
<div class="field">
75+
<div class="control">
76+
<input class="input is-primary" id="txtSteamId" type="text"
77+
placeholder="Exemplo: 730">
78+
</div>
79+
</div>
80+
7581
</div>
7682
</div>
83+
<div class="control">
84+
<button type="button" id="btnLoadSteam" class="button is-primary">Escolher</button>
85+
</div>
7786
</div>
78-
7987
</div>
88+
8089
</div>
8190

91+
</div>
92+
</div>
8293
</section>
8394
<div id="pageLoader" class="pageloader"><span class="title">Pageloader</span></div>
8495

8596

8697
<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
87-
<script async type="text/javascript" src="js/bulma.js"></script>
88-
<script async type="text/javascript" src="js/bulma-toast.min.js"></script>
89-
<script async type="text/javascript" src="js/baseLib.js"></script>
90-
<script async type="text/javascript" src="js/geradorFilmeSerieEpisodio.js"></script>
91-
<script async type="text/javascript" src="js/indexView.js"></script>
98+
<script type="text/javascript" src="js/bulma.js"></script>
99+
<script type="text/javascript" src="js/bulma-toast.min.js"></script>
100+
<script type="text/javascript" src="js/baseLib.js"></script>
101+
<script type="text/javascript" src="js/geradorFilmeSerieEpisodio.js"></script>
102+
<script type="text/javascript" src="js/geradorJogosSteam.js"></script>
103+
<script type="text/javascript" src="js/indexView.js"></script>
92104
<script type="text/javascript">
93105
$(window).on('load', function () {
94106
console.log('All assets are loaded')

js/baseLib.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ var baseLib = {
1313
reformatDate: function (dateStr) {
1414
dArr = dateStr.split("-");
1515
return dArr[2] + "/" + dArr[1] + "/" + dArr[0].substring(2);
16+
},
17+
18+
getYearFromDDMMMYYYY: function (dateStr) {
19+
dArr = dateStr.split(" ");
20+
return dArr[2];
1621
}
1722

1823

js/geradorJogosSteam.js

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
var GeradorJogosSteam = {
2+
3+
SteamId: null,
4+
5+
StaticUrl: {
6+
urlSeparatorImage: "https://i.imgur.com/b7NydPU.png",
7+
urlMetacriticLogoImage: "https://i.imgur.com/hzTTczo.png",
8+
},
9+
10+
Data: {
11+
Steam: null
12+
},
13+
14+
Validar: function () {
15+
16+
if (this.SteamId.trim().length == 0 || this.SteamId == null) {
17+
bulmaToast.toast({ message: "O código do jogo na STEAM é obrigatório", type: "is-danger", duration: 4000 });
18+
return false;
19+
}
20+
21+
this.Data.Steam = this.SteamService(this.SteamId.trim())[this.SteamId];
22+
23+
if (this.Data.Steam.success == false ) {
24+
bulmaToast.toast({ message: "O código do jogo na STEAM informado é inválido!", type: "is-danger", duration: 4000 });
25+
return false;
26+
}
27+
28+
baseLib.copyToClipboard(this.GerarBBCode());
29+
bulmaToast.toast({ message: "BBCode copiado para a área de transferência!", type: "is-success", duration: 4000 });
30+
31+
32+
},
33+
34+
GerarBBCode: function () {
35+
var str = `
36+
${this.InserirSeparador()}
37+
${this.InserirTitulo()}
38+
${this.InserirSeparador()}
39+
${this.InserirCapa()}
40+
${this.InserirSeparador()}
41+
${this.InserirSinopse()}
42+
${this.InserirSeparador()}
43+
${this.InserirInformacao()}
44+
${this.InserirSeparador()}
45+
${this.InserirCritica()}
46+
${this.InserirSeparador()}
47+
${this.InserirScreenshots()}
48+
49+
`;
50+
51+
return str;
52+
53+
},
54+
55+
InserirSeparador: function () {
56+
return `[align=center][img]${this.StaticUrl.urlSeparatorImage}[/img][/align]`;
57+
},
58+
59+
InserirTitulo: function () {
60+
var str = `[b][align=center] ${this.Data.Steam.data.name} [/align][/b]
61+
[b][align=center] (-- ${baseLib.getYearFromDDMMMYYYY(this.Data.Steam.data.release_date.date)} --) [/align][/b]`;
62+
63+
return str;
64+
},
65+
66+
InserirCapa: function () {
67+
return `[align=center][img]${this.Data.Steam.data.header_image}[/img][/align]`;
68+
},
69+
70+
InserirSinopse: function () {
71+
var str = `[b][align=center]SINOPSE[/align][/b]
72+
[align=center]${this.Data.Steam.data.about_the_game}[/align]`;
73+
74+
75+
return str;
76+
},
77+
78+
InserirInformacao: function () {
79+
var str = "";
80+
str += "\n[b][align=center]INFORMAÇÕES[/align][/b]";
81+
str += `\n[align=center]Data de Lançamento: ${this.Data.Steam.data.release_date.date} [/align]`;
82+
str += `\n[align=center]Gêneros: ${this.Data.Steam.data.genres.map(function (elem) { return elem.description; }).join(", ")} [/align]`;
83+
str += `\n[align=center]Publicadores: ${this.Data.Steam.data.publishers.join(", ")} [/align]`;
84+
str += `\n[align=center]Desenvolvedores: ${this.Data.Steam.data.developers.join(", ")} [/align]`;
85+
if (this.Data.Steam.data.price_overview != null) str += `\n[align=center]Preço (na STEAM): ${this.Data.Steam.data.price_overview.final_formatted} [/align]`;
86+
if (this.Data.Steam.data.website == null) str += `\n[align=center]Site: [url=${this.Data.Steam.data.website}] Clique aqui [/url][/align]`;
87+
88+
return str;
89+
},
90+
91+
InserirCritica: function () {
92+
var str = "";
93+
94+
str += "\n[b][align=center]CRÍTICA[/align][/b]";
95+
if (this.Data.Steam.data.metacritic != null) {
96+
str += `\n[align=center][img]${this.StaticUrl.urlMetacriticLogoImage}[/img][/align]`;
97+
str += `\n[align=center][b][url=${this.Data.Steam.data.metacritic.url}]${this.Data.Steam.data.metacritic.score}/100[/b][/url][/align]`
98+
} else {
99+
str += `\n[align=center][b]###### SEM CRÍTICA ######[/b][/align]`
100+
}
101+
102+
return str;
103+
},
104+
105+
InserirScreenshots: function () {
106+
var str = "";
107+
str += "\n[b][align=center]SCREENSHOTS[/align][/b]";
108+
109+
this.Data.Steam.data.screenshots.forEach(element => {
110+
str += `\n[align=center][img] ${element.path_full.trim()}[/img][/align]`
111+
});
112+
113+
return str;
114+
},
115+
116+
InserirTrailer: function () {
117+
118+
},
119+
120+
InserirAgradecaComente: function () {
121+
122+
},
123+
124+
125+
SteamService: function () {
126+
var urlRequest = "https://vindicator.com.br/steam?id=" + this.SteamId;
127+
128+
var result = null;
129+
130+
$.ajax({
131+
url: urlRequest,
132+
async: false,
133+
success: function (data) {
134+
result = data;
135+
console.log(result);
136+
}
137+
});
138+
return result;
139+
},
140+
};

js/indexView.js

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ var indexView = {
88
switch (selectedTipoGerador) {
99
case "1":
1010
$('#divFilmeSerie').show();
11+
break;
1112
case "2":
12-
case "3":
13+
$('#divJogosSteam').show();
1314
break;
1415

1516
default:
@@ -20,19 +21,28 @@ var indexView = {
2021

2122
$('#btnLoadImdb').click(function () {
2223

23-
$('#pageLoader').addClass("is-active");
24-
25-
GeradorFilmeSerieEpisodio.IMDbId = $('#txtIMDbId').val().trim();
24+
GeradorFilmeSerieEpisodio.IMDbId = $('#txtIMDbId').val().trim();
2625
GeradorFilmeSerieEpisodio.Validar();
2726

28-
$('#pageLoader').removeClass("is-active");
27+
});
28+
29+
$('#btnLoadSteam').click(function () {
2930

30-
// $('#btnGerar').show();
31+
GeradorJogosSteam.SteamId = $('#txtSteamId').val().trim();
32+
GeradorJogosSteam.Validar();
3133

32-
// bulmaToast.toast({ message: "Pronto! Basta clicar em Gerar BBCode!", type: "is-success", duration: 4000 });
33-
// bulmaToast.toast({ message: "BBCode gerado! Basta copiar para sua postagem!", type: "is-success", duration: 4000 });
34+
});
3435

36+
jQuery.ajaxSetup({
37+
beforeSend: function () {
38+
$('#pageLoader').addClass("is-active");
39+
},
40+
complete: function () {
41+
$('#pageLoader').removeClass("is-active");
42+
},
43+
success: function () { }
3544
});
3645

46+
3747
}
3848
}

0 commit comments

Comments
 (0)