elfisa-pharmacy/src/Elfisa.Avalonia/Views/UpdateWindow.axaml
Exest e8357bab1e версия 2.0.4: авто-обновление в Avalonia-клиенте
- UpdateService (Core): проверка Gitea releases/latest + скачивание установщика с CDN
- UpdateWindow/VM: уведомление «доступно обновление», тихая установка поверх с перезапуском
- ShellView: проверка при старте (один раз, офлайн/ошибки игнорируются)

Закрывает пробел: Avalonia-клиент раньше не умел обновляться (апдейтер был только в WinForms).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-13 10:10:13 +03:00

29 lines
1.4 KiB
XML

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:Elfisa.Avalonia.ViewModels"
x:Class="Elfisa.Avalonia.Views.UpdateWindow"
x:DataType="vm:UpdateViewModel"
Width="440" Height="240" CanResize="False"
WindowStartupLocation="CenterOwner"
Background="{DynamicResource Bg}"
Title="Обновление">
<StackPanel Margin="24" Spacing="16">
<TextBlock Text="Доступно обновление" Classes="h1"/>
<TextBlock Text="{Binding Message}" TextWrapping="Wrap"/>
<StackPanel Spacing="6" IsVisible="{Binding Busy}">
<ProgressBar Minimum="0" Maximum="100" Value="{Binding Progress}" Height="8"/>
</StackPanel>
<TextBlock Text="{Binding Status}" Foreground="{DynamicResource Muted}"
TextWrapping="Wrap" IsVisible="{Binding Status, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Spacing="10" Margin="0,4,0,0">
<Button Content="Позже" Command="{Binding LaterCommand}" IsEnabled="{Binding !Busy}" Padding="18,9"/>
<Button Classes="primary" Content="Обновить" Command="{Binding UpdateCommand}" IsEnabled="{Binding !Busy}"/>
</StackPanel>
</StackPanel>
</Window>