diff --git a/src/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj b/src/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj
new file mode 100644
index 0000000..bafd05b
--- /dev/null
+++ b/src/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
diff --git a/src/FileTime.ConsoleUI.App/UI/Color/IColoredConsoleRenderer.cs b/src/FileTime.App.Style.Abstraction/IColoredConsoleRenderer.cs
similarity index 100%
rename from src/FileTime.ConsoleUI.App/UI/Color/IColoredConsoleRenderer.cs
rename to src/FileTime.App.Style.Abstraction/IColoredConsoleRenderer.cs
diff --git a/src/FileTime.ConsoleUI.App/UI/Color/IConsoleColor.cs b/src/FileTime.App.Style.Abstraction/IConsoleColor.cs
similarity index 100%
rename from src/FileTime.ConsoleUI.App/UI/Color/IConsoleColor.cs
rename to src/FileTime.App.Style.Abstraction/IConsoleColor.cs
diff --git a/src/FileTime.ConsoleUI.App/UI/IStyles.cs b/src/FileTime.App.Style.Abstraction/IStyles.cs
similarity index 93%
rename from src/FileTime.ConsoleUI.App/UI/IStyles.cs
rename to src/FileTime.App.Style.Abstraction/IStyles.cs
index 0833745..ce25317 100644
--- a/src/FileTime.ConsoleUI.App/UI/IStyles.cs
+++ b/src/FileTime.App.Style.Abstraction/IStyles.cs
@@ -15,6 +15,7 @@ namespace FileTime.ConsoleUI.App.UI
IConsoleColor? SelectedItemBackground { get; }
IConsoleColor? SelectedItemForeground { get; }
IConsoleColor? ErrorColor { get; }
+ IConsoleColor? ErrorInverseColor { get; }
IConsoleColor? AccentForeground { get; }
}
}
\ No newline at end of file
diff --git a/src/FileTime.ConsoleUI.App/UI/Color/AnsiColor.cs b/src/FileTime.App.Style/Color/AnsiColor.cs
similarity index 100%
rename from src/FileTime.ConsoleUI.App/UI/Color/AnsiColor.cs
rename to src/FileTime.App.Style/Color/AnsiColor.cs
diff --git a/src/FileTime.ConsoleUI.App/UI/Color/BasicColor.cs b/src/FileTime.App.Style/Color/BasicColor.cs
similarity index 100%
rename from src/FileTime.ConsoleUI.App/UI/Color/BasicColor.cs
rename to src/FileTime.App.Style/Color/BasicColor.cs
diff --git a/src/FileTime.ConsoleUI.App/UI/Color/ColoredConsoleRenderer.cs b/src/FileTime.App.Style/Color/ColoredConsoleRenderer.cs
similarity index 100%
rename from src/FileTime.ConsoleUI.App/UI/Color/ColoredConsoleRenderer.cs
rename to src/FileTime.App.Style/Color/ColoredConsoleRenderer.cs
diff --git a/src/FileTime.App.Style/FileTime.App.Style.csproj b/src/FileTime.App.Style/FileTime.App.Style.csproj
new file mode 100644
index 0000000..3690ac4
--- /dev/null
+++ b/src/FileTime.App.Style/FileTime.App.Style.csproj
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
diff --git a/src/FileTime.ConsoleUI.App/UI/Styles.cs b/src/FileTime.App.Style/Styles.cs
similarity index 91%
rename from src/FileTime.ConsoleUI.App/UI/Styles.cs
rename to src/FileTime.App.Style/Styles.cs
index e43caea..1d72709 100644
--- a/src/FileTime.ConsoleUI.App/UI/Styles.cs
+++ b/src/FileTime.App.Style/Styles.cs
@@ -16,6 +16,7 @@ namespace FileTime.ConsoleUI.App.UI
public IConsoleColor? SelectedItemForeground { get; }
public IConsoleColor? ErrorColor { get; }
+ public IConsoleColor? ErrorInverseColor { get; }
public IConsoleColor? AccentForeground { get; }
public Styles(bool useAnsiColors)
@@ -29,6 +30,7 @@ namespace FileTime.ConsoleUI.App.UI
ElementBackground = AnsiColor.From8bit(0);
ErrorColor = AnsiColor.From8bit(1);
+ ErrorInverseColor = AnsiColor.From8bit(15);
AccentForeground = AnsiColor.From8bit(2);
}
else
@@ -40,6 +42,7 @@ namespace FileTime.ConsoleUI.App.UI
SelectedItemForeground = new BasicColor(ConsoleColor.DarkYellow);
ErrorColor = new BasicColor(ConsoleColor.Red);
+ ErrorInverseColor = new BasicColor(ConsoleColor.White);
AccentForeground = new BasicColor(ConsoleColor.Green);
}
diff --git a/src/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj b/src/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj
index 61abf8d..fce546b 100644
--- a/src/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj
+++ b/src/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj
@@ -2,6 +2,7 @@
+
diff --git a/src/FileTime.ConsoleUI.App/UI/Render.cs b/src/FileTime.ConsoleUI.App/UI/Render.cs
index 0aa4597..5c96df3 100644
--- a/src/FileTime.ConsoleUI.App/UI/Render.cs
+++ b/src/FileTime.ConsoleUI.App/UI/Render.cs
@@ -232,8 +232,8 @@ namespace FileTime.ConsoleUI.App.UI
}
else
{
- _coloredRenderer.BackgroundColor = new BasicColor(ConsoleColor.Red);
- _coloredRenderer.ForegroundColor = new BasicColor(ConsoleColor.White);
+ _coloredRenderer.BackgroundColor = _appStyle.ErrorColor;
+ _coloredRenderer.ForegroundColor = _appStyle.ErrorInverseColor;
Console.SetCursorPosition(startX, startY + currentY++);
_coloredRenderer.Write($"{{0,-{elementWidth}}}", _paddingLeft + "" + _paddingRight);
diff --git a/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj b/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj
index 5278e2e..45f9cf0 100644
--- a/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj
+++ b/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj
@@ -4,6 +4,7 @@
+
diff --git a/src/FileTime.sln b/src/FileTime.sln
index d0b752e..7c57be0 100644
--- a/src/FileTime.sln
+++ b/src/FileTime.sln
@@ -15,6 +15,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.Providers.Local",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.App.Core", "FileTime.App.Core\FileTime.App.Core.csproj", "{2C0F630D-FD5D-4554-B8DD-F11BF4EB49C5}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.App.Style", "FileTime.App.Style\FileTime.App.Style.csproj", "{92961CA3-ECAB-4920-95CA-F37E8F3EFDFA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.App.Style.Abstraction", "FileTime.App.Style.Abstraction\FileTime.App.Style.Abstraction.csproj", "{BEA824B0-7684-44FF-95BF-A75E92A36C9F}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -48,6 +52,14 @@ Global
{2C0F630D-FD5D-4554-B8DD-F11BF4EB49C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2C0F630D-FD5D-4554-B8DD-F11BF4EB49C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2C0F630D-FD5D-4554-B8DD-F11BF4EB49C5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {92961CA3-ECAB-4920-95CA-F37E8F3EFDFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {92961CA3-ECAB-4920-95CA-F37E8F3EFDFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {92961CA3-ECAB-4920-95CA-F37E8F3EFDFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {92961CA3-ECAB-4920-95CA-F37E8F3EFDFA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BEA824B0-7684-44FF-95BF-A75E92A36C9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BEA824B0-7684-44FF-95BF-A75E92A36C9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BEA824B0-7684-44FF-95BF-A75E92A36C9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BEA824B0-7684-44FF-95BF-A75E92A36C9F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{AAE01ED7-2E8B-40A2-AD0E-95BDA7C99272} = {517D96CE-A956-4638-A93D-465D34DE22B1}