Fix button spacing, opacity simplification, gitignore cleanup
This commit is contained in:
1 parent
36fd5a6b6e
commit
cdd3414771
10 files changed
+135
-21
No files matched your search
+7
-7
@@ -1,7 +1,7 @@
|
|||||||
/bin/
|
bin/
|
||||||
/data/
|
data/
|
||||||
/obj/
|
obj/
|
||||||
/publish/
|
publish/
|
||||||
/Temp/
|
Temp/
|
||||||
/appsettings.Production.json
|
appsettings.Production.json
|
||||||
/DEVY.md
|
DEVY.md
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
using System.Windows;
|
||||||
|
|
||||||
|
namespace Gott;
|
||||||
|
|
||||||
|
public partial class App : Application { }
|
||||||
@@ -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>
|
||||||
@@ -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>
|
||||||
@@ -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";
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"Url": "http://localhost:19000"
|
||||||
|
}
|
||||||
+5
-11
@@ -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,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;
|
||||||
|
|||||||
Reference in new issue
Block a user