Sicherungspunkt vor dem Aufraeumen. Buendelt die Arbeit, die seit dem Abschluss der Avalonia-Portierung im Arbeitsverzeichnis lag. Oberflaeche - Entwurf aus Mockup/ umgesetzt: Theme.axaml (Farben je Thema, Barlow als mitgelieferte Schrift), Icons.axaml (Symbolgeometrien), Shell.axaml (eigene ControlThemes statt Fluent umzufaerben). - Neue Steuerelemente StrokeIcon und BlueprintFrame, Seiten fuer Token-Verbrauch und Agenten-Chats, Werkzeug-Einstellungen als Seite statt eigenem Fenster, Texteditor-Fenster. - ThemeManager mit hellem und dunklem Thema; die beiden Pinsel-Konverter entfallen, weil ein fester Farbwert den Themenwechsel nicht ueberlebt. Rocket.Chat - Neues Tool-Projekt (Client, Konfiguration, Workspace-Dateien) nach der Bauform des Telegram-Tools: rocketchat_poll als Tool-Job, geweckt wird nur, wenn wirklich etwas anliegt. - send_file ist freigabepflichtig, send_message bewusst nicht: Der Raum ist Arbeitsraum, der Schutz sitzt an der Raum-Allowlist. - Konzept-Doc um die Messung gegen die echte Instanz 8.7 ergaenzt; drei Annahmen waren falsch und sind korrigiert. Deploymentcenter - DC6 (Update anwenden) und DC7 (Erstinstallation ueber setup.json) erledigt, DC3 fuer win-x64/dev; deploy/publish.py als Release-Strecke. - AppHost.DisposeAsync gegen doppeltes Herunterfahren gesperrt - sonst ueberschreibt eine zweite Abmeldung den Wartungszustand am Watchdog. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
46 lines
1.8 KiB
XML
46 lines
1.8 KiB
XML
<Window xmlns="https://github.com/avaloniaui"
|
||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||
xmlns:vm="using:ClawdDotNet.Desktop.ViewModels"
|
||
mc:Ignorable="d" d:DesignWidth="520" d:DesignHeight="320"
|
||
x:Class="ClawdDotNet.Desktop.Views.LicenseWindow"
|
||
x:DataType="vm:LicenseViewModel"
|
||
Icon="/Assets/app.ico"
|
||
Title="ClawdDotNet – Lizenz"
|
||
Width="520" SizeToContent="Height"
|
||
CanResize="False"
|
||
WindowStartupLocation="CenterScreen">
|
||
|
||
<StackPanel Margin="20" Spacing="12">
|
||
|
||
<TextBlock Classes="heading" Text="Lizenzschlüssel" />
|
||
|
||
<!-- Nur sichtbar, wenn es einen Grund gibt -->
|
||
<Border Classes="card"
|
||
IsVisible="{Binding Problem, Converter={x:Static StringConverters.IsNotNullOrEmpty}}">
|
||
<TextBlock Text="{Binding Problem}" TextWrapping="Wrap"
|
||
Foreground="{DynamicResource SystemFillColorCriticalBrush}" />
|
||
</Border>
|
||
|
||
<TextBox PlaceholderText="XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"
|
||
Text="{Binding Key}"
|
||
FontFamily="{DynamicResource ContentControlThemeFontFamily}" />
|
||
|
||
<StackPanel Spacing="4">
|
||
<TextBlock Classes="caption" Text="Hardware-ID (für den Support):" />
|
||
<SelectableTextBlock Classes="caption"
|
||
Text="{Binding HardwareId}"
|
||
TextWrapping="Wrap" />
|
||
</StackPanel>
|
||
|
||
<StackPanel Orientation="Horizontal" Spacing="8" HorizontalAlignment="Right">
|
||
<Button Content="Beenden" Command="{Binding CancelCommand}" />
|
||
<Button Content="Prüfen" Classes="accent" IsDefault="True"
|
||
Command="{Binding ConfirmCommand}" />
|
||
</StackPanel>
|
||
|
||
</StackPanel>
|
||
|
||
</Window>
|