mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-24 18:31:16 +01:00
[WIP] Encryption for secure values (#183)
This commit is contained in:
32
src-web/lib/setupOrConfigureEncryption.tsx
Normal file
32
src-web/lib/setupOrConfigureEncryption.tsx
Normal file
@@ -0,0 +1,32 @@
|
||||
import { VStack } from '../components/core/Stacks';
|
||||
import { WorkspaceEncryptionSetting } from '../components/WorkspaceEncryptionSetting';
|
||||
import { activeWorkspaceMetaAtom } from '../hooks/useActiveWorkspace';
|
||||
import { showDialog } from './dialog';
|
||||
import { jotaiStore } from './jotai';
|
||||
|
||||
export function setupOrConfigureEncryption() {
|
||||
setupOrConfigure();
|
||||
}
|
||||
|
||||
export function withEncryptionEnabled(callback?: () => void) {
|
||||
const workspaceMeta = jotaiStore.get(activeWorkspaceMetaAtom);
|
||||
if (workspaceMeta?.encryptionKey != null) {
|
||||
callback?.(); // Already set up
|
||||
return;
|
||||
}
|
||||
|
||||
setupOrConfigure(callback);
|
||||
}
|
||||
|
||||
function setupOrConfigure(onEnable?: () => void) {
|
||||
showDialog({
|
||||
id: 'workspace-encryption',
|
||||
title: 'Workspace Encryption',
|
||||
size: 'md',
|
||||
render: ({ hide }) => (
|
||||
<VStack space={3} className="pb-2" alignItems="end">
|
||||
<WorkspaceEncryptionSetting expanded onDone={hide} onEnabledEncryption={onEnable} />
|
||||
</VStack>
|
||||
),
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user