64 lines
1.7 KiB
Markdown
64 lines
1.7 KiB
Markdown
# Neah Desktop Application
|
|
|
|
This is the desktop version of Neah, built with Electron and Next.js.
|
|
|
|
## Development
|
|
|
|
To run the application in development mode:
|
|
|
|
```bash
|
|
npm run electron:dev
|
|
```
|
|
|
|
This will start the Next.js development server and launch the Electron application that connects to it.
|
|
|
|
## Building
|
|
|
|
To build installers for your current platform:
|
|
|
|
```bash
|
|
npm run electron:build
|
|
```
|
|
|
|
This will create installers in the `dist` directory. The build script handles:
|
|
- Building the Next.js application in static export mode
|
|
- Code signing (placeholder for macOS)
|
|
- Building installers for your current platform
|
|
|
|
## Running from Production Build
|
|
|
|
If you have already built the Next.js app and want to run the Electron app without building installers:
|
|
|
|
```bash
|
|
npm run electron:start
|
|
```
|
|
|
|
## Platform-specific Notes
|
|
|
|
### macOS
|
|
|
|
- The app is configured with a placeholder code signing certificate
|
|
- For distribution, you will need to replace this with a real certificate from Apple
|
|
|
|
### Windows
|
|
|
|
- Windows builds are configured to use NSIS for creating installers
|
|
|
|
### Linux
|
|
|
|
- Linux builds create AppImage and Debian packages
|
|
|
|
## Configuration
|
|
|
|
The Electron configuration is in:
|
|
- `electron/main.js` - The main Electron process
|
|
- `electron/preload.js` - Preload script exposing APIs to the renderer
|
|
- `package.json` - Build configuration in the `build` section
|
|
|
|
The window controls integration is in:
|
|
- `components/electron/WindowControls.tsx`
|
|
|
|
## Known Issues
|
|
|
|
- API routes: Since this is a static export, any server-side API routes will not work in the Electron app. You'll need to modify API calls to use external services or implement them in Electron.
|
|
- Authentication: If using server-side authentication, you may need to implement a custom flow for Electron. |