|
@@ -0,0 +1,70 @@
|
|
|
+export default async function restoreOldSettings(settings, bookManager, commit) {
|
|
|
+ const oldSets = localStorage['colorSetting'];
|
|
|
+ let isOld = false;
|
|
|
+ for (let i = 0; i < localStorage.length; i++) {
|
|
|
+ let key = unescape(localStorage.key(i));
|
|
|
+ if (key.indexOf('bpr-book-') == 0)
|
|
|
+ isOld = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isOld || oldSets) {
|
|
|
+ let newSettings = null;
|
|
|
+ if (oldSets) {
|
|
|
+ const [textColor, backgroundColor, lineStep, , , statusBarHeight, scInt] = unescape(oldSets).split('|');
|
|
|
+
|
|
|
+ const fontSize = Math.round(lineStep*0.8);
|
|
|
+ const scrollingDelay = fontSize*scInt;
|
|
|
+
|
|
|
+ newSettings = Object.assign({}, settings, {
|
|
|
+ textColor,
|
|
|
+ backgroundColor,
|
|
|
+ fontSize,
|
|
|
+ statusBarHeight: statusBarHeight*1,
|
|
|
+ scrollingDelay,
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ for (let i = 0; i < localStorage.length; i++) {
|
|
|
+ let key = localStorage.key(i);
|
|
|
+ if (key.indexOf('bpr-') == 0) {
|
|
|
+ let v = unescape(localStorage[key]);
|
|
|
+ key = unescape(key);
|
|
|
+
|
|
|
+ if (key.lastIndexOf('=timestamp') == key.length - 10) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (key.indexOf('bpr-book-') == 0) {
|
|
|
+ const url = key.substr(9);
|
|
|
+ const [scrollTop, scrollHeight, ] = v.split('|');
|
|
|
+
|
|
|
+ const bookPosPercent = scrollTop*1/(scrollHeight*1 + 1);
|
|
|
+ const title = unescape(localStorage[`bpr-title-${escape(url)}`]);
|
|
|
+ const author = unescape(localStorage[`bpr-author-${escape(url)}`]);
|
|
|
+ const time = unescape(localStorage[`bpr-book-${escape(url)}=timestamp`]).split(';')[0];
|
|
|
+ const touchTime = Date.parse(time);
|
|
|
+
|
|
|
+ const bookKey = bookManager.keyFromUrl(url);
|
|
|
+ const recent = await bookManager.getRecentBook({key: bookKey});
|
|
|
+
|
|
|
+ if (!recent) {
|
|
|
+ await bookManager.setRecentBook({
|
|
|
+ key: bookKey,
|
|
|
+ touchTime,
|
|
|
+ bookPosPercent,
|
|
|
+ url,
|
|
|
+ fb2: {
|
|
|
+ bookTitle: title,
|
|
|
+ lastName: author,
|
|
|
+ }
|
|
|
+ }, true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ localStorage.clear();
|
|
|
+ if (oldSets)
|
|
|
+ commit('reader/setSettings', newSettings);
|
|
|
+ }
|
|
|
+}
|