Chrome Extenstion needing edits
Budget: $30 – $250 AUD
I have a project almost complete but needs some edits before I can make it live as my last developer has not responded to new edits I need and I need to get this tool live asap
This tool takes new members requests to facebook groups and submits them to our system via API and is fully operationally but needs some edits to make the user experience better
These are the edits I need to be coded:
1. Updated class selector as Facebook has changed it's class id's (easy to spot)
2. Currently when approve all is selected on facebook groups, our tool runs. I want to add a button so user can run our tool without using the approve all button.
3. I want our button above to turn green when it knows it can see the fields it needs
4. I want a popup to confirm how many users it will then send.
5. I then want a popup to confirm API request was successful. (Our API works so should be easy to add something to the end)
Below is a snippet of our part of our code to see what your dealing with, I like to keep things simple and there is more code I can send if you need if this looks like something you can work on?
/ Approve only one user
if (this.innerText === 'Approve') {
this.addEventListener('click', function() {
//console.log("Approve one user...");
let userDiv = this.closest("div.a8nywdso.f10w8fjw.rz4wbd8a.pybr56ya").parentElement;
// Then get all user data
let userQuestions = userDiv.querySelector('div.dati1w0a.qt6c0cv9.hv4rvrfc.cxgpxx05');
let userFullName = userDiv.querySelector('div.nc684nl6');
let userId = userDiv.querySelector('a');
let parsedQuestions = userQuestions.children[0].querySelectorAll('span');
let parsedUserId = userId.href.split('user/').pop().split('/?')[0];
// Construct object item
var obj = {};
obj.id = parsedUserId;
obj.name = userFullName.innerText;
obj.groupName = groupName;
obj['customField'] = {};
for (i=0; i < parsedQuestions.length; i=i+2) {
let q1 = parsedQuestions[i].innerText;
let a1 = parsedQuestions[i+1].innerText;
obj['customField'][q1] = a1;
}
console.log(groupName);
// Send parsed object to background.js
chrome.runtime.sendMessage({'sendToApi': obj});
})
}
This tool takes new members requests to facebook groups and submits them to our system via API and is fully operationally but needs some edits to make the user experience better
These are the edits I need to be coded:
1. Updated class selector as Facebook has changed it's class id's (easy to spot)
2. Currently when approve all is selected on facebook groups, our tool runs. I want to add a button so user can run our tool without using the approve all button.
3. I want our button above to turn green when it knows it can see the fields it needs
4. I want a popup to confirm how many users it will then send.
5. I then want a popup to confirm API request was successful. (Our API works so should be easy to add something to the end)
Below is a snippet of our part of our code to see what your dealing with, I like to keep things simple and there is more code I can send if you need if this looks like something you can work on?
/ Approve only one user
if (this.innerText === 'Approve') {
this.addEventListener('click', function() {
//console.log("Approve one user...");
let userDiv = this.closest("div.a8nywdso.f10w8fjw.rz4wbd8a.pybr56ya").parentElement;
// Then get all user data
let userQuestions = userDiv.querySelector('div.dati1w0a.qt6c0cv9.hv4rvrfc.cxgpxx05');
let userFullName = userDiv.querySelector('div.nc684nl6');
let userId = userDiv.querySelector('a');
let parsedQuestions = userQuestions.children[0].querySelectorAll('span');
let parsedUserId = userId.href.split('user/').pop().split('/?')[0];
// Construct object item
var obj = {};
obj.id = parsedUserId;
obj.name = userFullName.innerText;
obj.groupName = groupName;
obj['customField'] = {};
for (i=0; i < parsedQuestions.length; i=i+2) {
let q1 = parsedQuestions[i].innerText;
let a1 = parsedQuestions[i+1].innerText;
obj['customField'][q1] = a1;
}
console.log(groupName);
// Send parsed object to background.js
chrome.runtime.sendMessage({'sendToApi': obj});
})
}