Skip to content

Commit ab26c7e

Browse files
session storage to local storage
1 parent 8b50482 commit ab26c7e

File tree

4 files changed

+48
-35
lines changed

4 files changed

+48
-35
lines changed

src/frontend/wwwroot/app.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
(() => {
22
window.headers = GetAuthDetails();
3-
const apiEndpoint = sessionStorage.getItem('apiEndpoint') || BACKEND_API_URL;
3+
const apiEndpoint = getStoredData('apiEndpoint') || BACKEND_API_URL;
44
const goHomeButton = document.getElementById("goHomeButton");
55
const newTaskButton = document.getElementById("newTaskButton");
66
const closeModalButtons = document.querySelectorAll(".modal-close-button");
77
const myTasksMenu = document.getElementById("myTasksMenu");
88
const tasksStats = document.getElementById("tasksStats");
99

10-
//if (!sessionStorage.getItem('apiEndpoint')) sessionStorage.setItem('apiEndpoint', apiEndpoint);
10+
//if (!sessionStorage.getItem('apiEndpoint')) setStoredData('apiEndpoint', apiEndpoint);
1111
// Force rewrite of apiEndpoint
12-
sessionStorage.setItem('apiEndpoint', apiEndpoint);
13-
sessionStorage.setItem('context', 'employee');
12+
setStoredData('apiEndpoint', apiEndpoint);
13+
setStoredData('context', 'employee');
1414
// Refresh rate is set
15-
if (!sessionStorage.getItem('apiRefreshRate')) sessionStorage.setItem('apiRefreshRate', 5000);
16-
if (!sessionStorage.getItem('actionStagesRun')) sessionStorage.setItem('actionStagesRun', []);
15+
if (!getStoredData('apiRefreshRate')) setStoredData('apiRefreshRate', 5000);
16+
if (!getStoredData('actionStagesRun')) setStoredData('actionStagesRun', []);
1717

1818
const getQueryParam = (param) => {
1919
const urlParams = new URLSearchParams(window.location.search);
@@ -30,7 +30,7 @@
3030
const viewIframe = document.getElementById('viewIframe');
3131
if (viewIframe) {
3232
const viewRoute = getQueryParam('v');
33-
const viewContext = sessionStorage.getItem('context');
33+
const viewContext = getStoredData('context');
3434
const noCache = '?nocache=' + new Date().getTime();
3535
switch (viewRoute) {
3636
case 'home':
@@ -112,7 +112,7 @@
112112
}
113113

114114
const fetchTasksIfNeeded = async () => {
115-
const taskStore = JSON.parse(sessionStorage.getItem('task'));
115+
const taskStore = JSON.parse(getStoredData('task'));
116116
window.headers
117117
.then(headers => {
118118
fetch(apiEndpoint + '/plans', {
@@ -164,7 +164,7 @@
164164
setQueryParam('v', 'task');
165165
switchView();
166166

167-
sessionStorage.setItem('task', JSON.stringify({
167+
setStoredData('task', JSON.stringify({
168168
id: sessionId,
169169
name: taskName
170170
}));
@@ -222,7 +222,7 @@
222222
if (!userInfo) {
223223
console.error("Authentication failed. Access to tasks is restricted.");
224224
} else {
225-
sessionStorage.setItem('userInfo', userInfo);
225+
setStoredData('userInfo', userInfo);
226226
await fetchTasksIfNeeded(); // Fetch tasks after initialization if needed
227227
}
228228
};

src/frontend/wwwroot/home/home.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
ripple: false,
55
duration: 3000,
66
});
7-
const apiEndpoint = sessionStorage.getItem("apiEndpoint");
7+
const apiEndpoint = getStoredData("apiEndpoint");
88
const newTaskPrompt = document.getElementById("newTaskPrompt");
99
const startTaskButton = document.getElementById("startTaskButton");
1010
const startTaskButtonContainer = document.querySelector(".send-button");
@@ -92,6 +92,7 @@
9292
startTaskButton.classList.add("is-loading");
9393
createOverlay();
9494
showOverlay();
95+
console.log("apiEndpoint::", apiEndpoint)
9596
window.headers.then((headers) => {
9697
fetch(apiEndpoint + "/input_task", {
9798
method: "POST",

src/frontend/wwwroot/task/task.js

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
(() => {
22
const markdownConverter = new showdown.Converter();
3-
const apiEndpoint = sessionStorage.getItem("apiEndpoint");
4-
const taskStore = JSON.parse(sessionStorage.getItem("task"));
3+
const apiEndpoint = getStoredData("apiEndpoint");
4+
const taskStore = JSON.parse(getStoredData("task"));
55
const taskName = document.getElementById("taskName");
66
const taskStatusTag = document.getElementById("taskStatusTag");
77
const taskStagesMenu = document.getElementById("taskStagesMenu");
@@ -91,12 +91,12 @@
9191
agentIcon = "manager";
9292
break;
9393
case "HumanAgent":
94-
let userNumber = sessionStorage.getItem("userNumber");
94+
let userNumber = getStoredData("userNumber");
9595
if (userNumber == null) {
9696
// Generate a random number between 0 and 6
9797
userNumber = Math.floor(Math.random() * 6);
9898
// Create the icon name by concatenating 'user' with the random number
99-
sessionStorage.setItem("userNumber", userNumber);
99+
setStoredData("userNumber", userNumber);
100100
}
101101
let iconName = "user" + userNumber;
102102
agentIcon = iconName;
@@ -160,7 +160,7 @@
160160

161161
if (taskCancelButton) {
162162
taskCancelButton.addEventListener("click", (event) => {
163-
const apiTaskStore = JSON.parse(sessionStorage.getItem("apiTask"));
163+
const apiTaskStore = JSON.parse(getStoredData("apiTask"));
164164
handleDisableOfActions("completed")
165165
actionStages(apiTaskStore, false);
166166
});
@@ -216,7 +216,7 @@
216216
updateTaskProgress(data[0]);
217217
fetchTaskStages(data[0]);
218218

219-
sessionStorage.setItem("apiTask", JSON.stringify(data[0]));
219+
setStoredData("apiTask", JSON.stringify(data[0]));
220220
const isHumanClarificationRequestNull = data?.[0]?.human_clarification_request === null
221221
const taskMessageTextareaElement =document.getElementById("taskMessageTextarea");
222222
const taskMessageAddButton = document.getElementById("taskMessageAddButton");
@@ -359,15 +359,15 @@
359359

360360
updateTaskDetailsAgents([...new Set(taskAgents)]);
361361

362-
sessionStorage.setItem("showApproveAll", false);
362+
setStoredData("showApproveAll", false);
363363

364364
// Feature approve all removed for this version
365365
// if (isHumanFeedbackPending()) {
366-
// sessionStorage.setItem('showApproveAll', false);
366+
// setStoredData('showApproveAll', false);
367367
// console.log('showApproveAll status', "showApproveAll is false");
368368

369369
// } else {
370-
// sessionStorage.setItem('showApproveAll', taskStageApprovalStatus === taskStageCount);
370+
// setStoredData('showApproveAll', taskStageApprovalStatus === taskStageCount);
371371
// console.log('showApproveAll status', taskStageApprovalStatus === taskStageCount);
372372

373373
// }
@@ -434,8 +434,8 @@
434434
// console.log(groupByStepId(data));
435435

436436
if (
437-
sessionStorage.getItem("context") &&
438-
sessionStorage.getItem("context") === "customer"
437+
getStoredData("context") &&
438+
getStoredData("context") === "customer"
439439
) {
440440
data = contextFilter(data);
441441
}
@@ -461,7 +461,7 @@
461461
messages.forEach((message) => {
462462
const messageItem = document.createElement("div");
463463
const showApproveAll =
464-
sessionStorage.getItem("showApproveAll") === "true" &&
464+
getStoredData("showApproveAll") === "true" &&
465465
data.length === messageCount;
466466

467467
let approveAllStagesButton = "";
@@ -475,8 +475,8 @@
475475
: "has-status-active";
476476

477477
if (
478-
sessionStorage.getItem("context") &&
479-
sessionStorage.getItem("context") !== "customer"
478+
getStoredData("context") &&
479+
getStoredData("context") !== "customer"
480480
) {
481481
if (showApproveAll) {
482482
console.log("Creating approveAllStagesButton");
@@ -534,8 +534,8 @@
534534
taskMessages.appendChild(messageItem);
535535

536536
if (
537-
sessionStorage.getItem("context") &&
538-
sessionStorage.getItem("context") !== "customer"
537+
getStoredData("context") &&
538+
getStoredData("context") !== "customer"
539539
) {
540540
if (showApproveAll) {
541541
document
@@ -560,20 +560,19 @@
560560
}
561561

562562
if (
563-
sessionStorage.getItem("context") &&
564-
sessionStorage.getItem("context") === "customer" &&
565-
!sessionStorage
566-
.getItem("actionStagesRun")
563+
getStoredData("context") &&
564+
getStoredData("context") === "customer" &&
565+
!getStoredData("actionStagesRun")
567566
.includes(task.session_id)
568567
) {
569568
actionStages(task, true);
570569

571570
let actionStagesRun = JSON.parse(
572-
sessionStorage.getItem("actionStagesRun") || "[]"
571+
getStoredData("actionStagesRun") || "[]"
573572
);
574573

575574
actionStagesRun.push(task.session_id);
576-
sessionStorage.setItem(
575+
setStoredData(
577576
"actionStagesRun",
578577
JSON.stringify(actionStagesRun)
579578
);
@@ -623,7 +622,7 @@
623622
};
624623

625624
const isHumanFeedbackPending = () => {
626-
const storedData = sessionStorage.getItem("apiTask");
625+
const storedData = getStoredData("apiTask");
627626
const planDetails = JSON.parse(storedData);
628627
return (
629628
planDetails.human_clarification_request !== null &&
@@ -770,7 +769,7 @@
770769
// Continue polling by calling fetchLoop again
771770
setTimeout(
772771
() => fetchLoop(id),
773-
Number(sessionStorage.getItem("apiRefreshRate"))
772+
Number(getStoredData("apiRefreshRate"))
774773
);
775774
} catch (error) {
776775
console.error("Error in fetchLoop:", error);

src/frontend/wwwroot/utils.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,16 @@ window.GetAuthDetails = async () => {
6868
return headers;
6969
}
7070
};
71+
72+
// window.addEventListener("beforeunload", () => {
73+
// localStorage.clear();
74+
// });
75+
76+
window.getStoredData = (key)=> {
77+
return localStorage.getItem(key)
78+
}
79+
80+
window.setStoredData = (key, value)=> {
81+
localStorage.setItem(key, value)
82+
}
83+

0 commit comments

Comments
 (0)