This is an Electron application built with React and TypeScript. It allows users to customize the UI by selecting themes, background colors, CSS animations, and video or image backgrounds. The user's preferences are persistent and saved between sessions using Electron's IPC and context management.
Background Customization:
Theme Customization:
Persistence:
Electron IPC:
src/
: Main source folder containing the Electron app.
components/
: Contains all React components such as Menu
, BackgroundSelector
, ThemePicker
.hooks/
: Contains custom React hooks including useAppContext
for managing global state.data/
: Contains predefined background themes and options.assets/
: Media assets (images, videos) that are used in the project.main.ts
: Main process code that manages the Electron lifecycle and window creation.
preload.ts
: Preloads the IPC bridge for secure communication between Electron's renderer and main process.
Ensure you have the following installed:
Clone the repository:
git clone <repository-url>
cd <project-directory>
Install dependencies:
npm install
Start the development environment:
npm run dev
This command starts both the Electron and React development servers.
To build the application for production:
npm run build
npm run electron:build
npm run dev
: Start the application in development mode with hot-reload.npm run build
: Build the React application for production.npm run electron:build
: Build the Electron application for production.npm run lint
: Lint the project using ESLint.Upon launching the application, you can:
All changes are saved automatically, and the app will remember your settings the next time you open it.