feat: add core functionality for emulator management and game library

- Implement IPC handlers for system info, emulator management, ROM scanning, and settings.
- Create platform utilities to retrieve system information.
- Develop preload script to expose API to renderer process.
- Establish settings management with file read/write capabilities.
- Build main application layout with React, including sidebar navigation and multiple pages (Dashboard, Emulators, Library, Settings).
- Design and implement styles for a cohesive user interface.
- Add type definitions for shared data structures between main and renderer processes.
- Configure TypeScript and Vite for building the application.
This commit is contained in:
2026-07-08 15:59:59 -05:00
parent 14f0114c90
commit 27a5394510
28 changed files with 2243 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
#!/usr/bin/env bash
set -euo pipefail
# Build OmniEmu for macOS
# Usage: ./scripts/build-mac.sh [arch]
# arch: x64 | arm64 (default: current arch)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
cd "$PROJECT_DIR"
ARCH="${1:-$(uname -m)}"
case "$ARCH" in
x86_64) ARCH_FLAG="x64" ;;
arm64) ARCH_FLAG="arm64" ;;
*) echo "Unknown arch: $ARCH"; exit 1 ;;
esac
echo "==> Installing dependencies..."
npm install
echo "==> Building for macOS ($ARCH_FLAG)..."
npm run build
echo "==> Packaging for macOS ($ARCH_FLAG)..."
npx electron-builder --mac --arm64="$([ "$ARCH_FLAG" = "arm64" ] && echo true || echo false)" --x64="$([ "$ARCH_FLAG" = "x64" ] && echo true || echo false)"
echo "==> Done! Artifacts in ./release/"