Skip to content

Commit 732557a

Browse files
committed
port to grunt
1 parent dbfe71a commit 732557a

File tree

8 files changed

+896
-2741
lines changed

8 files changed

+896
-2741
lines changed

Gruntfile.js

+132
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
module.exports = function (grunt) {
2+
grunt.initConfig({
3+
pkg: grunt.file.readJSON('package.json'),
4+
babel: {
5+
options: {
6+
presets: ['env']
7+
},
8+
dist: {
9+
files: [
10+
{
11+
expand: true,
12+
cwd: 'js',
13+
src: ['**/*.js'],
14+
dest: 'dist/js'
15+
}
16+
]
17+
}
18+
},
19+
cssmin: {
20+
minify: {
21+
expand: true,
22+
src: ['css/*.css', '!css/*.min.css'],
23+
dest: 'dist/',
24+
ext: '.css'
25+
}
26+
},
27+
processhtml: {
28+
dist: {
29+
options: {
30+
process: true
31+
},
32+
files: {
33+
'dist/index.min.html': ['index.html'],
34+
'dist/facility.min.html': ['facility.html']
35+
}
36+
}
37+
},
38+
htmlmin: {
39+
dist: {
40+
options: {
41+
removeComments: true,
42+
collapseWhitespace: true
43+
},
44+
files: {
45+
'dist/index.html': 'dist/index.min.html',
46+
'dist/facility.html': 'dist/facility.min.html'
47+
}
48+
}
49+
},
50+
copy: {
51+
images: {
52+
files: [
53+
{
54+
expand: true,
55+
cwd: 'img',
56+
src: '**/*.{png,jpg,svg,ico}',
57+
dest: 'dist/img'
58+
},
59+
]
60+
},
61+
assets: {
62+
files: [
63+
{
64+
expand: true,
65+
cwd: 'mobile-assets',
66+
src: ['**/*.png'],
67+
dest: 'dist/assets'
68+
},
69+
]
70+
}
71+
},
72+
73+
clean: ['dist*//*.min.*'],
74+
75+
connect: {
76+
server: {
77+
options: {
78+
hostname: '*',
79+
port: 1234,
80+
}
81+
}
82+
},
83+
84+
watch: {
85+
config: {
86+
files: ['Gruntfile.js'],
87+
options: {
88+
reload: true
89+
}
90+
},
91+
html: {
92+
files: ['index.html', 'facility.html'],
93+
tasks: ['babel'],
94+
options: {
95+
livereload: true,
96+
},
97+
},
98+
js: {
99+
files: 'js/**/*.js',
100+
tasks: ['babel'],
101+
options: {
102+
livereload: true,
103+
},
104+
},
105+
css: {
106+
files: 'css/**/*.css',
107+
tasks: ['cssmin'],
108+
options: {
109+
livereload: true,
110+
},
111+
},
112+
img: {
113+
files: 'img/**/*.{png,jpg,svg,ico}',
114+
tasks: ['copy:images'],
115+
options: {
116+
livereload: true,
117+
},
118+
},
119+
},
120+
})
121+
122+
grunt.loadNpmTasks('grunt-contrib-connect')
123+
grunt.loadNpmTasks('grunt-contrib-htmlmin')
124+
grunt.loadNpmTasks('grunt-contrib-watch')
125+
grunt.loadNpmTasks('grunt-contrib-copy')
126+
grunt.loadNpmTasks('grunt-contrib-cssmin')
127+
grunt.loadNpmTasks('grunt-contrib-clean')
128+
grunt.loadNpmTasks('grunt-babel')
129+
grunt.loadNpmTasks('grunt-processhtml')
130+
grunt.registerTask('default', ['build', 'connect', 'watch'])
131+
grunt.registerTask('build', ['babel', 'cssmin', 'processhtml', 'htmlmin', 'copy:images', 'copy:assets', 'clean'])
132+
}

css/style.css css/index.css

File renamed without changes.

facility.html

+15-15
Original file line numberDiff line numberDiff line change
@@ -44,24 +44,24 @@
4444
mixpanel.init("7f7bf0d6ede631fea5d29f1362027aff");</script>
4545

4646
</head>
47-
<body>
48-
<img src="./img/bg-florest-night.svg" class="trees" />
49-
50-
47+
<body>
48+
<img src="./img/bg-florest-night.svg" class="trees" />
49+
50+
5151
<div class="container">
5252
<div class="card mx-auto">
5353
<div class="mx-auto logo">
5454
<img src="./img/logo/dark/[email protected]" />
55-
</div>
56-
<div class="map" id="map">
55+
</div>
56+
<div class="map" id="map">
5757
</div>
5858
<div class="container mt-4">
5959
<div class="row">
6060
<div class="col-md">
6161
<strong id="facility_name" class="facility-name">##########</strong>
6262
<br/>
6363
<span class="facility-address" id="facility_address">######### - ########/##</span>
64-
</div>
64+
</div>
6565
<div class="col-3 route">
6666
<div class="btn-nav float-lg-right mt-3">
6767
<img src="./img/ic-routes.svg" />
@@ -71,7 +71,7 @@
7171
</div>
7272
<div class="row mt-2">
7373
<div id="facility_types" class="types ml-3">
74-
74+
7575
</div>
7676
</div>
7777
<div class="row mobile-route">
@@ -101,8 +101,8 @@
101101
<div class="title-footer">Deseja encontrar mais pontos de coleta?</div>
102102
<div class="desc-footer">Baixe o Descartaê e descubra informações detalhes sobre quais resídos são aceitos e como chegar lá.</div>
103103
</div>
104-
<div class="col-auto mx-auto mt-3">
105-
<a href="#" class="mr-2"><img src="./img/btn-googleplay/[email protected]" class="btn-store" /></a>
104+
<div class="col-auto mx-auto mt-3">
105+
<a href="#" class="mr-2"><img src="./img/btn-googleplay/[email protected]" class="btn-store" /></a>
106106
<a href="#" class="ml-2"><img src="./img/btn-applestore/[email protected]" class="btn-store" /></a>
107107
</div>
108108
</div>
@@ -116,16 +116,16 @@
116116
<div class="title-footer">Deseja encontrar mais pontos de coleta?</div>
117117
<div class="desc-footer">Baixe o Descartaê e descubra informações detalhes sobre quais resídos são aceitos e como chegar lá.</div>
118118
</div>
119-
<div class="col-auto mx-auto">
119+
<div class="col-auto mx-auto">
120120
<a href="#"><img src="./img/btn-googleplay/[email protected]" class="btn-store" /></a>
121121
<br/>
122122
<a href="#"><img src="./img/btn-applestore/[email protected]" class="mt-2 btn-store" /></a>
123123
</div>
124124
</div>
125125
</div>
126-
</div>
126+
</div>
127127

128-
<script src="./facility.js" charset="utf-8"></script>
128+
<script src="./js/facility.js" charset="utf-8"></script>
129129

130130
<script type="text/javascript">
131131
window.fbAsyncInit = function() {
@@ -149,8 +149,8 @@
149149

150150
function track(key) {
151151
mixpanel.track(key);
152-
}
153-
152+
}
153+
154154
</script>
155155
<script async defer
156156
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB6cbP4IPbh5tx4snjE1SPRHb-b9cOPOeU">

index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<meta name="twitter:image" content="https://descartae.com/img/share.png">
3333

3434
<!-- Css Bundle -->
35-
<link rel="stylesheet" href="./css/style.css">
35+
<link rel="stylesheet" href="./css/index.css">
3636

3737
<!-- Font -->
3838
<link href="https://fonts.googleapis.com/css?family=Signika:300,400,600,700" rel="stylesheet">
@@ -359,7 +359,7 @@
359359
</div>
360360
</div>
361361

362-
<script src="./index.js" charset="utf-8"></script>
362+
<script src="./js/index.js" charset="utf-8"></script>
363363
<script async defer src="https://buttons.github.io/buttons.js"></script>
364364

365365
<script type="text/javascript">

facility.js js/facility.js

+15-20
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
require('whatwg-fetch')
2-
31
function runQuery(query, variables, callback) {
42
fetch('https://beta-api.descartae.com/graphql', {
53
method: 'POST',
@@ -11,9 +9,9 @@ function runQuery(query, variables, callback) {
119
})
1210
.then(function(response) { return response.json() })
1311
.then(function(response) {
14-
data = response.data
15-
errors = response.errors
16-
callback(errors, data)
12+
const data = response.data
13+
const errors = response.errors
14+
callback(errors, data)
1715
})
1816
}
1917

@@ -75,43 +73,40 @@ function getQueryParams(qs) {
7573
return params;
7674
}
7775

78-
document.addEventListener('DOMContentLoaded', function() {
76+
document.addEventListener('DOMContentLoaded', function() {
7977
loadFacility(
8078
getQueryParams(document.location.search).id,
8179
function(err, data){
82-
83-
console.log(data)
84-
8580
document.getElementById("facility_name").textContent = data.name;
8681
document.getElementById("facility_address").textContent = data.location.address + " - " + data.location.municipality + "/" + data.location.state;
8782

8883
var week = {SUNDAY: "Domingo", MONDAY: "Segunda-Feira", TUESDAY: "Terça-Feira", WEDNESDAY: "Quarta-Feira", THURDASY: "Quinta-Feira", FRIDAY: "Sexta-Feira", SATURDAY: "Sábado"}
8984

90-
var openHours = "";
91-
for (x = 0; x < data.openHours.length; x++) {
92-
openHours += week[data.openHours[x].dayOfWeek] + ": " + data.openHours[x].startTime + " - " + data.openHours[x].endTime + "\r\n";
85+
var openHours = "";
86+
for (let x = 0; x < data.openHours.length; x++) {
87+
openHours += week[data.openHours[x].dayOfWeek] + ": " + data.openHours[x].startTime + " - " + data.openHours[x].endTime + "\r\n";
9388
}
9489

9590
var types = document.getElementById("facility_types");
96-
97-
for (x = 0; x < data.typesOfWaste.length; x++) {
91+
92+
for (let x = 0; x < data.typesOfWaste.length; x++) {
9893
var img = document.createElement("img");
9994
img.src = data.typesOfWaste[x].icons.iosMediumURL;
10095
types.appendChild(img);
10196
}
102-
103-
document.getElementById("facility_openHours").textContent = openHours;
104-
document.getElementById("facility_telephone").textContent = data.telephone;
105-
106-
var uluru = {lat: data.location.coordinates.latitude, lng: data.location.coordinates.longitude};
97+
98+
document.getElementById("facility_openHours").textContent = openHours;
99+
document.getElementById("facility_telephone").textContent = data.telephone;
100+
101+
var uluru = { lat: data.location.coordinates.latitude, lng: data.location.coordinates.longitude };
107102
var map = new google.maps.Map(document.getElementById('map'), {
108103
zoom: 14,
109104
center: uluru
110105
});
111106
var marker = new google.maps.Marker({
112107
position: uluru,
113108
icon: "./img/ic-pin.svg",
114-
map: map
109+
map: map
115110
});
116111
}
117112
)

index.js js/index.js

+3-46
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
require('whatwg-fetch')
2-
31
function runQuery(query, variables, callback) {
42
fetch('https://beta-api.descartae.com/graphql', {
53
method: 'POST',
@@ -11,53 +9,12 @@ function runQuery(query, variables, callback) {
119
})
1210
.then(function(response) { return response.json() })
1311
.then(function(response) {
14-
data = response.data
15-
errors = response.errors
16-
callback(errors, data)
12+
const data = response.data
13+
const errors = response.errors
14+
callback(errors, data)
1715
})
1816
}
1917

20-
function loadFacility(id, callback){
21-
var query = " \
22-
query Facility ($id: ID!) { \
23-
facility(_id: $id) { \
24-
_id \
25-
name \
26-
website \
27-
telephone \
28-
typesOfWaste { \
29-
_id \
30-
name \
31-
color \
32-
} \
33-
openHours { \
34-
dayOfWeek \
35-
startTime \
36-
endTime \
37-
} \
38-
location { \
39-
address \
40-
municipality \
41-
state \
42-
zip \
43-
coordinates { \
44-
latitude \
45-
longitude \
46-
} \
47-
} \
48-
} \
49-
} \
50-
"
51-
52-
runQuery(query, { id }, function(err, data) {
53-
if (data && data.facility) {
54-
callback(err, data.facility)
55-
} else {
56-
callback(err)
57-
}
58-
})
59-
}
60-
6118
function loadFacilities(callback){
6219
var query = " \
6320
query Facilities { \

0 commit comments

Comments
 (0)