andrew 17c0174e7d Add white logo and revamp UI styles
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.
2026-05-09 18:23:41 +12:00

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 setup
  • frontend/ vanilla frontend shell
  • frontend/assets/ static assets
  • frontend/css/ UI styles
  • frontend/js/ application modules
  • frontend/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 to git for 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.
S
Description
No description provided
Readme 1.8 MiB
Languages
JavaScript 53.1%
Rust 26.3%
CSS 19.9%
HTML 0.7%