diff --git a/app/src/app.tsx b/app/src/app.tsx index fd20bee8..c44049c9 100644 --- a/app/src/app.tsx +++ b/app/src/app.tsx @@ -1,32 +1,13 @@ import { useState } from 'react' import copy from 'copy-to-clipboard' -import { exec as cbExec } from 'child_process' -import * as path from 'path' -import * as fs from 'fs' import { DocumentDuplicateIcon } from '@heroicons/react/24/outline' -import { app } from '@electron/remote' +import Store from 'electron-store' +import { getCurrentWindow } from '@electron/remote' + +import { install } from './install' import OllamaIcon from './ollama.svg' -import { promisify } from 'util' -const ollama = app.isPackaged ? path.join(process.resourcesPath, 'ollama') : path.resolve(process.cwd(), '..', 'ollama') -const exec = promisify(cbExec) - -async function installCLI() { - const symlinkPath = '/usr/local/bin/ollama' - - if (fs.existsSync(symlinkPath) && fs.readlinkSync(symlinkPath) === ollama) { - return - } - - const command = `do shell script "ln -F -s ${ollama} /usr/local/bin/ollama" with administrator privileges` - - try { - await exec(`osascript -e '${command}'`) - } catch (error) { - console.error(`cli: failed to install cli: ${error.message}`) - return - } -} +const store = new Store() enum Step { WELCOME = 0, @@ -40,7 +21,7 @@ export default function () { const command = 'ollama run orca' return ( -
+
{step === Step.WELCOME && ( <>
@@ -49,9 +30,7 @@ export default function () { Let's get you up and running with your own large language models.