From a128b0bbd52af6ac64265840633e755fed925be7 Mon Sep 17 00:00:00 2001 From: udara Date: Fri, 10 Nov 2023 21:05:38 -0500 Subject: [PATCH] Fix deleting API key --- src/main/ipc.ts | 4 ++++ src/renderer/context/AIContext.js | 5 +++++ src/renderer/pages/Pile/Settings/index.jsx | 6 ++++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/ipc.ts b/src/main/ipc.ts index 15465b2..062fc5a 100644 --- a/src/main/ipc.ts +++ b/src/main/ipc.ts @@ -20,6 +20,10 @@ ipcMain.handle('set-ai-key', async (event, secretKey) => { return await keytar.setPassword('pile', 'aikey', secretKey); }); +ipcMain.handle('delete-ai-key', async (event) => { + return await keytar.deletePassword('pile', 'aikey'); +}); + // Link preview ipcMain.handle('get-link-preview', async (event, url) => { const preview = await getLinkPreview(url) diff --git a/src/renderer/context/AIContext.js b/src/renderer/context/AIContext.js index 9270b88..9cd39cb 100644 --- a/src/renderer/context/AIContext.js +++ b/src/renderer/context/AIContext.js @@ -52,6 +52,10 @@ export const AIContextProvider = ({ children }) => { return window.electron.ipc.invoke('set-ai-key', secretKey); }; + const deleteKey = () => { + return window.electron.ipc.invoke('delete-ai-key'); + }; + const getCompletion = async (model = 'gpt-3', context) => { const response = await ai.chat.completions.create({ model: 'gpt-4', @@ -67,6 +71,7 @@ export const AIContextProvider = ({ children }) => { prompt, setKey, getKey, + deleteKey, getCompletion, }; diff --git a/src/renderer/pages/Pile/Settings/index.jsx b/src/renderer/pages/Pile/Settings/index.jsx index 10c94c5..66e1473 100644 --- a/src/renderer/pages/Pile/Settings/index.jsx +++ b/src/renderer/pages/Pile/Settings/index.jsx @@ -9,7 +9,7 @@ import { } from 'renderer/context/PilesContext'; export default function Settings() { - const { ai, prompt, getKey, setKey } = useAIContext(); + const { ai, prompt, getKey, setKey, deleteKey } = useAIContext(); const [key, setCurrentKey] = useState(''); const { currentTheme, setTheme } = usePilesContext(); @@ -27,7 +27,9 @@ export default function Settings() { }; const handleSaveChanges = () => { - if (key != '') { + if (key == '') { + deleteKey(); + } else { setKey(key); } };