This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
This app is packaged with Electron and supports auto-updates via GitHub Releases using electron-updater.
How it works:
- On packaged builds, the main process calls
checkForUpdatesAndNotify()shortly after startup. - If an update is available, it is auto-downloaded and installed on app quit (default behavior). You can also prompt the user to restart now via the exposed API.
- The update feed is configured from
package.json > build.publishpointing to GitHub:svetaforuz/store-dashboard.
Renderer API (window.electronAPI):
- Events:
onChecking,onAvailable,onNotAvailable,onError,onProgress,onDownloaded— each returns an unsubscribe function. - Actions:
checkNow(),download(),quitAndInstall()— all return{ ok: boolean; error?: string }.
There is a demo page at /[locale]/update-status-demo that shows the basic updater UI.
Local development:
- In dev, automatic update checks are skipped. You can still call
checkNow()but it may return an error because the app is not packaged. - Run the desktop shell in dev:
npm run dev:electronBuild desktop app:
# Build Next.js and package Electron binaries
npm run build:electronPublish a release to GitHub (creates a draft release with assets):
# Requires a GitHub personal access token with repo permissions
export GH_TOKEN=YOUR_GITHUB_TOKEN
# Optional: disable macOS code signing in CI/local if you don't have a cert
export CSC_IDENTITY_AUTO=false
npm run publish:electronNotes:
- For private repositories,
GH_TOKENis required even for update checks. For public repositories, clients can usually check and download without a token. - On macOS, auto-updates typically require a signed app. For testing without signing, downloading may work but installation may be restricted by Gatekeeper.
- The publish config lives in
package.json > build.publish. Adjustowner,repo, and addreleaseType/prereleaseif needed.