From e8f7616c5630aeddd2c1a2ac57aefe40a2c64432 Mon Sep 17 00:00:00 2001 From: Ky Date: Fri, 22 Feb 2019 15:27:19 +0100 Subject: [PATCH] keep videos infos in localStorage after clear it --- .../admin/src/containers/Onboarding/index.js | 9 +++++---- .../strapi-admin/admin/src/containers/Onboarding/saga.js | 5 +++-- packages/strapi-helper-plugin/lib/src/utils/auth.js | 7 +++++++ 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/packages/strapi-admin/admin/src/containers/Onboarding/index.js b/packages/strapi-admin/admin/src/containers/Onboarding/index.js index fad1e2b750..1c5fb7ae10 100644 --- a/packages/strapi-admin/admin/src/containers/Onboarding/index.js +++ b/packages/strapi-admin/admin/src/containers/Onboarding/index.js @@ -40,7 +40,6 @@ export class Onboarding extends React.Component { componentWillUnmount() { this.props.removeVideos(); - localStorage.removeItem('videos'); } setVideoEnd = () => { @@ -84,6 +83,7 @@ export class Onboarding extends React.Component { }; updateLocalStorage = (index, current, duration) => { + // Update store this.props.updateVideoStartTime(index, current); @@ -91,10 +91,11 @@ export class Onboarding extends React.Component { let videosTime = JSON.parse(localStorage.getItem('videos')); videosTime[index].startTime = current; let percent = current * 100 / duration; + const video = videosTime.find((element) => element.order === index); if (percent >= 80) { - if (videosTime[index].end === false) { - videosTime[index].end = true; + if (video.end === false) { + video.end = true; this.props.setVideoEnd(index, true); } } @@ -107,7 +108,7 @@ export class Onboarding extends React.Component { // eslint-disable-line jsx-handler-names render() { const { videos, onClick, setVideoDuration } = this.props; - + console.log(videos); return (
0 ? styles.visible : styles.hidden)}>
diff --git a/packages/strapi-admin/admin/src/containers/Onboarding/saga.js b/packages/strapi-admin/admin/src/containers/Onboarding/saga.js index 61adbba362..f6be4d3f58 100644 --- a/packages/strapi-admin/admin/src/containers/Onboarding/saga.js +++ b/packages/strapi-admin/admin/src/containers/Onboarding/saga.js @@ -11,19 +11,19 @@ function* getVideos() { headers: { 'Content-Type': 'application/json', }, - mode: 'no-cors', }, false, true, { noAuth: true }, ); - + let currTimes = Array.apply(null, Array(videos.length)).map((e, i) => { return { startTime: 0, end: false, key: i, id: videos[i].id, + order: videos[i].order, }; }); @@ -36,6 +36,7 @@ function* getVideos() { yield put( getVideosSucceeded( + videos.map((video, index) => { video.isOpen = false; video.duration = null; diff --git a/packages/strapi-helper-plugin/lib/src/utils/auth.js b/packages/strapi-helper-plugin/lib/src/utils/auth.js index 9212f9d7bf..22b15ce7f5 100644 --- a/packages/strapi-helper-plugin/lib/src/utils/auth.js +++ b/packages/strapi-helper-plugin/lib/src/utils/auth.js @@ -21,7 +21,14 @@ const auth = { clearAppStorage() { if (localStorage) { + + const videos = auth.get('videos'); + const onboarding = auth.get('onboarding'); localStorage.clear(); + if (videos !== null) { + localStorage.setItem('videos', JSON.stringify(videos)); + } + localStorage.setItem('onboarding', onboarding); } if (sessionStorage) {