You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.7 KiB
81 lines
1.7 KiB
// script.js
|
|
|
|
import { Element } from './element.js';
|
|
|
|
const body = new Element(document.body)
|
|
.addClass(
|
|
'bg-slate-900',
|
|
'text-slate-500',
|
|
'flex',
|
|
'flex-col',
|
|
'items-center',
|
|
'justify-center',
|
|
'w-screen',
|
|
'h-screen',
|
|
);
|
|
|
|
const urlElement = new Element('span')
|
|
.appendTo(body);
|
|
|
|
const saveButton = new Element('span')
|
|
.appendTo(body)
|
|
.addClass(
|
|
'bg-slate-500',
|
|
'rounded',
|
|
)
|
|
.setText('Checking...');
|
|
|
|
chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) {
|
|
const tab = tabs[0];
|
|
const url = tab.url
|
|
console.log('URL:', url);
|
|
urlElement.setText(url);
|
|
|
|
chrome.runtime.sendMessage({ action: 'check', url }, (response) => {
|
|
if (response.success) {
|
|
if (response.data.exists) {
|
|
saveButton
|
|
.setText('Saved!')
|
|
.addClass('bg-green-600')
|
|
.removeClass(
|
|
'hover:bg-slate-400',
|
|
'bg-slate-500',
|
|
'cursor-pointer',
|
|
);
|
|
} else {
|
|
saveButton
|
|
.setText('Save')
|
|
.addClass(
|
|
'hover:bg-slate-400',
|
|
'cursor-pointer',
|
|
)
|
|
.addEventListener('click', () => {
|
|
chrome.runtime.sendMessage({ action: 'save', url }, (response) => {
|
|
if (response.success) {
|
|
saveButton.setText('Saved!').
|
|
addClass('bg-green-600').
|
|
removeClass(
|
|
'hover:bg-slate-400',
|
|
'bg-slate-500',
|
|
'cursor-pointer',
|
|
);
|
|
} else {
|
|
saveButton.setText('Error!').
|
|
addClass('bg-red-500').
|
|
removeClass(
|
|
'hover:bg-slate-400',
|
|
'bg-slate-500',
|
|
'cursor-pointer',
|
|
);
|
|
}
|
|
});
|
|
})
|
|
}
|
|
} else {
|
|
saveButton
|
|
.setText('Error!')
|
|
.addClass('bg-red-500')
|
|
.removeClass('hover:bg-slate-400');
|
|
}
|
|
});
|
|
});
|
|
|