diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 68ff3fd..70330a8 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -15,7 +15,7 @@ jobs:
runs-on: windows-latest
env:
- Solution: "src/CleanMyPosts.sln"
+ Solution: "src/CleanMyPosts.slnx"
Test_Project: "src/Tests/Tests.csproj"
FORCE_COLOR: "true"
DOTNET_LOGGING__CONSOLE__COLORBEHAVIOR: Enabled
@@ -30,7 +30,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
- dotnet-version: 9.x
+ dotnet-version: 10.x
- name: Install .NET Tools (local)
run: |
diff --git a/.github/workflows/deploy-release.yml b/.github/workflows/deploy-release.yml
index 8840378..b0bada9 100644
--- a/.github/workflows/deploy-release.yml
+++ b/.github/workflows/deploy-release.yml
@@ -4,7 +4,7 @@ on:
workflow_dispatch: # manual trigger
permissions:
- contents: read
+ contents: write
pull-requests: write
checks: write
id-token: write
@@ -14,8 +14,8 @@ jobs:
runs-on: windows-latest
env:
- Solution: "src/CleanMyPosts.sln"
- UI_Project: "src/UI/UI.csproj"
+ Solution: "src/CleanMyPosts.slnx"
+ UI_Project: "src/CleanMyPosts/CleanMyPosts.csproj"
Test_Project: "src/Tests/Tests.csproj"
Installer_Script: "installer/Installer.iss"
FORCE_COLOR: "true"
@@ -27,12 +27,13 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
+ token: ${{ secrets.GITHUB_TOKEN }}
ref: main
- name: Install .NET
uses: actions/setup-dotnet@v4
with:
- dotnet-version: 9.x
+ dotnet-version: 10.x
- name: Install Inno Setup
run: choco install innosetup --yes
@@ -72,7 +73,8 @@ jobs:
- name: Build Installer x64
run: |
- iscc "/DMyAppVersion=${{ env.VERSION }}" "/DMyAppExePath=..\\artifacts\\publish-x64\\*" "${{ env.Installer_Script }}"
+ $exePath = "${{ github.workspace }}\artifacts\publish-x64\CleanMyPosts.exe"
+ iscc "/DMyAppVersion=${{ env.VERSION }}" "/DMyAppExePath=$exePath" "${{ env.Installer_Script }}"
- name: Copy Installer Exe to Artifacts
run: |
@@ -81,7 +83,8 @@ jobs:
- name: Clone update-feed branch
run: |
- git clone --branch update-feed --single-branch https://github.com/${{ github.repository }} update-feed || mkdir update-feed
+ git fetch origin update-feed || git checkout -b update-feed
+ git switch update-feed
- name: Generate AutoUpdater.NET files using template
shell: pwsh
@@ -100,14 +103,6 @@ jobs:
-replace "{{CHANGELOG_URL}}", $changelogUrl
$installerXml | Set-Content -Path "artifacts/update-installer.xml" -Encoding UTF8
- - name: Create GitHub App Token
- id: app-token
- uses: actions/create-github-app-token@v2.0.5
- with:
- app-id: ${{ secrets.GH_APP_ID }}
- private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
- repositories: CleanMyPosts
-
- name: Commit and push update-feed branch
shell: bash
run: |
@@ -123,13 +118,11 @@ jobs:
echo "No changes to commit"
else
git commit -m "Update for ${{ env.VERSION }}"
- git push https://x-access-token:${{ steps.app-token.outputs.token }}@github.com/${{ github.repository }} update-feed
+ git push origin update-feed
fi
- name: Create Git Tag
run: |
- git config user.name "github-actions[bot]"
- git config user.email "github-actions[bot]@users.noreply.github.com"
git tag -a "v${{ env.VERSION }}" -m "Release v${{ env.VERSION }}"
git push origin "v${{ env.VERSION }}"
diff --git a/.gitignore b/.gitignore
index 6d4ca7e..821d1a0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -370,3 +370,4 @@ installer/Output
github-stats.txt
/CleanMyPosts.sln.lnk
+/CleanMyPosts.slnx.lnk
diff --git a/installer/Installer.iss b/installer/Installer.iss
index e7dc0f7..43bb688 100644
--- a/installer/Installer.iss
+++ b/installer/Installer.iss
@@ -2,14 +2,14 @@
#define MyAppPublisher "Thorsten Alpers"
#define MyAppURL "https://github.com/thorstenalpers/CleanMyPosts"
#define MyAppExeName "CleanMyPosts.exe"
-#define MyIconPath "..\src\UI\Assets\logo.ico"
+#define MyIconPath "..\src\CleanMyPosts\Assets\logo.ico"
; dynamically set in github actions, ifndef use local values
#ifndef MyAppVersion
#define MyAppVersion "0.0.1"
#endif
#ifndef MyAppExePath
- #define MyAppExePath "..\src\UI\bin\Release\net9.0-windows\win-x64\publish\*"
+ #define MyAppExePath "..\src\CleanMyPosts\bin\Release\net10.0-windows\win-x64\publish\*"
#endif
[Setup]
diff --git a/release-notes/v2.1.2.md b/release-notes/v2.1.2.md
new file mode 100644
index 0000000..755c2b0
--- /dev/null
+++ b/release-notes/v2.1.2.md
@@ -0,0 +1,3 @@
+### What's Changed
+
+* Refactoring: Migrated to .NET 10 for improved platform compatibility.
diff --git a/src/CleanMyPosts.sln b/src/CleanMyPosts.sln
deleted file mode 100644
index 9f5c8ce..0000000
--- a/src/CleanMyPosts.sln
+++ /dev/null
@@ -1,56 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.13.35931.197
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UI", "UI\UI.csproj", "{48A19ABC-B503-5409-9E90-1467B8E8649F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "Core\Core.csproj", "{A65F1C77-11C1-DC4F-0A69-6EE789D29685}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8EC462FD-D22E-90A8-E5CE-7E832BA40C5D}"
- ProjectSection(SolutionItems) = preProject
- ..\.editorconfig = ..\.editorconfig
- ..\.gitattributes = ..\.gitattributes
- ..\.gitignore = ..\.gitignore
- ..\installer\Installer.iss = ..\installer\Installer.iss
- ..\LICENSE.txt = ..\LICENSE.txt
- ..\README.md = ..\README.md
- EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{59FDAA84-6701-32D0-9E5C-CA30D0B3B987}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
- ProjectSection(SolutionItems) = preProject
- ..\.github\workflows\ci.yml = ..\.github\workflows\ci.yml
- ..\.github\workflows\deploy-release.yml = ..\.github\workflows\deploy-release.yml
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {48A19ABC-B503-5409-9E90-1467B8E8649F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {48A19ABC-B503-5409-9E90-1467B8E8649F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {48A19ABC-B503-5409-9E90-1467B8E8649F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {48A19ABC-B503-5409-9E90-1467B8E8649F}.Release|Any CPU.Build.0 = Release|Any CPU
- {A65F1C77-11C1-DC4F-0A69-6EE789D29685}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A65F1C77-11C1-DC4F-0A69-6EE789D29685}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A65F1C77-11C1-DC4F-0A69-6EE789D29685}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A65F1C77-11C1-DC4F-0A69-6EE789D29685}.Release|Any CPU.Build.0 = Release|Any CPU
- {59FDAA84-6701-32D0-9E5C-CA30D0B3B987}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {59FDAA84-6701-32D0-9E5C-CA30D0B3B987}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {59FDAA84-6701-32D0-9E5C-CA30D0B3B987}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {59FDAA84-6701-32D0-9E5C-CA30D0B3B987}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {02EA681E-C7D8-13C7-8484-4AC65E1B71E8} = {8EC462FD-D22E-90A8-E5CE-7E832BA40C5D}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {C5A00240-64B9-4718-9682-317A36915078}
- EndGlobalSection
-EndGlobal
diff --git a/src/CleanMyPosts.slnx b/src/CleanMyPosts.slnx
new file mode 100644
index 0000000..5a3a684
--- /dev/null
+++ b/src/CleanMyPosts.slnx
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/UI/App.xaml b/src/CleanMyPosts/App.xaml
similarity index 97%
rename from src/UI/App.xaml
rename to src/CleanMyPosts/App.xaml
index a40ffef..8938119 100644
--- a/src/UI/App.xaml
+++ b/src/CleanMyPosts/App.xaml
@@ -1,5 +1,5 @@
true
app.manifest
enable
- CleanMyPosts.UI
- CleanMyPosts.UI
+ CleanMyPosts
+ CleanMyPosts
Assets\logo.ico
CleanMyPosts
- net9.0-windows
- 2.0.1
+ net10.0-windows
+ 2.1.2
false
latest
True
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
@@ -43,10 +47,6 @@
-
-
-
-
Never
diff --git a/src/UI/Contracts/Activation/IActivationHandler.cs b/src/CleanMyPosts/Contracts/Activation/IActivationHandler.cs
similarity index 63%
rename from src/UI/Contracts/Activation/IActivationHandler.cs
rename to src/CleanMyPosts/Contracts/Activation/IActivationHandler.cs
index 490e404..7c7a5ca 100644
--- a/src/UI/Contracts/Activation/IActivationHandler.cs
+++ b/src/CleanMyPosts/Contracts/Activation/IActivationHandler.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.UI.Contracts.Activation;
+namespace CleanMyPosts.Contracts.Activation;
public interface IActivationHandler
{
diff --git a/src/UI/Contracts/Services/IAppSetupService.cs b/src/CleanMyPosts/Contracts/Services/IAppSetupService.cs
similarity index 72%
rename from src/UI/Contracts/Services/IAppSetupService.cs
rename to src/CleanMyPosts/Contracts/Services/IAppSetupService.cs
index 6632282..be3b886 100644
--- a/src/UI/Contracts/Services/IAppSetupService.cs
+++ b/src/CleanMyPosts/Contracts/Services/IAppSetupService.cs
@@ -1,8 +1,8 @@
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.ViewModels;
using Microsoft.Extensions.Configuration;
using Serilog;
-namespace CleanMyPosts.UI.Contracts.Services;
+namespace CleanMyPosts.Contracts.Services;
public interface IAppSetupService
{
diff --git a/src/Core/Contracts/Services/IFileService.cs b/src/CleanMyPosts/Contracts/Services/IFileService.cs
similarity index 82%
rename from src/Core/Contracts/Services/IFileService.cs
rename to src/CleanMyPosts/Contracts/Services/IFileService.cs
index 3cc3352..df5cf74 100644
--- a/src/Core/Contracts/Services/IFileService.cs
+++ b/src/CleanMyPosts/Contracts/Services/IFileService.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.Core.Contracts.Services;
+namespace CleanMyPosts.Contracts.Services;
public interface IFileService
{
diff --git a/src/UI/Contracts/Services/IHostService.cs b/src/CleanMyPosts/Contracts/Services/IHostService.cs
similarity index 70%
rename from src/UI/Contracts/Services/IHostService.cs
rename to src/CleanMyPosts/Contracts/Services/IHostService.cs
index d2a1440..029a00d 100644
--- a/src/UI/Contracts/Services/IHostService.cs
+++ b/src/CleanMyPosts/Contracts/Services/IHostService.cs
@@ -1,8 +1,8 @@
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.ViewModels;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
-namespace CleanMyPosts.UI.Contracts.Services;
+namespace CleanMyPosts.Contracts.Services;
public interface IHostService
{
diff --git a/src/UI/Contracts/Services/INavigationService.cs b/src/CleanMyPosts/Contracts/Services/INavigationService.cs
similarity index 88%
rename from src/UI/Contracts/Services/INavigationService.cs
rename to src/CleanMyPosts/Contracts/Services/INavigationService.cs
index b9ac79d..aaa0996 100644
--- a/src/UI/Contracts/Services/INavigationService.cs
+++ b/src/CleanMyPosts/Contracts/Services/INavigationService.cs
@@ -1,6 +1,6 @@
using System.Windows.Controls;
-namespace CleanMyPosts.UI.Contracts.Services;
+namespace CleanMyPosts.Contracts.Services;
public interface INavigationService
{
diff --git a/src/UI/Contracts/Services/IPageService.cs b/src/CleanMyPosts/Contracts/Services/IPageService.cs
similarity index 74%
rename from src/UI/Contracts/Services/IPageService.cs
rename to src/CleanMyPosts/Contracts/Services/IPageService.cs
index 81cb9a8..1345bf0 100644
--- a/src/UI/Contracts/Services/IPageService.cs
+++ b/src/CleanMyPosts/Contracts/Services/IPageService.cs
@@ -1,6 +1,6 @@
using System.Windows.Controls;
-namespace CleanMyPosts.UI.Contracts.Services;
+namespace CleanMyPosts.Contracts.Services;
public interface IPageService
{
diff --git a/src/UI/Contracts/Services/IUserSettingsService.cs b/src/CleanMyPosts/Contracts/Services/IUserSettingsService.cs
similarity index 87%
rename from src/UI/Contracts/Services/IUserSettingsService.cs
rename to src/CleanMyPosts/Contracts/Services/IUserSettingsService.cs
index 3086b55..1d95742 100644
--- a/src/UI/Contracts/Services/IUserSettingsService.cs
+++ b/src/CleanMyPosts/Contracts/Services/IUserSettingsService.cs
@@ -1,6 +1,6 @@
-using CleanMyPosts.UI.Models;
+using CleanMyPosts.Models;
-namespace CleanMyPosts.UI.Contracts.Services;
+namespace CleanMyPosts.Contracts.Services;
public interface IUserSettingsService
{
diff --git a/src/UI/Contracts/Services/IWebViewHostService.cs b/src/CleanMyPosts/Contracts/Services/IWebViewHostService.cs
similarity index 83%
rename from src/UI/Contracts/Services/IWebViewHostService.cs
rename to src/CleanMyPosts/Contracts/Services/IWebViewHostService.cs
index 36d2958..34976b5 100644
--- a/src/UI/Contracts/Services/IWebViewHostService.cs
+++ b/src/CleanMyPosts/Contracts/Services/IWebViewHostService.cs
@@ -1,7 +1,7 @@
-using CleanMyPosts.UI.Models;
+using CleanMyPosts.Models;
using Microsoft.Web.WebView2.Wpf;
-namespace CleanMyPosts.UI.Contracts.Services;
+namespace CleanMyPosts.Contracts.Services;
public interface IWebViewHostService
{
diff --git a/src/UI/Contracts/Services/IWindowManagerService.cs b/src/CleanMyPosts/Contracts/Services/IWindowManagerService.cs
similarity index 85%
rename from src/UI/Contracts/Services/IWindowManagerService.cs
rename to src/CleanMyPosts/Contracts/Services/IWindowManagerService.cs
index 56e6c41..7be218a 100644
--- a/src/UI/Contracts/Services/IWindowManagerService.cs
+++ b/src/CleanMyPosts/Contracts/Services/IWindowManagerService.cs
@@ -1,6 +1,6 @@
using System.Windows;
-namespace CleanMyPosts.UI.Contracts.Services;
+namespace CleanMyPosts.Contracts.Services;
public interface IWindowManagerService
{
diff --git a/src/UI/Contracts/Services/IXScriptService.cs b/src/CleanMyPosts/Contracts/Services/IXScriptService.cs
similarity index 89%
rename from src/UI/Contracts/Services/IXScriptService.cs
rename to src/CleanMyPosts/Contracts/Services/IXScriptService.cs
index 407f01f..a675f5d 100644
--- a/src/UI/Contracts/Services/IXScriptService.cs
+++ b/src/CleanMyPosts/Contracts/Services/IXScriptService.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.UI.Contracts.Services;
+namespace CleanMyPosts.Contracts.Services;
public interface IXScriptService
{
diff --git a/src/UI/Contracts/ViewModels/INavigationAware.cs b/src/CleanMyPosts/Contracts/ViewModels/INavigationAware.cs
similarity index 61%
rename from src/UI/Contracts/ViewModels/INavigationAware.cs
rename to src/CleanMyPosts/Contracts/ViewModels/INavigationAware.cs
index a3288d4..2654f1d 100644
--- a/src/UI/Contracts/ViewModels/INavigationAware.cs
+++ b/src/CleanMyPosts/Contracts/ViewModels/INavigationAware.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.UI.Contracts.ViewModels;
+namespace CleanMyPosts.Contracts.ViewModels;
public interface INavigationAware
{
diff --git a/src/UI/Contracts/Views/IShellDialogWindow.cs b/src/CleanMyPosts/Contracts/Views/IShellDialogWindow.cs
similarity index 70%
rename from src/UI/Contracts/Views/IShellDialogWindow.cs
rename to src/CleanMyPosts/Contracts/Views/IShellDialogWindow.cs
index f08b4ba..a5a32ba 100644
--- a/src/UI/Contracts/Views/IShellDialogWindow.cs
+++ b/src/CleanMyPosts/Contracts/Views/IShellDialogWindow.cs
@@ -1,6 +1,6 @@
using System.Windows.Controls;
-namespace CleanMyPosts.UI.Contracts.Views;
+namespace CleanMyPosts.Contracts.Views;
public interface IShellDialogWindow
{
diff --git a/src/UI/Contracts/Views/IShellWindow.cs b/src/CleanMyPosts/Contracts/Views/IShellWindow.cs
similarity index 77%
rename from src/UI/Contracts/Views/IShellWindow.cs
rename to src/CleanMyPosts/Contracts/Views/IShellWindow.cs
index d9397a1..26c57a9 100644
--- a/src/UI/Contracts/Views/IShellWindow.cs
+++ b/src/CleanMyPosts/Contracts/Views/IShellWindow.cs
@@ -1,6 +1,6 @@
using System.Windows.Controls;
-namespace CleanMyPosts.UI.Contracts.Views;
+namespace CleanMyPosts.Contracts.Views;
public interface IShellWindow
{
diff --git a/src/UI/Converters/EnumToBooleanConverter.cs b/src/CleanMyPosts/Converters/EnumToBooleanConverter.cs
similarity index 94%
rename from src/UI/Converters/EnumToBooleanConverter.cs
rename to src/CleanMyPosts/Converters/EnumToBooleanConverter.cs
index d049659..58ca97b 100644
--- a/src/UI/Converters/EnumToBooleanConverter.cs
+++ b/src/CleanMyPosts/Converters/EnumToBooleanConverter.cs
@@ -1,7 +1,7 @@
using System.Globalization;
using System.Windows.Data;
-namespace CleanMyPosts.UI.Converters;
+namespace CleanMyPosts.Converters;
public class EnumToBooleanConverter : IValueConverter
{
diff --git a/src/Core/Exception/CleanMyPostsException.cs b/src/CleanMyPosts/Exceptions/CleanMyPostsException.cs
similarity index 96%
rename from src/Core/Exception/CleanMyPostsException.cs
rename to src/CleanMyPosts/Exceptions/CleanMyPostsException.cs
index d605d07..26dbf4f 100644
--- a/src/Core/Exception/CleanMyPostsException.cs
+++ b/src/CleanMyPosts/Exceptions/CleanMyPostsException.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.Core.Exception;
+namespace CleanMyPosts.Exceptions;
///
/// Represents errors that occur within the CleanMyPosts system.
diff --git a/src/UI/Extensions/FrameExtensions.cs b/src/CleanMyPosts/Extensions/FrameExtensions.cs
similarity index 91%
rename from src/UI/Extensions/FrameExtensions.cs
rename to src/CleanMyPosts/Extensions/FrameExtensions.cs
index 9279832..2954fd1 100644
--- a/src/UI/Extensions/FrameExtensions.cs
+++ b/src/CleanMyPosts/Extensions/FrameExtensions.cs
@@ -1,7 +1,7 @@
using System.Windows;
using System.Windows.Controls;
-namespace CleanMyPosts.UI.Extensions;
+namespace CleanMyPosts.Extensions;
public static class FrameExtensions
{
diff --git a/src/UI/Extensions/LogViewModelSinkExtensions.cs b/src/CleanMyPosts/Extensions/LogViewModelSinkExtensions.cs
similarity index 75%
rename from src/UI/Extensions/LogViewModelSinkExtensions.cs
rename to src/CleanMyPosts/Extensions/LogViewModelSinkExtensions.cs
index eef33f0..7b6db1b 100644
--- a/src/UI/Extensions/LogViewModelSinkExtensions.cs
+++ b/src/CleanMyPosts/Extensions/LogViewModelSinkExtensions.cs
@@ -1,9 +1,9 @@
-using CleanMyPosts.UI.Helpers;
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.Helpers;
+using CleanMyPosts.ViewModels;
using Serilog;
using Serilog.Configuration;
-namespace CleanMyPosts.UI.Extensions;
+namespace CleanMyPosts.Extensions;
public static class LogViewModelSinkExtensions
{
diff --git a/src/UI/Extensions/WindowExtensions.cs b/src/CleanMyPosts/Extensions/WindowExtensions.cs
similarity index 86%
rename from src/UI/Extensions/WindowExtensions.cs
rename to src/CleanMyPosts/Extensions/WindowExtensions.cs
index 03cccf4..0a0553a 100644
--- a/src/UI/Extensions/WindowExtensions.cs
+++ b/src/CleanMyPosts/Extensions/WindowExtensions.cs
@@ -1,7 +1,7 @@
using System.Windows;
using System.Windows.Controls;
-namespace CleanMyPosts.UI.Extensions;
+namespace CleanMyPosts.Extensions;
public static class WindowExtensions
{
diff --git a/src/UI/Helpers/Helper.cs b/src/CleanMyPosts/Helpers/Helper.cs
similarity index 91%
rename from src/UI/Helpers/Helper.cs
rename to src/CleanMyPosts/Helpers/Helper.cs
index 025e6eb..6982d8d 100644
--- a/src/UI/Helpers/Helper.cs
+++ b/src/CleanMyPosts/Helpers/Helper.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.UI.Helpers;
+namespace CleanMyPosts.Helpers;
public static class Helper
{
public static string CleanJsonResult(string json)
diff --git a/src/UI/Helpers/LogViewModelSink.cs b/src/CleanMyPosts/Helpers/LogViewModelSink.cs
similarity index 92%
rename from src/UI/Helpers/LogViewModelSink.cs
rename to src/CleanMyPosts/Helpers/LogViewModelSink.cs
index 58d715c..211089d 100644
--- a/src/UI/Helpers/LogViewModelSink.cs
+++ b/src/CleanMyPosts/Helpers/LogViewModelSink.cs
@@ -1,9 +1,10 @@
-using System.Text;
-using CleanMyPosts.UI.ViewModels;
+
+using System.Text;
+using CleanMyPosts.ViewModels;
using Serilog.Core;
using Serilog.Events;
-namespace CleanMyPosts.UI.Helpers;
+namespace CleanMyPosts.Helpers;
public class LogViewModelSink(LogViewModel logViewModel) : ILogEventSink
{
diff --git a/src/UI/Models/AppConfig.cs b/src/CleanMyPosts/Models/AppConfig.cs
similarity index 95%
rename from src/UI/Models/AppConfig.cs
rename to src/CleanMyPosts/Models/AppConfig.cs
index e97148a..bd75e9c 100644
--- a/src/UI/Models/AppConfig.cs
+++ b/src/CleanMyPosts/Models/AppConfig.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.UI.Models;
+namespace CleanMyPosts.Models;
public class AppConfig
diff --git a/src/UI/Models/AppTheme.cs b/src/CleanMyPosts/Models/AppTheme.cs
similarity index 61%
rename from src/UI/Models/AppTheme.cs
rename to src/CleanMyPosts/Models/AppTheme.cs
index 6d43322..cbb0757 100644
--- a/src/UI/Models/AppTheme.cs
+++ b/src/CleanMyPosts/Models/AppTheme.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.UI.Models;
+namespace CleanMyPosts.Models;
public enum AppTheme
{
diff --git a/src/UI/Models/NavigationCompletedEventArgs.cs b/src/CleanMyPosts/Models/NavigationCompletedEventArgs.cs
similarity index 72%
rename from src/UI/Models/NavigationCompletedEventArgs.cs
rename to src/CleanMyPosts/Models/NavigationCompletedEventArgs.cs
index d691578..520b542 100644
--- a/src/UI/Models/NavigationCompletedEventArgs.cs
+++ b/src/CleanMyPosts/Models/NavigationCompletedEventArgs.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.UI.Models;
+namespace CleanMyPosts.Models;
public class NavigationCompletedEventArgs : EventArgs
{
diff --git a/src/UI/Models/TimeoutSettings.cs b/src/CleanMyPosts/Models/TimeoutSettings.cs
similarity index 85%
rename from src/UI/Models/TimeoutSettings.cs
rename to src/CleanMyPosts/Models/TimeoutSettings.cs
index d3a596b..354b073 100644
--- a/src/UI/Models/TimeoutSettings.cs
+++ b/src/CleanMyPosts/Models/TimeoutSettings.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.UI.Models;
+namespace CleanMyPosts.Models;
public class TimeoutSettings
{
diff --git a/src/UI/Models/UpdaterConfig.cs b/src/CleanMyPosts/Models/UpdaterConfig.cs
similarity index 88%
rename from src/UI/Models/UpdaterConfig.cs
rename to src/CleanMyPosts/Models/UpdaterConfig.cs
index d07d939..94d7a4f 100644
--- a/src/UI/Models/UpdaterConfig.cs
+++ b/src/CleanMyPosts/Models/UpdaterConfig.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.UI.Models;
+namespace CleanMyPosts.Models;
public class UpdaterConfig
diff --git a/src/UI/Models/UserSettings.cs b/src/CleanMyPosts/Models/UserSettings.cs
similarity index 83%
rename from src/UI/Models/UserSettings.cs
rename to src/CleanMyPosts/Models/UserSettings.cs
index cef3e03..d44c378 100644
--- a/src/UI/Models/UserSettings.cs
+++ b/src/CleanMyPosts/Models/UserSettings.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.UI.Models;
+namespace CleanMyPosts.Models;
public class UserSettings
{
diff --git a/src/UI/Models/WebMessageReceivedEventArgs.cs b/src/CleanMyPosts/Models/WebMessageReceivedEventArgs.cs
similarity index 72%
rename from src/UI/Models/WebMessageReceivedEventArgs.cs
rename to src/CleanMyPosts/Models/WebMessageReceivedEventArgs.cs
index 4b4c25a..71a731c 100644
--- a/src/UI/Models/WebMessageReceivedEventArgs.cs
+++ b/src/CleanMyPosts/Models/WebMessageReceivedEventArgs.cs
@@ -1,4 +1,4 @@
-namespace CleanMyPosts.UI.Models;
+namespace CleanMyPosts.Models;
public class WebMessageReceivedEventArgs : EventArgs
{
diff --git a/src/UI/Models/WindowSettings.cs b/src/CleanMyPosts/Models/WindowSettings.cs
similarity index 90%
rename from src/UI/Models/WindowSettings.cs
rename to src/CleanMyPosts/Models/WindowSettings.cs
index 8650855..cf92f84 100644
--- a/src/UI/Models/WindowSettings.cs
+++ b/src/CleanMyPosts/Models/WindowSettings.cs
@@ -1,6 +1,6 @@
using System.Windows;
-namespace CleanMyPosts.UI.Models;
+namespace CleanMyPosts.Models;
public class WindowSettings
{
diff --git a/src/UI/Properties/Resources.Designer.cs b/src/CleanMyPosts/Properties/Resources.Designer.cs
similarity index 97%
rename from src/UI/Properties/Resources.Designer.cs
rename to src/CleanMyPosts/Properties/Resources.Designer.cs
index 90c6332..63a6046 100644
--- a/src/UI/Properties/Resources.Designer.cs
+++ b/src/CleanMyPosts/Properties/Resources.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace CleanMyPosts.UI.Properties {
+namespace CleanMyPosts.Properties {
using System;
@@ -19,7 +19,7 @@ namespace CleanMyPosts.UI.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
@@ -39,7 +39,7 @@ internal Resources() {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CleanMyPosts.UI.Properties.Resources", typeof(Resources).Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CleanMyPosts.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/src/UI/Properties/Resources.resx b/src/CleanMyPosts/Properties/Resources.resx
similarity index 100%
rename from src/UI/Properties/Resources.resx
rename to src/CleanMyPosts/Properties/Resources.resx
diff --git a/src/UI/Scripts/delete-all-following.js b/src/CleanMyPosts/Scripts/delete-all-following.js
similarity index 100%
rename from src/UI/Scripts/delete-all-following.js
rename to src/CleanMyPosts/Scripts/delete-all-following.js
diff --git a/src/UI/Scripts/delete-all-likes.js b/src/CleanMyPosts/Scripts/delete-all-likes.js
similarity index 100%
rename from src/UI/Scripts/delete-all-likes.js
rename to src/CleanMyPosts/Scripts/delete-all-likes.js
diff --git a/src/UI/Scripts/delete-all-posts.js b/src/CleanMyPosts/Scripts/delete-all-posts.js
similarity index 100%
rename from src/UI/Scripts/delete-all-posts.js
rename to src/CleanMyPosts/Scripts/delete-all-posts.js
diff --git a/src/UI/Scripts/delete-all-replies.js b/src/CleanMyPosts/Scripts/delete-all-replies.js
similarity index 100%
rename from src/UI/Scripts/delete-all-replies.js
rename to src/CleanMyPosts/Scripts/delete-all-replies.js
diff --git a/src/UI/Scripts/delete-all-reposts.js b/src/CleanMyPosts/Scripts/delete-all-reposts.js
similarity index 100%
rename from src/UI/Scripts/delete-all-reposts.js
rename to src/CleanMyPosts/Scripts/delete-all-reposts.js
diff --git a/src/UI/Services/AppSetupService.cs b/src/CleanMyPosts/Services/AppSetupService.cs
similarity index 89%
rename from src/UI/Services/AppSetupService.cs
rename to src/CleanMyPosts/Services/AppSetupService.cs
index 205686b..3867b79 100644
--- a/src/UI/Services/AppSetupService.cs
+++ b/src/CleanMyPosts/Services/AppSetupService.cs
@@ -1,11 +1,11 @@
using System.IO;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Extensions;
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Extensions;
+using CleanMyPosts.ViewModels;
using Microsoft.Extensions.Configuration;
using Serilog;
-namespace CleanMyPosts.UI.Services;
+namespace CleanMyPosts.Services;
public class AppSetupService : IAppSetupService
{
diff --git a/src/UI/Services/ApplicationHostService.cs b/src/CleanMyPosts/Services/ApplicationHostService.cs
similarity index 91%
rename from src/UI/Services/ApplicationHostService.cs
rename to src/CleanMyPosts/Services/ApplicationHostService.cs
index aa5b923..87f2920 100644
--- a/src/UI/Services/ApplicationHostService.cs
+++ b/src/CleanMyPosts/Services/ApplicationHostService.cs
@@ -1,10 +1,10 @@
-using CleanMyPosts.UI.Contracts.Activation;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Contracts.Views;
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.Contracts.Activation;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Contracts.Views;
+using CleanMyPosts.ViewModels;
using Microsoft.Extensions.Hosting;
-namespace CleanMyPosts.UI.Services;
+namespace CleanMyPosts.Services;
public class ApplicationHostService(IServiceProvider serviceProvider,
IEnumerable activationHandlers,
diff --git a/src/Core/Services/FileService.cs b/src/CleanMyPosts/Services/FileService.cs
similarity index 90%
rename from src/Core/Services/FileService.cs
rename to src/CleanMyPosts/Services/FileService.cs
index 6c46cfa..52b92ca 100644
--- a/src/Core/Services/FileService.cs
+++ b/src/CleanMyPosts/Services/FileService.cs
@@ -1,8 +1,9 @@
-using System.Text;
-using CleanMyPosts.Core.Contracts.Services;
+using System.IO;
+using System.Text;
+using CleanMyPosts.Contracts.Services;
using Newtonsoft.Json;
-namespace CleanMyPosts.Core.Services;
+namespace CleanMyPosts.Services;
public class FileService : IFileService
{
diff --git a/src/UI/Services/HostService.cs b/src/CleanMyPosts/Services/HostService.cs
similarity index 87%
rename from src/UI/Services/HostService.cs
rename to src/CleanMyPosts/Services/HostService.cs
index dee57ff..28118ca 100644
--- a/src/UI/Services/HostService.cs
+++ b/src/CleanMyPosts/Services/HostService.cs
@@ -1,17 +1,15 @@
-using CleanMyPosts.Core.Contracts.Services;
-using CleanMyPosts.Core.Services;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Contracts.Views;
-using CleanMyPosts.UI.Models;
-using CleanMyPosts.UI.ViewModels;
-using CleanMyPosts.UI.Views;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Contracts.Views;
+using CleanMyPosts.Models;
+using CleanMyPosts.ViewModels;
+using CleanMyPosts.Views;
using MahApps.Metro.Controls.Dialogs;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Serilog;
-namespace CleanMyPosts.UI.Services;
+namespace CleanMyPosts.Services;
public class HostService : IHostService
{
diff --git a/src/UI/Services/NavigationService.cs b/src/CleanMyPosts/Services/NavigationService.cs
similarity index 92%
rename from src/UI/Services/NavigationService.cs
rename to src/CleanMyPosts/Services/NavigationService.cs
index 4e31cdd..354c7e9 100644
--- a/src/UI/Services/NavigationService.cs
+++ b/src/CleanMyPosts/Services/NavigationService.cs
@@ -1,10 +1,10 @@
using System.Windows.Controls;
using System.Windows.Navigation;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Contracts.ViewModels;
-using CleanMyPosts.UI.Extensions;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Contracts.ViewModels;
+using CleanMyPosts.Extensions;
-namespace CleanMyPosts.UI.Services;
+namespace CleanMyPosts.Services;
public class NavigationService(IPageService pageService) : INavigationService
{
diff --git a/src/UI/Services/PageService.cs b/src/CleanMyPosts/Services/PageService.cs
similarity index 92%
rename from src/UI/Services/PageService.cs
rename to src/CleanMyPosts/Services/PageService.cs
index f5fe9e1..b495422 100644
--- a/src/UI/Services/PageService.cs
+++ b/src/CleanMyPosts/Services/PageService.cs
@@ -1,10 +1,10 @@
using System.Windows.Controls;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.ViewModels;
-using CleanMyPosts.UI.Views;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.ViewModels;
+using CleanMyPosts.Views;
using CommunityToolkit.Mvvm.ComponentModel;
-namespace CleanMyPosts.UI.Services;
+namespace CleanMyPosts.Services;
public class PageService : IPageService
{
diff --git a/src/UI/Services/UserSettingsService.cs b/src/CleanMyPosts/Services/UserSettingsService.cs
similarity index 96%
rename from src/UI/Services/UserSettingsService.cs
rename to src/CleanMyPosts/Services/UserSettingsService.cs
index 72afc89..d59a21f 100644
--- a/src/UI/Services/UserSettingsService.cs
+++ b/src/CleanMyPosts/Services/UserSettingsService.cs
@@ -1,12 +1,11 @@
using System.IO;
using System.Windows;
-using CleanMyPosts.Core.Contracts.Services;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Models;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Models;
using ControlzEx.Theming;
using MahApps.Metro.Theming;
-namespace CleanMyPosts.UI.Services;
+namespace CleanMyPosts.Services;
public class UserSettingsService(IFileService fileService, AppConfig appConfig) : IUserSettingsService
{
diff --git a/src/UI/Services/WebViewHostService.cs b/src/CleanMyPosts/Services/WebViewHostService.cs
similarity index 95%
rename from src/UI/Services/WebViewHostService.cs
rename to src/CleanMyPosts/Services/WebViewHostService.cs
index e58b2cd..c6302f1 100644
--- a/src/UI/Services/WebViewHostService.cs
+++ b/src/CleanMyPosts/Services/WebViewHostService.cs
@@ -1,12 +1,12 @@
using System.IO;
using System.Windows;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Models;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Models;
using Microsoft.Extensions.Logging;
using Microsoft.Web.WebView2.Core;
using Microsoft.Web.WebView2.Wpf;
-namespace CleanMyPosts.UI.Services;
+namespace CleanMyPosts.Services;
public class WebViewHostService(ILogger logger) : IWebViewHostService
{
diff --git a/src/UI/Services/WindowManagerService.cs b/src/CleanMyPosts/Services/WindowManagerService.cs
similarity index 93%
rename from src/UI/Services/WindowManagerService.cs
rename to src/CleanMyPosts/Services/WindowManagerService.cs
index 290c058..51709a2 100644
--- a/src/UI/Services/WindowManagerService.cs
+++ b/src/CleanMyPosts/Services/WindowManagerService.cs
@@ -1,13 +1,13 @@
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Contracts.ViewModels;
-using CleanMyPosts.UI.Contracts.Views;
-using CleanMyPosts.UI.Extensions;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Contracts.ViewModels;
+using CleanMyPosts.Contracts.Views;
+using CleanMyPosts.Extensions;
using MahApps.Metro.Controls;
-namespace CleanMyPosts.UI.Services;
+namespace CleanMyPosts.Services;
public class WindowManagerService(IServiceProvider serviceProvider, IPageService pageService) : IWindowManagerService
{
diff --git a/src/UI/Services/XScriptService.cs b/src/CleanMyPosts/Services/XScriptService.cs
similarity index 98%
rename from src/UI/Services/XScriptService.cs
rename to src/CleanMyPosts/Services/XScriptService.cs
index 3f76e6b..2028ccc 100644
--- a/src/UI/Services/XScriptService.cs
+++ b/src/CleanMyPosts/Services/XScriptService.cs
@@ -1,12 +1,11 @@
using System.IO;
using System.Net;
using Ardalis.GuardClauses;
-using CleanMyPosts.Core.Contracts.Services;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Helpers;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Helpers;
using Microsoft.Extensions.Logging;
-namespace CleanMyPosts.UI.Services;
+namespace CleanMyPosts.Services;
public class XScriptService(ILogger logger, IWebViewHostService webViewHostService, IUserSettingsService userSettingsService, IFileService fileService) : IXScriptService
{
diff --git a/src/UI/Styles/Button.xaml b/src/CleanMyPosts/Styles/Button.xaml
similarity index 100%
rename from src/UI/Styles/Button.xaml
rename to src/CleanMyPosts/Styles/Button.xaml
diff --git a/src/UI/Styles/ListView.xaml b/src/CleanMyPosts/Styles/ListView.xaml
similarity index 100%
rename from src/UI/Styles/ListView.xaml
rename to src/CleanMyPosts/Styles/ListView.xaml
diff --git a/src/UI/Styles/MetroWindow.xaml b/src/CleanMyPosts/Styles/MetroWindow.xaml
similarity index 100%
rename from src/UI/Styles/MetroWindow.xaml
rename to src/CleanMyPosts/Styles/MetroWindow.xaml
diff --git a/src/UI/Styles/TextBlock.xaml b/src/CleanMyPosts/Styles/TextBlock.xaml
similarity index 100%
rename from src/UI/Styles/TextBlock.xaml
rename to src/CleanMyPosts/Styles/TextBlock.xaml
diff --git a/src/UI/Styles/Themes/HC.Dark.Blue.xaml b/src/CleanMyPosts/Styles/Themes/HC.Dark.Blue.xaml
similarity index 100%
rename from src/UI/Styles/Themes/HC.Dark.Blue.xaml
rename to src/CleanMyPosts/Styles/Themes/HC.Dark.Blue.xaml
diff --git a/src/UI/Styles/Themes/HC.Light.Blue.xaml b/src/CleanMyPosts/Styles/Themes/HC.Light.Blue.xaml
similarity index 100%
rename from src/UI/Styles/Themes/HC.Light.Blue.xaml
rename to src/CleanMyPosts/Styles/Themes/HC.Light.Blue.xaml
diff --git a/src/UI/Styles/_FontSizes.xaml b/src/CleanMyPosts/Styles/_FontSizes.xaml
similarity index 100%
rename from src/UI/Styles/_FontSizes.xaml
rename to src/CleanMyPosts/Styles/_FontSizes.xaml
diff --git a/src/UI/Styles/_Thickness.xaml b/src/CleanMyPosts/Styles/_Thickness.xaml
similarity index 100%
rename from src/UI/Styles/_Thickness.xaml
rename to src/CleanMyPosts/Styles/_Thickness.xaml
diff --git a/src/UI/TemplateSelectors/MenuItemTemplateSelector.cs b/src/CleanMyPosts/TemplateSelectors/MenuItemTemplateSelector.cs
similarity index 93%
rename from src/UI/TemplateSelectors/MenuItemTemplateSelector.cs
rename to src/CleanMyPosts/TemplateSelectors/MenuItemTemplateSelector.cs
index bfc0f6f..92f7b2d 100644
--- a/src/UI/TemplateSelectors/MenuItemTemplateSelector.cs
+++ b/src/CleanMyPosts/TemplateSelectors/MenuItemTemplateSelector.cs
@@ -2,7 +2,7 @@
using System.Windows.Controls;
using MahApps.Metro.Controls;
-namespace CleanMyPosts.UI.TemplateSelectors;
+namespace CleanMyPosts.TemplateSelectors;
public class MenuItemTemplateSelector : DataTemplateSelector
{
diff --git a/src/UI/ViewModels/LogViewModel.cs b/src/CleanMyPosts/ViewModels/LogViewModel.cs
similarity index 92%
rename from src/UI/ViewModels/LogViewModel.cs
rename to src/CleanMyPosts/ViewModels/LogViewModel.cs
index d95da5b..2cfe96a 100644
--- a/src/UI/ViewModels/LogViewModel.cs
+++ b/src/CleanMyPosts/ViewModels/LogViewModel.cs
@@ -2,7 +2,7 @@
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
-namespace CleanMyPosts.UI.ViewModels;
+namespace CleanMyPosts.ViewModels;
public partial class LogViewModel : ObservableObject
{
diff --git a/src/UI/ViewModels/SettingsViewModel.cs b/src/CleanMyPosts/ViewModels/SettingsViewModel.cs
similarity index 97%
rename from src/UI/ViewModels/SettingsViewModel.cs
rename to src/CleanMyPosts/ViewModels/SettingsViewModel.cs
index b94ccd9..3911849 100644
--- a/src/UI/ViewModels/SettingsViewModel.cs
+++ b/src/CleanMyPosts/ViewModels/SettingsViewModel.cs
@@ -3,15 +3,15 @@
using System.Windows;
using System.Windows.Resources;
using AutoUpdaterDotNET;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Contracts.ViewModels;
-using CleanMyPosts.UI.Helpers;
-using CleanMyPosts.UI.Models;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Contracts.ViewModels;
+using CleanMyPosts.Helpers;
+using CleanMyPosts.Models;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Microsoft.Extensions.Logging;
-namespace CleanMyPosts.UI.ViewModels;
+namespace CleanMyPosts.ViewModels;
public partial class SettingsViewModel(ILogger logger,
UpdaterConfig updaterConfig,
diff --git a/src/UI/ViewModels/ShellDialogViewModel.cs b/src/CleanMyPosts/ViewModels/ShellDialogViewModel.cs
similarity index 88%
rename from src/UI/ViewModels/ShellDialogViewModel.cs
rename to src/CleanMyPosts/ViewModels/ShellDialogViewModel.cs
index 3e17f6e..a4e8147 100644
--- a/src/UI/ViewModels/ShellDialogViewModel.cs
+++ b/src/CleanMyPosts/ViewModels/ShellDialogViewModel.cs
@@ -1,7 +1,7 @@
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
-namespace CleanMyPosts.UI.ViewModels;
+namespace CleanMyPosts.ViewModels;
public partial class ShellDialogViewModel : ObservableObject
{
diff --git a/src/UI/ViewModels/ShellViewModel.cs b/src/CleanMyPosts/ViewModels/ShellViewModel.cs
similarity index 97%
rename from src/UI/ViewModels/ShellViewModel.cs
rename to src/CleanMyPosts/ViewModels/ShellViewModel.cs
index fad6b8f..e6916ac 100644
--- a/src/UI/ViewModels/ShellViewModel.cs
+++ b/src/CleanMyPosts/ViewModels/ShellViewModel.cs
@@ -1,13 +1,13 @@
using System.Collections.ObjectModel;
using System.Windows;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Properties;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Properties;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using MahApps.Metro.Controls;
using MahApps.Metro.IconPacks;
-namespace CleanMyPosts.UI.ViewModels;
+namespace CleanMyPosts.ViewModels;
public partial class ShellViewModel : ObservableObject, IDisposable
{
diff --git a/src/UI/ViewModels/XViewModel.cs b/src/CleanMyPosts/ViewModels/XViewModel.cs
similarity index 99%
rename from src/UI/ViewModels/XViewModel.cs
rename to src/CleanMyPosts/ViewModels/XViewModel.cs
index 9c11ec4..ba2bc61 100644
--- a/src/UI/ViewModels/XViewModel.cs
+++ b/src/CleanMyPosts/ViewModels/XViewModel.cs
@@ -1,14 +1,14 @@
using System.Windows;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Models;
-using CleanMyPosts.UI.Views;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Models;
+using CleanMyPosts.Views;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using MahApps.Metro.Controls.Dialogs;
using Microsoft.Extensions.Logging;
using Microsoft.Web.WebView2.Wpf;
-namespace CleanMyPosts.UI.ViewModels;
+namespace CleanMyPosts.ViewModels;
public partial class XViewModel : ObservableObject
{
diff --git a/src/UI/Views/LogPage.xaml b/src/CleanMyPosts/Views/LogPage.xaml
similarity index 94%
rename from src/UI/Views/LogPage.xaml
rename to src/CleanMyPosts/Views/LogPage.xaml
index 23b78ef..9679b4a 100644
--- a/src/UI/Views/LogPage.xaml
+++ b/src/CleanMyPosts/Views/LogPage.xaml
@@ -1,11 +1,11 @@
diff --git a/src/UI/Views/LogPage.xaml.cs b/src/CleanMyPosts/Views/LogPage.xaml.cs
similarity index 98%
rename from src/UI/Views/LogPage.xaml.cs
rename to src/CleanMyPosts/Views/LogPage.xaml.cs
index 02b7595..3aed3dd 100644
--- a/src/UI/Views/LogPage.xaml.cs
+++ b/src/CleanMyPosts/Views/LogPage.xaml.cs
@@ -3,11 +3,11 @@
using System.Text;
using System.Windows;
using System.Windows.Controls;
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.ViewModels;
using ControlzEx.Theming;
using Microsoft.Web.WebView2.Core;
-namespace CleanMyPosts.UI.Views;
+namespace CleanMyPosts.Views;
public partial class LogPage : Page
{
diff --git a/src/UI/Views/OverlayPleaseWaitWindow.xaml b/src/CleanMyPosts/Views/OverlayPleaseWaitWindow.xaml
similarity index 94%
rename from src/UI/Views/OverlayPleaseWaitWindow.xaml
rename to src/CleanMyPosts/Views/OverlayPleaseWaitWindow.xaml
index c15b608..724edbf 100644
--- a/src/UI/Views/OverlayPleaseWaitWindow.xaml
+++ b/src/CleanMyPosts/Views/OverlayPleaseWaitWindow.xaml
@@ -1,5 +1,5 @@
// This window does not use MVVM because WebView2 renders as a separate HWND,
diff --git a/src/UI/Views/SettingsPage.xaml b/src/CleanMyPosts/Views/SettingsPage.xaml
similarity index 98%
rename from src/UI/Views/SettingsPage.xaml
rename to src/CleanMyPosts/Views/SettingsPage.xaml
index 8d83d6b..b6b0e92 100644
--- a/src/UI/Views/SettingsPage.xaml
+++ b/src/CleanMyPosts/Views/SettingsPage.xaml
@@ -1,16 +1,16 @@
diff --git a/src/UI/Views/XPage.xaml.cs b/src/CleanMyPosts/Views/XPage.xaml.cs
similarity index 91%
rename from src/UI/Views/XPage.xaml.cs
rename to src/CleanMyPosts/Views/XPage.xaml.cs
index d56244c..61c539a 100644
--- a/src/UI/Views/XPage.xaml.cs
+++ b/src/CleanMyPosts/Views/XPage.xaml.cs
@@ -1,9 +1,9 @@
using System.Windows;
using System.Windows.Controls;
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.ViewModels;
using MahApps.Metro.Controls.Dialogs;
-namespace CleanMyPosts.UI.Views;
+namespace CleanMyPosts.Views;
public partial class XPage : Page
{
diff --git a/src/UI/app.manifest b/src/CleanMyPosts/app.manifest
similarity index 100%
rename from src/UI/app.manifest
rename to src/CleanMyPosts/app.manifest
diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj
deleted file mode 100644
index 4e09731..0000000
--- a/src/Core/Core.csproj
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- netstandard2.0
- latest
- enable
- CleanMyPosts.Core
- CleanMyPosts.Core
- latest
- True
-
-
-
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
diff --git a/src/Tests/Converters/EnumToBooleanConverterTests.cs b/src/Tests/Converters/EnumToBooleanConverterTests.cs
index 412aab5..72309b2 100644
--- a/src/Tests/Converters/EnumToBooleanConverterTests.cs
+++ b/src/Tests/Converters/EnumToBooleanConverterTests.cs
@@ -1,6 +1,7 @@
namespace CleanMyPosts.Tests.Converters;
+
using System.Globalization;
-using CleanMyPosts.UI.Converters;
+using CleanMyPosts.Converters;
using FluentAssertions;
using Xunit;
diff --git a/src/Tests/Exception/CleanMyPostsExceptionTests.cs b/src/Tests/Exceptions/CleanMyPostsExceptionTests.cs
similarity index 93%
rename from src/Tests/Exception/CleanMyPostsExceptionTests.cs
rename to src/Tests/Exceptions/CleanMyPostsExceptionTests.cs
index 8a6cd8b..fecca64 100644
--- a/src/Tests/Exception/CleanMyPostsExceptionTests.cs
+++ b/src/Tests/Exceptions/CleanMyPostsExceptionTests.cs
@@ -1,8 +1,8 @@
-using CleanMyPosts.Core.Exception;
+using CleanMyPosts.Exceptions;
using FluentAssertions;
using Xunit;
-namespace CleanMyPosts.Tests.Exception;
+namespace CleanMyPosts.Tests.Exceptions;
[Trait("Category", "Unit")]
public class CleanMyPostsExceptionTests
diff --git a/src/Tests/Extensions/FrameExtensionsTests.cs b/src/Tests/Extensions/FrameExtensionsTests.cs
index 7e85b58..2afd190 100644
--- a/src/Tests/Extensions/FrameExtensionsTests.cs
+++ b/src/Tests/Extensions/FrameExtensionsTests.cs
@@ -1,6 +1,6 @@
using System.Windows;
using System.Windows.Controls;
-using CleanMyPosts.UI.Extensions;
+using CleanMyPosts.Extensions;
using FluentAssertions;
using Xunit;
diff --git a/src/Tests/Extensions/LogViewModelSinkExtensionsTests.cs b/src/Tests/Extensions/LogViewModelSinkExtensionsTests.cs
index 1024d94..b14d17c 100644
--- a/src/Tests/Extensions/LogViewModelSinkExtensionsTests.cs
+++ b/src/Tests/Extensions/LogViewModelSinkExtensionsTests.cs
@@ -1,5 +1,5 @@
using CleanMyPosts.Tests.Helpers;
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.ViewModels;
using Serilog;
using Serilog.Configuration;
diff --git a/src/Tests/Extensions/WindowExtensionsTests.cs b/src/Tests/Extensions/WindowExtensionsTests.cs
index 37562fb..19d8323 100644
--- a/src/Tests/Extensions/WindowExtensionsTests.cs
+++ b/src/Tests/Extensions/WindowExtensionsTests.cs
@@ -1,7 +1,7 @@
using System.Windows;
using System.Windows.Controls;
using System.Windows.Threading;
-using CleanMyPosts.UI.Extensions;
+using CleanMyPosts.Extensions;
using FluentAssertions;
using Xunit;
diff --git a/src/Tests/Helpers/HelperTests.cs b/src/Tests/Helpers/HelperTests.cs
index 25f03b3..c538bc8 100644
--- a/src/Tests/Helpers/HelperTests.cs
+++ b/src/Tests/Helpers/HelperTests.cs
@@ -1,4 +1,4 @@
-using CleanMyPosts.UI.Helpers;
+using CleanMyPosts.Helpers;
using FluentAssertions;
using Xunit;
diff --git a/src/Tests/Helpers/LogViewModelSinkTests.cs b/src/Tests/Helpers/LogViewModelSinkTests.cs
index fc740da..a85c9d7 100644
--- a/src/Tests/Helpers/LogViewModelSinkTests.cs
+++ b/src/Tests/Helpers/LogViewModelSinkTests.cs
@@ -1,4 +1,4 @@
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.ViewModels;
using Serilog.Core;
using Serilog.Events;
diff --git a/src/Tests/Services/AppSetupServiceTests.cs b/src/Tests/Services/AppSetupServiceTests.cs
index 0cf0cea..1d8fc05 100644
--- a/src/Tests/Services/AppSetupServiceTests.cs
+++ b/src/Tests/Services/AppSetupServiceTests.cs
@@ -1,5 +1,5 @@
-using CleanMyPosts.UI.Services;
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.Services;
+using CleanMyPosts.ViewModels;
using FluentAssertions;
using Microsoft.Extensions.Configuration;
using Xunit;
diff --git a/src/Tests/Services/FileServiceTests.cs b/src/Tests/Services/FileServiceTests.cs
index e17918f..6aff8d6 100644
--- a/src/Tests/Services/FileServiceTests.cs
+++ b/src/Tests/Services/FileServiceTests.cs
@@ -1,5 +1,5 @@
using System.Text;
-using CleanMyPosts.Core.Services;
+using CleanMyPosts.Services;
using FluentAssertions;
using Xunit;
diff --git a/src/Tests/Services/PageServiceTests.cs b/src/Tests/Services/PageServiceTests.cs
index e8413d4..ffb108e 100644
--- a/src/Tests/Services/PageServiceTests.cs
+++ b/src/Tests/Services/PageServiceTests.cs
@@ -1,7 +1,7 @@
using System.Windows.Controls;
-using CleanMyPosts.UI.Services;
-using CleanMyPosts.UI.ViewModels;
-using CleanMyPosts.UI.Views;
+using CleanMyPosts.Services;
+using CleanMyPosts.ViewModels;
+using CleanMyPosts.Views;
using FluentAssertions;
using Moq;
using Xunit;
diff --git a/src/Tests/Services/UserSettingsServiceTests.cs b/src/Tests/Services/UserSettingsServiceTests.cs
index 8f0eea7..3ab7f6d 100644
--- a/src/Tests/Services/UserSettingsServiceTests.cs
+++ b/src/Tests/Services/UserSettingsServiceTests.cs
@@ -1,7 +1,7 @@
using System.Windows;
-using CleanMyPosts.Core.Contracts.Services;
-using CleanMyPosts.UI.Models;
-using CleanMyPosts.UI.Services;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Models;
+using CleanMyPosts.Services;
using FluentAssertions;
using Moq;
using Xunit;
diff --git a/src/Tests/Services/XScriptServiceTests.cs b/src/Tests/Services/XScriptServiceTests.cs
index 6881379..83981b0 100644
--- a/src/Tests/Services/XScriptServiceTests.cs
+++ b/src/Tests/Services/XScriptServiceTests.cs
@@ -1,12 +1,11 @@
-using CleanMyPosts.Core.Contracts.Services;
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Models;
-using CleanMyPosts.UI.Services;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Models;
+using CleanMyPosts.Services;
using Microsoft.Extensions.Logging;
using Moq;
using Xunit;
-namespace CleanMyPosts.UI.Tests.Services;
+namespace CleanMyPosts.Tests.Services;
[Trait("Category", "Unit")]
public class XScriptServiceTests
diff --git a/src/Tests/TemplateSelectors/MenuItemTemplateSelectorTests.cs b/src/Tests/TemplateSelectors/MenuItemTemplateSelectorTests.cs
index 9b9a4ec..5c3820a 100644
--- a/src/Tests/TemplateSelectors/MenuItemTemplateSelectorTests.cs
+++ b/src/Tests/TemplateSelectors/MenuItemTemplateSelectorTests.cs
@@ -1,5 +1,5 @@
using System.Windows;
-using CleanMyPosts.UI.TemplateSelectors;
+using CleanMyPosts.TemplateSelectors;
using FluentAssertions;
using MahApps.Metro.Controls;
using Xunit;
diff --git a/src/Tests/Tests.csproj b/src/Tests/Tests.csproj
index 63a52f9..7d1ec72 100644
--- a/src/Tests/Tests.csproj
+++ b/src/Tests/Tests.csproj
@@ -1,7 +1,7 @@
- net9.0-windows
+ net10.0-windows
false
x64;x86;AnyCPU
CleanMyPosts.Tests
@@ -23,15 +23,15 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
+
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
@@ -39,7 +39,7 @@
-
+
diff --git a/src/Tests/ViewModels/LogViewModelTests.cs b/src/Tests/ViewModels/LogViewModelTests.cs
index 22da082..341f819 100644
--- a/src/Tests/ViewModels/LogViewModelTests.cs
+++ b/src/Tests/ViewModels/LogViewModelTests.cs
@@ -1,4 +1,4 @@
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.ViewModels;
using FluentAssertions;
using Xunit;
diff --git a/src/Tests/ViewModels/SettingsViewModelTests.cs b/src/Tests/ViewModels/SettingsViewModelTests.cs
index d16be83..890d9d0 100644
--- a/src/Tests/ViewModels/SettingsViewModelTests.cs
+++ b/src/Tests/ViewModels/SettingsViewModelTests.cs
@@ -1,6 +1,6 @@
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Models;
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Models;
+using CleanMyPosts.ViewModels;
using Microsoft.Extensions.Logging;
using Moq;
using Xunit;
diff --git a/src/Tests/ViewModels/ShellDialogViewModelTests.cs b/src/Tests/ViewModels/ShellDialogViewModelTests.cs
index f137276..c37ba4f 100644
--- a/src/Tests/ViewModels/ShellDialogViewModelTests.cs
+++ b/src/Tests/ViewModels/ShellDialogViewModelTests.cs
@@ -1,4 +1,4 @@
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.ViewModels;
using FluentAssertions;
using Xunit;
diff --git a/src/Tests/ViewModels/XViewModelTests.cs b/src/Tests/ViewModels/XViewModelTests.cs
index 738d214..ad5612a 100644
--- a/src/Tests/ViewModels/XViewModelTests.cs
+++ b/src/Tests/ViewModels/XViewModelTests.cs
@@ -1,6 +1,6 @@
-using CleanMyPosts.UI.Contracts.Services;
-using CleanMyPosts.UI.Models;
-using CleanMyPosts.UI.ViewModels;
+using CleanMyPosts.Contracts.Services;
+using CleanMyPosts.Models;
+using CleanMyPosts.ViewModels;
using CommunityToolkit.Mvvm.Input;
using MahApps.Metro.Controls.Dialogs;
using Microsoft.Extensions.Logging;
@@ -8,7 +8,7 @@
using Moq;
using Xunit;
-namespace CleanMyPosts.UI.Tests.ViewModels;
+namespace CleanMyPosts.Tests.ViewModels;
[Trait("Category", "Unit")]
public class XViewModelTests