Skip to content

Commit 926b255

Browse files
Merge pull request #117 from fac-17/Feature/js-fixes-vic
JS and API small fixes
2 parents 3957e9f + c6a98e5 commit 926b255

7 files changed

+51
-65
lines changed

public/css/uniqueMealPlan.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@
2222
}
2323

2424
.form__unique-meal-plan{
25-
display: none;
25+
display: block;
2626
}

public/js/additionalChoices.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,19 @@ document.querySelectorAll(".recipe__select").forEach(button => {
2222
let newString = oldString.replace(`+${button.id}`, "");
2323
document.cookie = newString;
2424
} else if (document.cookie.split("+").length > 5) {
25-
window.alert("Please select an additional 3 recipes");
25+
window.alert("Please select up to three additional recipes");
2626
} else {
2727
document.cookie = `${document.cookie}+${button.id}`;
2828
}
29-
console.log("Cookie: ", document.cookie);
29+
// console.log("Cookie: ", document.cookie);
3030
});
3131
});
3232

3333
document
34-
.querySelector(".newplan__nav_buttons__next")
34+
.querySelector(".second-choices__save-button")
3535
.addEventListener("click", e => {
36-
if (document.cookie.split("+").length !== 5) {
36+
if (document.cookie.split("+").length > 6) {
3737
e.preventDefault();
38-
window.alert("Please select an additional 3 recipes");
38+
window.alert("Please select up to three additional recipes");
3939
}
4040
});

public/js/main.js

-39
Original file line numberDiff line numberDiff line change
@@ -1,39 +0,0 @@
1-
const emailForm = document.querySelector(".unique-meal-plan__form");
2-
const emailButton = document.querySelector(".unique-meal-plan__form__email");
3-
const emailInput = document.querySelector(".email-input-field");
4-
const url = window.location.href;
5-
6-
emailForm.addEventListener("submit", e => {
7-
e.preventDefault();
8-
let xhr = new XMLHttpRequest();
9-
xhr.onreadystatechange = () => {
10-
if (xhr.readyState === 4 && xhr.status === 200) {
11-
}
12-
};
13-
14-
xhr.open("POST", "/sendEmail", true);
15-
xhr.setRequestHeader("Content-Type", "x-www-form-urlencoded");
16-
xhr.send(JSON.stringify({ email: emailInput.value, url }));
17-
});
18-
19-
const cookieHandler = id => {
20-
document.cookie.includes(`recipe${id}=true`)
21-
? (document.cookie = `${id}=false`)
22-
: (document.cookie = `${id}=true`);
23-
};
24-
25-
document.cookie = "recipes=";
26-
document.querySelectorAll(".recipe__select").forEach(button => {
27-
button.addEventListener("click", e => {
28-
if (document.cookie.includes(button.id)) {
29-
let oldString = document.cookie;
30-
let newString = oldString.replace(`+${button.id}`, "");
31-
document.cookie = newString;
32-
} else if (document.cookie.split("+").length > 2) {
33-
window.alert("Please select two recipes only");
34-
} else {
35-
document.cookie = `${document.cookie}+${button.id}`;
36-
}
37-
console.log("Cookie: ", document.cookie);
38-
});
39-
});

public/js/uniqueMealPlan.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const emailForm = document.querySelector(".unique-meal-plan__form");
2+
const emailButton = document.querySelector(".unique-meal-plan__form__email");
3+
const emailInput = document.querySelector(".email-input-field");
4+
const url = window.location.href;
5+
6+
emailForm.addEventListener("submit", e => {
7+
e.preventDefault();
8+
let xhr = new XMLHttpRequest();
9+
xhr.onreadystatechange = () => {
10+
if (xhr.readyState === 4 && xhr.status === 200) {
11+
}
12+
};
13+
14+
xhr.open("POST", "/sendEmail", true);
15+
xhr.setRequestHeader("Content-Type", "x-www-form-urlencoded");
16+
xhr.send(JSON.stringify({ email: emailInput.value, url }));
17+
});

src/model/queries/apiCall.js

+24-19
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,35 @@
1-
// const recipeUrl = "https://api.spoonacular.com/recipes/random?number=5&apiKey=fa31546b9db54de4ac0d528cc21fb947";
2-
const fetch = require('node-fetch');
3-
const apiKey = 'ac1e1c1767144e209bd7a0c6b23e1fbd'
4-
//'dfc52b1bc87a4054b99d6655d10c4206'
5-
//'c537cbd90c1149d38dc9a8b908755414'
6-
// 'f7a2ad99effc4441a00ad3cad3d7e8e6'
7-
// 'dfc52b1bc87a4054b99d6655d10c4206'
8-
//a565bdef05084ea48e7946a141f910c7
9-
// 'ac1e1c1767144e209bd7a0c6b23e1fbd'
10-
//fa31546b9db54de4ac0d528cc21fb947
1+
const fetch = require("node-fetch");
2+
const apiKey = "a565bdef05084ea48e7946a141f910c7";
3+
// f7a2ad99effc4441a00ad3cad3d7e8e6
4+
// dfc52b1bc87a4054b99d6655d10c4206
5+
// a565bdef05084ea48e7946a141f910c7
6+
// fa31546b9db54de4ac0d528cc21fb947
7+
// dfc52b1bc87a4054b99d6655d10c4206
8+
// ac1e1c1767144e209bd7a0c6b23e1fbd
9+
// fa31546b9db54de4ac0d528cc21fb947
1110
// c537cbd90c1149d38dc9a8b908755414
12-
//589362322c514340af0a24e58d162020
11+
// 589362322c514340af0a24e58d162020
12+
1313

1414
const getRecipesApi = () => {
15-
const recipeUrl = `https://api.spoonacular.com/recipes/random?number=5&apiKey=${apiKey}`;
15+
const recipeUrl = `https://api.spoonacular.com/recipes/random?number=10&tags=savoury&apiKey=${apiKey}`;
1616
// console.log('(apiCall) getRecipesApi (fetch) runs and input = ', recipeUrl);
1717
return fetch(recipeUrl)
1818
.then(data => data.json())
1919
.then(data => {
2020
let fiveRecipe = {};
21-
for (let i = 0; i < data.recipes.length; i++) {
22-
fiveRecipe[i] = {};
23-
fiveRecipe[i].id = data.recipes[i].id;
24-
fiveRecipe[i].recipeName = data.recipes[i].title;
25-
fiveRecipe[i].cookingTime = data.recipes[i].cookingMinutes;
26-
fiveRecipe[i].healthScore = data.recipes[i].healthScore;
27-
fiveRecipe[i].imageUrl = data.recipes[i].image;
21+
if (data.status === 'failure') {
22+
fiveRecipe[0] = {};
23+
fiveRecipe[0].recipeName = 'Our API has let us down, sorry';
24+
} else {
25+
for (let i = 0; i < data.recipes.length; i++) {
26+
fiveRecipe[i] = {};
27+
fiveRecipe[i].id = data.recipes[i].id;
28+
fiveRecipe[i].recipeName = data.recipes[i].title;
29+
fiveRecipe[i].cookingTime = data.recipes[i].cookingMinutes;
30+
fiveRecipe[i].healthScore = data.recipes[i].healthScore;
31+
fiveRecipe[i].imageUrl = data.recipes[i].image;
32+
}
2833
}
2934
return fiveRecipe;
3035
})

src/views/newplanAdditionalChoices.hbs

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,5 @@
2626
{{!-- {{>counter}} --}}
2727
</section>
2828

29-
<script src="js/additionalChoices.js"></script>
29+
30+
<script src="/js/additionalChoices.js"></script>

src/views/uniqueMealPlan.hbs

+2
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,5 @@
3434
</form>
3535

3636
</section>
37+
38+
<script src="/js/uniqueMealPlan.js"></script>

0 commit comments

Comments
 (0)