17c0174e7d49b010319182d59d6db46bee5908d0
Add a new white SVG logo asset and wire it into the welcome and sidebar views; overhaul theme and component styles for a cleaner, modern dark theme. Changes include: - Added frontend/assets/logos/Gitpub-Word-Logo-2-White.svg and referenced it in frontend/js/app.js (welcome and sidebar). - Updated CSS variables and base styles in frontend/css/base.css: adjusted colors, radii, shadow, typography, input focus, button spacing and variants (primary, primary-blue, danger), and transitions. - Refined component styles in frontend/css/components.css: updated panel/sidebar backgrounds, paddings, repo-card sizing and hover, tab and pill behaviors, spacing, logo/sidebar-brand classes, git output font stack, and various UI polish tweaks (font sizes, weights, paddings, and responsive adjustments). These changes standardize the dark theme, introduce visual improvements and spacing refinements, and add branding to the UI.
Gitpub Desktop
Gitpub Desktop is a lightweight, cross-platform Git client built with Tauri, Rust, and plain HTML/CSS/JavaScript. It connects to any compatible self-hosted Gitea instance (including Gitpub) without hardcoding a single backend.
Stack
- Tauri + Rust backend commands
- Vanilla HTML/CSS/JS frontend (no framework)
- System-installed Git for repository operations
- Gitea REST API for server-side repository listing and account context
Project Structure
src-tauri/Rust backend and Tauri application setupfrontend/vanilla frontend shellfrontend/assets/static assetsfrontend/css/UI stylesfrontend/js/application modulesfrontend/components/shared component/template area
MVP Included
- First-launch setup flow for adding first Gitea server
- Multi-server backend management (add/edit/remove/switch/default)
- Dynamic API base URL generation (
<server>/api/v1) - Connection testing against Gitea API
- Repository dashboard with search and mock cards fallback
- Local repository open + recent repositories
- Rust Git commands: clone, pull, push, status, branch
- Settings for git path, clone directory, and theme placeholder
Development
Prerequisites
- Node.js (npm comes with it)
- Rust via
rustup(required for the Tauri backend) - Platform-specific Tauri dependencies (WebView2 on Windows, Xcode tools on macOS, etc.) — see the Tauri prerequisites for your OS
- Git installed and available on your
PATH(the app shells out togitfor clone, pull, push, and related commands)
Start the app in dev mode
From the repository root:
npm install
npm run dev
This runs the Tauri dev process, which loads the static frontend from frontend/ and hot-reloads the Rust side when you change src-tauri/. Edit HTML/CSS/JS under frontend/ and refresh the window (or rely on your usual workflow) as needed.
Production build
npm install
npm run tauri:build
Installers and bundles are emitted under src-tauri/target/release/bundle/ (exact paths depend on the target platform).
Useful commands
| Command | Purpose |
|---|---|
npm run dev |
Desktop app in development mode |
npm run tauri:build |
Release build and platform bundles |
npm run tauri -- <args> |
Forward arguments to the Tauri CLI (e.g. npm run tauri -- info) |
Notes
- There is no separate Vite/webpack dev server; the UI is plain static files under
frontend/. - Point the app at a running Gitea-compatible instance during setup; API calls use
<your-server>/api/v1.
Description
Languages
JavaScript
53.1%
Rust
26.3%
CSS
19.9%
HTML
0.7%