-
Notifications
You must be signed in to change notification settings - Fork 0
/
popup.js
29 lines (23 loc) · 923 Bytes
/
popup.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function submit(submitType) {
// Get form data
const form = document.getElementById('form');
const data = Object.fromEntries(new FormData(form));
// Trim empty inputs
const given = Object.keys(data).filter(value => data[value].length >= 1);
// Format search queries
const searchQueries = given.map(value => {
return `${value}:"${data[value]}"`
})
// URL encode search query
const encodedQuery = encodeURIComponent(searchQueries.join(' '));
const url = `https://open.spotify.com/search/${encodedQuery}`;
// Open url in app or web
if (submitType === 'app') {
chrome.tabs.create({ active: true, url: `spotify://${url}` });
} else {
chrome.tabs.create({ active: true, url: url });
}
}
// Add onclick listeners
document.getElementById("webSearch").addEventListener("click", () => submit('web'));
document.getElementById("appSearch").addEventListener("click", () => submit('app'));