fix: user has to login every time chrome sidepanel is opened (#5544)
We can pass the auth tokens to our front app via post message, which will also allow us to pass route names to navigate on it
This commit is contained in:
42
packages/twenty-chrome-extension/src/options/App.tsx
Normal file
42
packages/twenty-chrome-extension/src/options/App.tsx
Normal file
@ -0,0 +1,42 @@
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
import Settings from '~/options/Settings';
|
||||
import Sidepanel from '~/options/Sidepanel';
|
||||
import { isDefined } from '~/utils/isDefined';
|
||||
|
||||
const App = () => {
|
||||
const [currentScreen, setCurrentScreen] = useState('');
|
||||
|
||||
useEffect(() => {
|
||||
const setCurrentScreenState = async () => {
|
||||
const store = await chrome.storage.local.get(['navigateSidepanel']);
|
||||
if (isDefined(store.navigateSidepanel)) {
|
||||
setCurrentScreen(store.navigateSidepanel);
|
||||
}
|
||||
};
|
||||
|
||||
setCurrentScreenState();
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
chrome.storage.local.onChanged.addListener((updatedStore) => {
|
||||
if (
|
||||
isDefined(updatedStore.navigateSidepanel) &&
|
||||
isDefined(updatedStore.navigateSidepanel.newValue)
|
||||
) {
|
||||
setCurrentScreen(updatedStore.navigateSidepanel.newValue);
|
||||
}
|
||||
});
|
||||
}, [setCurrentScreen]);
|
||||
|
||||
switch (currentScreen) {
|
||||
case 'sidepanel':
|
||||
return <Sidepanel />;
|
||||
case 'settings':
|
||||
return <Settings />;
|
||||
default:
|
||||
return <Settings />;
|
||||
}
|
||||
};
|
||||
|
||||
export default App;
|
||||
Reference in New Issue
Block a user