diff --git a/packages/desktop/.env.development b/packages/desktop/.env.development
deleted file mode 100644
index 78a9e06..0000000
--- a/packages/desktop/.env.development
+++ /dev/null
@@ -1,3 +0,0 @@
-REACT_APP_GOOGLE_OAUTH_CLIENT_ID=423533244953-banligobgbof8hg89i6cr1l7u0p7c2pk.apps.googleusercontent.com
-REACT_APP_GOOGLE_OAUTH_SECRET=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
-REACT_APP_API_DOMAIN=http://localhost:5000/api
\ No newline at end of file
diff --git a/packages/desktop/.gitignore b/packages/desktop/.gitignore
deleted file mode 100644
index 4d29575..0000000
--- a/packages/desktop/.gitignore
+++ /dev/null
@@ -1,23 +0,0 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-
-# testing
-/coverage
-
-# production
-/build
-
-# misc
-.DS_Store
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
diff --git a/packages/desktop/README.md b/packages/desktop/README.md
deleted file mode 100644
index b87cb00..0000000
--- a/packages/desktop/README.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# Getting Started with Create React App
-
-This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
-
-## Available Scripts
-
-In the project directory, you can run:
-
-### `npm start`
-
-Runs the app in the development mode.\
-Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
-
-The page will reload if you make edits.\
-You will also see any lint errors in the console.
-
-### `npm test`
-
-Launches the test runner in the interactive watch mode.\
-See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
-
-### `npm run build`
-
-Builds the app for production to the `build` folder.\
-It correctly bundles React in production mode and optimizes the build for the best performance.
-
-The build is minified and the filenames include the hashes.\
-Your app is ready to be deployed!
-
-See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
-
-### `npm run eject`
-
-**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
-
-If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
-
-Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
-
-You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
-
-## Learn More
-
-You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
-
-To learn React, check out the [React documentation](https://reactjs.org/).
diff --git a/packages/desktop/electron/electron.js b/packages/desktop/electron/electron.js
deleted file mode 100644
index 09aa913..0000000
--- a/packages/desktop/electron/electron.js
+++ /dev/null
@@ -1,105 +0,0 @@
-const ElectronGoogleOAuth2 =
- require("@getstation/electron-google-oauth2").default;
-
-const path = require("path");
-
-const { app, BrowserWindow, session, ipcMain } = require("electron");
-const isDev = require("electron-is-dev");
-
-const Store = require("electron-store");
-const store = new Store();
-
-const { channels } = require("../src/shared/constants");
-
-// Keep a global reference of the window object, if you don't, the window will
-// be closed automatically when the JavaScript object is garbage collected.
-let win;
-
-const myApiOauth = new ElectronGoogleOAuth2(
- "423533244953-banligobgbof8hg89i6cr1l7u0p7c2pk.apps.googleusercontent.com",
- "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",
- [""],
- { successRedirectURL: "https://usenirvana.com" }
-);
-
-function createWindow() {
- // Create the browser window.
- win = new BrowserWindow({
- title: "Nirvana",
- width: 600,
- height: 800,
- webPreferences: {
- nodeIntegration: false, // is default value after Electron v5
- contextIsolation: true, // protect against prototype pollution
- enableRemoteModule: false, // turn off remote
- preload: path.join(__dirname, "preload.js"), // use a preload script
- },
- });
-
- // and load the index.html of the app.
- // win.loadFile("index.html");
- win.loadURL(
- isDev
- ? "http://localhost:3000"
- : `file://${path.join(__dirname, "../build/index.html")}`
- );
- // Open the DevTools.
- if (isDev) {
- win.webContents.openDevTools({ mode: "detach" });
- }
-
- // End of the file
- ipcMain.on(channels.ACTIVATE_LOG_IN, async (event, arg) => {
- await handleLogin();
- });
-}
-
-// This method will be called when Electron has finished
-// initialization and is ready to create browser windows.
-// Some APIs can only be used after this event occurs.
-app
- .whenReady()
- .then(createWindow)
- .then(async () => {
- console.log(process.env);
- await handleLogin();
- });
-
-// Quit when all windows are closed, except on macOS. There, it's common
-// for applications and their menu bar to stay active until the user quits
-// explicitly with Cmd + Q.
-app.on("window-all-closed", () => {
- if (process.platform !== "darwin") {
- app.quit();
- }
-});
-
-app.on("activate", () => {
- if (BrowserWindow.getAllWindows().length === 0) {
- createWindow();
- }
-});
-
-async function handleLogin() {
- // read saved refresh token if any
- // todo: fix this...should be working
- const refreshToken = await store.get("tokens");
-
- // todo: remove this when I have way of getting access token from a refresh token
- if (refreshToken && false) {
- console.log("have a refresh token from user auth previously", refreshToken);
- myApiOauth.setTokens({ refresh_token: refreshToken });
-
- // send token to client
- win.webContents.send(channels.AUTH_TOKEN, refreshToken);
- } else {
- const token = await myApiOauth.openAuthWindowAndGetTokens();
-
- // store the refresh token in cookies for app reopen
- store.set("tokens", token);
-
- // todo: send the access token to the renderer
- // send token to client
- win.webContents.send(channels.AUTH_TOKENS, token);
- }
-}
diff --git a/packages/desktop/electron/global.d.ts b/packages/desktop/electron/global.d.ts
deleted file mode 100644
index 4c7a134..0000000
--- a/packages/desktop/electron/global.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { API } from "./preload";
-export {};
-declare global {
- interface Window {
- API: typeof API;
- }
-}
diff --git a/packages/desktop/electron/preload.js b/packages/desktop/electron/preload.js
deleted file mode 100644
index bcea0bf..0000000
--- a/packages/desktop/electron/preload.js
+++ /dev/null
@@ -1,25 +0,0 @@
-const { contextBridge, ipcRenderer } = require("electron");
-const { channels } = require("../src/shared/constants");
-
-const API = {
- send: (channel, data) => {
- // whitelist channels
- // let validChannels = ["toMain"];
- // if (validChannels.includes(channel)) {
- // ipcRenderer.send(channel, data);
- // }
-
- ipcRenderer.send(channel, data);
- },
- receive: (channel, func) => {
- // let validChannels = ["fromMain"];
- // if (validChannels.includes(channel)) {
- // // Deliberately strip event as it includes `sender`
- // ipcRenderer.on(channel, (event, ...args) => func(...args));
- // }
-
- ipcRenderer.on(channel, (event, ...args) => func(...args));
- },
-};
-
-contextBridge.exposeInMainWorld("API", API);
diff --git a/packages/desktop/package.json b/packages/desktop/package.json
deleted file mode 100644
index 8f9f02f..0000000
--- a/packages/desktop/package.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "name": "desktop",
- "version": "0.1.0",
- "private": true,
- "dependencies": {
- "@emotion/react": "^11.8.2",
- "@emotion/styled": "^11.8.1",
- "@getstation/electron-google-oauth2": "^2.1.0",
- "@mui/icons-material": "^5.5.0",
- "@mui/material": "^5.5.0",
- "@nirvana/core": "*",
- "@testing-library/jest-dom": "^5.16.2",
- "@testing-library/react": "^12.1.4",
- "@testing-library/user-event": "^13.5.0",
- "@types/jest": "^27.4.1",
- "@types/node": "^16.11.26",
- "@types/react": "^17.0.40",
- "@types/react-dom": "^17.0.13",
- "axios": "^0.26.1",
- "electron-store": "^8.0.1",
- "react": "^17.0.2",
- "react-dom": "^17.0.2",
- "react-query": "^3.34.16",
- "react-router-dom": "6",
- "react-scripts": "5.0.0",
- "typescript": "^4.6.2",
- "web-vitals": "^2.1.4"
- },
- "main": "electron/electron.js",
- "scripts": {
- "start": "react-scripts start",
- "build": "react-scripts build",
- "test": "react-scripts test",
- "eject": "react-scripts eject",
- "dev": "concurrently -k \"BROWSER=none yarn start\" \"yarn electron\"",
- "electron": "wait-on tcp:3000 && electron ."
- },
- "eslintConfig": {
- "extends": [
- "react-app",
- "react-app/jest"
- ]
- },
- "browserslist": {
- "production": [
- ">0.2%",
- "not dead",
- "not op_mini all"
- ],
- "development": [
- "last 1 chrome version",
- "last 1 firefox version",
- "last 1 safari version"
- ]
- },
- "devDependencies": {
- "autoprefixer": "^10.4.2",
- "concurrently": "^7.0.0",
- "electron": "^17.1.2",
- "electron-is-dev": "^2.0.0",
- "postcss": "^8.4.8",
- "tailwindcss": "^3.0.23",
- "wait-on": "^6.0.1"
- }
-}
diff --git a/packages/desktop/postcss.config.js b/packages/desktop/postcss.config.js
deleted file mode 100644
index 33ad091..0000000
--- a/packages/desktop/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-}
diff --git a/packages/desktop/public/index.html b/packages/desktop/public/index.html
deleted file mode 100644
index 3d3d049..0000000
--- a/packages/desktop/public/index.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-