From 0bb4d8957072bde16965c2e1114bc89e9f6daa6d Mon Sep 17 00:00:00 2001 From: sethburkart123 Date: Wed, 13 Nov 2024 09:30:36 +1100 Subject: [PATCH] feat: add selected background to background migration --- src/seqta/utils/migrateBackgrounds.ts | 7 +++++-- src/seqta/utils/migration/migration-iframe.ts | 8 +++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/seqta/utils/migrateBackgrounds.ts b/src/seqta/utils/migrateBackgrounds.ts index 0c796125..fead1482 100644 --- a/src/seqta/utils/migrateBackgrounds.ts +++ b/src/seqta/utils/migrateBackgrounds.ts @@ -1,6 +1,5 @@ import browser from 'webextension-polyfill'; import base64ToBlob from './base64ToBlob'; -import { delay } from './delay'; import { openDatabase, writeData } from '@/interface/hooks/BackgroundDataLoader'; import { backgroundUpdates } from '@/interface/hooks/BackgroundUpdates'; @@ -43,7 +42,7 @@ export const migrateBackgrounds = async (): Promise => { case 'BACKGROUND_DATA': try { - const { id, data, mediaType, total, processed } = event.data.payload; + const { id, data, mediaType, total, processed, isSelected } = event.data.payload; const mimeType = mediaType === 'image' ? 'image/png' : 'video/mp4'; const blob = base64ToBlob(data, mimeType); @@ -53,6 +52,10 @@ export const migrateBackgrounds = async (): Promise => { type: mediaType }); + if (isSelected) { + localStorage.setItem('selectedBackground', id); + } + migrationState.lastProcessedId = id; migrationState.total = total; migrationState.processed = processed; diff --git a/src/seqta/utils/migration/migration-iframe.ts b/src/seqta/utils/migration/migration-iframe.ts index 45bfe98c..bd42f4d9 100644 --- a/src/seqta/utils/migration/migration-iframe.ts +++ b/src/seqta/utils/migration/migration-iframe.ts @@ -37,10 +37,15 @@ const getAllBackgrounds = async (): Promise => { }); }; +const getSelectedBackground = (): string | null => { + return localStorage.getItem('selectedBackground'); +}; + const startMigration = async () => { try { console.info('Starting background extraction...'); const backgrounds = await getAllBackgrounds(); + const selectedBackground = getSelectedBackground(); console.info(`Found ${backgrounds.length} backgrounds`); window.parent.postMessage({ type: 'GET_LAST_PROCESSED_ID' }, '*'); @@ -72,7 +77,8 @@ const startMigration = async () => { data: base64Data, mediaType: background.type, total: backgrounds.length, - processed: i + 1 + processed: i + 1, + isSelected: background.id === selectedBackground } }, '*');