Implement infra for popups
ADD
WalletWasabi.Fluent/ViewModels/Popup/IPopupBase.cs
+using System.Threading.Tasks;
+
+namespace WalletWasabi.Fluent.ViewModels.Popup
+{
+ public interface IPopupBase
+ {
+ public void SetHost(IPopupHost host);
+
+ public void SetDialog(IPopupView targetView);
+
+ public bool CanDisplayDialog { get; }
+ }
+}
\ No newline at end of file

ADD
WalletWasabi.Fluent/ViewModels/Popup/IPopupHost.cs
+using System.Threading.Tasks;
+
+namespace WalletWasabi.Fluent.ViewModels.Popup
+{
+ public interface IPopupHost
+ {
+ public void SetDialog(IPopupView targetView);
+
+ public bool CanDisplayDialog { get; }
+
+ public void Close();
+ }
+}
\ No newline at end of file

ADD
WalletWasabi.Fluent/ViewModels/Popup/IPopupView.cs
+namespace WalletWasabi.Fluent.ViewModels.Popup
+{
+ public interface IPopupView
+ {
+ IPopupHost Parent { get; set; }
+ }
+}
\ No newline at end of file

MODIFY
WalletWasabi.Fluent/WalletWasabi.Fluent.csproj
WalletWasabi.Fluent/WalletWasabi.Fluent.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
+ <LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<Compile Update="**\*.xaml.cs">

MODIFY
WalletWasabi.sln
WalletWasabi.sln
@@ -32,6 +32,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WalletWasabi.Packager", "Wa
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "WalletWasabi.WindowsInstaller", "WalletWasabi.WindowsInstaller\WalletWasabi.WindowsInstaller.wixproj", "{54654468-4F58-4253-84BD-6F53A8D3D2C4}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WalletWasabi.Fluent", "WalletWasabi.Fluent\WalletWasabi.Fluent.csproj", "{DE9557A0-4D2E-435B-8B9E-D49AB0422209}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WalletWasabi.Fluent.Desktop", "WalletWasabi.Fluent.Desktop\WalletWasabi.Fluent.Desktop.csproj", "{1F0663DB-679B-4044-BF79-9CB294445C04}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -85,6 +89,22 @@ Global
{54654468-4F58-4253-84BD-6F53A8D3D2C4}.Release|Any CPU.ActiveCfg = Release|x64
{54654468-4F58-4253-84BD-6F53A8D3D2C4}.Release|x64.ActiveCfg = Release|x64
{54654468-4F58-4253-84BD-6F53A8D3D2C4}.Release|x64.Build.0 = Debug|x64
+ {DE9557A0-4D2E-435B-8B9E-D49AB0422209}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DE9557A0-4D2E-435B-8B9E-D49AB0422209}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DE9557A0-4D2E-435B-8B9E-D49AB0422209}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {DE9557A0-4D2E-435B-8B9E-D49AB0422209}.Debug|x64.Build.0 = Debug|Any CPU
+ {DE9557A0-4D2E-435B-8B9E-D49AB0422209}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DE9557A0-4D2E-435B-8B9E-D49AB0422209}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DE9557A0-4D2E-435B-8B9E-D49AB0422209}.Release|x64.ActiveCfg = Release|Any CPU
+ {DE9557A0-4D2E-435B-8B9E-D49AB0422209}.Release|x64.Build.0 = Release|Any CPU
+ {1F0663DB-679B-4044-BF79-9CB294445C04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1F0663DB-679B-4044-BF79-9CB294445C04}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1F0663DB-679B-4044-BF79-9CB294445C04}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {1F0663DB-679B-4044-BF79-9CB294445C04}.Debug|x64.Build.0 = Debug|Any CPU
+ {1F0663DB-679B-4044-BF79-9CB294445C04}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1F0663DB-679B-4044-BF79-9CB294445C04}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1F0663DB-679B-4044-BF79-9CB294445C04}.Release|x64.ActiveCfg = Release|Any CPU
+ {1F0663DB-679B-4044-BF79-9CB294445C04}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Implement infra for popups