Add download srt file option firefox extension

Signed-off-by: makaveli10 <vineet.suryan@collabora.com>
This commit is contained in:
makaveli10
2025-07-14 09:43:52 +05:30
parent 914281f449
commit ad0fb23936
6 changed files with 258 additions and 121 deletions
+15 -1
View File
@@ -4,6 +4,7 @@ document.addEventListener("DOMContentLoaded", function() {
const useServerCheckbox = document.getElementById("useServerCheckbox");
const useVadCheckbox = document.getElementById("useVadCheckbox");
const saveCaptionCheckbox = document.getElementById("saveCaptionCheckbox");
const languageDropdown = document.getElementById('languageDropdown');
const taskDropdown = document.getElementById('taskDropdown');
const modelSizeDropdown = document.getElementById('modelSizeDropdown');
@@ -41,6 +42,12 @@ document.addEventListener("DOMContentLoaded", function() {
}
});
browser.storage.local.get("saveCaptionState", ({ saveCaptionState }) => {
if (saveCaptionState !== undefined) {
saveCaptionCheckbox.checked = saveCaptionState;
}
});
browser.storage.local.get("selectedLanguage", ({ selectedLanguage: storedLanguage }) => {
if (storedLanguage !== undefined) {
languageDropdown.value = storedLanguage;
@@ -85,6 +92,7 @@ document.addEventListener("DOMContentLoaded", function() {
task: selectedTask,
modelSize: selectedModelSize,
useVad: useVadCheckbox.checked,
saveCaption: saveCaptionCheckbox.checked,
}
});
toggleCaptureButtons(true);
@@ -101,7 +109,7 @@ document.addEventListener("DOMContentLoaded", function() {
stopButton.addEventListener("click", function() {
browser.tabs.query({ active: true, currentWindow: true })
.then(function(tabs) {
browser.tabs.sendMessage(tabs[0].id, { action: "stopCapture" })
browser.tabs.sendMessage(tabs[0].id, { action: "stopCapture", data: {saveCaption: saveCaptionCheckbox.checked, } })
.then(function(response) {
toggleCaptureButtons(false);
browser.storage.local.set({ capturingState: { isCapturing: false } })
@@ -124,6 +132,7 @@ document.addEventListener("DOMContentLoaded", function() {
stopButton.disabled = !isCapturing;
useServerCheckbox.disabled = isCapturing;
useVadCheckbox.disabled = isCapturing;
saveCaptionCheckbox.disabled = isCapturing;
modelSizeDropdown.disabled = isCapturing;
languageDropdown.disabled = isCapturing;
taskDropdown.disabled = isCapturing;
@@ -142,6 +151,11 @@ document.addEventListener("DOMContentLoaded", function() {
browser.storage.local.set({ useVadState });
});
saveCaptionCheckbox.addEventListener("change", () => {
const saveCaptionState = saveCaptionCheckbox.checked;
browser.storage.local.set({ saveCaptionState });
});
languageDropdown.addEventListener('change', function() {
if (languageDropdown.value === "") {
selectedLanguage = null;