mirror of
https://github.com/mountain-loop/yaak.git
synced 2025-12-23 22:48:55 -05:00
33 lines
980 B
TypeScript
33 lines
980 B
TypeScript
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>
|
|
),
|
|
});
|
|
}
|