19 lines
484 B
JavaScript
19 lines
484 B
JavaScript
import Cookie from 'js-cookie';
|
|
import debounce from 'lodash/debounce';
|
|
import { getSelectedTab } from 'state/tab';
|
|
import { isChannel, stringifyTab } from 'utils';
|
|
import { observe } from 'utils/observe';
|
|
|
|
const saveTab = debounce(
|
|
tab => Cookie.set('tab', stringifyTab(tab), { expires: 30 }),
|
|
1000
|
|
);
|
|
|
|
export default function storage({ store }) {
|
|
observe(store, getSelectedTab, tab => {
|
|
if (isChannel(tab) || (tab.server && !tab.name)) {
|
|
saveTab(tab);
|
|
}
|
|
});
|
|
}
|