switch from sessionStorage to localStorage

This commit is contained in:
Amruth Pillai
2023-11-15 06:34:17 +01:00
parent f7a21df042
commit 8171e90a6c
4 changed files with 10 additions and 7 deletions

View File

@ -22,7 +22,7 @@ FROM base AS release
RUN apt update && apt install -y dumb-init --no-install-recommends
COPY --chown=node:node --from=build /app/.npmrc /app/package.json /app/package-lock.json ./
RUN npm ci --production && npm cache clean --force
RUN npm ci --omit=dev && npm cache clean --force
# Copy Build Output
COPY --chown=node:node --from=build /app/dist ./dist

View File

@ -19,7 +19,7 @@ export const Providers = () => {
}
};
const resumeData = window.sessionStorage.getItem("resume");
const resumeData = window.localStorage.getItem("resume");
if (resumeData) return setResume(JSON.parse(resumeData));
window.addEventListener("message", handleMessage);

View File

@ -82,7 +82,6 @@ export class PrinterService {
async generateResume(resume: ResumeDto) {
const browser = await this.getBrowser();
const page = await browser.newPage();
let url = this.utils.getUrl();
@ -112,7 +111,7 @@ export class PrinterService {
const numPages = resume.data.metadata.layout.length;
await page.evaluateOnNewDocument((data) => {
sessionStorage.setItem("resume", JSON.stringify(data));
window.localStorage.setItem("resume", JSON.stringify(data));
}, resume.data);
await page.goto(`${url}/artboard/preview`, { waitUntil: "networkidle0" });
@ -192,7 +191,6 @@ export class PrinterService {
async generatePreview(resume: ResumeDto) {
const browser = await this.getBrowser();
const page = await browser.newPage();
let url = this.utils.getUrl();
@ -220,7 +218,7 @@ export class PrinterService {
// Set the data of the resume to be printed in the browser's session storage
await page.evaluateOnNewDocument((data: string) => {
sessionStorage.setItem("resume", data);
window.localStorage.setItem("resume", data);
}, JSON.stringify(resume.data));
await page.setViewport({ width: 794, height: 1123 });

View File

@ -1,6 +1,11 @@
export const delay = (time: number) => new Promise((resolve) => setTimeout(resolve, time));
export const withTimeout = async <T>(promise: Promise<T>, time: number): Promise<T> => {
const timeout = new Promise((_, reject) => setTimeout(() => reject, time));
const timeout = new Promise((_, reject) =>
setTimeout(() => {
return reject(new Error(`Operation timed out after ${time}ms`));
}, time),
);
return Promise.race([promise, timeout]) as T;
};