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.

82 lines
1.7 KiB

1 month ago
// 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');
}
});
});