cleanup
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
import React, { useEffect, useCallback } from 'react';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import SettingsModal from '../settings/SettingsModal';
|
||||
import { useAppShell } from '../appShellContext';
|
||||
|
||||
const SettingsRoute = () => {
|
||||
const navigate = useNavigate();
|
||||
const {
|
||||
webdavTokens,
|
||||
webdavTokensLoading,
|
||||
creatingWebdavToken,
|
||||
deletingWebdavTokenId,
|
||||
refreshWebdavTokens,
|
||||
createWebdavToken,
|
||||
deleteWebdavToken,
|
||||
webdavTokenSecret,
|
||||
dismissCreatedWebdavToken,
|
||||
passkeys,
|
||||
passkeysSupported,
|
||||
passkeysLoading,
|
||||
registeringPasskey,
|
||||
revokingPasskeyId,
|
||||
refreshPasskeys,
|
||||
registerPasskey,
|
||||
revokePasskey,
|
||||
} = useAppShell();
|
||||
|
||||
useEffect(() => {
|
||||
refreshWebdavTokens();
|
||||
refreshPasskeys();
|
||||
}, [refreshWebdavTokens, refreshPasskeys]);
|
||||
|
||||
const handleClose = useCallback(() => {
|
||||
dismissCreatedWebdavToken();
|
||||
navigate(-1);
|
||||
}, [dismissCreatedWebdavToken, navigate]);
|
||||
|
||||
useEffect(() => {
|
||||
const handleKeyDown = (event) => {
|
||||
if (event.key === 'Escape') {
|
||||
event.preventDefault();
|
||||
handleClose();
|
||||
}
|
||||
};
|
||||
window.addEventListener('keydown', handleKeyDown);
|
||||
return () => window.removeEventListener('keydown', handleKeyDown);
|
||||
}, [handleClose]);
|
||||
|
||||
useEffect(() => () => {
|
||||
dismissCreatedWebdavToken();
|
||||
}, [dismissCreatedWebdavToken]);
|
||||
|
||||
return (
|
||||
<SettingsModal
|
||||
open
|
||||
onClose={handleClose}
|
||||
tokens={webdavTokens}
|
||||
loading={webdavTokensLoading}
|
||||
creating={creatingWebdavToken}
|
||||
deletingId={deletingWebdavTokenId}
|
||||
onRefresh={refreshWebdavTokens}
|
||||
onCreate={createWebdavToken}
|
||||
onDelete={deleteWebdavToken}
|
||||
createdToken={webdavTokenSecret}
|
||||
onDismissCreatedToken={dismissCreatedWebdavToken}
|
||||
passkeys={passkeys}
|
||||
passkeysSupported={passkeysSupported}
|
||||
passkeysLoading={passkeysLoading}
|
||||
registeringPasskey={registeringPasskey}
|
||||
revokingPasskeyId={revokingPasskeyId}
|
||||
onRefreshPasskeys={refreshPasskeys}
|
||||
onRegisterPasskey={registerPasskey}
|
||||
onRevokePasskey={revokePasskey}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default SettingsRoute;
|
||||
Reference in New Issue
Block a user