45 lines
1.8 KiB
JavaScript
45 lines
1.8 KiB
JavaScript
import "../style.scss"
|
|
import * as base64 from "../libs/base64.js"
|
|
|
|
const saveOptions = async (saveEvent) => {
|
|
saveEvent.preventDefault()
|
|
if (document.querySelector("#resume").value !== "" && (await browser.storage.local.get("resume")).resume !== base64.utf8ToBase64(document.querySelector("#resume").value)) {
|
|
const LastEdited = new Date().toLocaleString()
|
|
browser.storage.local.set({
|
|
resume: base64.utf8ToBase64(document.querySelector("#resume").value),
|
|
lastEdited: LastEdited
|
|
})
|
|
document.querySelector("#resumeLastUpdated").textContent = `Last Edited: ${LastEdited}`
|
|
}
|
|
|
|
browser.storage.local.set({
|
|
model: document.querySelector("#mlModel").value
|
|
})
|
|
}
|
|
|
|
const restoreOptions = async () => {
|
|
const defaultModel = "Llama-3.2-1B-Instruct-q4f32_1-MLC"
|
|
try {
|
|
let resume = await browser.storage.local.get("resume")
|
|
if (resume.resume) {
|
|
document.querySelector("#resume").textContent = base64.base64ToUtf8(resume.resume)
|
|
let lastEdited = await browser.storage.local.get("lastEdited")
|
|
if (lastEdited.lastEdited) {
|
|
document.querySelector("#resumeLastUpdated").textContent = `Last Edited: ${lastEdited.lastEdited}`
|
|
}
|
|
}
|
|
|
|
let model = await browser.storage.local.get("model") || defaultModel
|
|
model = model === "" ? defaultModel : model
|
|
// document.querySelector("#mlModel").value = model
|
|
document.querySelectorAll("#mlModel.option").forEach((element) => {
|
|
element.selected = (element.value === model)
|
|
})
|
|
} catch (error) {
|
|
console.error("Error restoring options:", error)
|
|
}
|
|
}
|
|
|
|
document.addEventListener("DOMContentLoaded", restoreOptions)
|
|
document.querySelector("form").addEventListener("submit", saveOptions)
|