From 5838c0546e7d3643107a0375f0d58bc0dbc224e9 Mon Sep 17 00:00:00 2001
From: tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
Date: Fri, 1 May 2026 16:30:11 +0300
Subject: [PATCH] Update for Avalonia 12
---
Directory.Packages.props | 5 ++---
DiscordChatExporter.Gui/DiscordChatExporter.Gui.csproj | 2 --
.../Localization/LocalizationManager.English.cs | 2 +-
.../Localization/LocalizationManager.French.cs | 2 +-
.../Localization/LocalizationManager.German.cs | 2 +-
.../Localization/LocalizationManager.Spanish.cs | 2 +-
.../Localization/LocalizationManager.Ukrainian.cs | 2 +-
DiscordChatExporter.Gui/Localization/LocalizationManager.cs | 2 +-
.../Utils/Extensions/AvaloniaExtensions.cs | 4 ++--
.../Views/Components/DashboardView.axaml | 6 +++---
10 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/Directory.Packages.props b/Directory.Packages.props
index bee2e4ff..a2df34fd 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -9,7 +9,6 @@
-
@@ -22,8 +21,8 @@
-
-
+
+
../favicon.ico
true
false
- true
@@ -29,7 +28,6 @@
-
diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs
index c9c2c05e..d85ea435 100644
--- a/DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs
+++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs
@@ -11,7 +11,7 @@ public partial class LocalizationManager
[nameof(PullGuildsTooltip)] = "Pull available servers and channels (Enter)",
[nameof(SettingsTooltip)] = "Settings",
[nameof(LastMessageSentTooltip)] = "Last message sent:",
- [nameof(TokenWatermark)] = "Token",
+ [nameof(TokenPlaceholderText)] = "Token",
// Token instructions (personal account)
[nameof(TokenPersonalHeader)] = "To get the token for your personal account:",
[nameof(TokenPersonalTosWarning)] =
diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.French.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.French.cs
index 31819887..dbe2c65a 100644
--- a/DiscordChatExporter.Gui/Localization/LocalizationManager.French.cs
+++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.French.cs
@@ -13,7 +13,7 @@ public partial class LocalizationManager
[nameof(PullGuildsTooltip)] = "Charger les serveurs et canaux disponibles (Entrée)",
[nameof(SettingsTooltip)] = "Paramètres",
[nameof(LastMessageSentTooltip)] = "Dernier message envoyé :",
- [nameof(TokenWatermark)] = "Token",
+ [nameof(TokenPlaceholderText)] = "Token",
// Token instructions (personal account)
[nameof(TokenPersonalHeader)] = "Obtenir le token pour votre compte personnel :",
[nameof(TokenPersonalTosWarning)] =
diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.German.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.German.cs
index 19d204a1..6ca87c78 100644
--- a/DiscordChatExporter.Gui/Localization/LocalizationManager.German.cs
+++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.German.cs
@@ -13,7 +13,7 @@ public partial class LocalizationManager
[nameof(PullGuildsTooltip)] = "Verfügbare Server und Kanäle laden (Enter)",
[nameof(SettingsTooltip)] = "Einstellungen",
[nameof(LastMessageSentTooltip)] = "Letzte Nachricht gesendet:",
- [nameof(TokenWatermark)] = "Token",
+ [nameof(TokenPlaceholderText)] = "Token",
// Token instructions (personal account)
[nameof(TokenPersonalHeader)] = "Token für Ihr persönliches Konto abrufen:",
[nameof(TokenPersonalTosWarning)] =
diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.Spanish.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.Spanish.cs
index 09228795..622ef5c2 100644
--- a/DiscordChatExporter.Gui/Localization/LocalizationManager.Spanish.cs
+++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.Spanish.cs
@@ -11,7 +11,7 @@ public partial class LocalizationManager
[nameof(PullGuildsTooltip)] = "Cargar servidores y canales disponibles (Enter)",
[nameof(SettingsTooltip)] = "Ajustes",
[nameof(LastMessageSentTooltip)] = "Último mensaje enviado:",
- [nameof(TokenWatermark)] = "Token",
+ [nameof(TokenPlaceholderText)] = "Token",
// Token instructions (personal account)
[nameof(TokenPersonalHeader)] = "Cómo obtener el token para tu cuenta personal:",
[nameof(TokenPersonalTosWarning)] =
diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.Ukrainian.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.Ukrainian.cs
index 1e8d7457..6b2b1cbb 100644
--- a/DiscordChatExporter.Gui/Localization/LocalizationManager.Ukrainian.cs
+++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.Ukrainian.cs
@@ -11,7 +11,7 @@ public partial class LocalizationManager
[nameof(PullGuildsTooltip)] = "Завантажити доступні сервери та канали (Enter)",
[nameof(SettingsTooltip)] = "Налаштування",
[nameof(LastMessageSentTooltip)] = "Останнє повідомлення:",
- [nameof(TokenWatermark)] = "Токен",
+ [nameof(TokenPlaceholderText)] = "Токен",
// Token instructions (personal account)
[nameof(TokenPersonalHeader)] = "Як отримати токен для персонального акаунту:",
[nameof(TokenPersonalTosWarning)] =
diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.cs
index 9b8fdfba..8a386eae 100644
--- a/DiscordChatExporter.Gui/Localization/LocalizationManager.cs
+++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.cs
@@ -75,7 +75,7 @@ public partial class LocalizationManager
public string PullGuildsTooltip => Get();
public string SettingsTooltip => Get();
public string LastMessageSentTooltip => Get();
- public string TokenWatermark => Get();
+ public string TokenPlaceholderText => Get();
// Token instructions (personal account)
public string TokenPersonalHeader => Get();
diff --git a/DiscordChatExporter.Gui/Utils/Extensions/AvaloniaExtensions.cs b/DiscordChatExporter.Gui/Utils/Extensions/AvaloniaExtensions.cs
index 538b1143..98d5b4d3 100644
--- a/DiscordChatExporter.Gui/Utils/Extensions/AvaloniaExtensions.cs
+++ b/DiscordChatExporter.Gui/Utils/Extensions/AvaloniaExtensions.cs
@@ -1,6 +1,6 @@
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
-using Avalonia.VisualTree;
+using PowerKit.Extensions;
namespace DiscordChatExporter.Gui.Utils.Extensions;
@@ -15,7 +15,7 @@ internal static class AvaloniaExtensions
public TopLevel? TryGetTopLevel() =>
lifetime.TryGetMainWindow()
- ?? (lifetime as ISingleViewApplicationLifetime)?.MainView?.GetVisualRoot() as TopLevel;
+ ?? (lifetime as ISingleViewApplicationLifetime)?.MainView?.Pipe(TopLevel.GetTopLevel);
public bool TryShutdown(int exitCode = 0)
{
diff --git a/DiscordChatExporter.Gui/Views/Components/DashboardView.axaml b/DiscordChatExporter.Gui/Views/Components/DashboardView.axaml
index f3beac7b..cd3ea111 100644
--- a/DiscordChatExporter.Gui/Views/Components/DashboardView.axaml
+++ b/DiscordChatExporter.Gui/Views/Components/DashboardView.axaml
@@ -23,10 +23,10 @@
x:Name="TokenValueTextBox"
FontSize="16"
PasswordChar="*"
+ PlaceholderText="{Binding LocalizationManager.TokenPlaceholderText}"
RevealPassword="{Binding $self.IsFocused}"
Text="{Binding Token}"
- Theme="{DynamicResource SoloTextBox}"
- Watermark="{Binding LocalizationManager.TokenWatermark}">
+ Theme="{DynamicResource SoloTextBox}">
-
\ No newline at end of file
+