openNewTab refactor

This commit is contained in:
Jan Prochazka
2020-12-12 09:07:14 +01:00
parent f7bab744e6
commit 0857757ce2
15 changed files with 83 additions and 80 deletions

View File

@@ -0,0 +1,28 @@
import uuidv1 from 'uuid/v1';
import React from 'react';
import localforage from 'localforage';
import { useSetOpenedTabs } from './globalState';
export default function useOpenNewTab() {
const setOpenedTabs = useSetOpenedTabs();
const openNewTab = React.useCallback(
async (newTab, initialData = undefined) => {
const tabid = uuidv1();
if (initialData) {
await localforage.setItem(`tabdata_${tabid}`, initialData);
}
setOpenedTabs((files) => [
...(files || []).map((x) => ({ ...x, selected: false })),
{
tabid,
selected: true,
...newTab,
},
]);
},
[setOpenedTabs]
);
return openNewTab;
}