Compare commits

..
1 Commits
Author SHA1 Message Date
Christoph 2a0d858a8f Update version to 2026.9.9 2026-09-23 07:27:01 +02:00
4 changed files with 20 additions and 19 deletions
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "gitty", "name": "gitty",
"version": "2026.9.8", "version": "2026.9.9",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "gitty", "name": "gitty",
"version": "2026.9.8", "version": "2026.9.9",
"dependencies": { "dependencies": {
"@lucide/svelte": "^1.21.0", "@lucide/svelte": "^1.21.0",
"@tailwindcss/vite": "^4.3.1", "@tailwindcss/vite": "^4.3.1",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "gitty", "name": "gitty",
"version": "2026.9.8", "version": "2026.9.9",
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"$schema": "https://schema.tauri.app/config/2", "$schema": "https://schema.tauri.app/config/2",
"productName": "Gitty", "productName": "Gitty",
"version": "2026.9.8", "version": "2026.9.9",
"identifier": "com.gitty", "identifier": "com.gitty",
"build": { "build": {
"beforeDevCommand": "npm run prepare:lfs && npm run dev", "beforeDevCommand": "npm run prepare:lfs && npm run dev",
+16 -15
View File
@@ -49,7 +49,8 @@
export let onOpenSubmodules: () => void = () => {}; export let onOpenSubmodules: () => void = () => {};
export let onOpenLfs: () => void = () => {}; export let onOpenLfs: () => void = () => {};
let openMenu: "history" | "sync" | null = null; let historyOpen = false;
let syncOpen = false;
let toolbarElement: HTMLDivElement; let toolbarElement: HTMLDivElement;
$: isGerman = language === "de"; $: isGerman = language === "de";
@@ -64,18 +65,18 @@
: "Push"; : "Push";
function runHistoryAction(action: () => void) { function runHistoryAction(action: () => void) {
openMenu = null; historyOpen = false;
action(); action();
} }
function handleWindowClick(event: MouseEvent) { function handleWindowClick(event: MouseEvent) {
if (toolbarElement && !toolbarElement.contains(event.target as Node)) openMenu = null; if (toolbarElement && !toolbarElement.contains(event.target as Node)) { historyOpen = false; syncOpen = false; }
} }
function handleWindowKeydown(event: KeyboardEvent) { function handleWindowKeydown(event: KeyboardEvent) {
if (event.key === "Escape" && openMenu) { if (event.key === "Escape" && historyOpen) {
event.stopPropagation(); event.stopPropagation();
openMenu = null; historyOpen = false;
} }
} }
</script> </script>
@@ -143,15 +144,15 @@
{/if} {/if}
</button> </button>
<div class="repo-history-wrap"> <div class="repo-history-wrap">
<button class="repo-action" type="button" onclick={() => { openMenu = openMenu === "sync" ? null : "sync"; }} disabled={!hasRepository || isBusy} aria-label={isGerman ? "Sync-Optionen" : "Sync options"} aria-haspopup="menu" aria-expanded={openMenu === "sync"}> <button class="repo-action" type="button" onclick={() => { syncOpen = !syncOpen; historyOpen = false; }} disabled={!hasRepository || isBusy} aria-label={isGerman ? "Sync-Optionen" : "Sync options"} aria-haspopup="menu">
<ChevronDown size={14} aria-hidden="true" /> <ChevronDown size={14} aria-hidden="true" />
</button> </button>
{#if openMenu === "sync"} {#if syncOpen}
<div class="repo-history-menu" role="menu"> <div class="repo-history-menu" role="menu">
<button type="button" role="menuitem" onclick={() => { openMenu = null; onFetchPrune(); }}><CloudDownload size={15} /><span><strong>Fetch + Prune</strong><small>{isGerman ? "Veraltete Remote-Branches entfernen" : "Remove stale remote branches"}</small></span></button> <button type="button" role="menuitem" onclick={() => { syncOpen = false; onFetchPrune(); }}><CloudDownload size={15} /><span><strong>Fetch + Prune</strong><small>{isGerman ? "Veraltete Remote-Branches entfernen" : "Remove stale remote branches"}</small></span></button>
<button type="button" role="menuitem" onclick={() => { openMenu = null; onForcePush(); }}><Upload size={15} /><span><strong>Force with lease</strong><small>{isGerman ? "Sicheres Pushen nach Rebase" : "Safe push after rebase"}</small></span></button> <button type="button" role="menuitem" onclick={() => { syncOpen = false; onForcePush(); }}><Upload size={15} /><span><strong>Force with lease</strong><small>{isGerman ? "Sicheres Pushen nach Rebase" : "Safe push after rebase"}</small></span></button>
<button type="button" role="menuitem" onclick={() => { openMenu = null; onSyncOptions(); }}><Settings2 size={15} /><span><strong>{isGerman ? "Remotes & Strategien" : "Remotes & strategies"}</strong><small>{isGerman ? "Upstream, Pull und Remote verwalten" : "Manage upstream, pull and remotes"}</small></span></button> <button type="button" role="menuitem" onclick={() => { syncOpen = false; onSyncOptions(); }}><Settings2 size={15} /><span><strong>{isGerman ? "Remotes & Strategien" : "Remotes & strategies"}</strong><small>{isGerman ? "Upstream, Pull und Remote verwalten" : "Manage upstream, pull and remotes"}</small></span></button>
<button type="button" role="menuitem" onclick={() => { openMenu = null; onOpenLfs(); }}><Box size={15} /><span><strong>Git LFS</strong><small>{isGerman ? "Große Dateien und LFS-Installation verwalten" : "Manage large files and LFS installation"}</small></span></button> <button type="button" role="menuitem" onclick={() => { syncOpen = false; onOpenLfs(); }}><Box size={15} /><span><strong>Git LFS</strong><small>{isGerman ? "Große Dateien und LFS-Installation verwalten" : "Manage large files and LFS installation"}</small></span></button>
</div> </div>
{/if} {/if}
</div> </div>
@@ -186,12 +187,12 @@
<div class="repo-history-wrap"> <div class="repo-history-wrap">
<button <button
class="repo-action history-trigger" class="repo-action history-trigger"
class:active={openMenu === "history"} class:active={historyOpen}
type="button" type="button"
onclick={() => { openMenu = openMenu === "history" ? null : "history"; }} onclick={() => { historyOpen = !historyOpen; }}
disabled={!hasRepository || isBusy} disabled={!hasRepository || isBusy}
aria-haspopup="menu" aria-haspopup="menu"
aria-expanded={openMenu === "history"} aria-expanded={historyOpen}
title={isGerman ? "Verlauf und Rebase" : "History and rebase"} title={isGerman ? "Verlauf und Rebase" : "History and rebase"}
> >
<History size={15} aria-hidden="true" /> <History size={15} aria-hidden="true" />
@@ -199,7 +200,7 @@
<ChevronDown class="history-chevron" size={13} aria-hidden="true" /> <ChevronDown class="history-chevron" size={13} aria-hidden="true" />
</button> </button>
{#if openMenu === "history"} {#if historyOpen}
<div class="repo-history-menu" role="menu"> <div class="repo-history-menu" role="menu">
<button type="button" role="menuitem" onclick={() => runHistoryAction(onReflog)}> <button type="button" role="menuitem" onclick={() => runHistoryAction(onReflog)}>
<History size={15} aria-hidden="true" /> <History size={15} aria-hidden="true" />