12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- 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);
- }
- }
|