Browse Source

add jokeservice fun-feature

modals-to-spa
stingl 4 years ago
parent
commit
474b2cd130
  1. 46
      js/JokeService.js
  2. 12
      js/app.js

46
js/JokeService.js

@ -0,0 +1,46 @@
class JokeService {
constructor(category = 'programming') {
this.category = category;
this.apiBaseUrl = 'https://v2.jokeapi.dev/joke/'
}
setCategory(category) {
this.category = category;
}
tell() {
let service = this;
axios.get(
service.apiBaseUrl + service.category
).then((response) => {
if (response.data.error === false) {
service.show(response.data);
}
}).catch((error) => {
console.error(error);
});
}
show(joke) {
if (joke.type === 'twopart') {
setTimeout(() => {
showNotification(joke.delivery)
}, 4000);
showNotification(joke.setup);
} else {
showNotification(joke.joke);
}
}
}
function showNotification(text) {
if (Notification.permission === 'granted') {
new Notification('', {
body: text
});
} else {
alert(text);
}
}

12
js/app.js

@ -81,17 +81,23 @@ const TimeTrack = {
}, 5000); }, 5000);
} }
Notification.requestPermission();
setInterval(() => { setInterval(() => {
vue.checkTimeBoxes(); vue.checkTimeBoxes();
}, 10000); }, 10000);
if (this.fun) {
let jokeService = new JokeService();
setInterval(() => {
jokeService.tell();
}, 1_800_000)
}
}, },
methods: { methods: {
loadTooltips() { loadTooltips() {
let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')) let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
tooltipTriggerList.map(function (tooltipTriggerEl) { tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl) return new bootstrap.Tooltip(tooltipTriggerEl)
}) });
}, },
loadStorage() { loadStorage() {
let storedTickets = JSON.parse(localStorage.getItem('tickets')); let storedTickets = JSON.parse(localStorage.getItem('tickets'));
@ -122,7 +128,7 @@ const TimeTrack = {
this.portals = storedPortals == null ? [] : storedPortals; this.portals = storedPortals == null ? [] : storedPortals;
let storedFun = localStorage.getItem('fun'); let storedFun = localStorage.getItem('fun');
this.fun = storedFun == null ? false : storedFun; this.fun = storedFun == null || storedFun === 'false' ? false : storedFun;
// let storedSnippets = JSON.parse(localStorage.getItem('snippets')); // let storedSnippets = JSON.parse(localStorage.getItem('snippets'));
// this.snippets = storedSnippets == null ? [] : storedSnippets; // this.snippets = storedSnippets == null ? [] : storedSnippets;