moira_db/website/static/script.js
2026-07-02 22:25:30 +02:00

97 lines
3.5 KiB
JavaScript

var installPromptEvnt = null;
window.onload = () => {
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/empty_sw.js')
.then((reg) => console.log('SW registered:', reg.scope))
.catch((err) => console.error('SW registration failed:', err));
});
}
window.addEventListener("beforeinstallprompt", (e) => {
installPromptEvnt = e;
document.getElementById("inp_bttn").disabled = false;
});
document.getElementById("inp_bttn").addEventListener("click", function(){
installPromptEvnt.prompt();
this.disabled = true;
});
var fetch_filmInfo = async (in_url)=>{
// pretty good test redirect: https://share.google/mSDJehdZm6hp6vTYy
var resp;
//resp = await fetch("https://www.imdb.com/title/tt0245429/?ref_=nv_sr_srsg_0_tt_8_nm_0_in_0_q_spirited");
//resp = await fetch("https://www.filmweb.pl/film/Spirited+Away%3A+W+krainie+Bog%C3%B3w-2001-33288");
resp = await fetch(in_url);
//console.log("Redirected:", response.redirected);
console.log("Redirected URL:", resp.url);
noRed_URL = resp.url;
var api_URL = null;
noRed_URL = new URL(noRed_URL);
const db_host = noRed_URL.hostname;
noRed_URL.search = '';
switch(db_host){
case "www.filmweb.pl":
api_URL = `https://www.filmweb.pl/api/v1/film/${noRed_URL.href.slice(noRed_URL.href.lastIndexOf("-")+1)}/preview`;
break;
case "www.imdb.com":
// https://imdbapi.dev/
noRed_URL.hostname = "api.imdbapi.dev";
api_URL = noRed_URL.href.replace("/title/", "/titles/").slice(0, -1);
break;
}
console.log("API URL:", api_URL);
var resp = await fetch(api_URL)
var data = await resp.json();
console.log("Ext info:", data);
var film_info = null;
switch(db_host){
case "www.filmweb.pl":
film_info = {};
film_info["title_en"] = data["internationalTitle"] ? data["internationalTitle"]["title"] : data["originalTitle"]["title"];
film_info["title_pl"] = data["title"]["title"];
film_info["desc"] = data["plotOrDescriptionSynopsis"];
film_info["year"] = data["year"];
//film_info["img"] = data["coverPhoto"]["photo"]["sourcePath"];
film_info["img"] = "https://fwcdn.pl/fpo"+data["poster"]["path"];
//directors
//countries
//poster
break;
case "www.imdb.com":
film_info = {};
film_info["title_en"] = data["primaryTitle"];
film_info["title_pl"] = null;
film_info["desc"] = data["plot"];
film_info["year"] = data["startYear"];
film_info["img"] = data["primaryImage"]["url"];
break;
}
console.log("Film info:", film_info);
document.getElementById("filmInfo_title").innerHTML = film_info["title_pl"] ? film_info["title_pl"] : film_info["title_en"];
document.getElementById("filmInfo_year").innerHTML = film_info["year"];
document.getElementById("filmInfo_desc").innerHTML = film_info["desc"];
document.getElementById("filmInfo_img").src = film_info["img"];
};
document.getElementById("inEl").addEventListener("input", function(){
fetch_filmInfo(this.value);
});
};