Commit Graph

12 Commits

Author SHA1 Message Date
andrew 3684245cda Add CSS variables for code/editor surfaces
Introduce new CSS variables (--bg-input, --bg-code, --code-text, --code-gutter) in base.css for both dark and light themes and replace hardcoded colors across components.css to use these variables. Updates touch textareas, filter inputs, diff/code previews, markdown code blocks and git output to centralize theming. Also add light-mode styles for modal backdrops, syntax token colors, and diff gutter border to improve light/dark parity and maintainability. Files changed: frontend/css/base.css, frontend/css/components.css.
2026-05-13 14:04:52 +12:00
andrew b2cdd12ce0 Enable transparent macOS window and UI tweaks
Enable macOS private API and make the app window transparent. Add tauri feature and tauri.conf settings (macOSPrivateApi + transparent) and call set_background_color in setup to use an RGBA transparent background. Adjust CSS so body is transparent, add --radius-window, and move app background to #app/.layout with border-radius and overflow hidden to preserve rounded transparent window styling.
2026-05-13 13:50:00 +12:00
andrew 7753abd896 Integrate Lucide icons and replace inline SVGs
Add Lucide icon library and switch many inline SVGs to programmatically generated Lucide icons for consistent styling and reuse. Adds frontend/vendor/lucide.min.js and includes it in index.html; adds helper functions (escapeSvgAttr, svgAttrs, lucideIcon) in app.js and replaces numerous hard-coded SVG strings with Lucide-generated icons and CSS utility classes. Update components.css with .gd-lucide-icon, color helpers for folder/file icons, and remove a global stroke-width override so icon strokeWidth can be controlled per icon. Small accessibility and UI tweaks: use aria-label/title on several buttons and swap icons in modals, menus and toolbars. Also updates package.json/package-lock.json (dependency adjustments).
2026-05-13 13:37:31 +12:00
andrew 558cd3ddd7 Updated taskbar to be OS agnostic
Updated task bar to use MacOS traffic lights on left when on MacOS and the regular buttons on the right when it is Windows or Linux
2026-05-13 13:28:11 +12:00
Andrew Zambazos 68c400f6c4 Custom icon and task bar added 2026-05-12 22:36:39 +12:00
andrew 5e10750043 Add external editor/file picker, update theme
Introduce file/application pickers and external-editor integration, plus a visual refresh. Frontend: add UI for selecting/rescanning installed IDEs, custom editor input, "Open in File Explorer" and "Open in Code Editor" actions, clone destination browse, helper utilities, new icons, and many CSS theme/UX improvements (variables, shadows, scrollbars, selection, refined component styles). State: track installedIdes and scan status. Tauri API: expose browseDirectory, browseApplication and scanInstalledIdes, and wire UI handlers to call them. Backend: add InstalledIde struct and update tauri Cargo manifest and capabilities to allow dialogs. Overall improves editor/workflow integrations and modernizes the app styling.
2026-05-10 21:26:03 +12:00
andrew ac7fc231a0 Made more like Github Desktop 2026-05-10 20:33:03 +12:00
andrew 346f8536f0 Add local repository scanning and UI
Implement local repository scanning end-to-end. Frontend: add UI (toolbar, local-scan panel, list/cards), CSS styles, icons, new state fields, and templates; convert recent repo items to buttons and wire up actions to select, view and open scanned repos. JS: add helper utilities (repoNameFromPath, normalizeRemoteUrl, serverRepoRemoteUrls), scanForLocalRepos/selectLocalRepo functions, render template for scan results, and call scanLocalRepos via tauri-api. Tauri API: expose scan_local_repos (tauri command) in tauri-api.js. Backend (Rust): add LocalRepoCandidate type and a scanner implementation that walks configurable/default roots, deduplicates paths, matches local remotes against allowed server URLs, enforces depth/result limits, and returns matched candidates; register scan_local_repos in the command list. Includes error handling and user-facing messages for missing roots or remotes.
2026-05-10 14:32:41 +12:00
andrew f0358dbdfe Add read-only repository viewer (UI + backend)
Implements a read-only repository viewer for remote Gitea repos and local clones. Adds UI/CSS for viewer panels, breadcrumb/branch controls, file table, code/Markdown preview, and readme rendering (frontend/css/components.css, frontend/js/app.js). Extends app state and wiring (state.js, app.js) with viewer actions, branch/content loading, local/remote navigation, and preview helpers (base64 decoding, markdown rendering, syntax highlighting, 256 KB preview limit). Adds Gitea API helpers to fetch repo branches and contents (frontend/js/gitea-api.js) and Tauri JS bindings for local repo operations (tauri-api.js). Implements Rust backend commands to list branches, tree entries, and file contents (with size/binary checks and helper utilities) and wires them into the Tauri command registry (src-tauri/src/lib.rs). Also updates README to mention the new read-only viewer.
2026-05-09 18:45:51 +12:00
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
andrew ce7f83734a Add repo filters, UI tabs and dev docs
Enhance UI and dev workflow: add main/right tabbed panels (Repositories/Local and Clone/Settings/Servers), repository owner filter pills (All/Personal/Organizations), org-grouped listing, repo cards, git output and empty-state styling. Introduce new state vars (activeMainTab, activeRightTab, repoOwnerFilter, currentUserLogin) and update event bindings to toggle tabs/filters and focus appropriate panels on actions. Add fetchCurrentUser to gitea-api and use it when loading repositories to distinguish personal vs organization repos (falls back to mock user on error). Update README with development/prerequisites and build instructions and rename npm script "tauri:dev" -> "dev" for running the Tauri dev process.
2026-05-09 18:12:36 +12:00
andrew 6b245c628c Initial commit: Gitpub Desktop scaffold
Add complete project scaffold for Gitpub Desktop (Tauri + Rust backend and vanilla HTML/CSS/JS frontend). Includes frontend entry (index.html), styles (base/components CSS), app logic and modules (app.js, gitea-api.js, tauri-api.js, state.js, storage.js), static assets and component READMEs, README.md, VSCode recommendations, and project config (package.json, package-lock.json). Also adds src-tauri skeleton (Cargo.toml, main.rs, lib.rs, build.rs, tauri.conf.json), application icons, and .gitignore files. Provides MVP plumbing for server setup and management, repository dashboard, local repo opening, and Git operations via Tauri invoke (clone/pull/push/status/branch).
2026-05-07 14:41:15 +12:00