2017-05-21 09:53:47 +02:00
|
|
|
import Cookie from 'js-cookie';
|
2017-05-19 08:36:13 +02:00
|
|
|
import debounce from 'lodash/debounce';
|
2017-06-21 08:40:28 +02:00
|
|
|
import { getSelectedTab } from 'state/tab';
|
2020-05-06 04:19:55 +02:00
|
|
|
import { stringifyTab } from 'utils';
|
2018-04-05 21:13:32 +02:00
|
|
|
import { observe } from 'utils/observe';
|
2017-05-19 08:36:13 +02:00
|
|
|
|
2018-03-25 01:34:41 +01:00
|
|
|
const saveTab = debounce(
|
2018-04-25 05:36:27 +02:00
|
|
|
tab => Cookie.set('tab', stringifyTab(tab), { expires: 30 }),
|
2018-03-25 01:34:41 +01:00
|
|
|
1000
|
|
|
|
);
|
2017-05-19 08:36:13 +02:00
|
|
|
|
|
|
|
export default function storage({ store }) {
|
|
|
|
observe(store, getSelectedTab, tab => {
|
2020-05-06 04:19:55 +02:00
|
|
|
if (tab.server) {
|
2017-05-19 08:36:13 +02:00
|
|
|
saveTab(tab);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|