mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-14 14:21:17 +01:00
Add .oxfmtignore to skip generated bindings and wasm-pack output. Add npm format script, update DEVELOPMENT.md for Vite+ toolchain, and format all non-generated files with oxfmt. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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>
|
|
),
|
|
});
|
|
}
|