`);
}
}
$(".alleMem").append(`
`);
for (let i = 0; i < result.members.length; i++) {
const el = result.members[i];
$(".alleMem").append(`
`);
}
lala();
gruppenhinzu();
ItemAdden();
groupdelete();
groupbearbeiten();
MemberAnzeigen();
},error(err){
console.log(err);
}
})
}).catch((error) => console.error("Get id token client error: ", error));
})
}
function MemberAnzeigen(){
$(".showMembers").click(function(){
$(".Mem").modal('show');
});
}
function loeschen() {
$(".trash").click(function () {
let card = $(this).closest(".card");
let id = card.attr("id");
// console.log(id);
firebase.auth().currentUser.getIdToken( /* forceRefresh */ true).then(function (idtoken) {
$.ajax({
type: "DELETE",
url: "/shoppinglist",
data: {
sl_id: id,
idtoken: idtoken
},
success(res) {
console.log("card gelöscht");
card.remove();
},
error(err) {
console.log("error");
}
});
}).catch((error) => console.error("Get id token client error: ", error));
});
};
function lala() {
$(".groupadd").click(function () {
let getid = $(this).closest('.shoplistid');
let id = getid.attr('id');
console.log(id);
globaleAddZwischenID = id;
});
}
function gruppenhinzu() {
$(".gruppenadd").click(function () {
let name = $("#groupname").val();
let color = $("input:checked").val();
console.log(globaleAddZwischenID);
firebase.auth().onAuthStateChanged(async function (user) {
if (user) {
firebase.auth().currentUser.getIdToken( /* forceRefresh */ true).then(function (idtoken) {
$.ajax({
type: "POST",
url: "/group",
data: {
idtoken:idtoken,
sl_id: globaleAddZwischenID,
name: $("#groupname").val(),
color: $("input:checked").val(),
hidden: false
},
success(res) {
$("#groupname").val("");
$("input:checked").val("");
$(".ListenDetailAdd").modal("hide");
refreshDetailsl(globaleAddZwischenID);
},
error(err) {
console.log("error");
}
});
}).catch((error) => console.error("Get id token client error: ", error));
} else {
console.log("Check Auth error", user)
}
});
});
}
function Detail() {
$(".edit").click(function () {
$(".cardausgabe").hide();
$(".sharecards").hide();
$(".strich").hide();
$(".detailcardausgabe").show();
let card = $(this).closest(".card");
let id = card.attr("id");
firebase.auth().onAuthStateChanged(async function (user) {
if (user) {
firebase.auth().currentUser.getIdToken( /* forceRefresh */ true).then(function (idtoken) {
$.ajax({
type: "GET",
url: "/shoppinglist_json/" + id,
data: {
idtoken: idtoken
},
success(res) {
console.log(res)
console.log("/myshoppinglists inside idtoken: ", idtoken)
$.ajax({
type: "GET",
url: "/myshoppinglists",
data: {
idtoken: idtoken
},
success(result) {
// var idtoken = getIdTokenGoogle()
$.ajax({
type: "GET",
url: "/userinfo_json",
data: {
idtoken: idtoken
},
success(data) {
let userinfo = "some info"
console.log(userinfo);
const neu = result.filter(obj => obj.sl_id === id);
var link = "/dash/" + idtoken;
$(".kopf").attr("style", `background-color:#${neu[0].color}`);
console.log(res);
if (res.invitelink != null) {
$(".card-header").append(`
`);
}
else{
$(".card-header").append(`
`);
}
for (let i = 0; i < res.groups.length; i++) {
const el = res.groups[i];
$(".gruppeninhalt").append(`
`);
for (let x = 0; x < el.content.length; x++) {
const el2 = el.content[x]
$(`.${el.name}`).append(`
`);
}
}
$(".alleMem").append(`
${res.admin.name}
`);
if (res.members.length == "0") {
$(".alleMem").append("
Noch keine Mitglieder vorhanden");
}
else{
for (let i = 0; i < res.members.length; i++) {
const el = res.members[i];
$(".alleMem").append(`
${el.name}
`);
}
}
lala();
gruppenhinzu();
ItemAdden();
groupdelete();
groupbearbeiten();
MemberAnzeigen();
delMember();
itembearbeiten();
donepurchase();
},
error(err) {
console.log("Detail error userinfo_json: ", err);
}
})
},
error(err) {
console.log("Detail error myshoppinglists: ", err);
}
});
},
error(err) {
console.log("Detail error shoppinglist_json: ", err);
}
});
}).catch((error) => console.error("Get id token client error: ", error));
} else {
console.log("Check Auth error", user)
}
});
});
};
var glitemid = "";
function itembearbeiten() {
$(".itemedit").click(function(){
let getitemid = $(this).closest('.checkbox');
let itemid = getitemid.attr('id');
let getgroupid = $(this).closest('.groupid');
let groupid = getgroupid.attr('id');
let getslid = $(this).closest('.shoplisteid');
let slid = getslid.attr('id');
glitemid = itemid;
console.log(itemid, groupid, slid);
let name = $(this).closest('div').find('span.ed').text();
let anz = $(this).closest('div').find('span.ed2').text();
let anzperfekt = anz.split("x")[0];
console.log(name, anzperfekt);
$(".eh").prop("id",`${slid}`);
$(".eh2").prop("id",`${groupid}`);
$(".eh3").prop("id",`${itemid}`);
$(".GroupItemedit").modal('show');
$("#itemnameb").val(name);
$("#inputGroupSelect02").val(anzperfekt);
});
}
$(".itemhinzub").click(function(){
let slid = $(this).closest(".eh").attr('id');
let groupid = $(this).closest(".eh2").attr('id');
let name = $("#itemnameb").val();
let anz = $("#inputGroupSelect02").val();
console.log(glitemid);
$.ajax({
type: "PUT",
url: "/item",
data: {
sl_id: slid,
group_id: groupid,
item_id: glitemid,
name: name,
count: anz
},
success(res) {
console.log("item verändert");
refreshDetailsl(slid);
},
error(err) {
console.log("error");
}
});
});
function delMember(){
$(".exinvitemembersssss").click(function(){
let getid = $(this).closest('.slid');
let shoplistid = getid.attr('id');
let getid2 = $(this).closest('.uid');
let username = getid2.attr('id');
$.ajax({
type: "DELETE",
url: "/member",
data: {
sl_id: shoplistid,
uid: username
},
success(res) {
console.log("user entfernt");
refreshDetailsl(shoplistid);
},
error(err) {
console.log("error");
}
});
});
}
function ItemAdden() {
$(".itemadd").click(function () {
let getslid = $(this).closest('.shoplisteid');
let slid = getslid.attr('id');
console.log(slid);
let getgrid = $(this).closest('.groupid');
let grid = getgrid.attr('id');
globalegraddid = grid;
globaleAddZwischenID = slid;
$('.GroupItemAdd').modal('show');
});
}
$(".itemhinzu").click(function () {
var name = $('#itemname').val();
var zahl = $('#inputGroupSelect01').val();
console.log(name);
console.log(zahl);
firebase.auth().onAuthStateChanged(async function (user) {
if (user) {
firebase.auth().currentUser.getIdToken( /* forceRefresh */ true).then(function (idtoken) {
$.ajax({
type: "POST",
url: "/item",
data: {
group_id: globalegraddid,
sl_id: globaleAddZwischenID,
name: $('#itemname').val(),
count: $('#inputGroupSelect01').val()
},
success(result) {
$('.GroupItemAdd').modal('hide');
console.log("post item");
refreshDetailsl(globaleAddZwischenID);
},
error(err) {
}
});
}).catch((error) => console.error("Get id token client error: ", error));
} else {
console.log("Check Auth error", user)
}
});
Detail();
});
function groupdelete() {
$('.trashgroup').click(function () {
let getid = $(this).closest('.shoplisteid');
let shoplistid = getid.attr('id');
let getid2 = $(this).closest('.groupid');
let groupid = getid2.attr('id');
console.log(shoplistid);
console.log(groupid);
$.ajax({
type: "DELETE",
url: "/group",
data: {
sl_id: shoplistid,
group_id: groupid
},
success(res) {
console.log("card gelöscht");
refreshDetailsl(shoplistid);
},
error(err) {
console.log("error");
}
});
});
};
function slbearbeiten(){
$(".sledit").click(function(){
$('#editsl').modal('show');
let slid = $(this).closest(".card").attr('id');
let desc = $(this).closest('div').siblings().find('p.card-text').text();
let name = $(this).closest('div').siblings().find('h5.card-title').text();
let color = $(this).closest('.card-header').css("background-color");
$(".editmodal").prop("id",`${slid}`);
$("#editname").val(name);
$("#editbeschreibung").val(desc);
var rgb = color.split("(")[1].split(")")[0];
var r = rgb.split(", ")[0];
var g = rgb.split(", ")[1];
var b = rgb.split(", ")[2];
function rgbToHex (r,g,b){
var bin = r << 16 | g << 8 | b;
return (function(h){
return new Array(7-h.length).join("0")+h
})(bin.toString(16).toUpperCase())
}
$(".aktuelleFarbe").css("color", "#"+rgbToHex(r,g,b));
});
};
$(".update").click(function(){
let name = $("#editname").val();
let desc = $("#editbeschreibung").val();
let id = $(this).closest(".editmodal").attr('id');
let color = "";
if($("input:checked").val()==null){
color = $('.aktuelleFarbe').css("color");
}
else{
color = $("input:checked").val();
}
firebase.auth().currentUser.getIdToken( /* forceRefresh */ true).then(function (idtoken) {
$.ajax({
type: "PUT",
url: "/shoppinglist",
data: {
sl_id: id,
name: name,
description: desc,
color: color,
idtoken: idtoken
},
success(res){
$(".karten").remove();
$("#editname").val("");
$("#editbeschreibung").val("");
$('#editsl').modal('hide');
eigeneEinkaufslisten()
},
error(err){
}
});}).catch((error) => console.error("Get id token client error: ", error));
});
function groupbearbeiten(){
$(".gredit").click(function(){
$('#Listengroupbearbeiten').modal('show');
let grid = $(this).closest(".groupid").attr('id');
let slid = $(this).closest(".shoplisteid").attr('id');
let name = $(this).closest('div').find('h5.title').text();
let color = $(this).closest(".groupid").css("background-color");
$(".editgroudmodal").prop("id",`${slid}`);
$(".grouid").prop("id",`${grid}`);
$("#groupb").val(name);
var rgb = color.split("(")[1].split(")")[0];
var r = rgb.split(", ")[0];
var g = rgb.split(", ")[1];
var b = rgb.split(", ")[2];
function rgbToHex (r,g,b){
var bin = r << 16 | g << 8 | b;
return (function(h){
return new Array(7-h.length).join("0")+h
})(bin.toString(16).toUpperCase())
}
$(".aktuelleFarbe2").css("color", "#"+rgbToHex(r,g,b));
})}
$(".gruppbea").click(function(){
let name = $("#groupb").val();
let slid = $(this).closest(".editgroudmodal").attr('id');
let grid = $(this).closest(".grouid").attr('id');
let color = "";
if($("input:checked").val()==null){
color = $('.aktuelleFarbe2').css("color");
}
else{
color = $("input:checked").val();
}
firebase.auth().currentUser.getIdToken( /* forceRefresh */ true).then(function (idtoken) {
$.ajax({
type: "PUT",
url: "/group",
data: {
sl_id: slid,
group_id: grid,
name: name,
color: color,
idtoken: idtoken
},
success(res){
$("#groupb").val("");
$('#gredit').modal('hide');
refreshDetailsl(slid);
},
error(err){
}
})}).catch((error) => console.error("Get id token client error: ", error));
});
function refreshDetailsl(slid){
// $(".shoplisteid").remove();
$(".shoplistid").remove();
// $(".card-header").empty();
$(".gruppeninhalt").empty();
firebase.auth().onAuthStateChanged(async function (user) {
if (user) {
firebase.auth().currentUser.getIdToken( /* forceRefresh */ true).then(function (idtoken) {
$.ajax({
type: "GET",
url: "/shoppinglist_json/" + slid,
data: {
idtoken: idtoken
},
success(res) {
var link = "/dash/" + idtoken;
$(".kopf").attr("style", `background-color:#${res.color}`);
$(".card-header").append(`
`);
for (let i = 0; i < res.groups.length; i++) {
const el = res.groups[i];
$(".gruppeninhalt").append(`
`);
for (let x = 0; x < el.content.length; x++) {
const el2 = el.content[x]
$(`.${el.name}`).append(`
`)
}
}
lala();
// gruppenhinzu();
ItemAdden();
groupdelete();
groupbearbeiten();
itembearbeiten();
donepurchase();
},
error(err) {
console.log(err);
}
});
}).catch((error) => console.error("Get id token client error: ", error));
} else {
console.log("Check Auth error", user)
}
});
}
$(".linkinfo").click(function(){
firebase.auth().currentUser.getIdToken( /* forceRefresh */ true).then(function (idtoken) {
$.ajax({
type: "GET",
url: "/group",
data: {
idtoken: idtoken
},
success(res){
$("#groupb").val("");
$('#gredit').modal('hide');
refreshDetailsl(slid);
},
error(err){
}
})}).catch((error) => console.error("Get id token client error: ", error));
})
function shareinvite(){
$(".postshare").click(function(){
let slid = $(this).closest(".card").attr('id');
firebase.auth().currentUser.getIdToken( /* forceRefresh */ true).then(function (idtoken) {
$.ajax({
type: "POST",
url: "/invite",
data: {
sl_id: slid,
},
success(res){
firebase.auth().currentUser.getIdToken( /* forceRefresh */ true).then(function (idtoken) {
$.ajax({
type: "GET",
url: "/shoppinglist_json/"+slid,
data: {
idtoken: idtoken
},
success(res){
$(".InviteLinkAnzeigen").modal('show');
console.log(res);
$("#InviteLink").val(res.invitelink);
copy();
},
error(err){
}
})}).catch((error) => console.error("Get id token client error: ", error));
},
error(err){
}
})}).catch((error) => console.error("Get id token client error: ", error));
})
}
function copy(){
$(".copy").click(function(){
var copyText = document.getElementById("InviteLink");
copyText.select();
document.execCommand("copy");
})
}
$(".beitreten").click(function(){
let invitelink = $("#slbeitreten").val();
console.log(invitelink);
$.ajax({
type: "GET",
url: "/invite/:" + invitelink,
success(res){
console.log("funktioniert");
// geteilteEinkaufslisten();
// $(".beiLink").modal('hide');
// $("html").empty();
// $("html").append(`${res}`);
// console.log(res);
},
error(err){
console.log(err);
}
});
});
$(".Modalbeitreten").click(function(){
$(".beiLink").modal('show');
});
$(".purchased-items").click(function(){
$(".cardausgabe").hide();
$(".sharecards").hide();
$(".strich").hide();
firebase.auth().currentUser.getIdToken( /* forceRefresh */ true).then(function (idtoken) {
$.ajax({
type:"GET",
url: "/donepurchases",
success(res){
// refreshDetailsl(slid);
console.log(res);
},
error(err){
console.log(error);
}
});}).catch((error) => console.error("Get id token client error: ", error));
});
function donepurchase(){
$(".check").click(function(){
if($("input:checked")==true){
alert("ja");
}
// $.ajax({
// type:"POST",
// url: "/movedoneitem",
// success(res){
// // refreshDetailsl(slid);
// console.log(yay);
// },
// error(err){
// console.log(error);
// }
// })
});
}