Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 70 additions & 11 deletions dist/doboard-widget-bundle.js

Large diffs are not rendered by default.

38 changes: 27 additions & 11 deletions dist/doboard-widget-bundle.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/doboard-widget-bundle.min.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion js/src/handlers.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ async function getAllTasks(params, nonRequesting = false) {
const sessionId = localStorage.getItem('spotfix_session_id') || '';
let tasksData = await spotfixIndexedDB.getAll(SPOTFIX_TABLE_TASKS);

if (!nonRequesting && (!tasksData || !tasksData.length) && !wsSpotfix.isActive()) {
if ((nonRequesting && (!tasksData || !tasksData.length)) || (!nonRequesting && (!tasksData || !tasksData.length) && !wsSpotfix.isActive())) {
await getTasksDoboard(projectToken, sessionId, params.accountId, params.projectId);
tasksData = await spotfixIndexedDB.getAll(SPOTFIX_TABLE_TASKS);
}
Comment thread
veronika-tseleva-cleantalk marked this conversation as resolved.
Expand Down
13 changes: 13 additions & 0 deletions js/src/loaders/SpotFixSVGLoader.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 14 additions & 6 deletions js/src/loaders/SpotFixTemplatesLoader.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class SpotFixTemplatesLoader {
<img src="{{iconMaximize}}" alt="" class="doboard_task_widget_cursor-pointer">
</span>
<span id="openUserMenuButton">
<img src="{{iconEllipsesMore}}" alt="" class="doboard_task_widget_cursor-pointer">
<img src="{{userAvatar}}" alt="" class="doboard_task_widget_cursor-pointer">
</span>
<img src="{{buttonCloseScreen}}" alt="" class="doboard_task_widget-close_btn doboard_task_widget_cursor-pointer">
</div>
Expand Down Expand Up @@ -63,7 +63,7 @@ class SpotFixTemplatesLoader {
<img src="{{iconMaximize}}" alt="" class="doboard_task_widget_cursor-pointer">
</span>
<span id="openSpotMenuButton">
<img src="{{iconEllipsesMore}}" alt="" class="doboard_task_widget_cursor-pointer">
<img src="{{userAvatar}}" style="height: 22px; width: 22px; border-radius: 50%" alt="" class="doboard_task_widget_cursor-pointer">
</span>
<img src="{{buttonCloseScreen}}" alt="" class="doboard_task_widget-close_btn doboard_task_widget_cursor-pointer">
</div>
Expand Down Expand Up @@ -174,11 +174,19 @@ class SpotFixTemplatesLoader {
<div class="doboard_task_widget__file-upload__error" id="doboard_task_widget__file-upload__error"></div>
<input type="file" class="doboard_task_widget__file-upload__file-input-button" id="doboard_task_widget__file-upload__file-input-button" multiple accept="*/*">
</div>

<div class="doboard_task_widget-logged-user-name">
<img src="{{userAvatarLoginBlock}}" alt="">
<span>Reporting as <b>{{userNameLoginBlock}}</b></span>
</div>
<div class="doboard_task_widget-login">

<span class="doboard_task_widget-login-icon" >Sign up here to receive notifications.</span>

<span class="doboard_task_widget-login-icon" >
<img style="margin-right: 8px" src="{{iconGuestAvatar}}" alt="">
<span style="flex-grow: 1">
<span>Reporting as <b>Guest</b></span><br/>
Sign up here to receive notifications.
</span>

</span>
<div class="doboard_task_widget-accordion">

<div class="doboard_task_widget-input-container-phantom">
Expand Down
44 changes: 41 additions & 3 deletions js/src/widget.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ class CleanTalkWidgetDoboard {
iconHighlight: SpotFixSVGLoader.getAsDataURI('iconHighlight'),
iconLockDark: SpotFixSVGLoader.getAsDataURI('iconLockDark'),
iconPublicDark: SpotFixSVGLoader.getAsDataURI('iconPublicDark'),
iconGuestAvatar: SpotFixSVGLoader.getAsDataURI('iconGuestAvatar'),
};

if (taskData && +taskData?.taskId){
Expand Down Expand Up @@ -737,6 +738,17 @@ class CleanTalkWidgetDoboard {
iconListMinimalistic: SpotFixSVGLoader.getAsDataURI('iconListMinimalistic'),
...this.srcVariables
};

const userId = localStorage.getItem('spotfix_user_id') || 0;
templateVariables.userAvatarLoginBlock = SpotFixSVGLoader.getAsDataURI('iconGuestAvatarDark') || '';
templateVariables.userNameLoginBlock = 'Guest';
if(userId) {
const usersList = await spotfixIndexedDB.getAll(SPOTFIX_TABLE_USERS);
const user = usersList.find(user => +user?.user_id === +userId)
templateVariables.userAvatarLoginBlock = user?.avatar?.s || SpotFixSVGLoader.getAsDataURI('iconGuestAvatarDark') || '';
templateVariables.userNameLoginBlock = user?.name || user?.email || 'Guest';
}
Comment thread
veronika-tseleva-cleantalk marked this conversation as resolved.
Comment thread
veronika-tseleva-cleantalk marked this conversation as resolved.

storageGetUserIsDefined() && storageSetWidgetIsClosed(false);
break;
case 'wrap':
Expand Down Expand Up @@ -767,6 +779,12 @@ class CleanTalkWidgetDoboard {
this.type_name = templateName;
this.socket_type_name = templateName;
this.nonRequesting = nonRequesting;
this.srcVariables.userAvatar = SpotFixSVGLoader.getAsDataURI('iconGuestAvatarDark');
const userIdAI = localStorage.getItem('spotfix_user_id') || 0;
if(userIdAI) {
const usersList = await spotfixIndexedDB.getAll(SPOTFIX_TABLE_USERS);
this.srcVariables.userAvatar = usersList.find(user => +user?.user_id === +userIdAI)?.avatar?.s || SpotFixSVGLoader.getAsDataURI('iconGuestAvatarDark') || '';
}
templateVariables = {...this.srcVariables};
break;
case 'user_menu':
Expand Down Expand Up @@ -821,6 +839,7 @@ class CleanTalkWidgetDoboard {
issueTitle: '...',
issueComments: [],
issuesCounter: getIssuesCounterString(this.savedIssuesQuantityOnPage, this.savedIssuesQuantityAll),
userAvatar: SpotFixSVGLoader.getAsDataURI('iconGuestAvatarDark'),
...this.srcVariables,
};
break;
Expand Down Expand Up @@ -863,6 +882,13 @@ class CleanTalkWidgetDoboard {
}
}

const loggedUserNameBlock = document.querySelector('.doboard_task_widget-logged-user-name');
if(loggedUserNameBlock) {
if(localStorage.getItem('spotfix_session_id')) {
loggedUserNameBlock.style.display = 'flex';
} else loggedUserNameBlock.style.display = 'none';
}

const requireFullRegistration = localStorage.getItem('spotfix_require_full_registration') === '1';
const titleContainer = document.getElementById('doboard_task_widget-title')?.closest('.doboard_task_widget-input-container');
const descriptionContainer = document.getElementById('doboard_task_widget-description-container');
Expand Down Expand Up @@ -1003,7 +1029,9 @@ class CleanTalkWidgetDoboard {
spotFixRemoveHighlights();

const nowAI = Date.now();
const isCacheValid = this.htmlCacheTimestamp && (nowAI - this.htmlCacheTimestamp < 60000); // 60
const currentSessionIdAI = localStorage.getItem('spotfix_session_id') || '';
const isSessionStateValidAI = (this.cachedSessionIdAI === currentSessionIdAI);
const isCacheValid = this.htmlCacheTimestamp && (nowAI - this.htmlCacheTimestamp < 60000) && isSessionStateValidAI;

if (isCacheValid && this.cachedHTML && !this.nonRequesting) {
const issuesContainer = document.querySelector(".doboard_task_widget-all_issues-container");
Expand Down Expand Up @@ -1054,6 +1082,7 @@ class CleanTalkWidgetDoboard {
let issuesQuantityOnPage = 0;
const sessionId = localStorage.getItem('spotfix_session_id');


const notifications = this.nonRequesting ? [] : await getNotificationsDoboard(this.params.projectToken, sessionId, this.params.accountId, this.params.projectId);
let activeTasks = [];
let finishedTasks = [];
Expand Down Expand Up @@ -1270,6 +1299,7 @@ class CleanTalkWidgetDoboard {
this.cachedHTML = finalContainer.innerHTML;
this.cachedSpotsToBeHighlighted = spotsToBeHighlighted;
this.htmlCacheTimestamp = Date.now();
this.cachedSessionIdAI = localStorage.getItem('spotfix_session_id') || '';
}

this.bindIssuesClick();
Expand Down Expand Up @@ -1444,7 +1474,9 @@ class CleanTalkWidgetDoboard {
const currentTaskId = this.currentActiveTaskId;
const taskCache = this.concreteIssueCache[currentTaskId];

const isConcreteCacheValid = taskCache && (nowCI - taskCache.timestamp < 60000) && !this.nonRequesting;
const currentSessionId = localStorage.getItem('spotfix_session_id') || '';
const isSessionStateValid = taskCache && (taskCache.sessionId === currentSessionId);
const isConcreteCacheValid = taskCache && (nowCI - taskCache.timestamp < 30000) && !this.nonRequesting && isSessionStateValid;

if (isConcreteCacheValid) {
widgetContainer.innerHTML = taskCache.widgetHTML;
Expand Down Expand Up @@ -1523,6 +1555,11 @@ class CleanTalkWidgetDoboard {
updateNotificationsDoboard(this.currentActiveTaskId, this.params.projectToken, this.params.accountId)
}

const userId = localStorage.getItem('spotfix_user_id') || 0;
if(userId) {
const usersList = await spotfixIndexedDB.getAll(SPOTFIX_TABLE_USERS);
templateVariables.userAvatar = usersList.find(user => +user?.user_id === +userId)?.avatar?.s || templateVariables.userAvatar;
}
tasksFullDetails = await getTasksFullDetails(this.params, this.allTasksData, this.currentActiveTaskId, this.nonRequesting);
const taskDetails = await getTaskFullDetails(tasksFullDetails, this.currentActiveTaskId, this.nonRequesting);

Expand Down Expand Up @@ -1770,7 +1807,8 @@ class CleanTalkWidgetDoboard {
commentsHTML: issuesCommentsContainer ? issuesCommentsContainer.innerHTML : '',
issueTitle: templateVariables.issueTitle,
meta: meta,
nodePath: nodePath
nodePath: nodePath,
sessionId: localStorage.getItem('spotfix_session_id') || ''
};

async function clickHandler(mainThis, editor, contentFromIframe) {
Expand Down
61 changes: 55 additions & 6 deletions styles/doboard-widget.css
Original file line number Diff line number Diff line change
Expand Up @@ -380,13 +380,18 @@
color: #2F68B7;
}

.doboard_task_widget-login {
.doboard_task_widget-login, .doboard_task_widget-logged-user-name {
margin-bottom: 16px;
border: 1px solid #BBC7D1;
border-radius: 4px;
padding: 11px 8px 8px 8px;
}

.doboard_task_widget-logged-user-name {
display: flex;
align-items: center;
}
Comment on lines +390 to +393

.doboard_task_widget-login.hidden {
display: none;
}
Expand All @@ -410,18 +415,42 @@
.doboard_task_widget-login .doboard_task_widget-input-container:last-child {
margin-bottom: 0;
}

.doboard_task_widget-login-icon span b {
font-weight: 600;
font-size: 12px;
display: inline;
}
.doboard_task_widget-login-icon span span {
font-size: 12px;
display: inline;
}

.active .doboard_task_widget-login-icon span b {
display: none;
}
.active .doboard_task_widget-login-icon span span {
display: none;
}
Comment thread
veronika-tseleva-cleantalk marked this conversation as resolved.
Comment thread
veronika-tseleva-cleantalk marked this conversation as resolved.

.active .doboard_task_widget-login-icon img {
display: none;
}
Comment thread
veronika-tseleva-cleantalk marked this conversation as resolved.
Comment thread
veronika-tseleva-cleantalk marked this conversation as resolved.

.doboard_task_widget-login .doboard_task_widget-login-icon {
display: block;
display: inline-flex;
position: relative;
width: stretch;
padding-right: 24px;
Comment on lines 440 to 444
cursor: pointer;
Comment on lines +441 to 445
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flex-grow and 100% don't work

Comment thread
veronika-tseleva-cleantalk marked this conversation as resolved.
}
.doboard_task_widget-login.active .doboard_task_widget-login-icon {
/*margin-bottom: 24px;*/
}
.doboard_task_widget-login .doboard_task_widget-login-icon::after {

.doboard_task_widget-login .doboard_task_widget-login-icon span::after {
position: absolute;
top: 0;
top: 12px;
right: 4px;
content: "";
display: block;
Expand All @@ -434,15 +463,22 @@
border-left: none;
transition: all 0.2s ease-in-out;
}
.doboard_task_widget-login.active .doboard_task_widget-login-icon::after {
.doboard_task_widget-login.active .doboard_task_widget-login-icon span::after {
transform: rotate(-135deg);
top: 7px;
}

.doboard_task_widget-login-icon.doboard_task_widget-login-icon-hidden::after {
.doboard_task_widget-login-icon.doboard_task_widget-login-icon-hidden span::after {
display: none;
}

.doboard_task_widget-logged-user-name b {
font-weight: 600;
}
.doboard_task_widget-logged-user-name {
font-size: 12px;
}

.doboard_task_widget-submit_button {
min-height: 48px;
width: 100%;
Expand Down Expand Up @@ -2001,3 +2037,16 @@ input:checked + .slider:before {
text-decoration: none;
color: black;
}

.doboard_task_widget-logged-user-name img {
margin-right: 8px;
width: 28px;
height: 28px;
border-radius: 50%;
}

#openUserMenuButton img {
width: 22px;
height: 22px;
border-radius: 50%;
}
Loading