From d003b8f0d3ec1a5e2c98981c928d7000c9c40969 Mon Sep 17 00:00:00 2001 From: mic Date: Sun, 14 Jul 2024 23:23:33 +0200 Subject: [PATCH] exporting prompts. see #65 --- customprompts/mzta-custom-prompts.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/customprompts/mzta-custom-prompts.js b/customprompts/mzta-custom-prompts.js index 556645ba..12e9e4e9 100644 --- a/customprompts/mzta-custom-prompts.js +++ b/customprompts/mzta-custom-prompts.js @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -import { getPrompts, setDefaultPromptsProperties, setCustomPrompts } from "../js/mzta-prompts.js"; +import { getPrompts, setDefaultPromptsProperties, setCustomPrompts, preparePromptsForExport } from "../js/mzta-prompts.js"; var promptsList = null; var somethingChanged = false; @@ -375,8 +375,21 @@ document.addEventListener('DOMContentLoaded', async () => { exportPrompts(); }); - function exportPrompts() { - alert("test export all"); + async function exportPrompts() { + const manifest = browser.runtime.getManifest(); + const addonVersion = manifest.version; + const outputPrompts = preparePromptsForExport(await getPrompts()); + let outputObj = {id: 'thunderai-prompts', addon_version: addonVersion, prompts: outputPrompts}; + const blob = new Blob([JSON.stringify(outputObj, null, 2)], { + type: "application/json", + }); + const currentDate = new Date(); + const time_stamp = `${currentDate.getFullYear()}${String(currentDate.getMonth() + 1).padStart(2, '0')}${String(currentDate.getDate()).padStart(2, '0')}${String(currentDate.getHours()).padStart(2, '0')}${String(currentDate.getMinutes()).padStart(2, '0')}${String(currentDate.getSeconds()).padStart(2, '0')}`; + messenger.downloads.download({ + url: URL.createObjectURL(blob), + filename: `thunderai-prompts-${time_stamp}.json`, + saveAs: true, + }); } const btnImport = document.getElementById('btnImport');