diff --git a/_locales/en/messages.json b/_locales/en/messages.json index a52809b9..fab877f8 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -974,5 +974,21 @@ "prefs_OptionText_btnManageCalendarEventInfo": { "message": "Manage calendar events settings", "description": "" + }, + "GetCalendarEvent_PageTitle": { + "message": "Manage Calendar Events Settings", + "description": "" + }, + "GetCalendarEvent_info_default": { + "message": "In this page you can modify the default prompt used to get a calendar event from selected text.", + "description": "" + }, + "GetCalendarEvent_prompt_text_title": { + "message": "Current prompt text", + "description": "" + }, + "prefs_OptionText_GetCalendarEvent_infoline2": { + "message": "You can change the prompt as you wish, but the response received from the AI must be in JSON format as specified in the default prompt!", + "description": "" } } \ No newline at end of file diff --git a/pages/get-calendar-event/mzta-get-calendar-event.html b/pages/get-calendar-event/mzta-get-calendar-event.html index 8b4394ba..b2f5eb3b 100644 --- a/pages/get-calendar-event/mzta-get-calendar-event.html +++ b/pages/get-calendar-event/mzta-get-calendar-event.html @@ -2,36 +2,28 @@ - ThunderAI - __MSG_AddTags_PageTitle__ + ThunderAI - __MSG_GetCalendarEvent_PageTitle__
-

__MSG_AddTags_GetCalendarEvent__

+

__MSG_GetCalendarEvent_PageTitle__

__MSG_GetCalendarEvent_info_default__

Work in progress...
- __MSG_GetCalendarEvent_prompt_text_title__ + __MSG_GetCalendarEvent_prompt_text_title__
__MSG_prefs_OptionText_btnManagePrompts_infoline__ __MSG_customPrompts_managePrompts_help__ -
__MSG_prefs_OptionText_btnManagePrompts_infoline3__ -
__MSG_prefs_OptionText_btnManagePrompts_infoline2__
+
__MSG_prefs_OptionText_GetCalendarEvent_infoline2__
- +
-
+
-
- __MSG_AddTags_excl_list_title__ -
__MSG_AddTags_excl_list_infoline__ -
__MSG_AddTags_excl_list_infoline2__
-
-
-
diff --git a/pages/get-calendar-event/mzta-get-calendar-event.js b/pages/get-calendar-event/mzta-get-calendar-event.js index b770c8dd..a6654632 100644 --- a/pages/get-calendar-event/mzta-get-calendar-event.js +++ b/pages/get-calendar-event/mzta-get-calendar-event.js @@ -21,11 +21,9 @@ import { taLogger } from '../../js/mzta-logger.js'; import { getSpecialPrompts, setSpecialPrompts } from "../../js/mzta-prompts.js"; import { getPlaceholders } from "../../js/mzta-placeholders.js"; import { textareaAutocomplete } from "../../js/mzta-placeholders-autocomplete.js"; -import { addTags_getExclusionList, addTags_setExclusionList } from "../../js/mzta-addatags-exclusion-list.js"; - let autocompleteSuggestions = []; -let taLog = new taLogger("mzta-addtags-page",true); +let taLog = new taLogger("mzta-get-calendar-event-page",true); document.addEventListener('DOMContentLoaded', async () => { @@ -36,102 +34,50 @@ document.addEventListener('DOMContentLoaded', async () => { element.addEventListener("change", saveOptions); }); - let addtags_textarea = document.getElementById('addtags_prompt_text'); - let addtags_save_btn = document.getElementById('btn_save_prompt'); - let addtags_reset_btn = document.getElementById('btn_reset_prompt'); + let get_calendar_event_textarea = document.getElementById('get_calendar_event_prompt_text'); + let get_calendar_event_save_btn = document.getElementById('btn_save_prompt'); + let get_calendar_event_reset_btn = document.getElementById('btn_reset_prompt'); let specialPrompts = await getSpecialPrompts(); - let addtags_prompt = specialPrompts.find(prompt => prompt.id === 'prompt_add_tags'); + let get_calendar_event_prompt = specialPrompts.find(prompt => prompt.id === 'prompt_get_calendar_event'); - addtags_textarea.addEventListener('input', (event) => { - addtags_reset_btn.disabled = (event.target.value === browser.i18n.getMessage('prompt_add_tags_full_text')); - addtags_save_btn.disabled = (event.target.value === addtags_prompt.text); - if(addtags_save_btn.disabled){ - document.getElementById('addtags_prompt_unsaved').classList.add('hidden'); + get_calendar_event_textarea.addEventListener('input', (event) => { + get_calendar_event_reset_btn.disabled = (event.target.value === browser.i18n.getMessage('prompt_get_calendar_event_full_text')); + get_calendar_event_save_btn.disabled = (event.target.value === get_calendar_event_prompt.text); + if(get_calendar_event_save_btn.disabled){ + document.getElementById('get_calendar_event_prompt_unsaved').classList.add('hidden'); } else { - document.getElementById('addtags_prompt_unsaved').classList.remove('hidden'); + document.getElementById('get_calendar_event_prompt_unsaved').classList.remove('hidden'); } }); - addtags_reset_btn.addEventListener('click', () => { - addtags_textarea.value = browser.i18n.getMessage('prompt_add_tags_full_text'); - addtags_reset_btn.disabled = true; + get_calendar_event_reset_btn.addEventListener('click', () => { + get_calendar_event_textarea.value = browser.i18n.getMessage('prompt_get_calendar_event_full_text'); + get_calendar_event_reset_btn.disabled = true; let event = new Event('input', { bubbles: true, cancelable: true }); - addtags_textarea.dispatchEvent(event); + get_calendar_event_textarea.dispatchEvent(event); }); - addtags_save_btn.addEventListener('click', () => { - specialPrompts.find(prompt => prompt.id === 'prompt_add_tags').text = addtags_textarea.value; + get_calendar_event_save_btn.addEventListener('click', () => { + specialPrompts.find(prompt => prompt.id === 'prompt_get_calendar_event').text = get_calendar_event_textarea.value; setSpecialPrompts(specialPrompts); - addtags_save_btn.disabled = true; - document.getElementById('addtags_prompt_unsaved').classList.add('hidden'); + get_calendar_event_save_btn.disabled = true; + document.getElementById('get_calendar_event_prompt_unsaved').classList.add('hidden'); browser.runtime.sendMessage({command: "reload_menus"}); }); - if(addtags_prompt.text === 'prompt_add_tags_full_text'){ - addtags_prompt.text = browser.i18n.getMessage(addtags_prompt.text); + if(get_calendar_event_prompt.text === 'prompt_get_calendar_event_full_text'){ + get_calendar_event_prompt.text = browser.i18n.getMessage(get_calendar_event_prompt.text); } - addtags_textarea.value = addtags_prompt.text; - addtags_reset_btn.disabled = (addtags_textarea.value === browser.i18n.getMessage('prompt_add_tags_full_text')); - - document.getElementById('add_tags_maxnum').addEventListener('change', updateAdditionalPromptStatements); - document.getElementById('add_tags_force_lang').addEventListener('change', updateAdditionalPromptStatements); - - updateAdditionalPromptStatements(); + get_calendar_event_textarea.value = get_calendar_event_prompt.text; + get_calendar_event_reset_btn.disabled = (get_calendar_event_textarea.value === browser.i18n.getMessage('prompt_get_calendar_event_full_text')); autocompleteSuggestions = (await getPlaceholders(true)).filter(p => !(p.id === 'additional_text')).map(p => ({command: '{%'+p.id+'%}', type: p.type})); - textareaAutocomplete(addtags_textarea, autocompleteSuggestions, 1); // type_value = 1, only when reading an email - - let excl_list_textarea = document.getElementById('addtags_excl_list'); - let excl_list_save_btn = document.getElementById('btn_save_excl_list'); - - let excl_list_value = await addTags_getExclusionList(); - let excl_list_string = excl_list_value.join('\n'); - - excl_list_textarea.value = excl_list_string; - - excl_list_textarea.addEventListener('input', (event) => { - excl_list_save_btn.disabled = (event.target.value === excl_list_string); - if(excl_list_save_btn.disabled){ - document.getElementById('excl_list_unsaved').classList.add('hidden'); - } else { - document.getElementById('excl_list_unsaved').classList.remove('hidden'); - } - }); - - excl_list_save_btn.addEventListener('click', () => { - let excl_array_new = excl_list_textarea.value.split(/[\n,]+/); - excl_array_new = Array.from(new Set(excl_array_new.map(item => item.trim().toLowerCase()))).sort(); - addTags_setExclusionList(excl_array_new); - excl_list_save_btn.disabled = true; - excl_list_textarea.value = excl_array_new.join('\n'); - document.getElementById('excl_list_unsaved').classList.add('hidden'); - }); + textareaAutocomplete(get_calendar_event_textarea, autocompleteSuggestions, 1); // type_value = 1, only when reading an email }); -async function updateAdditionalPromptStatements(){ - let prefs_ = await browser.storage.sync.get({add_tags_maxnum: 3, add_tags_force_lang: true, default_chatgpt_lang: ''}); - let el_tag_limit = document.getElementById('addtags_info_additional_statements'); - if((prefs_.add_tags_maxnum > 0)||(prefs_.add_tags_force_lang && prefs_.default_chatgpt_lang !== '')){ - el_tag_limit.textContent = browser.i18n.getMessage("addtags_info_additional_statements") + " \"" - if(prefs_.add_tags_maxnum > 0){ - el_tag_limit.textContent += browser.i18n.getMessage("prompt_add_tags_maxnum") + " " + prefs_.add_tags_maxnum +"." - } - if(prefs_.add_tags_force_lang && prefs_.default_chatgpt_lang !== ''){ - if(prefs_.add_tags_maxnum > 0){ - el_tag_limit.textContent += " " - } - el_tag_limit.textContent += browser.i18n.getMessage("prompt_add_tags_force_lang") + " " + prefs_.default_chatgpt_lang + "." - } - el_tag_limit.textContent += "\"."; - el_tag_limit.style.display = 'block'; - }else{ - el_tag_limit.style.display = 'none'; - } -} - // Methods to manage options, derived from: /options/mzta-options.js