diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000..24efc68
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,91 @@
+name: Bug Report
+description: Report a problem with Palladium Wallet
+labels: ["bug"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for taking the time to report a bug.
+ Please fill in every section — incomplete reports are hard to reproduce and may be closed.
+
+ - type: input
+ id: version
+ attributes:
+ label: Wallet version
+ description: Shown in Help → Info (e.g. `1.0.0`).
+ placeholder: "1.0.0"
+ validations:
+ required: true
+
+ - type: dropdown
+ id: platform
+ attributes:
+ label: Platform
+ options:
+ - Windows
+ - Linux
+ - Android
+ validations:
+ required: true
+
+ - type: dropdown
+ id: network
+ attributes:
+ label: Network
+ options:
+ - Mainnet
+ - Testnet
+ - Regtest
+ validations:
+ required: true
+
+ - type: textarea
+ id: description
+ attributes:
+ label: What happened?
+ description: Describe the bug clearly and concisely. What did you see? What did you expect?
+ placeholder: "When I click … the wallet shows … instead of …"
+ validations:
+ required: true
+
+ - type: textarea
+ id: steps
+ attributes:
+ label: Steps to reproduce
+ description: Numbered steps that reliably trigger the bug.
+ placeholder: |
+ 1. Open the wallet
+ 2. Go to …
+ 3. Click …
+ 4. Observe …
+ validations:
+ required: true
+
+ - type: textarea
+ id: expected
+ attributes:
+ label: Expected behavior
+ description: What should have happened instead?
+ validations:
+ required: true
+
+ - type: textarea
+ id: logs
+ attributes:
+ label: Logs / error messages
+ description: |
+ Paste any error dialogs, crash messages, or relevant log output.
+ Leave blank if none.
+ render: text
+ validations:
+ required: false
+
+ - type: checkboxes
+ id: checklist
+ attributes:
+ label: Before submitting
+ options:
+ - label: I searched existing issues and this is not a duplicate
+ required: true
+ - label: I reproduced this on the latest available version
+ required: false
diff --git a/src/App/Localization/Loc.cs b/src/App/Localization/Loc.cs
index 785d148..7c7881f 100644
--- a/src/App/Localization/Loc.cs
+++ b/src/App/Localization/Loc.cs
@@ -62,6 +62,7 @@ public sealed class Loc
"SPV-Wallet für die Kryptowährung Palladium (PLM)."],
["help.tab.info"] = ["Info", "Info", "Info", "Info", "Info", "Info"],
["help.tab.donate"] = ["Dona", "Donate", "Donar", "Faire un don", "Doar", "Spenden"],
+ ["help.bug.report"] = ["Segnala un bug", "Report a bug", "Informar un error", "Signaler un bug", "Reportar um bug", "Fehler melden"],
["donate.desc"] = [
"Se questo wallet ti è utile, considera una piccola donazione allo sviluppatore.",
"If you find this wallet useful, consider a small donation to the developer.",
diff --git a/src/App/Views/MainView.axaml b/src/App/Views/MainView.axaml
index 55f3b9e..28369f5 100644
--- a/src/App/Views/MainView.axaml
+++ b/src/App/Views/MainView.axaml
@@ -1555,6 +1555,9 @@
Foreground="{DynamicResource TextSecondaryBrush}"/>
+
diff --git a/src/App/Views/MainView.axaml.cs b/src/App/Views/MainView.axaml.cs
index 3404d2e..18baf6a 100644
--- a/src/App/Views/MainView.axaml.cs
+++ b/src/App/Views/MainView.axaml.cs
@@ -1,3 +1,4 @@
+using System;
using System.Linq;
using Avalonia;
using Avalonia.Controls;
@@ -128,6 +129,14 @@ public partial class MainView : UserControl
vm.IsHelpOpen = false;
}
+ private async void OnOpenBugReportClick(object? sender, RoutedEventArgs e)
+ {
+ var launcher = TopLevel.GetTopLevel(this)?.Launcher;
+ if (launcher is not null)
+ await launcher.LaunchUriAsync(new Uri(
+ "https://github.com/davide3011/PalladiumWallet/issues/new?assignees=&labels=bug&template=bug_report.yml"));
+ }
+
// Esc (desktop) or Back (Android) closes the topmost open overlay.
protected override void OnKeyDown(KeyEventArgs e)
{