From 0c7e251654bcd62e305b2ecb4cb9bf3a253b0a28 Mon Sep 17 00:00:00 2001 From: Aleksandr Date: Mon, 22 Dec 2025 14:34:53 +0200 Subject: [PATCH 1/6] New. Screenshot and new textarea. --- dist/doboard-widget-bundle.js | 230 +++++++++++++++++++++-- dist/doboard-widget-bundle.min.js | 28 +-- dist/doboard-widget-bundle.min.js.map | 2 +- js/src/fileuploader.js | 68 ++++++- js/src/handlers.js | 52 +++++ js/src/loaders/SpotFixTemplatesLoader.js | 22 +-- js/src/main.js | 16 ++ js/src/widget.js | 72 ++++++- styles/doboard-widget.css | 26 ++- 9 files changed, 452 insertions(+), 64 deletions(-) diff --git a/dist/doboard-widget-bundle.js b/dist/doboard-widget-bundle.js index 341c86c..18d6326 100644 --- a/dist/doboard-widget-bundle.js +++ b/dist/doboard-widget-bundle.js @@ -547,7 +547,58 @@ function spotFixSplitUrl(url) { } +function addIconPack() { + + if (tinymce?.IconManager) { + tinymce.IconManager.add("my_icon_pack", { + icons: { + 'paperclip': '\n' + + '\n' + + '', + 'numlist': '', + 'screenshot': '\n' + + '\n' + + '\n' + + '\n' + + '\n' + + '\n' + + '\n' + + '\n' + + '\n' + + '\n', + 'list-bull-default': '\n' + + '\n' + + '\n' + + '\n' + + '\n' + + '\n' + + '\n' + + '', + 'bold': '\n' + + '', + 'italic': '\n' + + '\n' + + '', + 'strike-through': '\n' + + '\n' + + '\n' + + '', + 'underline': '\n' + + '\n' + + '\n' + + '', + 'quote': '\n' + + '\n' + + '\n' + + '', + } + }) + } +} /** * Widget class to create a task widget */ @@ -899,6 +950,40 @@ class CleanTalkWidgetDoboard { } // bind creation events this.bindCreateTaskEvents(); + + tinymce.init({ + selector: '#doboard_task_widget-description', + plugins: 'link lists', + menubar: false, + statusbar: false, + toolbar_location: 'bottom', + toolbar: 'emoticons bullist numlist bold italic strikethrough underline blockquote', + height: 120, + icons: 'my_icon_pack', + file_picker_types: 'file image media', + setup: function (editor) { + editor.on('change', function () { + editor.save(); + }); + // editor.ui.registry.addButton('attachmentButton', { + // icon: 'paperclip', + // tooltip: 'Add file', + // disabled: true, + // onAction: (e) => { + // // fileUploader?.fileInput?.click(e); + // + // }, + // }); + // editor.ui.registry.addButton('screenshotButton', { + // icon: 'screenshot', + // tooltip: 'Screenshot', + // disabled: true, + // onAction: (e) => { + // // fileUploader?.makeScreenshot(); + // }, + // }); + } + }) break; case 'wrap': await this.getTaskCount(); @@ -1130,7 +1215,43 @@ class CleanTalkWidgetDoboard { } textarea.addEventListener('input', handleTextareaChange) textarea.addEventListener('change', handleTextareaChange) - } + + const fileUploader = this.fileUploader; + + tinymce.init({ + selector: '.doboard_task_widget-send_message_input', + plugins: 'link lists', + menubar: false, + statusbar: false, + toolbar_location: 'bottom', + toolbar: 'attachmentButton screenshotButton emoticons bullist numlist bold italic strikethrough underline blockquote', + height: 120, + icons: 'my_icon_pack', + file_picker_types: 'file image media', + setup: function (editor) { + editor.on('change', function () { + editor.save(); + }); + editor.ui.registry.addButton('attachmentButton', { + icon: 'paperclip', + tooltip: 'Add file', + disabled: true, + onAction: (e) => { + fileUploader?.fileInput?.click(e); + + }, + }); + editor.ui.registry.addButton('screenshotButton', { + icon: 'screenshot', + tooltip: 'Screenshot', + disabled: true, + onAction: (e) => { + fileUploader?.makeScreenshot(); + }, + }); + } + }); + } // Hide spinner preloader hideContainersSpinner(); @@ -1566,6 +1687,22 @@ if( document.readyState !== 'loading' ) { function spotFixInit() { new SpotFixSourcesLoader(); new CleanTalkWidgetDoboard({}, 'wrap'); + loadTinyMCE(); +} + +/** + * Downloads TinyMCE script from doboard.com + */ +function loadTinyMCE() { + const script = document.createElement('script'); + script.src = 'https://doboard.com/tinymce/tinymce.min.js'; + script.async = true; + + script.onload = function() { + addIconPack(); + }; + + document.head.appendChild(script); } document.addEventListener('selectionchange', function(e) { @@ -2492,7 +2629,7 @@ function spotFixRetrieveNodeFromPath(path) { return node; } -let spotFixCSS = `.doboard_task_widget-send_message_paperclip .doboard_task_widget-paperclip-tooltip::after{content:"";position:absolute;left:8%;top:100%;transform:translateX(-50%);pointer-events:none;background:0 0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #545b61;display:block}.doboard_task_widget-send_message_paperclip{position:relative}.doboard_task_widget-send_message_paperclip .doboard_task_widget-paperclip-tooltip{display:none;position:absolute;left:0;bottom:0;transform:translateX(-3%) translateY(-43px);background:#545b61;color:#FFF;border:none;border-radius:3px;padding:10px 16px;font-size:13px;line-height:1.4;z-index:100;min-width:220px;max-width:320px;text-align:left;pointer-events:none;text-transform:none}.doboard_task_widget-send_message_paperclip:hover .doboard_task_widget-paperclip-tooltip{display:block}.doboard_task_widget *{font-family:Inter,sans-serif;font-weight:400;font-size:14px;line-height:130%;color:#40484F}.doboard_task_widget-header *{color:#FFF;margin:0}.doboard_task_widget a{text-decoration:underline;color:#2F68B7}.doboard_task_widget a:hover{text-decoration:none}.doboard_task_widget{position:fixed;right:50px;bottom:20px;z-index:9999;vertical-align:middle;transition:top .1s;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}.doboard_task_widget_cursor-pointer{cursor:pointer}.doboard_task_widget-container{width:360px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;-moz-flex-direction:column}@media (max-height:800px){.doboard_task_widget-container{max-height:calc(60vh - 40px)}}.doboard_task_widget-header{display:flex;height:41px;min-height:41px;padding:8px 16px;background:#1C7857;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;color:#FFF}.doboard_task_widget-content{flex:1;overflow-y:auto;background:#FFF;border-radius:0 0 8px 8px;border:1px #BBC7D1;border-style:none solid solid;box-shadow:0 4px 15px 8px #CACACA40;scrollbar-width:none;max-height:60vh}.doboard_task_widget-element-container{margin-bottom:30px}.doboard_task_widget-wrap{border:none;box-shadow:none;position:relative;padding:0;cursor:pointer;width:56px;height:56px;border-radius:50%;background-color:#1c7857;opacity:.6;display:flex;align-items:center;justify-content:center}.doboard_task_widget-input-container.hidden,.doboard_task_widget-login.hidden,.doboard_task_widget-wrap.hidden,.wrap_review::after{display:none}.doboard_task_widget-wrap img{width:24px;height:24px}.doboard_task_widget-wrap::after{content:"";position:absolute;left:-2px;bottom:-6px;width:0;height:0;border-style:solid;border-radius:20%;border-width:20px 22px 0 0;border-color:#1c7857 transparent transparent;transform:rotate(30deg)}.wrap_review{width:160px;border-radius:16px;height:52px}.wrap_review:hover{background-color:#1c7857}#review_content_button_text{color:#fff;margin-left:4px;font-size:16px;text-transform:none!important}#doboard_task_widget-task_count{position:absolute;top:-5px;right:-5px;width:22px;height:22px;opacity:1;background:#ef8b43;border-radius:50%;color:#FFF;text-align:center;line-height:22px}#doboard_task_widget-task_count:hover{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxmb3JlaWduT2JqZWN0IHg9Ii00IiB5PSItNCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIj48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iYmFja2Ryb3AtZmlsdGVyOmJsdXIoMnB4KTtjbGlwLXBhdGg6dXJsKCNiZ2JsdXJfMF8xODk4OV8yODI2X2NsaXBfcGF0aCk7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJSI+PC9kaXY+PC9mb3JlaWduT2JqZWN0PjxwYXRoIGRhdGEtZmlnbWEtYmctYmx1ci1yYWRpdXM9IjQiIGQ9Ik0xMSAyMkMxNy4wNzUxIDIyIDIyIDE3LjA3NTEgMjIgMTFDMjIgNC45MjQ4NyAxNy4wNzUxIDAgMTEgMEM0LjkyNDg3IDAgMCA0LjkyNDg3IDAgMTFDMCAxNy4wNzUxIDQuOTI0ODcgMjIgMTEgMjJaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjciLz4KICAgIDxwYXRoIGQ9Ik0xNiA2TDYgMTYiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik02IDZMMTYgMTYiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxkZWZzPgogICAgICAgIDxjbGlwUGF0aCBpZD0iYmdibHVyXzBfMTg5ODlfMjgyNl9jbGlwX3BhdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQgNCkiPjxwYXRoIGQ9Ik0xMSAyMkMxNy4wNzUxIDIyIDIyIDE3LjA3NTEgMjIgMTFDMjIgNC45MjQ4NyAxNy4wNzUxIDAgMTEgMEM0LjkyNDg3IDAgMCA0LjkyNDg3IDAgMTFDMCAxNy4wNzUxIDQuOTI0ODcgMjIgMTEgMjJaIi8+CiAgICAgICAgPC9jbGlwUGF0aD48L2RlZnM+Cjwvc3ZnPg==) center no-repeat;cursor:pointer;overflow:hidden;font-size:0}#doboard_task_widget-task_count.hidden{width:0;height:0;opacity:0}.doboard_task_widget-input-container{position:relative;margin-bottom:24px}.doboard_task_widget-input-container .doboard_task_widget-field{padding:0 8px;border-radius:4px;border:1px solid #BBC7D1;outline:0!important;appearance:none;width:100%;height:40px;background:#FFF;color:#000;max-width:-webkit-fill-available;max-width:-moz-available}.doboard_task_widget-field:focus{border-color:#2F68B7}.doboard_task_widget-input-container textarea.doboard_task_widget-field{height:94px;padding-top:11px;padding-bottom:11px}.doboard_task_widget-field+label{color:#252A2F;background:#fff;position:absolute;top:20px;left:8px;transform:translateY(-50%);transition:all .2s ease-in-out}.doboard_task_widget-field.has-value+label,.doboard_task_widget-field:focus+label{font-size:10px;top:0;left:12px;padding:0 4px;z-index:5}.doboard_task_widget-field:focus+label{color:#2F68B7}.doboard_task_widget-login{background:#F9FBFD;border:1px solid #BBC7D1;border-radius:4px;padding:11px 8px 8px;margin-bottom:40px}.doboard_task_widget-login .doboard_task_widget-accordion{height:0;overflow:hidden;opacity:0;transition:all .2s ease-in-out}.doboard_task_widget-login.active .doboard_task_widget-accordion{height:auto;overflow:visible;opacity:1}.doboard_task_widget-login .doboard_task_widget-input-container:last-child{margin-bottom:0}.doboard_task_widget-login span{display:block;position:relative;padding-right:24px;cursor:pointer}.doboard_task_widget-login.active span{margin-bottom:24px}.doboard_task_widget-login span::after{position:absolute;top:0;right:4px;content:"";display:block;width:10px;height:10px;transform:rotate(45deg);border:2px solid #40484F;border-radius:1px;border-top:none;border-left:none;transition:all .2s ease-in-out}.doboard_task_widget-login.active span::after{transform:rotate(-135deg);top:7px}.doboard_task_widget-login .doboard_task_widget-field+label,.doboard_task_widget-login .doboard_task_widget-input-container .doboard_task_widget-field{background:#F9FBFD}.doboard_task_widget-submit_button{height:48px;width:100%;margin-bottom:10px;color:#FFF;background:#22A475;border:none;border-radius:6px;font-family:Inter,sans-serif;font-weight:700;font-size:16px;line-height:150%;cursor:pointer;transition:all .2s ease-in-out}.doboard_task_widget-submit_button:hover{background:#1C7857;color:#FFF}.doboard_task_widget-submit_button:disabled{background:rgba(117,148,138,.92);color:#FFF;cursor:wait}.doboard_task_widget-issue-title{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doboard_task_widget-hidden_element{opacity:0}.doboard_task_widget-message-wrapper{border-radius:4px;padding:8px;margin-bottom:14px;display:grid;justify-items:center}.doboard_task_widget-error_message-wrapper.hidden,.doboard_task_widget-message-wrapper.hidden{display:none}.doboard_task_widget-error_message{background:#fdd;border:1px solid #cf6868}.doboard_task_widget-notice_message{background:#dde9ff;border:1px solid #68a6cf}#doboard_task_widget-error_message-header{font-weight:600}#doboard_task_widget-error_message{text-align:center}.doboard_task_widget-task_row{display:flex;max-height:55px;cursor:pointer;align-items:center;justify-content:space-between;padding:1px 15px}.doboard_task_widget-task_row:last-child{margin-bottom:0}.doboard_task_widget-task-text_bold{font-weight:700}.doboard_task_widget-element_selection,.doboard_task_widget-image_selection,.doboard_task_widget-text_selection,.doboard_task_widget-text_selection.image-highlight>img{background:rgba(208,213,127,.68)}.doboard_task_widget-issues_list_empty{text-align:center;margin:20px 0}.doboard_task_widget-avatar_container{display:flex;height:44px;width:44px;border-radius:50%;background-repeat:no-repeat;background-position:center;background-size:100%}.doboard_task_widget-comment_data_owner .doboard_task_widget-avatar_container{opacity:0}.doboard_task_widget-avatar_placeholder{min-height:44px;min-width:44px;border-radius:50%;font-size:24px;line-height:1.2083333333;padding:0;background:#1C7857;display:inline-grid;align-content:center;justify-content:center}.doboard_task_widget-avatar-initials{color:#FFF;width:inherit;text-align:center}.doboard_task_widget-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.doboard_task_widget-description_container{height:55px;width:calc(100% - 44px - 8px);border-bottom:1px solid #EBF0F4;display:block;margin-left:8px}.doboard_task_widget-task_row:last-child .doboard_task_widget-description_container{border-bottom:none}.doboard_task_widget-all_issues{padding-bottom:0}.doboard_task_widget-all_issues-container,.doboard_task_widget-concrete_issues-container{overflow:auto;max-height:85vh;display:none}.doboard_task_widget-task_last_message,.doboard_task_widget-task_page_url a,.doboard_task_widget-task_title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doboard_task_widget-all_issues-container{scrollbar-width:none;margin-top:10px}.doboard_task_widget-content.doboard_task_widget-concrete_issue{padding:0}.doboard_task_widget-concrete_issues-container{padding:10px 16px 5px}.doboard_task_widget-all_issues-container::-webkit-scrollbar,.doboard_task_widget-all_issues::-webkit-scrollbar,.doboard_task_widget-concrete_issues-container::-webkit-scrollbar,.doboard_task_widget-content::-webkit-scrollbar{width:0}.doboard_task_widget-task_title{font-weight:700;display:flex;justify-content:space-between;align-items:center}.doboard_task_widget-task_title span{font-weight:700;display:inline-block}.doboard_task_widget-task_title-details{display:flex;max-width:calc(100% - 40px);align-items:center}.doboard_task_widget-task_title-unread_block{opacity:0;height:8px;width:8px;background:#f08c43;border-radius:50%;display:inline-block;font-size:8px;font-weight:600;position:relative}.doboard_task_widget-task_title-unread_block.unread{opacity:1}.doboard_task_widget-task_last_message{max-width:85%;height:36px}.doboard_task_widget-task_page_url{max-width:70%;height:36px;display:flex;align-items:center}.doboard_task_widget-task_page_url a{color:#40484F;text-decoration:none;margin-left:8px;max-width:100%}.doboard_task_widget-bottom{display:flex;justify-content:space-between}.doboard_task_widget-bottom-is-fixed{border-radius:10px;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOSAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik03LjA4MTE5IDAuMjIzNDM0QzguOTkxNjkgLTAuMjA4MTY3IDEwLjk5MTMgLTAuMDExMjE5NCAxMi43ODA0IDAuNzg1OTM0QzEzLjE1ODQgMC45NTQ2MjQgMTMuMzI4NiAxLjM5ODAzIDEzLjE2MDMgMS43NzYxN0MxMi45OTE3IDIuMTU0MTkgMTIuNTQ4MiAyLjMyNDI0IDEyLjE3MDEgMi4xNTYwNUMxMC42NzY0IDEuNDkwNTIgOS4wMDcyNiAxLjMyNiA3LjQxMjI1IDEuNjg2MzJDNS44MTcxNyAyLjA0NjcxIDQuMzgwOTcgMi45MTI5NiAzLjMxODUgNC4xNTYwNUMyLjI1NjIzIDUuMzk5MDEgMS42MjQ0MSA2Ljk1MjI5IDEuNTE2NzQgOC41ODM3OUMxLjQwOTI0IDEwLjIxNTQgMS44MzE4NCAxMS44MzkgMi43MjE4MiAxMy4yMTA3QzMuNjExNzkgMTQuNTgyMiA0LjkyMTY0IDE1LjYyOTQgNi40NTUyMSAxNi4xOTYxQzcuOTg5MDIgMTYuNzYyNiA5LjY2NTUzIDE2LjgxODkgMTEuMjMzNSAxNi4zNTUzQzEyLjgwMTYgMTUuODkxNiAxNC4xNzgzIDE0LjkzMzUgMTUuMTU3NCAxMy42MjM4QzE2LjEzNjQgMTIuMzE0MiAxNi42NjYxIDEwLjcyMjcgMTYuNjY3MSA5LjA4NzY5TDE4LjE2NzEgOS4wODg2N0MxOC4xNjU4IDExLjA0NzEgMTcuNTMxMiAxMi45NTM2IDE2LjM1ODUgMTQuNTIyM0MxNS4xODU5IDE2LjA5MDcgMTMuNTM3MyAxNy4yMzg0IDExLjY1OTMgMTcuNzkzN0M5Ljc4MTEgMTguMzQ5MSA3Ljc3MjkzIDE4LjI4MiA1LjkzNTY4IDE3LjYwMzNDNC4wOTg1IDE2LjkyNDYgMi41MjkxMiAxNS42NzAxIDEuNDYzMDMgMTQuMDI3MUMwLjM5NzAzNSAxMi4zODQxIC0wLjEwOTEwOSAxMC40Mzk1IDAuMDE5NjY4MyA4LjQ4NTE1QzAuMTQ4NjA3IDYuNTMwOCAwLjkwNjMyMyA0LjY3MDMzIDIuMTc4ODUgMy4xODE0NEMzLjQ1MTM2IDEuNjkyNjggNS4xNzA4OCAwLjY1NTE2MiA3LjA4MTE5IDAuMjIzNDM0WiIgZmlsbD0iIzIyQTQ3NSIvPg0KPHBhdGggZD0iTTE2Ljg4NTkgMS44OTA0M0MxNy4xNzg2IDEuNTk3NTMgMTcuNjUzNCAxLjU5Nzg0IDE3Ljk0NjQgMS44OTA0M0MxOC4yMzkzIDIuMTgzMTYgMTguMjQwMSAyLjY1Nzk2IDE3Ljk0NzQgMi45NTA5N0w5LjYxMzQyIDExLjI5MjhDOS40NzI4MiAxMS40MzMzIDkuMjgxOTYgMTEuNTEyNCA5LjA4MzE1IDExLjUxMjVDOC44ODQzMiAxMS41MTI1IDguNjkzNDggMTEuNDMzMyA4LjU1Mjg3IDExLjI5MjhMNi4wNTI4NyA4Ljc5Mjc3QzUuNzYwMTQgOC40OTk5IDUuNzYwMTEgOC4wMjUwOCA2LjA1Mjg3IDcuNzMyMjJDNi4zNDU3MiA3LjQzOTM3IDYuODIwNTEgNy40Mzk0NiA3LjExMzQyIDcuNzMyMjJMOS4wODIxNyA5LjcwMDk3TDE2Ljg4NTkgMS44OTA0M1oiIGZpbGw9IiMyMkE0NzUiLz4NCjxwYXRoIGQ9Ik0xNy40MTcxIDcuNTcxMDlDMTcuODMxIDcuNTcxNDQgMTguMTY3IDcuOTA3MTYgMTguMTY3MSA4LjMyMTA5VjkuMDg4NjdMMTcuNDE3MSA5LjA4NzY5SDE2LjY2NzFWOC4zMjEwOUMxNi42NjcyIDcuOTA2OTQgMTcuMDAzIDcuNTcxMDkgMTcuNDE3MSA3LjU3MTA5WiIgZmlsbD0iIzIyQTQ3NSIvPg0KPC9zdmc+) 8px center no-repeat #EBFAF4;padding:4px 7px 4px 30px}.doboard_task_widget-bottom-is-fixed-task-block{text-align:center}.doboard_task_widget-bottom-is-fixed-task{background:#F3F6F9;color:#1C7857;display:inline-block;border-radius:10px;padding:5px 8px;margin:0 auto}.doboard_task_widget-task_row-green{background:#EBF0F4}.doboard_task_widget_return_to_all{display:flex;gap:8px;flex-direction:row;-moz-flex-direction:row;align-content:center;flex-wrap:wrap}.doboard_task_widget-task_title-last_update_time{font-family:Inter,serif;font-weight:400;font-style:normal;font-size:11px;leading-trim:NONE;line-height:100%}.doboard_task_widget-task_title_public_status_img{opacity:50%;margin-left:5px;scale:90%}.doboard_task_widget-description-textarea{resize:none}.doboard_task_widget-switch_row{display:flex;align-items:center;gap:12px;margin:16px 0;justify-content:space-between}.doboard_task_widget-switch-label{font-weight:600;font-size:16px;height:24px;align-content:center}.doboard_task_widget-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.doboard_task_widget-switch input{opacity:0;width:0;height:0}.doboard_task_widget-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:24px;transition:.2s}.doboard_task_widget-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:.2s}.doboard_task_widget-switch input:checked+.doboard_task_widget-slider{background-color:#65D4AC}.doboard_task_widget-switch input:checked+.doboard_task_widget-slider:before{transform:translateX(20px)}.doboard_task_widget-switch-img{width:24px;height:24px;flex-shrink:0}.doboard_task_widget-switch-center{display:flex;gap:2px;flex-direction:column;-moz-flex-direction:column;flex:1 1 auto;min-width:0}.doboard_task_widget-switch-desc{display:block;font-size:12px;color:#707A83;margin:0;line-height:1.2;max-width:180px;word-break:break-word}.doboard_task_widget-concrete_issue-day_content{display:flex;flex-direction:column;-moz-flex-direction:column}.doboard_task_widget-concrete_issue_day_content-month_day{text-align:center;font-weight:400;font-size:12px;line-height:100%;padding:8px;opacity:.75}.doboard_task_widget-concrete_issue_day_content-messages_wrapper{display:flex;flex-direction:column;-moz-flex-direction:column}.doboard_task_widget-comment_data_wrapper{display:flex;flex-direction:row;-moz-flex-direction:row;margin-bottom:15px;align-items:flex-end}.doboard_task_widget-comment_text_container{position:relative;width:calc(100% - 44px - 5px);height:auto;margin-left:5px;background:#F3F6F9;border-radius:16px}.doboard_task_widget-comment_text_container:after{content:"";position:absolute;bottom:0;left:-5px;width:13px;height:19px;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAxMyAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuMTEyNTggMTkuMDMzNEM1LjI5NDg2IDE5LjgyMDEgMTAuNjEwNSAxNy45NzQxIDEyLjI3MTUgMTYuMTcxM0MxMi4yNzE1IDE2LjE3MTMgMTAuOTYyMyAtMi43ODEyNCA1LjA5NTU0IDAuMzQ5MDc5QzUuMDc0NCAxLjYxNDU0IDUuMDk1NTQgNS45OTQ5IDUuMDk1NTQgNi43NDA2OUM1LjA5NTU0IDE3LjA2NjIgLTAuODg0MDEyIDE4LjQ0MDEgMC4xMTI1OCAxOS4wMzM0WiIgZmlsbD0iI0YzRjZGOSIvPgo8L3N2Zz4K)}.doboard_task_widget-comment_data_owner .doboard_task_widget-comment_text_container{background:#EBFAF4}.doboard_task_widget-comment_data_owner .doboard_task_widget-comment_text_container:after{left:auto;right:-5px;height:13px;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjc3NzEgMTIuMzA2NkM3LjMzMTM1IDEzLjA5MzcgMS43NDU0NCAxMS4yNDY5IDAgOS40NDMxOUw3LjM5MTYgMEM3LjM5MTYgMTAuMzMwMyAxMy44MjQ0IDExLjcxMzEgMTIuNzc3MSAxMi4zMDY2WiIgZmlsbD0iI0VCRkFGNCIvPgo8L3N2Zz4K)}.doboard_task_widget-comment_body,.doboard_task_widget-comment_time{position:relative;z-index:1}.doboard_task_widget-comment_body{padding:6px 8px;min-height:30px}.doboard_task_widget-comment_body strong{font-variation-settings:"wght" 700}.doboard_task_widget-comment_body blockquote{margin:0;border-left:3px solid #22a475}.doboard_task_widget-comment_body blockquote p{margin:0 10px}.doboard_task_widget-comment_body details .mce-accordion-body{padding-left:20px}.doboard_task_widget-comment_body details .mce-accordion-summary{background:url("data:image/svg+xml;charset=utf-8,%3Csvg transform='rotate(180 0 0)' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' style='enable-background:new 0 0 20 20' xml:space='preserve'%3E%3Cpath d='M10 13.3c-.2 0-.4-.1-.6-.2l-5-5c-.3-.3-.3-.9 0-1.2.3-.3.9-.3 1.2 0l4.4 4.4 4.4-4.4c.3-.3.9-.3 1.2 0 .3.3.3.9 0 1.2l-5 5c-.2.2-.4.2-.6.2z'/%3E%3C/svg%3E") 0 no-repeat;padding-left:20px}.doboard_task_widget-comment_body .mce-accordion[open] .mce-accordion-summary{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' style='enable-background:new 0 0 20 20' xml:space='preserve'%3E%3Cpath d='M10 13.3c-.2 0-.4-.1-.6-.2l-5-5c-.3-.3-.3-.9 0-1.2.3-.3.9-.3 1.2 0l4.4 4.4 4.4-4.4c.3-.3.9-.3 1.2 0 .3.3.3.9 0 1.2l-5 5c-.2.2-.4.2-.6.2z'/%3E%3C/svg%3E") 0 no-repeat}.doboard_task_widget-comment_body details .mce-accordion-summary::marker{content:""}.doboard_task_widget-comment_body pre{border:1px solid #d6dde3;border-left-width:8px;border-radius:4px;padding:13px 16px 14px 12px;white-space:pre-wrap}.doboard_task_widget-comment_time{font-weight:400;font-size:11px;opacity:.8;position:absolute;bottom:6px;right:6px}.doboard_task_widget-comment_body-img-strict{max-width:-webkit-fill-available;height:100px;margin-right:5px}.doboard_task_widget-send_message{padding:14px 10px;border-top:1px solid #BBC7D1;position:sticky;background:#fff;bottom:0;z-index:4}.doboard_task_widget-send_message_elements_wrapper{display:flex;flex-direction:row;-moz-flex-direction:row;align-content:center;flex-wrap:nowrap;justify-content:space-between;align-items:end}.doboard_task_widget-send_message_elements_wrapper button{height:37px;background:0 0;margin:0}.doboard_task_widget-send_message_elements_wrapper img{margin:0}.doboard_task_widget-send_message_input_wrapper{position:relative;display:inline-grid;align-items:center;justify-items:center;flex-grow:1;padding:0 6px}.doboard_task_widget-send_message_input_wrapper textarea{position:relative;width:100%;height:37px;border:none;outline:0;box-shadow:none;border-radius:24px;background:#F3F6F9;resize:none;margin-bottom:0!important;transition:height .2s ease-in-out;padding:8px;box-sizing:border-box}.doboard_task_widget-send_message_input_wrapper textarea.high{height:170px}.doboard_task_widget-send_message_input_wrapper textarea:focus{background:#F3F6F9;border-color:#007bff;outline:0}.doboard_task_widget-send_message_button,.doboard_task_widget-send_message_paperclip{display:inline-grid;border:none;background:0 0;cursor:pointer;padding:0;align-items:center;margin:0}.doboard_task_widget-send_message_button:hover,.doboard_task_widget-send_message_paperclip:hover rect{fill:#45a049}.doboard_task_widget-send_message_button:active,.doboard_task_widget-send_message_paperclip:active{transform:scale(.98)}.doboard_task_widget-spinner_wrapper_for_containers{display:flex;justify-content:center;align-items:center;min-height:60px;width:100%}.doboard_task_widget-spinner_for_containers{width:40px;height:40px;border-radius:50%;background:conic-gradient(transparent,#1C7857);mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#fff 0);animation:spin 1s linear infinite}.doboard_task_widget-create_issue{padding:10px}.doboard_task_widget__file-upload__wrapper{display:none;border:1px solid #BBC7D1;margin-top:14px;padding:0 10px 10px;border-radius:4px}.doboard_task_widget__file-upload__list-header{text-align:left;font-size:.9em;margin:5px 0;color:#444c529e}.doboard_task_widget__file-upload__file-input-button{display:none}.doboard_task_widget__file-upload__file-list{border:1px solid #ddd;border-radius:5px;padding:6px;max-height:200px;overflow-y:auto;background:#f3f6f9}.doboard_task_widget__file-upload__file-item{display:flex;justify-content:space-between;align-items:center;padding:4px;border-bottom:1px solid #bbc7d16b}.doboard_task_widget__file-upload__file-item:last-child{border-bottom:none}.doboard_task_widget__file-upload__file_info{display:inline-flex;align-items:center}.doboard_task_widget__file-upload__file-name{font-weight:700;font-size:.9em}.doboard_task_widget__file-upload__file-item-content{width:100%}.doboard_task_widget__file-upload__file_size{color:#666;font-size:.8em;margin-left:6px}.doboard_task_widget__file-upload__remove-btn{background:#22a475;color:#fff;border:none;border-radius:3px;cursor:pointer}.doboard_task_widget__file-upload__error{display:block;margin:7px 0 0;padding:7px;border-radius:4px;background:#fdd;border:1px solid #cf6868}.doboard_task_widget-show_button{position:fixed;background:#1C7857;color:#FFF;padding:8px 12px;border-radius:4px;font-size:14px;z-index:10000;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3);transform:translate(-50%,-100%);margin-top:-8px;white-space:nowrap;border:none;font-family:inherit}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:480px){.doboard_task_widget{position:fixed;right:0;top:auto;bottom:0;margin:0 20px 20px;box-sizing:border-box;transform:translateZ(0);-moz-transform:translateZ(0);will-change:transform;max-height:90vh}.doboard_task_widget-container{width:100%;max-width:290px;margin:0 auto;max-height:90vh}.doboard_task_widget-content{height:auto;max-height:none;scrollbar-width:none}.doboard_task_widget-content::-webkit-scrollbar{display:none}.doboard_task_widget-all_issues-container,.doboard_task_widget-concrete_issues-container{max-height:80vh}}@supports (-webkit-overflow-scrolling:touch){.doboard_task_widget{position:fixed}}.doboard_task_widget_tasks_list{background-color:#fff;position:sticky;bottom:0;height:38px;display:flex;flex-direction:column-reverse;align-items:center;padding-bottom:8px}.doboard_task_widget_tasks_list a{color:#40484F!important;text-decoration:none!important}.doboard_task_widget-text_selection{position:relative;display:inline-block}.doboard_task_widget-see-task{cursor:pointer;text-decoration:underline}.doboard_task_widget-text_selection_tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#FFF;color:#000;padding:4px 8px;border-radius:4px;font-size:10px;white-space:nowrap;z-index:9000;border:1px solid #BBC7D1;margin-bottom:8px}.doboard_task_widget-text_selection_tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#FFF}.doboard_task_widget-text_selection_tooltip::before{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#BBC7D1;z-index:-1}.doboard_task_widget-text_selection_tooltip_icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDEwMyAxMDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEwMyAxMDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiMxNzcyNTA7fQ0KPC9zdHlsZT4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01MywwSDB2MTAwaDMwLjJINTNDMTE5LjYsMTAwLDExOS42LDAsNTMsMHogTTMwLjIsMTAwYy0xNi42LDAtMzAtMTMuNC0zMC0zMHMxMy40LTMwLDMwLTMwDQoJYzE2LjYsMCwzMCwxMy40LDMwLDMwUzQ2LjgsMTAwLDMwLjIsMTAweiIvPg0KPC9zdmc+DQo=);background-repeat:no-repeat;width:22px;height:22px;margin:5px 3px}.doboard_task_widget-text_selection_tooltip_element{display:flex;justify-content:space-between}`; +let spotFixCSS = `.doboard_task_widget-send_message_paperclip .doboard_task_widget-paperclip-tooltip::after{content:"";position:absolute;left:8%;top:100%;transform:translateX(-50%);pointer-events:none;background:0 0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #545b61;display:block}.doboard_task_widget-send_message_paperclip{position:relative}.doboard_task_widget-send_message_paperclip .doboard_task_widget-paperclip-tooltip{display:none;position:absolute;left:0;bottom:0;transform:translateX(-3%) translateY(-43px);background:#545b61;color:#FFF;border:none;border-radius:3px;padding:10px 16px;font-size:13px;line-height:1.4;z-index:100;min-width:220px;max-width:320px;text-align:left;pointer-events:none;text-transform:none}.doboard_task_widget-send_message_paperclip:hover .doboard_task_widget-paperclip-tooltip{display:block}.doboard_task_widget *{font-family:Inter,sans-serif;font-weight:400;font-size:14px;line-height:130%;color:#40484F}.doboard_task_widget-header *{color:#FFF;margin:0}.doboard_task_widget a{text-decoration:underline;color:#2F68B7}.doboard_task_widget a:hover{text-decoration:none}.doboard_task_widget{position:fixed;right:50px;bottom:20px;z-index:9999;vertical-align:middle;transition:top .1s;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}.doboard_task_widget_cursor-pointer{cursor:pointer}.doboard_task_widget-container{width:360px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;-moz-flex-direction:column}@media (max-height:800px){.doboard_task_widget-container{max-height:calc(60vh - 40px)}}.doboard_task_widget-header{display:flex;height:41px;min-height:41px;padding:8px 16px;background:#1C7857;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;color:#FFF}.doboard_task_widget-content{flex:1;overflow-y:auto;background:#FFF;border-radius:0 0 8px 8px;border:1px #BBC7D1;border-style:none solid solid;box-shadow:0 4px 15px 8px #CACACA40;scrollbar-width:none;max-height:60vh}.doboard_task_widget-element-container{margin-bottom:30px}.doboard_task_widget-wrap{border:none;box-shadow:none;position:relative;padding:0;cursor:pointer;width:56px;height:56px;border-radius:50%;background-color:#1c7857;opacity:.6;display:flex;align-items:center;justify-content:center}.doboard_task_widget-wrap img{width:24px;height:24px}.doboard_task_widget-wrap::after{content:"";position:absolute;left:-2px;bottom:-6px;width:0;height:0;border-style:solid;border-radius:20%;border-width:20px 22px 0 0;border-color:#1c7857 transparent transparent;transform:rotate(30deg)}.doboard_task_widget-wrap.hidden{display:none}.wrap_review{width:160px;border-radius:16px;height:52px}.wrap_review:hover{background-color:#1c7857}#review_content_button_text{color:#fff;margin-left:4px;font-size:16px;text-transform:none!important}.wrap_review::after{display:none}#doboard_task_widget-task_count{position:absolute;top:-5px;right:-5px;width:22px;height:22px;opacity:1;background:#ef8b43;border-radius:50%;color:#FFF;text-align:center;line-height:22px}#doboard_task_widget-task_count:hover{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMiAyMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxmb3JlaWduT2JqZWN0IHg9Ii00IiB5PSItNCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIj48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iYmFja2Ryb3AtZmlsdGVyOmJsdXIoMnB4KTtjbGlwLXBhdGg6dXJsKCNiZ2JsdXJfMF8xODk4OV8yODI2X2NsaXBfcGF0aCk7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJSI+PC9kaXY+PC9mb3JlaWduT2JqZWN0PjxwYXRoIGRhdGEtZmlnbWEtYmctYmx1ci1yYWRpdXM9IjQiIGQ9Ik0xMSAyMkMxNy4wNzUxIDIyIDIyIDE3LjA3NTEgMjIgMTFDMjIgNC45MjQ4NyAxNy4wNzUxIDAgMTEgMEM0LjkyNDg3IDAgMCA0LjkyNDg3IDAgMTFDMCAxNy4wNzUxIDQuOTI0ODcgMjIgMTEgMjJaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjciLz4KICAgIDxwYXRoIGQ9Ik0xNiA2TDYgMTYiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik02IDZMMTYgMTYiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgIDxkZWZzPgogICAgICAgIDxjbGlwUGF0aCBpZD0iYmdibHVyXzBfMTg5ODlfMjgyNl9jbGlwX3BhdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQgNCkiPjxwYXRoIGQ9Ik0xMSAyMkMxNy4wNzUxIDIyIDIyIDE3LjA3NTEgMjIgMTFDMjIgNC45MjQ4NyAxNy4wNzUxIDAgMTEgMEM0LjkyNDg3IDAgMCA0LjkyNDg3IDAgMTFDMCAxNy4wNzUxIDQuOTI0ODcgMjIgMTEgMjJaIi8+CiAgICAgICAgPC9jbGlwUGF0aD48L2RlZnM+Cjwvc3ZnPg==) center no-repeat;cursor:pointer;overflow:hidden;font-size:0}#doboard_task_widget-task_count.hidden{width:0;height:0;opacity:0}.doboard_task_widget-input-container{position:relative;margin-bottom:24px}.doboard_task_widget-input-container.hidden{display:none}.doboard_task_widget-input-container .doboard_task_widget-field{padding:0 8px;border-radius:4px;border:1px solid #BBC7D1;outline:0!important;appearance:none;width:100%;height:40px;background:#FFF;color:#000;max-width:-webkit-fill-available;max-width:-moz-available}.doboard_task_widget-field:focus{border-color:#2F68B7}.doboard_task_widget-input-container textarea.doboard_task_widget-field{height:94px;padding-top:11px;padding-bottom:11px}.doboard_task_widget-field+label{color:#252A2F;background:#fff;position:absolute;top:20px;left:8px;transform:translateY(-50%);transition:all .2s ease-in-out}.doboard_task_widget-field.has-value+label,.doboard_task_widget-field:focus+label{font-size:10px;top:0;left:12px;padding:0 4px;z-index:5}.doboard_task_widget-field:focus+label{color:#2F68B7}.doboard_task_widget-login{background:#F9FBFD;border:1px solid #BBC7D1;border-radius:4px;padding:11px 8px 8px;margin-bottom:40px}.doboard_task_widget-login.hidden{display:none}.doboard_task_widget-login .doboard_task_widget-accordion{height:0;overflow:hidden;opacity:0;transition:all .2s ease-in-out}.doboard_task_widget-login.active .doboard_task_widget-accordion{height:auto;overflow:visible;opacity:1}.doboard_task_widget-login .doboard_task_widget-input-container:last-child{margin-bottom:0}.doboard_task_widget-login span{display:block;position:relative;padding-right:24px;cursor:pointer}.doboard_task_widget-login.active span{margin-bottom:24px}.doboard_task_widget-login span::after{position:absolute;top:0;right:4px;content:"";display:block;width:10px;height:10px;transform:rotate(45deg);border:2px solid #40484F;border-radius:1px;border-top:none;border-left:none;transition:all .2s ease-in-out}.doboard_task_widget-login.active span::after{transform:rotate(-135deg);top:7px}.doboard_task_widget-login .doboard_task_widget-field+label,.doboard_task_widget-login .doboard_task_widget-input-container .doboard_task_widget-field{background:#F9FBFD}.doboard_task_widget-submit_button{height:48px;width:100%;margin-bottom:10px;color:#FFF;background:#22A475;border:none;border-radius:6px;font-family:Inter,sans-serif;font-weight:700;font-size:16px;line-height:150%;cursor:pointer;transition:all .2s ease-in-out}.doboard_task_widget-submit_button:hover{background:#1C7857;color:#FFF}.doboard_task_widget-submit_button:disabled{background:rgba(117,148,138,.92);color:#FFF;cursor:wait}.doboard_task_widget-issue-title{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doboard_task_widget-hidden_element{opacity:0}.doboard_task_widget-message-wrapper{border-radius:4px;padding:8px;margin-bottom:14px;display:grid;justify-items:center}.doboard_task_widget-error_message-wrapper.hidden,.doboard_task_widget-message-wrapper.hidden{display:none}.doboard_task_widget-error_message{background:#fdd;border:1px solid #cf6868}.doboard_task_widget-notice_message{background:#dde9ff;border:1px solid #68a6cf}#doboard_task_widget-error_message-header{font-weight:600}#doboard_task_widget-error_message{text-align:center}.doboard_task_widget-task_row{display:flex;max-height:55px;cursor:pointer;align-items:center;justify-content:space-between;padding:1px 15px}.doboard_task_widget-task_row:last-child{margin-bottom:0}.doboard_task_widget-task-text_bold{font-weight:700}.doboard_task_widget-element_selection,.doboard_task_widget-image_selection,.doboard_task_widget-text_selection,.doboard_task_widget-text_selection.image-highlight>img{background:rgba(208,213,127,.68)}.doboard_task_widget-issues_list_empty{text-align:center;margin:20px 0}.doboard_task_widget-avatar_container{display:flex;height:44px;width:44px;border-radius:50%;background-repeat:no-repeat;background-position:center;background-size:100%}.doboard_task_widget-comment_data_owner .doboard_task_widget-avatar_container{opacity:0}.doboard_task_widget-avatar_placeholder{min-height:44px;min-width:44px;border-radius:50%;font-size:24px;line-height:1.2083333333;padding:0;background:#1C7857;display:inline-grid;align-content:center;justify-content:center}.doboard_task_widget-avatar-initials{color:#FFF;width:inherit;text-align:center}.doboard_task_widget-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.doboard_task_widget-description_container{height:55px;width:calc(100% - 44px - 8px);border-bottom:1px solid #EBF0F4;display:block;margin-left:8px}.doboard_task_widget-task_row:last-child .doboard_task_widget-description_container{border-bottom:none}.doboard_task_widget-all_issues{padding-bottom:0}.doboard_task_widget-all_issues-container,.doboard_task_widget-concrete_issues-container{overflow:auto;max-height:85vh;display:none}.doboard_task_widget-task_last_message,.doboard_task_widget-task_page_url a,.doboard_task_widget-task_title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doboard_task_widget-all_issues-container{scrollbar-width:none;margin-top:10px}.doboard_task_widget-content.doboard_task_widget-concrete_issue{padding:0}.doboard_task_widget-concrete_issues-container{padding:10px 16px 5px}.doboard_task_widget-all_issues-container::-webkit-scrollbar,.doboard_task_widget-all_issues::-webkit-scrollbar,.doboard_task_widget-concrete_issues-container::-webkit-scrollbar,.doboard_task_widget-content::-webkit-scrollbar{width:0}.doboard_task_widget-task_title{font-weight:700;display:flex;justify-content:space-between;align-items:center}.doboard_task_widget-task_title span{font-weight:700;display:inline-block}.doboard_task_widget-task_title-details{display:flex;max-width:calc(100% - 40px);align-items:center}.doboard_task_widget-task_title-unread_block{opacity:0;height:8px;width:8px;background:#f08c43;border-radius:50%;display:inline-block;font-size:8px;font-weight:600;position:relative}.doboard_task_widget-task_title-unread_block.unread{opacity:1}.doboard_task_widget-task_last_message{max-width:85%;height:36px}.doboard_task_widget-task_page_url{max-width:70%;height:36px;display:flex;align-items:center}.doboard_task_widget-task_page_url a{color:#40484F;text-decoration:none;margin-left:8px;max-width:100%}.doboard_task_widget-bottom{display:flex;justify-content:space-between}.doboard_task_widget-bottom-is-fixed{border-radius:10px;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOSAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik03LjA4MTE5IDAuMjIzNDM0QzguOTkxNjkgLTAuMjA4MTY3IDEwLjk5MTMgLTAuMDExMjE5NCAxMi43ODA0IDAuNzg1OTM0QzEzLjE1ODQgMC45NTQ2MjQgMTMuMzI4NiAxLjM5ODAzIDEzLjE2MDMgMS43NzYxN0MxMi45OTE3IDIuMTU0MTkgMTIuNTQ4MiAyLjMyNDI0IDEyLjE3MDEgMi4xNTYwNUMxMC42NzY0IDEuNDkwNTIgOS4wMDcyNiAxLjMyNiA3LjQxMjI1IDEuNjg2MzJDNS44MTcxNyAyLjA0NjcxIDQuMzgwOTcgMi45MTI5NiAzLjMxODUgNC4xNTYwNUMyLjI1NjIzIDUuMzk5MDEgMS42MjQ0MSA2Ljk1MjI5IDEuNTE2NzQgOC41ODM3OUMxLjQwOTI0IDEwLjIxNTQgMS44MzE4NCAxMS44MzkgMi43MjE4MiAxMy4yMTA3QzMuNjExNzkgMTQuNTgyMiA0LjkyMTY0IDE1LjYyOTQgNi40NTUyMSAxNi4xOTYxQzcuOTg5MDIgMTYuNzYyNiA5LjY2NTUzIDE2LjgxODkgMTEuMjMzNSAxNi4zNTUzQzEyLjgwMTYgMTUuODkxNiAxNC4xNzgzIDE0LjkzMzUgMTUuMTU3NCAxMy42MjM4QzE2LjEzNjQgMTIuMzE0MiAxNi42NjYxIDEwLjcyMjcgMTYuNjY3MSA5LjA4NzY5TDE4LjE2NzEgOS4wODg2N0MxOC4xNjU4IDExLjA0NzEgMTcuNTMxMiAxMi45NTM2IDE2LjM1ODUgMTQuNTIyM0MxNS4xODU5IDE2LjA5MDcgMTMuNTM3MyAxNy4yMzg0IDExLjY1OTMgMTcuNzkzN0M5Ljc4MTEgMTguMzQ5MSA3Ljc3MjkzIDE4LjI4MiA1LjkzNTY4IDE3LjYwMzNDNC4wOTg1IDE2LjkyNDYgMi41MjkxMiAxNS42NzAxIDEuNDYzMDMgMTQuMDI3MUMwLjM5NzAzNSAxMi4zODQxIC0wLjEwOTEwOSAxMC40Mzk1IDAuMDE5NjY4MyA4LjQ4NTE1QzAuMTQ4NjA3IDYuNTMwOCAwLjkwNjMyMyA0LjY3MDMzIDIuMTc4ODUgMy4xODE0NEMzLjQ1MTM2IDEuNjkyNjggNS4xNzA4OCAwLjY1NTE2MiA3LjA4MTE5IDAuMjIzNDM0WiIgZmlsbD0iIzIyQTQ3NSIvPg0KPHBhdGggZD0iTTE2Ljg4NTkgMS44OTA0M0MxNy4xNzg2IDEuNTk3NTMgMTcuNjUzNCAxLjU5Nzg0IDE3Ljk0NjQgMS44OTA0M0MxOC4yMzkzIDIuMTgzMTYgMTguMjQwMSAyLjY1Nzk2IDE3Ljk0NzQgMi45NTA5N0w5LjYxMzQyIDExLjI5MjhDOS40NzI4MiAxMS40MzMzIDkuMjgxOTYgMTEuNTEyNCA5LjA4MzE1IDExLjUxMjVDOC44ODQzMiAxMS41MTI1IDguNjkzNDggMTEuNDMzMyA4LjU1Mjg3IDExLjI5MjhMNi4wNTI4NyA4Ljc5Mjc3QzUuNzYwMTQgOC40OTk5IDUuNzYwMTEgOC4wMjUwOCA2LjA1Mjg3IDcuNzMyMjJDNi4zNDU3MiA3LjQzOTM3IDYuODIwNTEgNy40Mzk0NiA3LjExMzQyIDcuNzMyMjJMOS4wODIxNyA5LjcwMDk3TDE2Ljg4NTkgMS44OTA0M1oiIGZpbGw9IiMyMkE0NzUiLz4NCjxwYXRoIGQ9Ik0xNy40MTcxIDcuNTcxMDlDMTcuODMxIDcuNTcxNDQgMTguMTY3IDcuOTA3MTYgMTguMTY3MSA4LjMyMTA5VjkuMDg4NjdMMTcuNDE3MSA5LjA4NzY5SDE2LjY2NzFWOC4zMjEwOUMxNi42NjcyIDcuOTA2OTQgMTcuMDAzIDcuNTcxMDkgMTcuNDE3MSA3LjU3MTA5WiIgZmlsbD0iIzIyQTQ3NSIvPg0KPC9zdmc+) 8px center no-repeat #EBFAF4;padding:4px 7px 4px 30px}.doboard_task_widget-bottom-is-fixed-task-block{text-align:center}.doboard_task_widget-bottom-is-fixed-task{background:#F3F6F9;color:#1C7857;display:inline-block;border-radius:10px;padding:5px 8px;margin:0 auto}.doboard_task_widget-task_row-green{background:#EBF0F4}.doboard_task_widget_return_to_all{display:flex;gap:8px;flex-direction:row;-moz-flex-direction:row;align-content:center;flex-wrap:wrap}.doboard_task_widget-task_title-last_update_time{font-family:Inter,serif;font-weight:400;font-style:normal;font-size:11px;leading-trim:NONE;line-height:100%}.doboard_task_widget-task_title_public_status_img{opacity:50%;margin-left:5px;scale:90%}.doboard_task_widget-description-textarea{resize:none}.doboard_task_widget-switch_row{display:flex;align-items:center;gap:12px;margin:16px 0;justify-content:space-between}.doboard_task_widget-switch-label{font-weight:600;font-size:16px;height:24px;align-content:center}.doboard_task_widget-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.doboard_task_widget-switch input{opacity:0;width:0;height:0}.doboard_task_widget-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:24px;transition:.2s}.doboard_task_widget-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:.2s}.doboard_task_widget-switch input:checked+.doboard_task_widget-slider{background-color:#65D4AC}.doboard_task_widget-switch input:checked+.doboard_task_widget-slider:before{transform:translateX(20px)}.doboard_task_widget-switch-img{width:24px;height:24px;flex-shrink:0}.doboard_task_widget-switch-center{display:flex;gap:2px;flex-direction:column;-moz-flex-direction:column;flex:1 1 auto;min-width:0}.doboard_task_widget-switch-desc{display:block;font-size:12px;color:#707A83;margin:0;line-height:1.2;max-width:180px;word-break:break-word}.doboard_task_widget-concrete_issue-day_content{display:flex;flex-direction:column;-moz-flex-direction:column}.doboard_task_widget-concrete_issue_day_content-month_day{text-align:center;font-weight:400;font-size:12px;line-height:100%;padding:8px;opacity:.75}.doboard_task_widget-concrete_issue_day_content-messages_wrapper{display:flex;flex-direction:column;-moz-flex-direction:column}.doboard_task_widget-comment_data_wrapper{display:flex;flex-direction:row;-moz-flex-direction:row;margin-bottom:15px;align-items:flex-end}.doboard_task_widget-comment_text_container{position:relative;width:calc(100% - 44px - 5px);height:auto;margin-left:5px;background:#F3F6F9;border-radius:16px}.doboard_task_widget-comment_text_container:after{content:"";position:absolute;bottom:0;left:-5px;width:13px;height:19px;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAxMyAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuMTEyNTggMTkuMDMzNEM1LjI5NDg2IDE5LjgyMDEgMTAuNjEwNSAxNy45NzQxIDEyLjI3MTUgMTYuMTcxM0MxMi4yNzE1IDE2LjE3MTMgMTAuOTYyMyAtMi43ODEyNCA1LjA5NTU0IDAuMzQ5MDc5QzUuMDc0NCAxLjYxNDU0IDUuMDk1NTQgNS45OTQ5IDUuMDk1NTQgNi43NDA2OUM1LjA5NTU0IDE3LjA2NjIgLTAuODg0MDEyIDE4LjQ0MDEgMC4xMTI1OCAxOS4wMzM0WiIgZmlsbD0iI0YzRjZGOSIvPgo8L3N2Zz4K)}.doboard_task_widget-comment_data_owner .doboard_task_widget-comment_text_container{background:#EBFAF4}.doboard_task_widget-comment_data_owner .doboard_task_widget-comment_text_container:after{left:auto;right:-5px;height:13px;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjc3NzEgMTIuMzA2NkM3LjMzMTM1IDEzLjA5MzcgMS43NDU0NCAxMS4yNDY5IDAgOS40NDMxOUw3LjM5MTYgMEM3LjM5MTYgMTAuMzMwMyAxMy44MjQ0IDExLjcxMzEgMTIuNzc3MSAxMi4zMDY2WiIgZmlsbD0iI0VCRkFGNCIvPgo8L3N2Zz4K)}.doboard_task_widget-comment_body,.doboard_task_widget-comment_time{position:relative;z-index:1}.doboard_task_widget-comment_body{padding:6px 8px;min-height:30px}.doboard_task_widget-comment_body strong{font-variation-settings:"wght" 700}.doboard_task_widget-comment_body blockquote{margin:0;border-left:3px solid #22a475}.doboard_task_widget-comment_body blockquote p{margin:0 10px}.doboard_task_widget-comment_body details .mce-accordion-body{padding-left:20px}.doboard_task_widget-comment_body details .mce-accordion-summary{background:url("data:image/svg+xml;charset=utf-8,%3Csvg transform='rotate(180 0 0)' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' style='enable-background:new 0 0 20 20' xml:space='preserve'%3E%3Cpath d='M10 13.3c-.2 0-.4-.1-.6-.2l-5-5c-.3-.3-.3-.9 0-1.2.3-.3.9-.3 1.2 0l4.4 4.4 4.4-4.4c.3-.3.9-.3 1.2 0 .3.3.3.9 0 1.2l-5 5c-.2.2-.4.2-.6.2z'/%3E%3C/svg%3E") 0 no-repeat;padding-left:20px}.doboard_task_widget-comment_body .mce-accordion[open] .mce-accordion-summary{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' style='enable-background:new 0 0 20 20' xml:space='preserve'%3E%3Cpath d='M10 13.3c-.2 0-.4-.1-.6-.2l-5-5c-.3-.3-.3-.9 0-1.2.3-.3.9-.3 1.2 0l4.4 4.4 4.4-4.4c.3-.3.9-.3 1.2 0 .3.3.3.9 0 1.2l-5 5c-.2.2-.4.2-.6.2z'/%3E%3C/svg%3E") 0 no-repeat}.doboard_task_widget-comment_body details .mce-accordion-summary::marker{content:""}.doboard_task_widget-comment_body pre{border:1px solid #d6dde3;border-left-width:8px;border-radius:4px;padding:13px 16px 14px 12px;white-space:pre-wrap}.doboard_task_widget-comment_time{font-weight:400;font-size:11px;opacity:.8;position:absolute;bottom:6px;right:6px}.doboard_task_widget-comment_body-img-strict{max-width:-webkit-fill-available;height:100px;margin-right:5px}.doboard_task_widget-send_message{padding:14px 10px;border-top:1px solid #BBC7D1;position:sticky;background:#fff;bottom:0;z-index:4}.doboard_task_widget-send_message_elements_wrapper{display:flex;flex-direction:row;-moz-flex-direction:row;align-content:center;flex-wrap:nowrap;justify-content:space-between;align-items:end}.doboard_task_widget-send_message_elements_wrapper img{margin:0}.doboard_task_widget-send_message_input_wrapper{position:relative;display:inline-grid;align-items:center;justify-items:center;flex-grow:1;padding:0 6px}.doboard_task_widget-send_message_input_wrapper textarea{position:relative;width:100%;height:37px;border:none;outline:0;box-shadow:none;border-radius:24px;background:#F3F6F9;resize:none;margin-bottom:0!important;transition:height .2s ease-in-out;padding:8px;box-sizing:border-box}.doboard_task_widget-send_message_input_wrapper textarea.high{height:170px}.doboard_task_widget-send_message_input_wrapper textarea:focus{background:#F3F6F9;border-color:#007bff;outline:0}.doboard_task_widget-send_message_button{display:inline-grid;border:none;cursor:pointer;padding:0;width:100%;align-items:center;margin:20px 0 0}.doboard_task_widget-send_message_paperclip{display:inline-grid;border:none;background:0 0;cursor:pointer;padding:0;align-items:center;margin:0}.doboard_task_widget-send_message_button:hover,.doboard_task_widget-send_message_paperclip:hover rect{fill:#45a049}.doboard_task_widget-send_message_button:active,.doboard_task_widget-send_message_paperclip:active{transform:scale(.98)}.doboard_task_widget-spinner_wrapper_for_containers{display:flex;justify-content:center;align-items:center;min-height:60px;width:100%}.doboard_task_widget-spinner_for_containers{width:40px;height:40px;border-radius:50%;background:conic-gradient(transparent,#1C7857);mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#fff 0);animation:spin 1s linear infinite}.doboard_task_widget-create_issue{padding:10px}.doboard_task_widget__file-upload__wrapper{display:none;border:1px solid #BBC7D1;margin-top:14px;padding:0 10px 10px;border-radius:4px}.doboard_task_widget__file-upload__list-header{text-align:left;font-size:.9em;margin:5px 0;color:#444c529e}.doboard_task_widget__file-upload__file-input-button{display:none}.doboard_task_widget__file-upload__file-list{border:1px solid #ddd;border-radius:5px;padding:6px;max-height:200px;overflow-y:auto;background:#f3f6f9}.doboard_task_widget__file-upload__file-item{display:flex;justify-content:space-between;align-items:center;padding:4px;border-bottom:1px solid #bbc7d16b}.doboard_task_widget__file-upload__file-item:last-child{border-bottom:none}.doboard_task_widget__file-upload__file_info{display:inline-flex;align-items:center}.doboard_task_widget__file-upload__file-name{font-weight:700;font-size:.9em}.doboard_task_widget__file-upload__file-item-content{width:100%}.doboard_task_widget__file-upload__file_size{color:#666;font-size:.8em;margin-left:6px}.doboard_task_widget__file-upload__remove-btn{background:#22a475;color:#fff;border:none;border-radius:3px;cursor:pointer}.doboard_task_widget__file-upload__error{display:block;margin:7px 0 0;padding:7px;border-radius:4px;background:#fdd;border:1px solid #cf6868}.doboard_task_widget-show_button{position:fixed;background:#1C7857;color:#FFF;padding:8px 12px;border-radius:4px;font-size:14px;z-index:10000;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3);transform:translate(-50%,-100%);margin-top:-8px;white-space:nowrap;border:none;font-family:inherit}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:480px){.doboard_task_widget{position:fixed;right:0;top:auto;bottom:0;margin:0 20px 20px;box-sizing:border-box;transform:translateZ(0);-moz-transform:translateZ(0);will-change:transform;max-height:90vh}.doboard_task_widget-container{width:100%;max-width:290px;margin:0 auto;max-height:90vh}.doboard_task_widget-content{height:auto;max-height:none;scrollbar-width:none}.doboard_task_widget-content::-webkit-scrollbar{display:none}.doboard_task_widget-all_issues-container,.doboard_task_widget-concrete_issues-container{max-height:80vh}}@supports (-webkit-overflow-scrolling:touch){.doboard_task_widget{position:fixed}}.doboard_task_widget_tasks_list{background-color:#fff;position:sticky;bottom:0;height:38px;display:flex;flex-direction:column-reverse;align-items:center;padding-bottom:8px}.doboard_task_widget_tasks_list a{color:#40484F!important;text-decoration:none!important}.doboard_task_widget-text_selection{position:relative;display:inline-block}.doboard_task_widget-see-task{cursor:pointer;text-decoration:underline}.doboard_task_widget-text_selection_tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#FFF;color:#000;padding:4px 8px;border-radius:4px;font-size:10px;white-space:nowrap;z-index:9000;border:1px solid #BBC7D1;margin-bottom:8px}.doboard_task_widget-text_selection_tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#FFF}.doboard_task_widget-text_selection_tooltip::before{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#BBC7D1;z-index:-1}.doboard_task_widget-text_selection_tooltip_icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDEwMyAxMDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEwMyAxMDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiMxNzcyNTA7fQ0KPC9zdHlsZT4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01MywwSDB2MTAwaDMwLjJINTNDMTE5LjYsMTAwLDExOS42LDAsNTMsMHogTTMwLjIsMTAwYy0xNi42LDAtMzAtMTMuNC0zMC0zMHMxMy40LTMwLDMwLTMwDQoJYzE2LjYsMCwzMCwxMy40LDMwLDMwUzQ2LjgsMTAwLDMwLjIsMTAweiIvPg0KPC9zdmc+DQo=);background-repeat:no-repeat;width:22px;height:22px;margin:5px 3px}.doboard_task_widget-text_selection_tooltip_element{display:flex;justify-content:space-between}.doboard_task_widget-content .tox .tox-toolbar__group{padding:0 8px!important}.doboard_task_widget-content .tox-tinymce{border:1px solid #BBC7D1;border-radius:4px}`; /** * Return bool if widget is closed in local storage * @returns {boolean} @@ -3061,8 +3198,73 @@ class FileUploader { return results; } -} + /** + * Make a screenshot and add it as a file + * @returns {Promise} + */ + async makeScreenshot() { + if (!navigator.mediaDevices?.getDisplayMedia) { + return null; + } + + let stream; + try { + stream = await navigator.mediaDevices.getDisplayMedia({ + video: { frameRate: 5 }, + audio: false + }); + } catch (err) { + return null; + } + + const video = document.createElement('video'); + video.srcObject = stream; + + try { + await video.play(); + } catch (err) { + return null; + } + + await new Promise(r => setTimeout(r, 2000)); + + const canvas = document.createElement('canvas'); + canvas.width = video.videoWidth; + canvas.height = video.videoHeight; + + if (!canvas.width || !canvas.height) { + stream.getTracks().forEach(t => t.stop()); + return null; + } + + const ctx = canvas.getContext('2d'); + ctx.drawImage(video, 0, 0, canvas.width, canvas.height); + + stream.getTracks().forEach(t => t.stop()); + + const blob = await new Promise(resolve => canvas.toBlob(resolve, 'image/png')); + if (!blob) { + return null; + } + + const now = new Date(); + const hours = String(now.getHours()).padStart(2, '0'); + const minutes = String(now.getMinutes()).padStart(2, '0'); + const day = String(now.getDate()).padStart(2, '0'); + const month = String(now.getMonth() + 1).padStart(2, '0'); + const year = now.getFullYear(); + + const fileName = `Screenshot_${hours}:${minutes}_${day}_${month}_${year}.png`; + + const file = new File([blob], fileName, { + type: 'image/png', + lastModified: Date.now() + }); + this.addFile(file); + } + +} class SpotFixTemplatesLoader { static getTemplateCode(templateName) { const templateMethod = this[templateName]; @@ -3119,21 +3321,11 @@ class SpotFixTemplatesLoader {
-
- - -
- -
- - + +
+
+ +
Attached files
@@ -3196,8 +3388,8 @@ class SpotFixTemplatesLoader {
- +
')),this.bindIssuesClick(),hideContainersSpinner(!1);break;case"concrete_issue":let a=await getTaskFullDetails(n=await getTasksFullDetails(this.params,this.allTasksData,this.currentActiveTaskId),this.currentActiveTaskId);p=document.querySelector(".doboard_task_widget-issue-title");p&&(p.innerText=ksesFilter(a.issueTitle)),l.issueTitle=a?.issueTitle,l.issueComments=a?.issueComments,d.innerHTML=this.loadTemplate("concrete_issue",l),document.body.appendChild(d);let t=null;c=this.allTasksData.find(e=>String(e.taskId)===String(a.taskId));let i=null;if(c&&c.taskMeta)try{i=JSON.parse(c.taskMeta),t=i.nodePath||null}catch(e){t=null,i=null}spotFixRemoveHighlights(),i&&t&&(spotFixHighlightElements([i],this),"function"==typeof spotFixScrollToNodePath)&&spotFixScrollToNodePath(t);var g=document.querySelector(".doboard_task_widget-concrete_issues-container"),A=[],I=localStorage.getItem("spotfix_user_id");if(0e.commentTime.localeCompare(t.commentTime)),C){var D=C[S];e+=this.loadTemplate("concrete_issue_messages",D)}t+=this.loadTemplate("concrete_issue_day_content",{dayContentMonthDay:T,dayContentMessages:e,statusFixedHtml:"DONE"!==n?.taskStatus?"":this.loadTemplate("fixedTaskHtml")})}g.innerHTML=t}else g.innerHTML=ksesFilter("No comments");p=document.querySelector(".doboard_task_widget-send_message_input");function E(){40{var e=document.querySelector(".doboard_task_widget-content");e.scrollTo({top:e.scrollHeight,behavior:"smooth"})},0);let s=document.querySelector(".doboard_task_widget-send_message_button");if(s){this.fileUploader.init();let i=this;s.addEventListener("click",async t=>{t.preventDefault();var t=s.closest(".doboard_task_widget-send_message").querySelector(".doboard_task_widget-send_message_input"),a=t.value.trim();if(a){t.disabled=!0,s.disabled=!0;let e=null;try{e=await addTaskComment(this.params,this.currentActiveTaskId,a),t.value="",await this.createWidgetElement("concrete_issue"),hideContainersSpinner(!1)}catch(e){alert("Error when adding a comment: "+e.message)}i.fileUploader.hasFiles()&&null!==e&&e.hasOwnProperty("commentId")&&(a=localStorage.getItem("spotfix_session_id"),(a=await i.fileUploader.sendAttachmentsForComment(i.params,a,e.commentId)).success||(i.fileUploader.showError("Some files where no sent, see details in the console."),a=JSON.stringify(a),console.log(a))),t.disabled=!1,s.disabled=!1}})}}e=document.querySelector(".doboard_task_widget_return_to_all");let a=this;e&&e.addEventListener("click",function(e,t=a){t.createWidgetElement("all_issues")});e=document.querySelector(".doboard_task_widget-send_message_paperclip");return e&&this.fileUploader.bindPaperClipAction(e),document.querySelector(".doboard_task_widget-close_btn")?.addEventListener("click",()=>{this.hide()}),document.querySelector("#doboard_task_widget-task_count")?.addEventListener("click",()=>{document.querySelector(".doboard_task_widget-wrap").classList.add("hidden"),storageSetWidgetIsClosed(!0)}),d}bindIssuesClick(){document.querySelectorAll(".issue-item").forEach(e=>{e.addEventListener("click",async()=>{let t=null;try{t=JSON.parse(e.getAttribute("data-node-path"))}catch(e){t=null}t&&spotFixScrollToNodePath(t),this.currentActiveTaskId=e.getAttribute("data-task-id"),await this.showOneTask()})})}async showOneTask(){await this.createWidgetElement("concrete_issue");var e=this.getTaskHighlightData(this.currentActiveTaskId);e&&(spotFixRemoveHighlights(),spotFixHighlightElements([e],this),this.positionWidgetContainer()),hideContainersSpinner(!1)}loadTemplate(t,e={}){let a=SpotFixTemplatesLoader.getTemplateCode(t);for(var[i,o]of Object.entries(e)){i=`{{${i}}}`;let e;e=this.isPlaceholderInAttribute(a,i)?this.escapeHtml(String(o)):ksesFilter(String(o),{template:t,imgFilter:!0}),a=a.replaceAll(i,e)}return ksesFilter(a,{template:t})}isPlaceholderInAttribute(e,t){t=t.replace(/[{}]/g,"\\$&");return new RegExp(`[\\w-]+\\s*=\\s*["'][^"']*${t}[^"']*["']`,"g").test(e)}escapeHtml=e=>e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");async getTaskCount(){if(!localStorage.getItem("spotfix_session_id"))return{};var e=this.params.projectToken,t=localStorage.getItem("spotfix_session_id"),a=localStorage.getItem("spotfix_tasks_count");let i;i=0===a||a?a:(await getTasksDoboard(e,t,this.params.accountId,this.params.projectId)).filter(e=>e.taskMeta).length;a=document.getElementById("doboard_task_widget-task_count");a&&(a.innerText=ksesFilter(i),a.classList.remove("hidden"))}async submitTask(e){localStorage.getItem("spotfix_session_id")||(await registerUser(e)(this.registrationShowMessage),e.userPassword&&await loginUser(e)(this.registrationShowMessage));var t=localStorage.getItem("spotfix_session_id");return t?handleCreateTask(t,e):{needToLogin:!0}}hide(){spotFixRemoveHighlights(),this.createWidgetElement("wrap")}wrapElementWithSpotfixHighlight(e){var t=e.cloneNode(),a=document.createElement("span");return a.className="doboard_task_widget-text_selection image-highlight",e.insertAdjacentElement("beforebegin",a),a.appendChild(t),a}getTaskHighlightData(t){var e=this.allTasksData.find(e=>e.taskId.toString()===t.toString());if(e&&void 0!==e.taskMeta){let t=null;try{t=JSON.parse(e.taskMeta)}catch(e){t=null}if(null!==t&&"object"==typeof t)return t}return null}bindWidgetInputsInteractive(){document.querySelectorAll(".doboard_task_widget-field").forEach(e=>{e.value&&e.classList.add("has-value"),e.addEventListener("input",()=>{e.value?e.classList.add("has-value"):e.classList.remove("has-value")}),e.addEventListener("blur",()=>{e.value||e.classList.remove("has-value")})});var t=document.querySelector(".doboard_task_widget-login span");if(t){let e=this;t.addEventListener("click",function(){this.closest(".doboard_task_widget-login").classList.toggle("active"),e.positionWidgetContainer(),setTimeout(()=>{var e=document.querySelector(".doboard_task_widget-content");e.scrollTo({top:e.scrollHeight,behavior:"smooth"})},0)})}window.addEventListener("scroll",this.handleScroll.bind(this)),window.addEventListener("resize",this.handleResize.bind(this))}registrationShowMessage(e,t="error"){var a=document.getElementById("doboard_task_widget-error_message-header"),i=document.getElementById("doboard_task_widget-error_message"),o=document.querySelector(".doboard_task_widget-message-wrapper");"string"==typeof e&&null!==i&&null!==o&&(i.innerText=ksesFilter(e),o.classList.remove("hidden"),i.classList.remove("doboard_task_widget-notice_message","doboard_task_widget-error_message"),"notice"===t?(a.innerText=ksesFilter(""),o.classList.add("doboard_task_widget-notice_message"),i.style.color="#2a5db0"):(a.innerText=ksesFilter("Registration error"),o.classList.add("doboard_task_widget-error_message"),i.style.color="red"))}positionWidgetContainer(){var t=document.querySelector(".doboard_task_widget-text_selection"),a=document.querySelector(".doboard_task_widget"),i=document.querySelector(".doboard_task_widget-content.doboard_task_widget-create_issue"),o=document.querySelector(".doboard_task_widget-concrete_issues-container");if((i||o)&&t){var i=window.scrollY,o=window.innerHeight,t=t.getBoundingClientRect().top+i,s=a.offsetHeight;let e;t-i<0?e=10:(o{this.positionWidgetContainer()},10)}handleResize(){clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.positionWidgetContainer()},100)}isSpotHaveToBeHighlighted(e){return!0}sanitizeNodePath(e){e=Array.isArray(e)?JSON.stringify(e):String(e);return/^[\[\]0-9,\s]*$/.test(e)?e:""}}var spotFixShowDelayTimeout=null;let SPOTFIX_DEBUG=!1,SPOTFIX_SHOW_DELAY=1e3;function spotFixInit(){new SpotFixSourcesLoader,new CleanTalkWidgetDoboard({},"wrap")}function spotFixShowWidget(){new CleanTalkWidgetDoboard(null,"create_issue")}function spotFixIsInsideWidget(t){if(t){let e=t.nodeType===Node.ELEMENT_NODE?t:t.parentElement;for(;e;){if(e.classList&&e.classList.contains("doboard_task_widget"))return!0;e=e.parentElement}}return!1}function spotFixOpenWidget(e,t){e&&new CleanTalkWidgetDoboard(e,t)}function spotFixDebugLog(e){SPOTFIX_DEBUG&&console.log(e)}function hideContainersSpinner(){var t=document.getElementsByClassName("doboard_task_widget-spinner_wrapper_for_containers");if(0e.taskId.toString()===t.toString());let o=e.users,i=0String(e.user_id)===String(i.userId))),"");i&&((e=formatDate(i.commentDate)).date,r=e.time);var e=getAvatarSrc(s),d=getAuthorName(s);return{taskId:t,taskAuthorAvatarImgSrc:e,taskAuthorName:d,lastMessageText:i?i.commentBody:"No messages yet",lastMessageTime:r,issueTitle:0new Date(e.commentDate)-new Date(t.commentDate)).map(t=>{var{date:e,time:a}=formatDate(t.commentDate);let i=null;return{commentAuthorAvatarSrc:getAvatarSrc(i=o&&0String(e.user_id)===String(t.userId)):i),commentAuthorName:getAuthorName(i),commentBody:t.commentBody,commentDate:e,commentTime:a,commentUserId:t.userId||"Unknown User"}})}}function getAvatarData(e){let t,a;var i=e.taskAuthorName&&"Anonymous"!=e.taskAuthorName?e.taskAuthorName.trim().charAt(0).toUpperCase():null;let o="doboard_task_widget-avatar-initials";return null===e.taskAuthorAvatarImgSrc&&null!==i&&(t="display: flex;background-color: #f8de7e;justify-content: center;align-items: center;",a="doboard_task_widget-avatar_container"),null===e.taskAuthorAvatarImgSrc&&null===i&&(t="background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAE9GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4wLWMwMDAgNzkuMTcxYzI3ZmFiLCAyMDIyLzA4LzE2LTIyOjM1OjQxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjQuMCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjQtMDQtMTBUMTk6MDg6MDkrMDU6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI0LTA0LTEwVDE5OjIxOjA4KzA1OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI0LTA0LTEwVDE5OjIxOjA4KzA1OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxNWRjOWI0Yy04ZWVmLTRkNTEtYmE0MS1kOTkzZTZmNjNmMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTVkYzliNGMt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');",a="doboard_task_widget-avatar_container",o+=" doboard_task_widget-hidden_element"),null!==e.taskAuthorAvatarImgSrc&&(t=`background-image:url('${e.taskAuthorAvatarImgSrc}');`,a="doboard_task_widget-avatar_container",o="doboard_task_widget-hidden_element"),{avatarStyle:t,avatarCSSClass:a,taskAuthorInitials:i,initialsClass:o}}function isAnyTaskUpdated(t){var a=[];for(let e=0;e{var t=e.name.toLowerCase();l[a]?.includes(t)&&!t.startsWith("on")&&!e.value.toLowerCase().includes("javascript:")||i.removeAttribute(e.name)})}[...i.childNodes].forEach(e)}),c.body.innerHTML}"loading"!==document.readyState?document.addEventListener("spotFixLoaded",spotFixInit):document.addEventListener("DOMContentLoaded",spotFixInit),document.addEventListener("selectionchange",function(e){var t;e.target===document&&(e=!!document.getElementsByClassName("wrap_review")[0],(t=document.getSelection())&&""!==t.toString()||!e?(spotFixShowDelayTimeout&&clearTimeout(spotFixShowDelayTimeout),spotFixShowDelayTimeout=setTimeout(()=>{var e,t,a=window.getSelection();"Range"===a.type&&(t=a.anchorNode,e=a.focusNode,spotFixIsInsideWidget(t)||spotFixIsInsideWidget(e)||(t=spotFixGetSelectedData(a))&&spotFixOpenWidget(t,"wrap_review"))},SPOTFIX_SHOW_DELAY)):new CleanTalkWidgetDoboard({},"wrap"))});let SPOTFIX_SELECTION_TYPE_TEXT="text",SPOTFIX_SELECTION_TYPE_IMG="image",SPOTFIX_SELECTION_TYPE_ELEMENT="element";function spotFixGetSelectionType(e){var t=e.getRangeAt(0),a=t.commonAncestorContainer;return spotFixGetSelectedImage(e)?SPOTFIX_SELECTION_TYPE_IMG:a.nodeType===Node.ELEMENT_NODE&&1s&&(s=i.length),r=spotFixCalculateNodePath(n);break;case SPOTFIX_SELECTION_TYPE_IMG:var n=t.startContainer,l=spotFixGetSelectedImage(e);i=`Image (${l.alt||"no description"})`,r=spotFixCalculateNodePath(l),o=Array.from(n.parentNode.children).indexOf(n),s=o+1;break;case SPOTFIX_SELECTION_TYPE_ELEMENT:l=d.nodeType===Node.ELEMENT_NODE?d:d.parentElement;if(l.childNodes.length<=1)return spotFixDebugLog("`spotFixGetSelectedData` skip by `Selection have not inner data`"),null;i=l.textContent||"",r=spotFixCalculateNodePath(l),o=Array.from(l.parentNode.children).indexOf(l),s=o+1}var c=window.location.href;return{startSelectPosition:o,endSelectPosition:s,selectedText:i.trim(),pageURL:c,nodePath:r,selectionType:a,imageUrl:(SPOTFIX_SELECTION_TYPE_IMG,"")}}function spotFixHighlightElements(e,i){if(0!==e.length){let a=new Map;e.forEach(e=>{var t;e?.nodePath&&Array.isArray(e?.nodePath)?this.spotFixIsValidNodePath(e.nodePath)?(t=spotFixRetrieveNodeFromPath(e.nodePath))?e.selectionType?e.selectionType&&![SPOTFIX_SELECTION_TYPE_TEXT,SPOTFIX_SELECTION_TYPE_IMG,SPOTFIX_SELECTION_TYPE_ELEMENT].includes(e.selectionType)?spotFixDebugLog("Invalid selection type: "+e.selectionType):(a.has(t)||a.set(t,[]),a.get(t).push(e)):spotFixDebugLog("Selection type is not provided."):spotFixDebugLog("Element not found for path: "+e.nodePath):spotFixDebugLog("Invalid nodePath format: "+e.nodePath):spotFixDebugLog("Invalid spot: missing or invalid nodePath: "+e)}),a.forEach((e,t)=>{var a=e[0].selectionType;switch(a){case"image":this.spotFixHighlightImageElement(t);break;case"element":this.spotFixHighlightNestedElement(t);break;case"text":this.spotFixHighlightTextInElement(t,e,i);break;default:spotFixDebugLog("Unknown selection type: "+a)}})}}function spotFixHighlightImageElement(e){"IMG"!==e.tagName?spotFixDebugLog("Expected IMG element for image highlight, got: "+e.tagName):e.classList.add("doboard_task_widget-image_selection")}function spotFixHighlightNestedElement(e){e.classList.add("doboard_task_widget-element_selection")}function spotFixHighlightTextInElement(e,t,o){let a="";let s=`${`
+let DOBOARD_API_URL="https://api.doboard.com",spotfixApiCall=async(e,t,a=void 0)=>{if(!e||"object"!=typeof e)throw new Error("Data must be a valid object");if(!t||"string"!=typeof t)throw new Error("Method must be a valid string");if(void 0!==a&&"string"!=typeof a&&"number"!=typeof a)throw new Error("AccountId must be a string or number");var i,o=new FormData;for(i in e)e.hasOwnProperty(i)&&null!=e[i]&&o.append(i,e[i]);let s;s=void 0!==a?DOBOARD_API_URL+`/${a}/`+t:DOBOARD_API_URL+"/"+t;try{new URL(s)}catch(e){throw new Error("Invalid endpoint URL: "+s)}let r;try{r=await fetch(s,{method:"POST",body:o})}catch(e){throw new Error("Network error: "+e.message)}let d;try{d=await r.json()}catch(e){throw new Error("Failed to parse JSON response from server")}if(!d||"object"!=typeof d)throw new Error("Invalid response format from server");if(!d.data)throw new Error("Missing data field in server response");if(!d.data.operation_status)throw new Error("Missing operation_status in response data");if("FAILED"===d.data.operation_status)throw a=d.data.operation_message||"Operation failed without specific message",new Error(a);if("SUCCESS"===d.data.operation_status)return d.data;throw new Error("Unknown operation status: "+d.data.operation_status)},userConfirmEmailDoboard=async e=>{e={email_confirmation_token:encodeURIComponent(e)},e=await spotfixApiCall(e,"user_confirm_email");return{sessionId:e.session_id,userId:e.user_id,email:e.email,accounts:e.accounts,operationStatus:e.operation_status}},createTaskDoboard=async(e,t)=>{var a=t.accountId,e={session_id:e,project_token:t.projectToken,project_id:t.projectId,user_id:localStorage.getItem("spotfix_user_id"),name:t.taskTitle,comment:t.taskDescription,meta:t.taskMeta,task_type:"PUBLIC"};return{taskId:(await spotfixApiCall(e,"task_add",a)).task_id}},createTaskCommentDoboard=async(e,t,a,i,o,s="ACTIVE")=>{t={session_id:t,project_token:o,task_id:a,comment:i,status:s};return{commentId:(await spotfixApiCall(t,"comment_add",e)).comment_id}},attachmentAddDoboard=async e=>{var t=e.params.accountId,e={session_id:e.sessionId,project_token:e.params.projectToken,account_id:e.params.accountId,comment_id:e.commentId,filename:e.fileName,file:e.fileBinary,attachment_order:e.attachmentOrder};await spotfixApiCall(e,"attachment_add",t)},registerUserDoboard=async(e,t,a,i,o)=>{e={project_token:e,account_id:t,confirmation_url:a},a&&i&&(e.email=a,e.name=i),t=await spotfixApiCall(e,"user_registration");return{sessionId:t.session_id,userId:t.user_id,email:t.email,accountExists:1===t.user_email_confirmed,operationMessage:t.operation_message,operationStatus:t.operation_status,userEmailConfirmed:t.user_email_confirmed}},loginUserDoboard=async(e,t)=>{e={email:e,password:t},t=await spotfixApiCall(e,"user_authorize");return{sessionId:t.session_id,userId:t.user_id,email:t.email,accountExists:1===t.user_email_confirmed,operationMessage:t.operation_message,operationStatus:t.operation_status,userEmailConfirmed:t.user_email_confirmed}},getTasksDoboard=async(e,t,a,i,o)=>{t={session_id:t,project_token:e,project_id:i,task_type:"PUBLIC"};o&&(t.user_id=o);e=(await spotfixApiCall(t,"task_get",a)).tasks.map(e=>({taskId:e.task_id,taskTitle:e.name,taskLastUpdate:e.updated,taskCreated:e.created,taskCreatorTaskUser:e.creator_user_id,taskMeta:e.meta,taskStatus:e.status}));return storageSaveTasksCount(e),e},getTasksCommentsDoboard=async(e,t,a,i="ACTIVE")=>{e={session_id:e,project_token:a,status:i};return(await spotfixApiCall(e,"comment_get",t)).comments.map(e=>({taskId:e.task_id,commentId:e.comment_id,userId:e.user_id,commentBody:e.comment,commentDate:e.updated,status:e.status,issueTitle:e.task_name}))},getUserDoboard=async(e,t,a)=>{e={session_id:e,project_token:t};return(await spotfixApiCall(e,"user_get",a)).users},userUpdateDoboard=async(e,t,a,i,o)=>{a={session_id:a,project_token:e,user_id:i,timestamp:o};return await spotfixApiCall(a,"user_update",t),{success:!0}};async function confirmUserEmail(e,t){var e=await userConfirmEmailDoboard(e),a=(localStorage.setItem("spotfix_email",e.email),localStorage.setItem("spotfix_session_id",e.sessionId),localStorage.setItem("spotfix_user_id",e.userId),localStorage.getItem("spotfix_pending_task"));if(!a)throw new Error("No pending task data");let i;try{i=JSON.parse(a)}catch(e){throw new Error("Invalid pending task data")}a={taskTitle:i.selectedText||"New Task",taskDescription:i.description||"",selectedData:i,projectToken:t.projectToken,projectId:t.projectId,accountId:t.accountId,taskMeta:JSON.stringify(i)},t=await handleCreateTask(e.sessionId,a);return localStorage.removeItem("spotfix_pending_task"),t}async function getTasksFullDetails(e,t,a){var i;if(0+e.taskId==+a)?.taskStatus}}async function handleCreateTask(e,t){try{var a,i=await createTaskDoboard(e,t);return i&&i.taskId&&t.taskDescription&&(a=`


The spot has been posted at the following URL ${window.location.href}`,await addTaskComment({projectToken:t.projectToken,accountId:t.accountId},i.taskId,t.taskDescription+a)),i}catch(e){throw e}}async function addTaskComment(e,t,a){var i=localStorage.getItem("spotfix_session_id");if(!i)throw new Error("No session");if(e.projectToken&&e.accountId)return createTaskCommentDoboard(e.accountId,i,t,a,e.projectToken);throw new Error("Missing params")}function getUserTasks(e){var t,a,i;return localStorage.getItem("spotfix_session_id")?(t=e.projectToken,a=localStorage.getItem("spotfix_session_id"),i=localStorage.getItem("spotfix_user_id"),getTasksDoboard(t,a,e.accountId,e.projectId,i)):{}}async function getAllTasks(e){var t,a;return localStorage.getItem("spotfix_session_id")?(t=e.projectToken,a=localStorage.getItem("spotfix_session_id"),(await getTasksDoboard(t,a,e.accountId,e.projectId)).filter(e=>e.taskMeta)):{}}function formatDate(e){if(!e)return{date:"",time:""};let t;return t=!e.includes("T")&&e.includes(" ")?new Date(e.replace(" ","T")):new Date(e),isNaN(t.getTime())?{date:"",time:""}:(e=t.getTimezoneOffset(),{date:["January","February","March","April","May","June","July","August","September","October","November","December"][(e=new Date(t.getTime()-6e4*e)).getMonth()]+" "+e.getDate(),time:e.getHours().toString().padStart(2,"0")+":"+e.getMinutes().toString().padStart(2,"0")})}function getTaskAuthorDetails(e,t){localStorage.getItem("spotfix_session_id");var a=[{taskId:"1",taskAuthorAvatarImgSrc:"https://s3.eu-central-1.amazonaws.com/cleantalk-ctask-atts/accounts/1/avatars/081a1b65d20fe318/m.jpg",taskAuthorName:"Test All Issues Single Author Name"}].find(e=>e.taskId===t);return void 0===a?{taskId:null,taskAuthorAvatarImgSrc:null,taskAuthorName:"Task Author"}:a}function getIssuesCounterString(e,t){return` (${e}/${t})`}function getAvatarSrc(e){if(e&&e.avatar){if("object"==typeof e.avatar&&e.avatar.m)return e.avatar.m;if("string"==typeof e.avatar)return e.avatar}return null}function getAuthorName(e){if(e){if(e.name&&0registerUserDoboard(o,s,a,i,r).then(e=>{if(e.accountExists)document.querySelector(".doboard_task_widget-accordion>.doboard_task_widget-input-container").innerText=ksesFilter("Account already exists. Please, login usin your password."),document.querySelector(".doboard_task_widget-accordion>.doboard_task_widget-input-container.hidden").classList.remove("hidden"),document.getElementById("doboard_task_widget-user_password").focus();else if(e.sessionId)localStorage.setItem("spotfix_session_id",e.sessionId),localStorage.setItem("spotfix_user_id",e.userId),localStorage.setItem("spotfix_email",e.email),userUpdate(o,s);else{if(!("SUCCESS"===e.operationStatus&&e.operationMessage&&0{throw e})}function loginUser(e){let a=e.userEmail,i=e.userPassword;return t=>loginUserDoboard(a,i).then(e=>{if(e.sessionId)localStorage.setItem("spotfix_session_id",e.sessionId),localStorage.setItem("spotfix_user_id",e.userId),localStorage.setItem("spotfix_email",e.email);else{if(!("SUCCESS"===e.operationStatus&&e.operationMessage&&0{throw e})}function userUpdate(e,t){var a=localStorage.getItem("spotfix_session_id"),i=localStorage.getItem("spotfix_user_id"),o=Intl.DateTimeFormat().resolvedOptions().timeZone;return userUpdateDoboard(e,t,a,i,o)}function spotFixSplitUrl(e){try{var t,a=new URL(e),i=a.host,o=a.pathname.split("/").filter(Boolean);return 0===o.length?i:((t=o.reverse()).push(i),t.join(" / "))}catch(e){return""}}function addIconPack(){tinymce?.IconManager&&tinymce.IconManager.add("my_icon_pack",{icons:{paperclip:'\n\n',numlist:'',screenshot:'\n\n\n\n\n\n\n\n\n\n',"list-bull-default":'\n\n\n\n\n\n\n',bold:'\n',italic:'\n\n',"strike-through":'\n\n\n',underline:'\n\n\n',quote:'\n\n\n'}})}class CleanTalkWidgetDoboard{selectedText="";selectedData={};widgetElement=null;params={};currentActiveTaskId=0;savedIssuesQuantityOnPage=0;savedIssuesQuantityAll=0;allTasksData={};srcVariables={};constructor(e,t){this.selectedData=e||"",this.selectedText=e?.selectedText||"",this.init(t),this.srcVariables={buttonCloseScreen:SpotFixSVGLoader.getAsDataURI("buttonCloseScreen"),chevronBack:SpotFixSVGLoader.getAsDataURI("chevronBack"),buttonPaperClip:SpotFixSVGLoader.getAsDataURI("buttonPaperClip"),buttonSendMessage:SpotFixSVGLoader.getAsDataURI("buttonSendMessage"),logoDoBoardWhite:SpotFixSVGLoader.getAsDataURI("logoDoBoardWhite"),logoDoBoardWrap:SpotFixSVGLoader.getAsDataURI("logoDoBoardWrap"),iconSpotWidgetWrapPencil:SpotFixSVGLoader.getAsDataURI("iconSpotWidgetWrapPencil"),iconSpotPublic:SpotFixSVGLoader.getAsDataURI("iconSpotPublic"),iconSpotPrivate:SpotFixSVGLoader.getAsDataURI("iconSpotPrivate"),iconLinkChain:SpotFixSVGLoader.getAsDataURI("iconLinkChain")},this.fileUploader=new FileUploader(this.escapeHtml)}async init(e){this.params=this.getParams();var t=new URLSearchParams(window.location.search),a=t.get("email_confirmation_token");if(a)try{var i=await confirmUserEmail(a,this.params),o=(this.allTasksData=await getAllTasks(this.params),this.currentActiveTaskId=i.taskId,storageSetWidgetIsClosed(!(e="concrete_issue")),t.delete("email_confirmation_token"),window.location.pathname+(t.toString()?"?"+t.toString():""));window.history.replaceState({},document.title,o)}catch(e){this.registrationShowMessage("Error confirming email: "+e.message,"error")}else{a=localStorage.getItem("spotfix_widget_is_closed");(!a||this.selectedText)&&a||(this.allTasksData=await getAllTasks(this.params))}let s;storageTasksHasUnreadUpdates()?s=!0:"wrap_review"===e&&(s=await checkIfTasksHasSiteOwnerUpdates(this.allTasksData,this.params)),storageSaveTasksUpdateData(this.allTasksData),storageWidgetCloseIsSet()||storageSetWidgetIsClosed(!0),s&&storageSetWidgetIsClosed(!1),this.widgetElement=await this.createWidgetElement(e),this.bindWidgetInputsInteractive()}getParams(){var e=document.querySelector('script[src*="doboard-widget-bundle."]');if(!e||!e.src)throw new Error("Script not provided");e=new URL(e.src),e=Object.fromEntries(e.searchParams.entries());if(!e)throw new Error("Script params not provided");if(e.projectToken&&e.accountId&&e.projectId)return e;throw new Error("Necessary script params not provided")}bindCreateTaskEvents(){var e=document.getElementById("doboard_task_widget-submit_button");e&&e.addEventListener("click",async()=>{var e=document.getElementById("doboard_task_widget-title"),s=e.value;if(s){var t=document.getElementById("doboard_task_widget-description"),r=t.value;if(r){let t="",a="",i="";var d=document.querySelector(".doboard_task_widget-login");if(d&&d.classList.contains("active")){let e=document.getElementById("doboard_task_widget-user_email");var d=document.getElementById("doboard_task_widget-user_name"),n=document.getElementById("doboard_task_widget-user_password");if(!(a=e.value))return e.style.borderColor="red",e.focus(),void e.addEventListener("input",function(){this.style.borderColor=""});if(e&&d&&!(t=d.value))return d.style.borderColor="red",d.focus(),void d.addEventListener("input",function(){this.style.borderColor=""});if(e&&n&&!d&&!(i=n.value))return n.style.borderColor="red",n.focus(),void n.addEventListener("input",function(){this.style.borderColor=""})}let e=document.getElementById("doboard_task_widget-user_email");a=e.value;d=document.getElementById("doboard_task_widget-submit_button"),n=(d.disabled=!0,d.innerText=ksesFilter("Creating spot..."),{taskTitle:s,taskDescription:r,selectedData:this.selectedData,projectToken:this.params.projectToken,projectId:this.params.projectId,accountId:this.params.accountId,taskMeta:JSON.stringify(this.selectedData)});a&&(n.userEmail=a),t&&(n.userName=t),i&&(n.userPassword=i),localStorage.setItem("spotfix_pending_task",JSON.stringify({...this.selectedData,description:r}));let o;try{o=await this.submitTask(n)}catch(e){return void this.registrationShowMessage(e.message)}d.disabled=!1,d.style.cursor="pointer",o.needToLogin||(void 0!==o.isPublic&&(this.selectedData.isPublic=o.isPublic),this.allTasksData=await getAllTasks(this.params),storageSaveTasksUpdateData(this.allTasksData),this.selectedData={},await this.createWidgetElement("all_issues"),storageSetWidgetIsClosed(!1),hideContainersSpinner(!1))}else t.style.borderColor="red",t.focus(),t.addEventListener("input",function(){this.style.borderColor=""})}else e.style.borderColor="red",e.focus(),e.addEventListener("input",function(){this.style.borderColor=""})})}async createWidgetElement(e,r=!1){var d=document.querySelector(".doboard_task_widget")?document.querySelector(".doboard_task_widget"):document.createElement("div");d.className="doboard_task_widget",d.innerHTML=ksesFilter(""),d.removeAttribute("style");let t="",n,l={};switch(e){case"create_issue":t="create_issue",l={selectedText:this.selectedText,currentDomain:document.location.hostname||"",buttonCloseScreen:SpotFixSVGLoader.getAsDataURI("buttonCloseScreen"),...this.srcVariables},storageGetUserIsDefined()&&storageSetWidgetIsClosed(!1);break;case"wrap":if(storageGetWidgetIsClosed())return;t="wrap",l={...this.srcVariables};break;case"wrap_review":t="wrap_review",l={...this.srcVariables};break;case"all_issues":t="all_issues",l={...this.srcVariables};break;case"concrete_issue":t="concrete_issue",this.savedIssuesQuantityAll=Array.isArray(this.allTasksData)?this.allTasksData.length:0,this.savedIssuesQuantityOnPage=Array.isArray(this.allTasksData)?this.allTasksData.filter(e=>{try{return(e.taskMeta?JSON.parse(e.taskMeta):{}).pageURL===window.location.href}catch(e){return!1}}).length:0,l={issueTitle:"...",issueComments:[],issuesCounter:getIssuesCounterString(this.savedIssuesQuantityOnPage,this.savedIssuesQuantityAll),...this.srcVariables}}switch(d.innerHTML=this.loadTemplate(t,l),document.body.appendChild(d),spotFixRemoveHighlights(),e){case"create_issue":var c=window.getSelection(),g=!!localStorage.getItem("spotfix_session_id"),p=localStorage.getItem("spotfix_email");g&&p&&!p.includes("spotfix_")&&document.querySelector(".doboard_task_widget-login").classList.add("hidden"),"Range"===c.type&&(spotFixScrollToNodePath(spotFixGetSelectedData(c).nodePath),this.positionWidgetContainer()),this.bindCreateTaskEvents(),tinymce.init({selector:"#doboard_task_widget-description",plugins:"link lists",menubar:!1,statusbar:!1,toolbar_location:"bottom",toolbar:"emoticons bullist numlist bold italic strikethrough underline blockquote",height:120,icons:"my_icon_pack",file_picker_types:"file image media",setup:function(e){e.on("change",function(){e.save()})}});break;case"wrap":await this.getTaskCount(),document.querySelector(".doboard_task_widget-wrap").addEventListener("click",e=>{e=e.currentTarget.classList;e&&!e.contains("hidden")&&this.createWidgetElement("all_issues")}),hideContainersSpinner(!1);break;case"wrap_review":document.querySelector("#doboard_task_widget_button").addEventListener("click",e=>{spotFixOpenWidget(this.selectedData,"create_issue")});break;case"all_issues":spotFixRemoveHighlights();let o=0;this.allTasksData?.length||(this.allTasksData=await getAllTasks(this.params));var g=this.allTasksData,u=(n=await getTasksFullDetails(this.params,g,this.currentActiveTaskId),[]);if(0{e=JSON.parse(e.taskMeta).pageURL===a?1:0;return(JSON.parse(t.taskMeta).pageURL===a?1:0)-e});document.querySelector(".doboard_task_widget-all_issues-container").innerHTML="";for(let i=0;i<_.length;i++){var m=_[i],h=m.taskId,w=m.taskTitle,b=m.taskMeta;let t=null;if(b)try{(t=JSON.parse(b)).isFixed="DONE"===m.taskStatus,t.taskId=m.taskId}catch(e){t=null}var k,f,b=t?t.pageURL:"",x=t?t.nodePath:"";let e="",a="Task publicity is unknown";t&&void 0!==t.isPublic&&(a=t.isPublic?(e=this.srcVariables.iconSpotPublic,"The task is public"):(e=this.srcVariables.iconSpotPrivate,"The task is private and visible only for registered DoBoard users")),b===window.location.href&&o++,r&&b!==window.location.href||(f=getAvatarData(k=getTaskFullDetails(n,h)),w={taskTitle:w||"",taskAuthorAvatarImgSrc:k.taskAuthorAvatarImgSrc,taskAuthorName:k.taskAuthorName,taskPublicStatusImgSrc:e,taskPublicStatusHint:a,taskLastMessage:ksesFilter(k.lastMessageText),taskPageUrl:b,iconLinkChain:this.srcVariables.iconLinkChain,taskFormattedPageUrl:spotFixSplitUrl(b),taskLastUpdate:k.lastMessageTime,nodePath:this.sanitizeNodePath(x),taskId:h,avatarCSSClass:f.avatarCSSClass,avatarStyle:f.avatarStyle,taskAuthorInitials:f.taskAuthorInitials,initialsClass:f.initialsClass,classUnread:"",elementBgCSSClass:"DONE"!==m.taskStatus?"":"doboard_task_widget-task_row-green",statusFixedHtml:"DONE"!==m.taskStatus?"":this.loadTemplate("fixedHtml")},storageProvidedTaskHasUnreadUpdates(k.taskId)&&(w.classUnread="unread"),document.querySelector(".doboard_task_widget-all_issues-container").innerHTML+=this.loadTemplate("list_issues",w),this.isSpotHaveToBeHighlighted(t)&&u.push(t))}this.savedIssuesQuantityOnPage=o,this.savedIssuesQuantityAll=g.length,spotFixHighlightElements(u,this),document.querySelector(".doboard_task_widget-header span").innerHTML+=ksesFilter(" "+getIssuesCounterString(this.savedIssuesQuantityOnPage,this.savedIssuesQuantityAll))}0===g.length&&(document.querySelector(".doboard_task_widget-all_issues-container").innerHTML=ksesFilter('
The issues list is empty
')),this.bindIssuesClick(),hideContainersSpinner(!1);break;case"concrete_issue":let a=await getTaskFullDetails(n=await getTasksFullDetails(this.params,this.allTasksData,this.currentActiveTaskId),this.currentActiveTaskId);p=document.querySelector(".doboard_task_widget-issue-title");p&&(p.innerText=ksesFilter(a.issueTitle)),l.issueTitle=a?.issueTitle,l.issueComments=a?.issueComments,d.innerHTML=this.loadTemplate("concrete_issue",l),document.body.appendChild(d);let t=null;c=this.allTasksData.find(e=>String(e.taskId)===String(a.taskId));let i=null;if(c&&c.taskMeta)try{i=JSON.parse(c.taskMeta),t=i.nodePath||null}catch(e){t=null,i=null}spotFixRemoveHighlights(),i&&t&&(spotFixHighlightElements([i],this),"function"==typeof spotFixScrollToNodePath)&&spotFixScrollToNodePath(t);var g=document.querySelector(".doboard_task_widget-concrete_issues-container"),A=[],v=localStorage.getItem("spotfix_user_id");if(0e.commentTime.localeCompare(t.commentTime)),S){var D=S[T];e+=this.loadTemplate("concrete_issue_messages",D)}t+=this.loadTemplate("concrete_issue_day_content",{dayContentMonthDay:y,dayContentMessages:e,statusFixedHtml:"DONE"!==n?.taskStatus?"":this.loadTemplate("fixedTaskHtml")})}g.innerHTML=t}else g.innerHTML=ksesFilter("No comments");p=document.querySelector(".doboard_task_widget-send_message_input");if(p){function E(){40{t?.fileInput?.click(e)}}),e.ui.registry.addButton("screenshotButton",{icon:"screenshot",tooltip:"Screenshot",disabled:!0,onAction:e=>{t?.makeScreenshot()}})}})}hideContainersSpinner(),setTimeout(()=>{var e=document.querySelector(".doboard_task_widget-content");e.scrollTo({top:e.scrollHeight,behavior:"smooth"})},0);let s=document.querySelector(".doboard_task_widget-send_message_button");if(s){this.fileUploader.init();let i=this;s.addEventListener("click",async t=>{t.preventDefault();var t=s.closest(".doboard_task_widget-send_message").querySelector(".doboard_task_widget-send_message_input"),a=t.value.trim();if(a){t.disabled=!0,s.disabled=!0;let e=null;try{e=await addTaskComment(this.params,this.currentActiveTaskId,a),t.value="",await this.createWidgetElement("concrete_issue"),hideContainersSpinner(!1)}catch(e){alert("Error when adding a comment: "+e.message)}i.fileUploader.hasFiles()&&null!==e&&e.hasOwnProperty("commentId")&&(a=localStorage.getItem("spotfix_session_id"),(a=await i.fileUploader.sendAttachmentsForComment(i.params,a,e.commentId)).success||(i.fileUploader.showError("Some files where no sent, see details in the console."),a=JSON.stringify(a),console.log(a))),t.disabled=!1,s.disabled=!1}})}}e=document.querySelector(".doboard_task_widget_return_to_all");let a=this;e&&e.addEventListener("click",function(e,t=a){t.createWidgetElement("all_issues")});e=document.querySelector(".doboard_task_widget-send_message_paperclip");return e&&this.fileUploader.bindPaperClipAction(e),document.querySelector(".doboard_task_widget-close_btn")?.addEventListener("click",()=>{this.hide()}),document.querySelector("#doboard_task_widget-task_count")?.addEventListener("click",()=>{document.querySelector(".doboard_task_widget-wrap").classList.add("hidden"),storageSetWidgetIsClosed(!0)}),d}bindIssuesClick(){document.querySelectorAll(".issue-item").forEach(e=>{e.addEventListener("click",async()=>{let t=null;try{t=JSON.parse(e.getAttribute("data-node-path"))}catch(e){t=null}t&&spotFixScrollToNodePath(t),this.currentActiveTaskId=e.getAttribute("data-task-id"),await this.showOneTask()})})}async showOneTask(){await this.createWidgetElement("concrete_issue");var e=this.getTaskHighlightData(this.currentActiveTaskId);e&&(spotFixRemoveHighlights(),spotFixHighlightElements([e],this),this.positionWidgetContainer()),hideContainersSpinner(!1)}loadTemplate(t,e={}){let a=SpotFixTemplatesLoader.getTemplateCode(t);for(var[i,o]of Object.entries(e)){i=`{{${i}}}`;let e;e=this.isPlaceholderInAttribute(a,i)?this.escapeHtml(String(o)):ksesFilter(String(o),{template:t,imgFilter:!0}),a=a.replaceAll(i,e)}return ksesFilter(a,{template:t})}isPlaceholderInAttribute(e,t){t=t.replace(/[{}]/g,"\\$&");return new RegExp(`[\\w-]+\\s*=\\s*["'][^"']*${t}[^"']*["']`,"g").test(e)}escapeHtml=e=>e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");async getTaskCount(){if(!localStorage.getItem("spotfix_session_id"))return{};var e=this.params.projectToken,t=localStorage.getItem("spotfix_session_id"),a=localStorage.getItem("spotfix_tasks_count");let i;i=0===a||a?a:(await getTasksDoboard(e,t,this.params.accountId,this.params.projectId)).filter(e=>e.taskMeta).length;a=document.getElementById("doboard_task_widget-task_count");a&&(a.innerText=ksesFilter(i),a.classList.remove("hidden"))}async submitTask(e){localStorage.getItem("spotfix_session_id")||(await registerUser(e)(this.registrationShowMessage),e.userPassword&&await loginUser(e)(this.registrationShowMessage));var t=localStorage.getItem("spotfix_session_id");return t?handleCreateTask(t,e):{needToLogin:!0}}hide(){spotFixRemoveHighlights(),this.createWidgetElement("wrap")}wrapElementWithSpotfixHighlight(e){var t=e.cloneNode(),a=document.createElement("span");return a.className="doboard_task_widget-text_selection image-highlight",e.insertAdjacentElement("beforebegin",a),a.appendChild(t),a}getTaskHighlightData(t){var e=this.allTasksData.find(e=>e.taskId.toString()===t.toString());if(e&&void 0!==e.taskMeta){let t=null;try{t=JSON.parse(e.taskMeta)}catch(e){t=null}if(null!==t&&"object"==typeof t)return t}return null}bindWidgetInputsInteractive(){document.querySelectorAll(".doboard_task_widget-field").forEach(e=>{e.value&&e.classList.add("has-value"),e.addEventListener("input",()=>{e.value?e.classList.add("has-value"):e.classList.remove("has-value")}),e.addEventListener("blur",()=>{e.value||e.classList.remove("has-value")})});var t=document.querySelector(".doboard_task_widget-login span");if(t){let e=this;t.addEventListener("click",function(){this.closest(".doboard_task_widget-login").classList.toggle("active"),e.positionWidgetContainer(),setTimeout(()=>{var e=document.querySelector(".doboard_task_widget-content");e.scrollTo({top:e.scrollHeight,behavior:"smooth"})},0)})}window.addEventListener("scroll",this.handleScroll.bind(this)),window.addEventListener("resize",this.handleResize.bind(this))}registrationShowMessage(e,t="error"){var a=document.getElementById("doboard_task_widget-error_message-header"),i=document.getElementById("doboard_task_widget-error_message"),o=document.querySelector(".doboard_task_widget-message-wrapper");"string"==typeof e&&null!==i&&null!==o&&(i.innerText=ksesFilter(e),o.classList.remove("hidden"),i.classList.remove("doboard_task_widget-notice_message","doboard_task_widget-error_message"),"notice"===t?(a.innerText=ksesFilter(""),o.classList.add("doboard_task_widget-notice_message"),i.style.color="#2a5db0"):(a.innerText=ksesFilter("Registration error"),o.classList.add("doboard_task_widget-error_message"),i.style.color="red"))}positionWidgetContainer(){var t=document.querySelector(".doboard_task_widget-text_selection"),a=document.querySelector(".doboard_task_widget"),i=document.querySelector(".doboard_task_widget-content.doboard_task_widget-create_issue"),o=document.querySelector(".doboard_task_widget-concrete_issues-container");if((i||o)&&t){var i=window.scrollY,o=window.innerHeight,t=t.getBoundingClientRect().top+i,s=a.offsetHeight;let e;t-i<0?e=10:(o{this.positionWidgetContainer()},10)}handleResize(){clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.positionWidgetContainer()},100)}isSpotHaveToBeHighlighted(e){return!0}sanitizeNodePath(e){e=Array.isArray(e)?JSON.stringify(e):String(e);return/^[\[\]0-9,\s]*$/.test(e)?e:""}}var spotFixShowDelayTimeout=null;let SPOTFIX_DEBUG=!1,SPOTFIX_SHOW_DELAY=1e3;function spotFixInit(){new SpotFixSourcesLoader,new CleanTalkWidgetDoboard({},"wrap"),loadTinyMCE()}function loadTinyMCE(){var e=document.createElement("script");e.src="https://doboard.com/tinymce/tinymce.min.js",e.async=!0,e.onload=function(){addIconPack()},document.head.appendChild(e)}function spotFixShowWidget(){new CleanTalkWidgetDoboard(null,"create_issue")}function spotFixIsInsideWidget(t){if(t){let e=t.nodeType===Node.ELEMENT_NODE?t:t.parentElement;for(;e;){if(e.classList&&e.classList.contains("doboard_task_widget"))return!0;e=e.parentElement}}return!1}function spotFixOpenWidget(e,t){e&&new CleanTalkWidgetDoboard(e,t)}function spotFixDebugLog(e){SPOTFIX_DEBUG&&console.log(e)}function hideContainersSpinner(){var t=document.getElementsByClassName("doboard_task_widget-spinner_wrapper_for_containers");if(0e.taskId.toString()===t.toString());let o=e.users,i=0String(e.user_id)===String(i.userId))),"");i&&((e=formatDate(i.commentDate)).date,r=e.time);var e=getAvatarSrc(s),d=getAuthorName(s);return{taskId:t,taskAuthorAvatarImgSrc:e,taskAuthorName:d,lastMessageText:i?i.commentBody:"No messages yet",lastMessageTime:r,issueTitle:0new Date(e.commentDate)-new Date(t.commentDate)).map(t=>{var{date:e,time:a}=formatDate(t.commentDate);let i=null;return{commentAuthorAvatarSrc:getAvatarSrc(i=o&&0String(e.user_id)===String(t.userId)):i),commentAuthorName:getAuthorName(i),commentBody:t.commentBody,commentDate:e,commentTime:a,commentUserId:t.userId||"Unknown User"}})}}function getAvatarData(e){let t,a;var i=e.taskAuthorName&&"Anonymous"!=e.taskAuthorName?e.taskAuthorName.trim().charAt(0).toUpperCase():null;let o="doboard_task_widget-avatar-initials";return null===e.taskAuthorAvatarImgSrc&&null!==i&&(t="display: flex;background-color: #f8de7e;justify-content: center;align-items: center;",a="doboard_task_widget-avatar_container"),null===e.taskAuthorAvatarImgSrc&&null===i&&(t="background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAE9GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4wLWMwMDAgNzkuMTcxYzI3ZmFiLCAyMDIyLzA4LzE2LTIyOjM1OjQxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjQuMCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjQtMDQtMTBUMTk6MDg6MDkrMDU6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDI0LTA0LTEwVDE5OjIxOjA4KzA1OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI0LTA0LTEwVDE5OjIxOjA4KzA1OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxNWRjOWI0Yy04ZWVmLTRkNTEtYmE0MS1kOTkzZTZmNjNmMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTVkYzliNGMt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');",a="doboard_task_widget-avatar_container",o+=" doboard_task_widget-hidden_element"),null!==e.taskAuthorAvatarImgSrc&&(t=`background-image:url('${e.taskAuthorAvatarImgSrc}');`,a="doboard_task_widget-avatar_container",o="doboard_task_widget-hidden_element"),{avatarStyle:t,avatarCSSClass:a,taskAuthorInitials:i,initialsClass:o}}function isAnyTaskUpdated(t){var a=[];for(let e=0;e{var t=e.name.toLowerCase();l[a]?.includes(t)&&!t.startsWith("on")&&!e.value.toLowerCase().includes("javascript:")||i.removeAttribute(e.name)})}[...i.childNodes].forEach(e)}),c.body.innerHTML}"loading"!==document.readyState?document.addEventListener("spotFixLoaded",spotFixInit):document.addEventListener("DOMContentLoaded",spotFixInit),document.addEventListener("selectionchange",function(e){var t;e.target===document&&(e=!!document.getElementsByClassName("wrap_review")[0],(t=document.getSelection())&&""!==t.toString()||!e?(spotFixShowDelayTimeout&&clearTimeout(spotFixShowDelayTimeout),spotFixShowDelayTimeout=setTimeout(()=>{var e,t,a=window.getSelection();"Range"===a.type&&(t=a.anchorNode,e=a.focusNode,spotFixIsInsideWidget(t)||spotFixIsInsideWidget(e)||(t=spotFixGetSelectedData(a))&&spotFixOpenWidget(t,"wrap_review"))},SPOTFIX_SHOW_DELAY)):new CleanTalkWidgetDoboard({},"wrap"))});let SPOTFIX_SELECTION_TYPE_TEXT="text",SPOTFIX_SELECTION_TYPE_IMG="image",SPOTFIX_SELECTION_TYPE_ELEMENT="element";function spotFixGetSelectionType(e){var t=e.getRangeAt(0),a=t.commonAncestorContainer;return spotFixGetSelectedImage(e)?SPOTFIX_SELECTION_TYPE_IMG:a.nodeType===Node.ELEMENT_NODE&&1s&&(s=i.length),r=spotFixCalculateNodePath(n);break;case SPOTFIX_SELECTION_TYPE_IMG:var n=t.startContainer,l=spotFixGetSelectedImage(e);i=`Image (${l.alt||"no description"})`,r=spotFixCalculateNodePath(l),o=Array.from(n.parentNode.children).indexOf(n),s=o+1;break;case SPOTFIX_SELECTION_TYPE_ELEMENT:l=d.nodeType===Node.ELEMENT_NODE?d:d.parentElement;if(l.childNodes.length<=1)return spotFixDebugLog("`spotFixGetSelectedData` skip by `Selection have not inner data`"),null;i=l.textContent||"",r=spotFixCalculateNodePath(l),o=Array.from(l.parentNode.children).indexOf(l),s=o+1}var c=window.location.href;return{startSelectPosition:o,endSelectPosition:s,selectedText:i.trim(),pageURL:c,nodePath:r,selectionType:a,imageUrl:(SPOTFIX_SELECTION_TYPE_IMG,"")}}function spotFixHighlightElements(e,i){if(0!==e.length){let a=new Map;e.forEach(e=>{var t;e?.nodePath&&Array.isArray(e?.nodePath)?this.spotFixIsValidNodePath(e.nodePath)?(t=spotFixRetrieveNodeFromPath(e.nodePath))?e.selectionType?e.selectionType&&![SPOTFIX_SELECTION_TYPE_TEXT,SPOTFIX_SELECTION_TYPE_IMG,SPOTFIX_SELECTION_TYPE_ELEMENT].includes(e.selectionType)?spotFixDebugLog("Invalid selection type: "+e.selectionType):(a.has(t)||a.set(t,[]),a.get(t).push(e)):spotFixDebugLog("Selection type is not provided."):spotFixDebugLog("Element not found for path: "+e.nodePath):spotFixDebugLog("Invalid nodePath format: "+e.nodePath):spotFixDebugLog("Invalid spot: missing or invalid nodePath: "+e)}),a.forEach((e,t)=>{var a=e[0].selectionType;switch(a){case"image":this.spotFixHighlightImageElement(t);break;case"element":this.spotFixHighlightNestedElement(t);break;case"text":this.spotFixHighlightTextInElement(t,e,i);break;default:spotFixDebugLog("Unknown selection type: "+a)}})}}function spotFixHighlightImageElement(e){"IMG"!==e.tagName?spotFixDebugLog("Expected IMG element for image highlight, got: "+e.tagName):e.classList.add("doboard_task_widget-image_selection")}function spotFixHighlightNestedElement(e){e.classList.add("doboard_task_widget-element_selection")}function spotFixHighlightTextInElement(e,t,o){let a="";let s=`${`
${a=t[0].isFixed?"This issue already fixed.":"We are already working on this issue."}
You can see history Here
-
`}
`,r=e.textContent;var d=t[0].selectedText;if(d){let i=[];if(t.forEach(e=>{var t=parseInt(e.startSelectPosition)||0,a=parseInt(e.endSelectPosition)||0;t<0||a>r.length||at.position-e.position),r.slice(i[1].position,i[0].position)!==d)spotFixDebugLog("It is not allow to highlight element by provided metadata.");else{let a=r;i.forEach(e=>{var t="start"===e.type?s:"
";a=a.slice(0,e.position)+t+a.slice(e.position)});try{e.innerHTML=ksesFilter(a),document.querySelectorAll(".doboard_task_widget-see-task").forEach(a=>{a.addEventListener("click",e=>{e.preventDefault();e=a.className.split(" ").find(e=>e.includes("__task-id-"));let t=null;(t=e?e.split("__task-id-")[1]:t)&&(o.currentActiveTaskId=t,o.showOneTask())})})}catch(e){spotFixDebugLog("Error updating element content: "+e)}}}else spotFixDebugLog("Provided metadata is invalid.")}function spotFixScrollToNodePath(e){e=spotFixRetrieveNodeFromPath(e);return!(!e||!e.scrollIntoView||(e.scrollIntoView({behavior:"smooth",block:"center"}),0))}function spotFixRemoveHighlights(){var e=document.querySelectorAll(".doboard_task_widget-text_selection");let i=new Set,t=(e.forEach(e=>{var t=e.parentNode,a=(i.add(t),e.querySelector(".doboard_task_widget-text_selection_tooltip"));for(a&&a.remove();e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}),i.forEach(e=>e.normalize()),"doboard_task_widget-element_selection"),a=(document.querySelectorAll("."+t).forEach(e=>{e.classList.remove(t)}),"doboard_task_widget-image_selection");document.querySelectorAll("."+a).forEach(e=>{e.classList.remove(a)})}function spotFixIsValidNodePath(e){return!!Array.isArray(e)&&0!==e.length&&e.every(e=>Number.isInteger(e)&&0<=e&&e<1e3)}function spotFixGetSelectedImage(e){if(e&&0!==e.rangeCount&&!e.isCollapsed){let t=e.getRangeAt(0);if(t.startContainer===t.endContainer&&t.startContainer.nodeType===Node.ELEMENT_NODE&&"IMG"===t.startContainer.tagName)return t.startContainer;e=document.createTreeWalker(t.commonAncestorContainer,NodeFilter.SHOW_ELEMENT,{acceptNode:function(e){return"IMG"===e.tagName&&spotFixIsElementInRange(e,t)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}).nextNode();if(e)return e;var a,e=spotFixGetElementFromNode(t.startContainer),i=spotFixGetElementFromNode(t.endContainer);if(e&&"IMG"===e.tagName&&spotFixIsElementPartiallySelected(e,t))return e;if(i&&"IMG"===i.tagName&&spotFixIsElementPartiallySelected(i,t))return i;for(a of spotFixFindNearbyElements(t))if("IMG"===a.tagName)return a}return null}function spotFixIsElementInRange(e,t){var a=document.createRange();return a.selectNode(e),t.compareBoundaryPoints(Range.START_TO_START,a)<=0&&0<=t.compareBoundaryPoints(Range.END_TO_END,a)}function spotFixIsElementPartiallySelected(e,t){e=e.getBoundingClientRect(),t=t.getBoundingClientRect();return!(e.rightt.right||e.bottomt.bottom)}function spotFixGetElementFromNode(e){return e.nodeType===Node.ELEMENT_NODE?e:e.parentElement}function spotFixFindNearbyElements(t){var a=[],e=t.commonAncestorContainer,i=e.previousElementSibling,o=e.nextElementSibling;if(i&&a.push(i),o&&a.push(o),e.nodeType===Node.ELEMENT_NODE){var s=e.children;for(let e=0;eimg{background:rgba(208,213,127,.68)}.doboard_task_widget-issues_list_empty{text-align:center;margin:20px 0}.doboard_task_widget-avatar_container{display:flex;height:44px;width:44px;border-radius:50%;background-repeat:no-repeat;background-position:center;background-size:100%}.doboard_task_widget-comment_data_owner .doboard_task_widget-avatar_container{opacity:0}.doboard_task_widget-avatar_placeholder{min-height:44px;min-width:44px;border-radius:50%;font-size:24px;line-height:1.2083333333;padding:0;background:#1C7857;display:inline-grid;align-content:center;justify-content:center}.doboard_task_widget-avatar-initials{color:#FFF;width:inherit;text-align:center}.doboard_task_widget-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.doboard_task_widget-description_container{height:55px;width:calc(100% - 44px - 8px);border-bottom:1px solid #EBF0F4;display:block;margin-left:8px}.doboard_task_widget-task_row:last-child .doboard_task_widget-description_container{border-bottom:none}.doboard_task_widget-all_issues{padding-bottom:0}.doboard_task_widget-all_issues-container,.doboard_task_widget-concrete_issues-container{overflow:auto;max-height:85vh;display:none}.doboard_task_widget-task_last_message,.doboard_task_widget-task_page_url a,.doboard_task_widget-task_title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doboard_task_widget-all_issues-container{scrollbar-width:none;margin-top:10px}.doboard_task_widget-content.doboard_task_widget-concrete_issue{padding:0}.doboard_task_widget-concrete_issues-container{padding:10px 16px 5px}.doboard_task_widget-all_issues-container::-webkit-scrollbar,.doboard_task_widget-all_issues::-webkit-scrollbar,.doboard_task_widget-concrete_issues-container::-webkit-scrollbar,.doboard_task_widget-content::-webkit-scrollbar{width:0}.doboard_task_widget-task_title{font-weight:700;display:flex;justify-content:space-between;align-items:center}.doboard_task_widget-task_title span{font-weight:700;display:inline-block}.doboard_task_widget-task_title-details{display:flex;max-width:calc(100% - 40px);align-items:center}.doboard_task_widget-task_title-unread_block{opacity:0;height:8px;width:8px;background:#f08c43;border-radius:50%;display:inline-block;font-size:8px;font-weight:600;position:relative}.doboard_task_widget-task_title-unread_block.unread{opacity:1}.doboard_task_widget-task_last_message{max-width:85%;height:36px}.doboard_task_widget-task_page_url{max-width:70%;height:36px;display:flex;align-items:center}.doboard_task_widget-task_page_url a{color:#40484F;text-decoration:none;margin-left:8px;max-width:100%}.doboard_task_widget-bottom{display:flex;justify-content:space-between}.doboard_task_widget-bottom-is-fixed{border-radius:10px;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOSAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik03LjA4MTE5IDAuMjIzNDM0QzguOTkxNjkgLTAuMjA4MTY3IDEwLjk5MTMgLTAuMDExMjE5NCAxMi43ODA0IDAuNzg1OTM0QzEzLjE1ODQgMC45NTQ2MjQgMTMuMzI4NiAxLjM5ODAzIDEzLjE2MDMgMS43NzYxN0MxMi45OTE3IDIuMTU0MTkgMTIuNTQ4MiAyLjMyNDI0IDEyLjE3MDEgMi4xNTYwNUMxMC42NzY0IDEuNDkwNTIgOS4wMDcyNiAxLjMyNiA3LjQxMjI1IDEuNjg2MzJDNS44MTcxNyAyLjA0NjcxIDQuMzgwOTcgMi45MTI5NiAzLjMxODUgNC4xNTYwNUMyLjI1NjIzIDUuMzk5MDEgMS42MjQ0MSA2Ljk1MjI5IDEuNTE2NzQgOC41ODM3OUMxLjQwOTI0IDEwLjIxNTQgMS44MzE4NCAxMS44MzkgMi43MjE4MiAxMy4yMTA3QzMuNjExNzkgMTQuNTgyMiA0LjkyMTY0IDE1LjYyOTQgNi40NTUyMSAxNi4xOTYxQzcuOTg5MDIgMTYuNzYyNiA5LjY2NTUzIDE2LjgxODkgMTEuMjMzNSAxNi4zNTUzQzEyLjgwMTYgMTUuODkxNiAxNC4xNzgzIDE0LjkzMzUgMTUuMTU3NCAxMy42MjM4QzE2LjEzNjQgMTIuMzE0MiAxNi42NjYxIDEwLjcyMjcgMTYuNjY3MSA5LjA4NzY5TDE4LjE2NzEgOS4wODg2N0MxOC4xNjU4IDExLjA0NzEgMTcuNTMxMiAxMi45NTM2IDE2LjM1ODUgMTQuNTIyM0MxNS4xODU5IDE2LjA5MDcgMTMuNTM3MyAxNy4yMzg0IDExLjY1OTMgMTcuNzkzN0M5Ljc4MTEgMTguMzQ5MSA3Ljc3MjkzIDE4LjI4MiA1LjkzNTY4IDE3LjYwMzNDNC4wOTg1IDE2LjkyNDYgMi41MjkxMiAxNS42NzAxIDEuNDYzMDMgMTQuMDI3MUMwLjM5NzAzNSAxMi4zODQxIC0wLjEwOTEwOSAxMC40Mzk1IDAuMDE5NjY4MyA4LjQ4NTE1QzAuMTQ4NjA3IDYuNTMwOCAwLjkwNjMyMyA0LjY3MDMzIDIuMTc4ODUgMy4xODE0NEMzLjQ1MTM2IDEuNjkyNjggNS4xNzA4OCAwLjY1NTE2MiA3LjA4MTE5IDAuMjIzNDM0WiIgZmlsbD0iIzIyQTQ3NSIvPg0KPHBhdGggZD0iTTE2Ljg4NTkgMS44OTA0M0MxNy4xNzg2IDEuNTk3NTMgMTcuNjUzNCAxLjU5Nzg0IDE3Ljk0NjQgMS44OTA0M0MxOC4yMzkzIDIuMTgzMTYgMTguMjQwMSAyLjY1Nzk2IDE3Ljk0NzQgMi45NTA5N0w5LjYxMzQyIDExLjI5MjhDOS40NzI4MiAxMS40MzMzIDkuMjgxOTYgMTEuNTEyNCA5LjA4MzE1IDExLjUxMjVDOC44ODQzMiAxMS41MTI1IDguNjkzNDggMTEuNDMzMyA4LjU1Mjg3IDExLjI5MjhMNi4wNTI4NyA4Ljc5Mjc3QzUuNzYwMTQgOC40OTk5IDUuNzYwMTEgOC4wMjUwOCA2LjA1Mjg3IDcuNzMyMjJDNi4zNDU3MiA3LjQzOTM3IDYuODIwNTEgNy40Mzk0NiA3LjExMzQyIDcuNzMyMjJMOS4wODIxNyA5LjcwMDk3TDE2Ljg4NTkgMS44OTA0M1oiIGZpbGw9IiMyMkE0NzUiLz4NCjxwYXRoIGQ9Ik0xNy40MTcxIDcuNTcxMDlDMTcuODMxIDcuNTcxNDQgMTguMTY3IDcuOTA3MTYgMTguMTY3MSA4LjMyMTA5VjkuMDg4NjdMMTcuNDE3MSA5LjA4NzY5SDE2LjY2NzFWOC4zMjEwOUMxNi42NjcyIDcuOTA2OTQgMTcuMDAzIDcuNTcxMDkgMTcuNDE3MSA3LjU3MTA5WiIgZmlsbD0iIzIyQTQ3NSIvPg0KPC9zdmc+) 8px center no-repeat #EBFAF4;padding:4px 7px 4px 30px}.doboard_task_widget-bottom-is-fixed-task-block{text-align:center}.doboard_task_widget-bottom-is-fixed-task{background:#F3F6F9;color:#1C7857;display:inline-block;border-radius:10px;padding:5px 8px;margin:0 auto}.doboard_task_widget-task_row-green{background:#EBF0F4}.doboard_task_widget_return_to_all{display:flex;gap:8px;flex-direction:row;-moz-flex-direction:row;align-content:center;flex-wrap:wrap}.doboard_task_widget-task_title-last_update_time{font-family:Inter,serif;font-weight:400;font-style:normal;font-size:11px;leading-trim:NONE;line-height:100%}.doboard_task_widget-task_title_public_status_img{opacity:50%;margin-left:5px;scale:90%}.doboard_task_widget-description-textarea{resize:none}.doboard_task_widget-switch_row{display:flex;align-items:center;gap:12px;margin:16px 0;justify-content:space-between}.doboard_task_widget-switch-label{font-weight:600;font-size:16px;height:24px;align-content:center}.doboard_task_widget-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.doboard_task_widget-switch input{opacity:0;width:0;height:0}.doboard_task_widget-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:24px;transition:.2s}.doboard_task_widget-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:.2s}.doboard_task_widget-switch input:checked+.doboard_task_widget-slider{background-color:#65D4AC}.doboard_task_widget-switch input:checked+.doboard_task_widget-slider:before{transform:translateX(20px)}.doboard_task_widget-switch-img{width:24px;height:24px;flex-shrink:0}.doboard_task_widget-switch-center{display:flex;gap:2px;flex-direction:column;-moz-flex-direction:column;flex:1 1 auto;min-width:0}.doboard_task_widget-switch-desc{display:block;font-size:12px;color:#707A83;margin:0;line-height:1.2;max-width:180px;word-break:break-word}.doboard_task_widget-concrete_issue-day_content{display:flex;flex-direction:column;-moz-flex-direction:column}.doboard_task_widget-concrete_issue_day_content-month_day{text-align:center;font-weight:400;font-size:12px;line-height:100%;padding:8px;opacity:.75}.doboard_task_widget-concrete_issue_day_content-messages_wrapper{display:flex;flex-direction:column;-moz-flex-direction:column}.doboard_task_widget-comment_data_wrapper{display:flex;flex-direction:row;-moz-flex-direction:row;margin-bottom:15px;align-items:flex-end}.doboard_task_widget-comment_text_container{position:relative;width:calc(100% - 44px - 5px);height:auto;margin-left:5px;background:#F3F6F9;border-radius:16px}.doboard_task_widget-comment_text_container:after{content:"";position:absolute;bottom:0;left:-5px;width:13px;height:19px;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAxMyAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuMTEyNTggMTkuMDMzNEM1LjI5NDg2IDE5LjgyMDEgMTAuNjEwNSAxNy45NzQxIDEyLjI3MTUgMTYuMTcxM0MxMi4yNzE1IDE2LjE3MTMgMTAuOTYyMyAtMi43ODEyNCA1LjA5NTU0IDAuMzQ5MDc5QzUuMDc0NCAxLjYxNDU0IDUuMDk1NTQgNS45OTQ5IDUuMDk1NTQgNi43NDA2OUM1LjA5NTU0IDE3LjA2NjIgLTAuODg0MDEyIDE4LjQ0MDEgMC4xMTI1OCAxOS4wMzM0WiIgZmlsbD0iI0YzRjZGOSIvPgo8L3N2Zz4K)}.doboard_task_widget-comment_data_owner .doboard_task_widget-comment_text_container{background:#EBFAF4}.doboard_task_widget-comment_data_owner .doboard_task_widget-comment_text_container:after{left:auto;right:-5px;height:13px;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjc3NzEgMTIuMzA2NkM3LjMzMTM1IDEzLjA5MzcgMS43NDU0NCAxMS4yNDY5IDAgOS40NDMxOUw3LjM5MTYgMEM3LjM5MTYgMTAuMzMwMyAxMy44MjQ0IDExLjcxMzEgMTIuNzc3MSAxMi4zMDY2WiIgZmlsbD0iI0VCRkFGNCIvPgo8L3N2Zz4K)}.doboard_task_widget-comment_body,.doboard_task_widget-comment_time{position:relative;z-index:1}.doboard_task_widget-comment_body{padding:6px 8px;min-height:30px}.doboard_task_widget-comment_body strong{font-variation-settings:"wght" 700}.doboard_task_widget-comment_body blockquote{margin:0;border-left:3px solid #22a475}.doboard_task_widget-comment_body blockquote p{margin:0 10px}.doboard_task_widget-comment_body details .mce-accordion-body{padding-left:20px}.doboard_task_widget-comment_body details .mce-accordion-summary{background:url("data:image/svg+xml;charset=utf-8,%3Csvg transform='rotate(180 0 0)' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' style='enable-background:new 0 0 20 20' xml:space='preserve'%3E%3Cpath d='M10 13.3c-.2 0-.4-.1-.6-.2l-5-5c-.3-.3-.3-.9 0-1.2.3-.3.9-.3 1.2 0l4.4 4.4 4.4-4.4c.3-.3.9-.3 1.2 0 .3.3.3.9 0 1.2l-5 5c-.2.2-.4.2-.6.2z'/%3E%3C/svg%3E") 0 no-repeat;padding-left:20px}.doboard_task_widget-comment_body .mce-accordion[open] .mce-accordion-summary{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' style='enable-background:new 0 0 20 20' xml:space='preserve'%3E%3Cpath d='M10 13.3c-.2 0-.4-.1-.6-.2l-5-5c-.3-.3-.3-.9 0-1.2.3-.3.9-.3 1.2 0l4.4 4.4 4.4-4.4c.3-.3.9-.3 1.2 0 .3.3.3.9 0 1.2l-5 5c-.2.2-.4.2-.6.2z'/%3E%3C/svg%3E") 0 no-repeat}.doboard_task_widget-comment_body details .mce-accordion-summary::marker{content:""}.doboard_task_widget-comment_body pre{border:1px solid #d6dde3;border-left-width:8px;border-radius:4px;padding:13px 16px 14px 12px;white-space:pre-wrap}.doboard_task_widget-comment_time{font-weight:400;font-size:11px;opacity:.8;position:absolute;bottom:6px;right:6px}.doboard_task_widget-comment_body-img-strict{max-width:-webkit-fill-available;height:100px;margin-right:5px}.doboard_task_widget-send_message{padding:14px 10px;border-top:1px solid #BBC7D1;position:sticky;background:#fff;bottom:0;z-index:4}.doboard_task_widget-send_message_elements_wrapper{display:flex;flex-direction:row;-moz-flex-direction:row;align-content:center;flex-wrap:nowrap;justify-content:space-between;align-items:end}.doboard_task_widget-send_message_elements_wrapper button{height:37px;background:0 0;margin:0}.doboard_task_widget-send_message_elements_wrapper img{margin:0}.doboard_task_widget-send_message_input_wrapper{position:relative;display:inline-grid;align-items:center;justify-items:center;flex-grow:1;padding:0 6px}.doboard_task_widget-send_message_input_wrapper textarea{position:relative;width:100%;height:37px;border:none;outline:0;box-shadow:none;border-radius:24px;background:#F3F6F9;resize:none;margin-bottom:0!important;transition:height .2s ease-in-out;padding:8px;box-sizing:border-box}.doboard_task_widget-send_message_input_wrapper textarea.high{height:170px}.doboard_task_widget-send_message_input_wrapper textarea:focus{background:#F3F6F9;border-color:#007bff;outline:0}.doboard_task_widget-send_message_button,.doboard_task_widget-send_message_paperclip{display:inline-grid;border:none;background:0 0;cursor:pointer;padding:0;align-items:center;margin:0}.doboard_task_widget-send_message_button:hover,.doboard_task_widget-send_message_paperclip:hover rect{fill:#45a049}.doboard_task_widget-send_message_button:active,.doboard_task_widget-send_message_paperclip:active{transform:scale(.98)}.doboard_task_widget-spinner_wrapper_for_containers{display:flex;justify-content:center;align-items:center;min-height:60px;width:100%}.doboard_task_widget-spinner_for_containers{width:40px;height:40px;border-radius:50%;background:conic-gradient(transparent,#1C7857);mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#fff 0);animation:spin 1s linear infinite}.doboard_task_widget-create_issue{padding:10px}.doboard_task_widget__file-upload__wrapper{display:none;border:1px solid #BBC7D1;margin-top:14px;padding:0 10px 10px;border-radius:4px}.doboard_task_widget__file-upload__list-header{text-align:left;font-size:.9em;margin:5px 0;color:#444c529e}.doboard_task_widget__file-upload__file-input-button{display:none}.doboard_task_widget__file-upload__file-list{border:1px solid #ddd;border-radius:5px;padding:6px;max-height:200px;overflow-y:auto;background:#f3f6f9}.doboard_task_widget__file-upload__file-item{display:flex;justify-content:space-between;align-items:center;padding:4px;border-bottom:1px solid #bbc7d16b}.doboard_task_widget__file-upload__file-item:last-child{border-bottom:none}.doboard_task_widget__file-upload__file_info{display:inline-flex;align-items:center}.doboard_task_widget__file-upload__file-name{font-weight:700;font-size:.9em}.doboard_task_widget__file-upload__file-item-content{width:100%}.doboard_task_widget__file-upload__file_size{color:#666;font-size:.8em;margin-left:6px}.doboard_task_widget__file-upload__remove-btn{background:#22a475;color:#fff;border:none;border-radius:3px;cursor:pointer}.doboard_task_widget__file-upload__error{display:block;margin:7px 0 0;padding:7px;border-radius:4px;background:#fdd;border:1px solid #cf6868}.doboard_task_widget-show_button{position:fixed;background:#1C7857;color:#FFF;padding:8px 12px;border-radius:4px;font-size:14px;z-index:10000;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3);transform:translate(-50%,-100%);margin-top:-8px;white-space:nowrap;border:none;font-family:inherit}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:480px){.doboard_task_widget{position:fixed;right:0;top:auto;bottom:0;margin:0 20px 20px;box-sizing:border-box;transform:translateZ(0);-moz-transform:translateZ(0);will-change:transform;max-height:90vh}.doboard_task_widget-container{width:100%;max-width:290px;margin:0 auto;max-height:90vh}.doboard_task_widget-content{height:auto;max-height:none;scrollbar-width:none}.doboard_task_widget-content::-webkit-scrollbar{display:none}.doboard_task_widget-all_issues-container,.doboard_task_widget-concrete_issues-container{max-height:80vh}}@supports (-webkit-overflow-scrolling:touch){.doboard_task_widget{position:fixed}}.doboard_task_widget_tasks_list{background-color:#fff;position:sticky;bottom:0;height:38px;display:flex;flex-direction:column-reverse;align-items:center;padding-bottom:8px}.doboard_task_widget_tasks_list a{color:#40484F!important;text-decoration:none!important}.doboard_task_widget-text_selection{position:relative;display:inline-block}.doboard_task_widget-see-task{cursor:pointer;text-decoration:underline}.doboard_task_widget-text_selection_tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#FFF;color:#000;padding:4px 8px;border-radius:4px;font-size:10px;white-space:nowrap;z-index:9000;border:1px solid #BBC7D1;margin-bottom:8px}.doboard_task_widget-text_selection_tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#FFF}.doboard_task_widget-text_selection_tooltip::before{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#BBC7D1;z-index:-1}.doboard_task_widget-text_selection_tooltip_icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDEwMyAxMDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEwMyAxMDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiMxNzcyNTA7fQ0KPC9zdHlsZT4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01MywwSDB2MTAwaDMwLjJINTNDMTE5LjYsMTAwLDExOS42LDAsNTMsMHogTTMwLjIsMTAwYy0xNi42LDAtMzAtMTMuNC0zMC0zMHMxMy40LTMwLDMwLTMwDQoJYzE2LjYsMCwzMCwxMy40LDMwLDMwUzQ2LjgsMTAwLDMwLjIsMTAweiIvPg0KPC9zdmc+DQo=);background-repeat:no-repeat;width:22px;height:22px;margin:5px 3px}.doboard_task_widget-text_selection_tooltip_element{display:flex;justify-content:space-between}`;function storageGetWidgetIsClosed(){return"1"===localStorage.getItem("spotfix_widget_is_closed")}function storageWidgetCloseIsSet(){return null!==localStorage.getItem("spotfix_widget_is_closed")}function storageSetWidgetIsClosed(e){localStorage.setItem("spotfix_widget_is_closed",e?"1":"0")}function storageGetUserIsDefined(){return null!==localStorage.getItem("spotfix_user_id")}function storageSaveTasksUpdateData(e){if(e&&Array.isArray(e)){let t={};try{t=JSON.parse(localStorage.getItem("spotfix_task_updates")||"{}")}catch(e){t={}}e.forEach(e=>{e.taskId&&e.taskLastUpdate&&(t[e.taskId]={taskId:e.taskId,taskLastUpdate:e.taskLastUpdate})}),localStorage.setItem("spotfix_task_updates",JSON.stringify(t))}}function storageSaveTasksCount(e){e&&Array.isArray(e)&&(e=e.filter(e=>e.taskMeta)?.length,localStorage.setItem("spotfix_tasks_count",""+e))}function storageCheckTaskUpdate(e,t){if(!e||!t)return null;let a={};try{a=JSON.parse(localStorage.getItem("spotfix_task_updates")||"{}")}catch(e){a={}}e=a[e];return!!e&&new Date(e.taskLastUpdate)e!==a),localStorage.setItem("spotfix_unread_updates",JSON.stringify(t))}}function storageTasksHasUnreadUpdates(){let t=[];try{t=JSON.parse(localStorage.getItem("spotfix_unread_updates")||"[]")}catch(e){t=[]}return 0this.handleFileInputChange(e))}bindPaperClipAction(e){e.addEventListener("click",e=>{e.preventDefault(),this.fileInput&&this.fileInput.click()})}handleFileInputChange(e){this.clearError();var t=Array.from(e.target.files);this.files.length+t.length>this.maxFiles?this.showError(`Maximum ${this.maxFiles} files can be attached.`):(t.filter(e=>this.validateFile(e)).forEach(e=>this.addFile(e)),e.target.value="",this.uploaderWrapper.style.display="block")}validateFile(e){return e.size>this.maxFileSize?(this.showError(`File "${e.name}" is too large. Maximum size: `+this.formatFileSize(this.maxFileSize)),!1):this.getTotalSize()+e.size>this.maxTotalSize?(this.showError("Total files size exceeded. Maximum: "+this.formatFileSize(this.maxTotalSize)),!1):!(0e+t.file.size,0)}addFile(e){e={id:this.generateFileId(),file:e};this.files.push(e),this.renderFileList()}generateFileId(){return Date.now()+Math.random().toString(36).substr(2,9)}removeFile(t){this.files=this.files.filter(e=>e.id!==t),this.renderFileList(),this.clearError()}renderFileList(){var e;this.fileList&&(0===this.files.length?this.fileList.innerHTML=ksesFilter('
No files attached
'):(e=this.files.map(e=>this.createFileItem(e)),this.fileList.innerHTML=ksesFilter(""),e.forEach(e=>this.fileList.appendChild(e))))}createFileItem(e){let{file:t,id:a}=e;e=document.createElement("div");return e.className="doboard_task_widget__file-upload__file-item",e.innerHTML=ksesFilter(` +
`}
`,r=e.textContent;var d=t[0].selectedText;if(d){let i=[];if(t.forEach(e=>{var t=parseInt(e.startSelectPosition)||0,a=parseInt(e.endSelectPosition)||0;t<0||a>r.length||at.position-e.position),r.slice(i[1].position,i[0].position)!==d)spotFixDebugLog("It is not allow to highlight element by provided metadata.");else{let a=r;i.forEach(e=>{var t="start"===e.type?s:"
";a=a.slice(0,e.position)+t+a.slice(e.position)});try{e.innerHTML=ksesFilter(a),document.querySelectorAll(".doboard_task_widget-see-task").forEach(a=>{a.addEventListener("click",e=>{e.preventDefault();e=a.className.split(" ").find(e=>e.includes("__task-id-"));let t=null;(t=e?e.split("__task-id-")[1]:t)&&(o.currentActiveTaskId=t,o.showOneTask())})})}catch(e){spotFixDebugLog("Error updating element content: "+e)}}}else spotFixDebugLog("Provided metadata is invalid.")}function spotFixScrollToNodePath(e){e=spotFixRetrieveNodeFromPath(e);return!(!e||!e.scrollIntoView||(e.scrollIntoView({behavior:"smooth",block:"center"}),0))}function spotFixRemoveHighlights(){var e=document.querySelectorAll(".doboard_task_widget-text_selection");let i=new Set,t=(e.forEach(e=>{var t=e.parentNode,a=(i.add(t),e.querySelector(".doboard_task_widget-text_selection_tooltip"));for(a&&a.remove();e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}),i.forEach(e=>e.normalize()),"doboard_task_widget-element_selection"),a=(document.querySelectorAll("."+t).forEach(e=>{e.classList.remove(t)}),"doboard_task_widget-image_selection");document.querySelectorAll("."+a).forEach(e=>{e.classList.remove(a)})}function spotFixIsValidNodePath(e){return!!Array.isArray(e)&&0!==e.length&&e.every(e=>Number.isInteger(e)&&0<=e&&e<1e3)}function spotFixGetSelectedImage(e){if(e&&0!==e.rangeCount&&!e.isCollapsed){let t=e.getRangeAt(0);if(t.startContainer===t.endContainer&&t.startContainer.nodeType===Node.ELEMENT_NODE&&"IMG"===t.startContainer.tagName)return t.startContainer;e=document.createTreeWalker(t.commonAncestorContainer,NodeFilter.SHOW_ELEMENT,{acceptNode:function(e){return"IMG"===e.tagName&&spotFixIsElementInRange(e,t)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}).nextNode();if(e)return e;var a,e=spotFixGetElementFromNode(t.startContainer),i=spotFixGetElementFromNode(t.endContainer);if(e&&"IMG"===e.tagName&&spotFixIsElementPartiallySelected(e,t))return e;if(i&&"IMG"===i.tagName&&spotFixIsElementPartiallySelected(i,t))return i;for(a of spotFixFindNearbyElements(t))if("IMG"===a.tagName)return a}return null}function spotFixIsElementInRange(e,t){var a=document.createRange();return a.selectNode(e),t.compareBoundaryPoints(Range.START_TO_START,a)<=0&&0<=t.compareBoundaryPoints(Range.END_TO_END,a)}function spotFixIsElementPartiallySelected(e,t){e=e.getBoundingClientRect(),t=t.getBoundingClientRect();return!(e.rightt.right||e.bottomt.bottom)}function spotFixGetElementFromNode(e){return e.nodeType===Node.ELEMENT_NODE?e:e.parentElement}function spotFixFindNearbyElements(t){var a=[],e=t.commonAncestorContainer,i=e.previousElementSibling,o=e.nextElementSibling;if(i&&a.push(i),o&&a.push(o),e.nodeType===Node.ELEMENT_NODE){var s=e.children;for(let e=0;eimg{background:rgba(208,213,127,.68)}.doboard_task_widget-issues_list_empty{text-align:center;margin:20px 0}.doboard_task_widget-avatar_container{display:flex;height:44px;width:44px;border-radius:50%;background-repeat:no-repeat;background-position:center;background-size:100%}.doboard_task_widget-comment_data_owner .doboard_task_widget-avatar_container{opacity:0}.doboard_task_widget-avatar_placeholder{min-height:44px;min-width:44px;border-radius:50%;font-size:24px;line-height:1.2083333333;padding:0;background:#1C7857;display:inline-grid;align-content:center;justify-content:center}.doboard_task_widget-avatar-initials{color:#FFF;width:inherit;text-align:center}.doboard_task_widget-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.doboard_task_widget-description_container{height:55px;width:calc(100% - 44px - 8px);border-bottom:1px solid #EBF0F4;display:block;margin-left:8px}.doboard_task_widget-task_row:last-child .doboard_task_widget-description_container{border-bottom:none}.doboard_task_widget-all_issues{padding-bottom:0}.doboard_task_widget-all_issues-container,.doboard_task_widget-concrete_issues-container{overflow:auto;max-height:85vh;display:none}.doboard_task_widget-task_last_message,.doboard_task_widget-task_page_url a,.doboard_task_widget-task_title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doboard_task_widget-all_issues-container{scrollbar-width:none;margin-top:10px}.doboard_task_widget-content.doboard_task_widget-concrete_issue{padding:0}.doboard_task_widget-concrete_issues-container{padding:10px 16px 5px}.doboard_task_widget-all_issues-container::-webkit-scrollbar,.doboard_task_widget-all_issues::-webkit-scrollbar,.doboard_task_widget-concrete_issues-container::-webkit-scrollbar,.doboard_task_widget-content::-webkit-scrollbar{width:0}.doboard_task_widget-task_title{font-weight:700;display:flex;justify-content:space-between;align-items:center}.doboard_task_widget-task_title span{font-weight:700;display:inline-block}.doboard_task_widget-task_title-details{display:flex;max-width:calc(100% - 40px);align-items:center}.doboard_task_widget-task_title-unread_block{opacity:0;height:8px;width:8px;background:#f08c43;border-radius:50%;display:inline-block;font-size:8px;font-weight:600;position:relative}.doboard_task_widget-task_title-unread_block.unread{opacity:1}.doboard_task_widget-task_last_message{max-width:85%;height:36px}.doboard_task_widget-task_page_url{max-width:70%;height:36px;display:flex;align-items:center}.doboard_task_widget-task_page_url a{color:#40484F;text-decoration:none;margin-left:8px;max-width:100%}.doboard_task_widget-bottom{display:flex;justify-content:space-between}.doboard_task_widget-bottom-is-fixed{border-radius:10px;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOSAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik03LjA4MTE5IDAuMjIzNDM0QzguOTkxNjkgLTAuMjA4MTY3IDEwLjk5MTMgLTAuMDExMjE5NCAxMi43ODA0IDAuNzg1OTM0QzEzLjE1ODQgMC45NTQ2MjQgMTMuMzI4NiAxLjM5ODAzIDEzLjE2MDMgMS43NzYxN0MxMi45OTE3IDIuMTU0MTkgMTIuNTQ4MiAyLjMyNDI0IDEyLjE3MDEgMi4xNTYwNUMxMC42NzY0IDEuNDkwNTIgOS4wMDcyNiAxLjMyNiA3LjQxMjI1IDEuNjg2MzJDNS44MTcxNyAyLjA0NjcxIDQuMzgwOTcgMi45MTI5NiAzLjMxODUgNC4xNTYwNUMyLjI1NjIzIDUuMzk5MDEgMS42MjQ0MSA2Ljk1MjI5IDEuNTE2NzQgOC41ODM3OUMxLjQwOTI0IDEwLjIxNTQgMS44MzE4NCAxMS44MzkgMi43MjE4MiAxMy4yMTA3QzMuNjExNzkgMTQuNTgyMiA0LjkyMTY0IDE1LjYyOTQgNi40NTUyMSAxNi4xOTYxQzcuOTg5MDIgMTYuNzYyNiA5LjY2NTUzIDE2LjgxODkgMTEuMjMzNSAxNi4zNTUzQzEyLjgwMTYgMTUuODkxNiAxNC4xNzgzIDE0LjkzMzUgMTUuMTU3NCAxMy42MjM4QzE2LjEzNjQgMTIuMzE0MiAxNi42NjYxIDEwLjcyMjcgMTYuNjY3MSA5LjA4NzY5TDE4LjE2NzEgOS4wODg2N0MxOC4xNjU4IDExLjA0NzEgMTcuNTMxMiAxMi45NTM2IDE2LjM1ODUgMTQuNTIyM0MxNS4xODU5IDE2LjA5MDcgMTMuNTM3MyAxNy4yMzg0IDExLjY1OTMgMTcuNzkzN0M5Ljc4MTEgMTguMzQ5MSA3Ljc3MjkzIDE4LjI4MiA1LjkzNTY4IDE3LjYwMzNDNC4wOTg1IDE2LjkyNDYgMi41MjkxMiAxNS42NzAxIDEuNDYzMDMgMTQuMDI3MUMwLjM5NzAzNSAxMi4zODQxIC0wLjEwOTEwOSAxMC40Mzk1IDAuMDE5NjY4MyA4LjQ4NTE1QzAuMTQ4NjA3IDYuNTMwOCAwLjkwNjMyMyA0LjY3MDMzIDIuMTc4ODUgMy4xODE0NEMzLjQ1MTM2IDEuNjkyNjggNS4xNzA4OCAwLjY1NTE2MiA3LjA4MTE5IDAuMjIzNDM0WiIgZmlsbD0iIzIyQTQ3NSIvPg0KPHBhdGggZD0iTTE2Ljg4NTkgMS44OTA0M0MxNy4xNzg2IDEuNTk3NTMgMTcuNjUzNCAxLjU5Nzg0IDE3Ljk0NjQgMS44OTA0M0MxOC4yMzkzIDIuMTgzMTYgMTguMjQwMSAyLjY1Nzk2IDE3Ljk0NzQgMi45NTA5N0w5LjYxMzQyIDExLjI5MjhDOS40NzI4MiAxMS40MzMzIDkuMjgxOTYgMTEuNTEyNCA5LjA4MzE1IDExLjUxMjVDOC44ODQzMiAxMS41MTI1IDguNjkzNDggMTEuNDMzMyA4LjU1Mjg3IDExLjI5MjhMNi4wNTI4NyA4Ljc5Mjc3QzUuNzYwMTQgOC40OTk5IDUuNzYwMTEgOC4wMjUwOCA2LjA1Mjg3IDcuNzMyMjJDNi4zNDU3MiA3LjQzOTM3IDYuODIwNTEgNy40Mzk0NiA3LjExMzQyIDcuNzMyMjJMOS4wODIxNyA5LjcwMDk3TDE2Ljg4NTkgMS44OTA0M1oiIGZpbGw9IiMyMkE0NzUiLz4NCjxwYXRoIGQ9Ik0xNy40MTcxIDcuNTcxMDlDMTcuODMxIDcuNTcxNDQgMTguMTY3IDcuOTA3MTYgMTguMTY3MSA4LjMyMTA5VjkuMDg4NjdMMTcuNDE3MSA5LjA4NzY5SDE2LjY2NzFWOC4zMjEwOUMxNi42NjcyIDcuOTA2OTQgMTcuMDAzIDcuNTcxMDkgMTcuNDE3MSA3LjU3MTA5WiIgZmlsbD0iIzIyQTQ3NSIvPg0KPC9zdmc+) 8px center no-repeat #EBFAF4;padding:4px 7px 4px 30px}.doboard_task_widget-bottom-is-fixed-task-block{text-align:center}.doboard_task_widget-bottom-is-fixed-task{background:#F3F6F9;color:#1C7857;display:inline-block;border-radius:10px;padding:5px 8px;margin:0 auto}.doboard_task_widget-task_row-green{background:#EBF0F4}.doboard_task_widget_return_to_all{display:flex;gap:8px;flex-direction:row;-moz-flex-direction:row;align-content:center;flex-wrap:wrap}.doboard_task_widget-task_title-last_update_time{font-family:Inter,serif;font-weight:400;font-style:normal;font-size:11px;leading-trim:NONE;line-height:100%}.doboard_task_widget-task_title_public_status_img{opacity:50%;margin-left:5px;scale:90%}.doboard_task_widget-description-textarea{resize:none}.doboard_task_widget-switch_row{display:flex;align-items:center;gap:12px;margin:16px 0;justify-content:space-between}.doboard_task_widget-switch-label{font-weight:600;font-size:16px;height:24px;align-content:center}.doboard_task_widget-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.doboard_task_widget-switch input{opacity:0;width:0;height:0}.doboard_task_widget-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:24px;transition:.2s}.doboard_task_widget-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:.2s}.doboard_task_widget-switch input:checked+.doboard_task_widget-slider{background-color:#65D4AC}.doboard_task_widget-switch input:checked+.doboard_task_widget-slider:before{transform:translateX(20px)}.doboard_task_widget-switch-img{width:24px;height:24px;flex-shrink:0}.doboard_task_widget-switch-center{display:flex;gap:2px;flex-direction:column;-moz-flex-direction:column;flex:1 1 auto;min-width:0}.doboard_task_widget-switch-desc{display:block;font-size:12px;color:#707A83;margin:0;line-height:1.2;max-width:180px;word-break:break-word}.doboard_task_widget-concrete_issue-day_content{display:flex;flex-direction:column;-moz-flex-direction:column}.doboard_task_widget-concrete_issue_day_content-month_day{text-align:center;font-weight:400;font-size:12px;line-height:100%;padding:8px;opacity:.75}.doboard_task_widget-concrete_issue_day_content-messages_wrapper{display:flex;flex-direction:column;-moz-flex-direction:column}.doboard_task_widget-comment_data_wrapper{display:flex;flex-direction:row;-moz-flex-direction:row;margin-bottom:15px;align-items:flex-end}.doboard_task_widget-comment_text_container{position:relative;width:calc(100% - 44px - 5px);height:auto;margin-left:5px;background:#F3F6F9;border-radius:16px}.doboard_task_widget-comment_text_container:after{content:"";position:absolute;bottom:0;left:-5px;width:13px;height:19px;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAxMyAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuMTEyNTggMTkuMDMzNEM1LjI5NDg2IDE5LjgyMDEgMTAuNjEwNSAxNy45NzQxIDEyLjI3MTUgMTYuMTcxM0MxMi4yNzE1IDE2LjE3MTMgMTAuOTYyMyAtMi43ODEyNCA1LjA5NTU0IDAuMzQ5MDc5QzUuMDc0NCAxLjYxNDU0IDUuMDk1NTQgNS45OTQ5IDUuMDk1NTQgNi43NDA2OUM1LjA5NTU0IDE3LjA2NjIgLTAuODg0MDEyIDE4LjQ0MDEgMC4xMTI1OCAxOS4wMzM0WiIgZmlsbD0iI0YzRjZGOSIvPgo8L3N2Zz4K)}.doboard_task_widget-comment_data_owner .doboard_task_widget-comment_text_container{background:#EBFAF4}.doboard_task_widget-comment_data_owner .doboard_task_widget-comment_text_container:after{left:auto;right:-5px;height:13px;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjc3NzEgMTIuMzA2NkM3LjMzMTM1IDEzLjA5MzcgMS43NDU0NCAxMS4yNDY5IDAgOS40NDMxOUw3LjM5MTYgMEM3LjM5MTYgMTAuMzMwMyAxMy44MjQ0IDExLjcxMzEgMTIuNzc3MSAxMi4zMDY2WiIgZmlsbD0iI0VCRkFGNCIvPgo8L3N2Zz4K)}.doboard_task_widget-comment_body,.doboard_task_widget-comment_time{position:relative;z-index:1}.doboard_task_widget-comment_body{padding:6px 8px;min-height:30px}.doboard_task_widget-comment_body strong{font-variation-settings:"wght" 700}.doboard_task_widget-comment_body blockquote{margin:0;border-left:3px solid #22a475}.doboard_task_widget-comment_body blockquote p{margin:0 10px}.doboard_task_widget-comment_body details .mce-accordion-body{padding-left:20px}.doboard_task_widget-comment_body details .mce-accordion-summary{background:url("data:image/svg+xml;charset=utf-8,%3Csvg transform='rotate(180 0 0)' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' style='enable-background:new 0 0 20 20' xml:space='preserve'%3E%3Cpath d='M10 13.3c-.2 0-.4-.1-.6-.2l-5-5c-.3-.3-.3-.9 0-1.2.3-.3.9-.3 1.2 0l4.4 4.4 4.4-4.4c.3-.3.9-.3 1.2 0 .3.3.3.9 0 1.2l-5 5c-.2.2-.4.2-.6.2z'/%3E%3C/svg%3E") 0 no-repeat;padding-left:20px}.doboard_task_widget-comment_body .mce-accordion[open] .mce-accordion-summary{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' style='enable-background:new 0 0 20 20' xml:space='preserve'%3E%3Cpath d='M10 13.3c-.2 0-.4-.1-.6-.2l-5-5c-.3-.3-.3-.9 0-1.2.3-.3.9-.3 1.2 0l4.4 4.4 4.4-4.4c.3-.3.9-.3 1.2 0 .3.3.3.9 0 1.2l-5 5c-.2.2-.4.2-.6.2z'/%3E%3C/svg%3E") 0 no-repeat}.doboard_task_widget-comment_body details .mce-accordion-summary::marker{content:""}.doboard_task_widget-comment_body pre{border:1px solid #d6dde3;border-left-width:8px;border-radius:4px;padding:13px 16px 14px 12px;white-space:pre-wrap}.doboard_task_widget-comment_time{font-weight:400;font-size:11px;opacity:.8;position:absolute;bottom:6px;right:6px}.doboard_task_widget-comment_body-img-strict{max-width:-webkit-fill-available;height:100px;margin-right:5px}.doboard_task_widget-send_message{padding:14px 10px;border-top:1px solid #BBC7D1;position:sticky;background:#fff;bottom:0;z-index:4}.doboard_task_widget-send_message_elements_wrapper{display:flex;flex-direction:row;-moz-flex-direction:row;align-content:center;flex-wrap:nowrap;justify-content:space-between;align-items:end}.doboard_task_widget-send_message_elements_wrapper img{margin:0}.doboard_task_widget-send_message_input_wrapper{position:relative;display:inline-grid;align-items:center;justify-items:center;flex-grow:1;padding:0 6px}.doboard_task_widget-send_message_input_wrapper textarea{position:relative;width:100%;height:37px;border:none;outline:0;box-shadow:none;border-radius:24px;background:#F3F6F9;resize:none;margin-bottom:0!important;transition:height .2s ease-in-out;padding:8px;box-sizing:border-box}.doboard_task_widget-send_message_input_wrapper textarea.high{height:170px}.doboard_task_widget-send_message_input_wrapper textarea:focus{background:#F3F6F9;border-color:#007bff;outline:0}.doboard_task_widget-send_message_button{display:inline-grid;border:none;cursor:pointer;padding:0;width:100%;align-items:center;margin:20px 0 0}.doboard_task_widget-send_message_paperclip{display:inline-grid;border:none;background:0 0;cursor:pointer;padding:0;align-items:center;margin:0}.doboard_task_widget-send_message_button:hover,.doboard_task_widget-send_message_paperclip:hover rect{fill:#45a049}.doboard_task_widget-send_message_button:active,.doboard_task_widget-send_message_paperclip:active{transform:scale(.98)}.doboard_task_widget-spinner_wrapper_for_containers{display:flex;justify-content:center;align-items:center;min-height:60px;width:100%}.doboard_task_widget-spinner_for_containers{width:40px;height:40px;border-radius:50%;background:conic-gradient(transparent,#1C7857);mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#fff 0);animation:spin 1s linear infinite}.doboard_task_widget-create_issue{padding:10px}.doboard_task_widget__file-upload__wrapper{display:none;border:1px solid #BBC7D1;margin-top:14px;padding:0 10px 10px;border-radius:4px}.doboard_task_widget__file-upload__list-header{text-align:left;font-size:.9em;margin:5px 0;color:#444c529e}.doboard_task_widget__file-upload__file-input-button{display:none}.doboard_task_widget__file-upload__file-list{border:1px solid #ddd;border-radius:5px;padding:6px;max-height:200px;overflow-y:auto;background:#f3f6f9}.doboard_task_widget__file-upload__file-item{display:flex;justify-content:space-between;align-items:center;padding:4px;border-bottom:1px solid #bbc7d16b}.doboard_task_widget__file-upload__file-item:last-child{border-bottom:none}.doboard_task_widget__file-upload__file_info{display:inline-flex;align-items:center}.doboard_task_widget__file-upload__file-name{font-weight:700;font-size:.9em}.doboard_task_widget__file-upload__file-item-content{width:100%}.doboard_task_widget__file-upload__file_size{color:#666;font-size:.8em;margin-left:6px}.doboard_task_widget__file-upload__remove-btn{background:#22a475;color:#fff;border:none;border-radius:3px;cursor:pointer}.doboard_task_widget__file-upload__error{display:block;margin:7px 0 0;padding:7px;border-radius:4px;background:#fdd;border:1px solid #cf6868}.doboard_task_widget-show_button{position:fixed;background:#1C7857;color:#FFF;padding:8px 12px;border-radius:4px;font-size:14px;z-index:10000;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3);transform:translate(-50%,-100%);margin-top:-8px;white-space:nowrap;border:none;font-family:inherit}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:480px){.doboard_task_widget{position:fixed;right:0;top:auto;bottom:0;margin:0 20px 20px;box-sizing:border-box;transform:translateZ(0);-moz-transform:translateZ(0);will-change:transform;max-height:90vh}.doboard_task_widget-container{width:100%;max-width:290px;margin:0 auto;max-height:90vh}.doboard_task_widget-content{height:auto;max-height:none;scrollbar-width:none}.doboard_task_widget-content::-webkit-scrollbar{display:none}.doboard_task_widget-all_issues-container,.doboard_task_widget-concrete_issues-container{max-height:80vh}}@supports (-webkit-overflow-scrolling:touch){.doboard_task_widget{position:fixed}}.doboard_task_widget_tasks_list{background-color:#fff;position:sticky;bottom:0;height:38px;display:flex;flex-direction:column-reverse;align-items:center;padding-bottom:8px}.doboard_task_widget_tasks_list a{color:#40484F!important;text-decoration:none!important}.doboard_task_widget-text_selection{position:relative;display:inline-block}.doboard_task_widget-see-task{cursor:pointer;text-decoration:underline}.doboard_task_widget-text_selection_tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#FFF;color:#000;padding:4px 8px;border-radius:4px;font-size:10px;white-space:nowrap;z-index:9000;border:1px solid #BBC7D1;margin-bottom:8px}.doboard_task_widget-text_selection_tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#FFF}.doboard_task_widget-text_selection_tooltip::before{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#BBC7D1;z-index:-1}.doboard_task_widget-text_selection_tooltip_icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDEwMyAxMDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEwMyAxMDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiMxNzcyNTA7fQ0KPC9zdHlsZT4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik01MywwSDB2MTAwaDMwLjJINTNDMTE5LjYsMTAwLDExOS42LDAsNTMsMHogTTMwLjIsMTAwYy0xNi42LDAtMzAtMTMuNC0zMC0zMHMxMy40LTMwLDMwLTMwDQoJYzE2LjYsMCwzMCwxMy40LDMwLDMwUzQ2LjgsMTAwLDMwLjIsMTAweiIvPg0KPC9zdmc+DQo=);background-repeat:no-repeat;width:22px;height:22px;margin:5px 3px}.doboard_task_widget-text_selection_tooltip_element{display:flex;justify-content:space-between}.doboard_task_widget-content .tox .tox-toolbar__group{padding:0 8px!important}.doboard_task_widget-content .tox-tinymce{border:1px solid #BBC7D1;border-radius:4px}`;function storageGetWidgetIsClosed(){return"1"===localStorage.getItem("spotfix_widget_is_closed")}function storageWidgetCloseIsSet(){return null!==localStorage.getItem("spotfix_widget_is_closed")}function storageSetWidgetIsClosed(e){localStorage.setItem("spotfix_widget_is_closed",e?"1":"0")}function storageGetUserIsDefined(){return null!==localStorage.getItem("spotfix_user_id")}function storageSaveTasksUpdateData(e){if(e&&Array.isArray(e)){let t={};try{t=JSON.parse(localStorage.getItem("spotfix_task_updates")||"{}")}catch(e){t={}}e.forEach(e=>{e.taskId&&e.taskLastUpdate&&(t[e.taskId]={taskId:e.taskId,taskLastUpdate:e.taskLastUpdate})}),localStorage.setItem("spotfix_task_updates",JSON.stringify(t))}}function storageSaveTasksCount(e){e&&Array.isArray(e)&&(e=e.filter(e=>e.taskMeta)?.length,localStorage.setItem("spotfix_tasks_count",""+e))}function storageCheckTaskUpdate(e,t){if(!e||!t)return null;let a={};try{a=JSON.parse(localStorage.getItem("spotfix_task_updates")||"{}")}catch(e){a={}}e=a[e];return!!e&&new Date(e.taskLastUpdate)e!==a),localStorage.setItem("spotfix_unread_updates",JSON.stringify(t))}}function storageTasksHasUnreadUpdates(){let t=[];try{t=JSON.parse(localStorage.getItem("spotfix_unread_updates")||"[]")}catch(e){t=[]}return 0this.handleFileInputChange(e))}bindPaperClipAction(e){e.addEventListener("click",e=>{e.preventDefault(),this.fileInput&&this.fileInput.click()})}handleFileInputChange(e){this.clearError();var t=Array.from(e.target.files);this.files.length+t.length>this.maxFiles?this.showError(`Maximum ${this.maxFiles} files can be attached.`):(t.filter(e=>this.validateFile(e)).forEach(e=>this.addFile(e)),e.target.value="",this.uploaderWrapper.style.display="block")}validateFile(e){return e.size>this.maxFileSize?(this.showError(`File "${e.name}" is too large. Maximum size: `+this.formatFileSize(this.maxFileSize)),!1):this.getTotalSize()+e.size>this.maxTotalSize?(this.showError("Total files size exceeded. Maximum: "+this.formatFileSize(this.maxTotalSize)),!1):!(0e+t.file.size,0)}addFile(e){e={id:this.generateFileId(),file:e};this.files.push(e),this.renderFileList()}generateFileId(){return Date.now()+Math.random().toString(36).substr(2,9)}removeFile(t){this.files=this.files.filter(e=>e.id!==t),this.renderFileList(),this.clearError()}renderFileList(){var e;this.fileList&&(0===this.files.length?this.fileList.innerHTML=ksesFilter('
No files attached
'):(e=this.files.map(e=>this.createFileItem(e)),this.fileList.innerHTML=ksesFilter(""),e.forEach(e=>this.fileList.appendChild(e))))}createFileItem(e){let{file:t,id:a}=e;e=document.createElement("div");return e.className="doboard_task_widget__file-upload__file-item",e.innerHTML=ksesFilter(`
${this.escapeHtmlHandler(String(t.name))}
@@ -12,7 +12,7 @@ let DOBOARD_API_URL="https://api.doboard.com",spotfixApiCall=async(e,t,a=void 0)
- `),e.querySelector(".doboard_task_widget__file-upload__remove-btn").addEventListener("click",()=>this.removeFile(a)),e}formatFileSize(e){var t;return 0===e?"0 Bytes":(t=Math.floor(Math.log(e)/Math.log(1024)),parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+this.SIZE_UNITS[t])}showError(e){this.errorMessage&&(this.errorMessage.textContent=e,this.errorMessage.style.display="block")}clearError(){this.errorMessage&&(this.errorMessage.textContent="",this.errorMessage.style.display="none")}hasFiles(){return 0e?.[t],e)}async sendSingleAttachment(e){e=await this.validateFileData(e);return attachmentAddDoboard(e)}async sendAttachmentsForComment(t,a,i){var o={preparedFilesCount:this.files.length,sentFilesCount:0,fileResults:[],success:!0};for(let e=0;ethis.removeFile(a)),e}formatFileSize(e){var t;return 0===e?"0 Bytes":(t=Math.floor(Math.log(e)/Math.log(1024)),parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+this.SIZE_UNITS[t])}showError(e){this.errorMessage&&(this.errorMessage.textContent=e,this.errorMessage.style.display="block")}clearError(){this.errorMessage&&(this.errorMessage.textContent="",this.errorMessage.style.display="none")}hasFiles(){return 0e?.[t],e)}async sendSingleAttachment(e){e=await this.validateFileData(e);return attachmentAddDoboard(e)}async sendAttachmentsForComment(t,a,i){var o={preparedFilesCount:this.files.length,sentFilesCount:0,fileResults:[],success:!0};for(let e=0;esetTimeout(e,2e3));let d=document.createElement("canvas");return d.width=r.videoWidth,d.height=r.videoHeight,d.width&&d.height?(d.getContext("2d").drawImage(r,0,0,d.width,d.height),e.getTracks().forEach(e=>e.stop()),(r=await new Promise(e=>d.toBlob(e,"image/png")))?(s=new Date,t=String(s.getHours()).padStart(2,"0"),a=String(s.getMinutes()).padStart(2,"0"),i=String(s.getDate()).padStart(2,"0"),o=String(s.getMonth()+1).padStart(2,"0"),s=s.getFullYear(),r=new File([r],`Screenshot_${t}:${a}_${i}_${o}_${s}.png`,{type:"image/png",lastModified:Date.now()}),void this.addFile(r)):null):(e.getTracks().forEach(e=>e.stop()),null)}}class SpotFixTemplatesLoader{static getTemplateCode(e){var t=this[e];if("function"!=typeof t)throw new Error(`Template method '${e}' not found`);return t.call(this).trim()}static all_issues(){return`
@@ -50,21 +50,11 @@ let DOBOARD_API_URL="https://api.doboard.com",spotfixApiCall=async(e,t,a=void 0)
-
- - -
- -
- - + +
+
+ +
Attached files
@@ -115,8 +105,8 @@ let DOBOARD_API_URL="https://api.doboard.com",spotfixApiCall=async(e,t,a=void 0)
- +