Fix button spacing, opacity simplification, gitignore cleanup

This commit is contained in:
Meleki committed 2026-03-03 15:53:59 +01:00
1 parent 36fd5a6b6e
commit cdd3414771
10 files changed
+135 -21

No files matched your search

+7 -7
View File
@@ -1,7 +1,7 @@
/bin/ bin/
/data/ data/
/obj/ obj/
/publish/ publish/
/Temp/ Temp/
/appsettings.Production.json appsettings.Production.json
/DEVY.md DEVY.md
+1
View File
@@ -21,6 +21,7 @@
- [x] Wenn gerade gestreamt wird und man refreshed die Seite, dann verliert das Frontend den Status "Streaming..." und ich kann eine Nachricht schreiben, obwohl das nicht möglich sein sollte - [x] Wenn gerade gestreamt wird und man refreshed die Seite, dann verliert das Frontend den Status "Streaming..." und ich kann eine Nachricht schreiben, obwohl das nicht möglich sein sollte
- [x] Größere Tasks brechen irgendwann ab, könnte an der Limitierung von Antrophic/Claude liegen. Jedoch sollte wird es scheinbar nicht behandelt: Der Status bleibt auf "Streaming..." aber es passiert nichts mehr - [x] Größere Tasks brechen irgendwann ab, könnte an der Limitierung von Antrophic/Claude liegen. Jedoch sollte wird es scheinbar nicht behandelt: Der Status bleibt auf "Streaming..." aber es passiert nichts mehr
- [x] Session -> Chat öffnen im Frontend soll nicht möglich sein, wenn kein Agent gesetzt ist - [x] Session -> Chat öffnen im Frontend soll nicht möglich sein, wenn kein Agent gesetzt ist
- [ ] Falsche Nachrichten anzahl im Dashboard (tool uses werden fälschicherweise mitgezählt) - dasselbe bei "Ältere Nachrichten laden" im Chat
## Backend ## Backend
- [x] System-Prompt anpassen. Explizit auf Workspace-Pfad hinweisen, weil Model halluziniert oft und will in den nicht vorhandenen Pfad /workspace wechseln - [x] System-Prompt anpassen. Explizit auf Workspace-Pfad hinweisen, weil Model halluziniert oft und will in den nicht vorhandenen Pfad /workspace wechseln
+5
View File
@@ -0,0 +1,5 @@
<Application x:Class="Gott.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
</Application>
+5
View File
@@ -0,0 +1,5 @@
using System.Windows;
namespace Gott;
public partial class App : Application { }
+21
View File
@@ -0,0 +1,21 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
<AssemblyName>Gott</AssemblyName>
<RootNamespace>Gott</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.3065.39" />
</ItemGroup>
<ItemGroup>
<Content Include="appsettings.json" CopyToOutputDirectory="PreserveNewest" CopyToPublishDirectory="PreserveNewest" />
<Content Include="appsettings.Production.json" CopyToOutputDirectory="PreserveNewest" CopyToPublishDirectory="PreserveNewest" />
</ItemGroup>
</Project>
+16
View File
@@ -0,0 +1,16 @@
<Window x:Class="Gott.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"
Title="// gott"
Width="400" Height="300"
WindowStartupLocation="CenterScreen"
Background="#222">
<Grid>
<wv2:WebView2 x:Name="webView" Visibility="Hidden" />
<StackPanel x:Name="loader" VerticalAlignment="Center" HorizontalAlignment="Center">
<ProgressBar IsIndeterminate="True" Width="200" Height="3" Foreground="#c91" Background="#333" BorderThickness="0" />
<TextBlock Text="Laden..." Foreground="#ddd" FontSize="13" HorizontalAlignment="Center" Margin="0,10,0,0" FontFamily="Segoe UI" />
</StackPanel>
</Grid>
</Window>
+72
View File
@@ -0,0 +1,72 @@
using System;
using System.IO;
using System.Text.Json;
using System.Windows;
using Microsoft.Web.WebView2.Core;
namespace Gott;
public partial class MainWindow : Window
{
private readonly AppSettings _settings;
public MainWindow()
{
_settings = LoadSettings();
InitializeComponent();
var screenW = SystemParameters.PrimaryScreenWidth;
var screenH = SystemParameters.PrimaryScreenHeight;
Width = 930;
Height = screenH * 0.95;
Left = (screenW - Width) / 2;
Top = (screenH - Height) / 2;
Loaded += async (_, _) =>
{
await webView.EnsureCoreWebView2Async();
// Dark background to avoid white flash
webView.DefaultBackgroundColor = System.Drawing.Color.FromArgb(255, 17, 17, 17);
// Open external links in default browser
webView.CoreWebView2.NewWindowRequested += (_, e) =>
{
e.Handled = true;
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(e.Uri) { UseShellExecute = true });
};
webView.CoreWebView2.NavigationCompleted += (_, _) =>
{
webView.Visibility = Visibility.Visible;
loader.Visibility = Visibility.Collapsed;
};
webView.CoreWebView2.Navigate(_settings.Url);
};
}
private static AppSettings LoadSettings()
{
foreach (var file in new[] { "appsettings.Production.json", "appsettings.json" })
{
var path = Path.Combine(AppContext.BaseDirectory, file);
if (File.Exists(path))
{
try
{
var json = File.ReadAllText(path);
return JsonSerializer.Deserialize<AppSettings>(json) ?? new();
}
catch { }
}
}
return new();
}
}
public class AppSettings
{
public string Url { get; set; } = "http://localhost:19000";
}
+3
View File
@@ -0,0 +1,3 @@
{
"Url": "http://localhost:19000"
}
+5 -11
View File
@@ -308,7 +308,7 @@
display: flex; display: flex;
flex-shrink: 0; flex-shrink: 0;
align-items: center; align-items: center;
margin: var(--badge-spacing) var(--badge-spacing) var(--page-spacing); margin: var(--badge-spacing);
gap: var(--badge-spacing); gap: var(--badge-spacing);
} }
@@ -357,7 +357,7 @@
top: var(--badge-spacing); top: var(--badge-spacing);
opacity: 0; opacity: 0;
transition: opacity var(--transition-duration); transition: opacity var(--transition-duration);
padding: .15em .35em; padding: .1em .3em;
font-size: var(--font-size); font-size: var(--font-size);
background: var(--f2-bg); background: var(--f2-bg);
border: var(--border-width) solid var(--f2-border); border: var(--border-width) solid var(--f2-border);
@@ -366,11 +366,11 @@
} }
.msg-reply-btn { .msg-reply-btn {
right: calc(var(--badge-spacing) + 4em + var(--badge-spacing) * 2); right: calc(var(--badge-spacing) + 4em + var(--badge-spacing));
} }
.msg-delete-btn { .msg-delete-btn {
right: calc(var(--badge-spacing) + 2em + var(--badge-spacing)); right: calc(var(--badge-spacing) + 2em + var(--badge-spacing) / 2);
} }
.msg-mark-btn { .msg-mark-btn {
@@ -380,13 +380,7 @@
.msg:hover .msg-reply-btn, .msg:hover .msg-reply-btn,
.msg:hover .msg-delete-btn, .msg:hover .msg-delete-btn,
.msg:hover .msg-mark-btn { .msg:hover .msg-mark-btn {
opacity: var(--semi-transparent); opacity: 1;
}
.msg-reply-btn:hover,
.msg-delete-btn:hover,
.msg-mark-btn:hover {
opacity: 1 !important;
} }
.msg-mark-btn.marked { .msg-mark-btn.marked {
-3
View File
@@ -3,9 +3,6 @@
.msg, .tool-box { .msg, .tool-box {
max-width: 100%; max-width: 100%;
} }
.input-area {
margin-bottom: var(--badge-spacing);
}
.fe-sidebar { .fe-sidebar {
width: 100px; width: 100px;
min-width: 100px; min-width: 100px;