diff --git a/firmware/application/apps/ui_about_simple.cpp b/firmware/application/apps/ui_about_simple.cpp index 2853c7bca..953999bbc 100644 --- a/firmware/application/apps/ui_about_simple.cpp +++ b/firmware/application/apps/ui_about_simple.cpp @@ -34,6 +34,7 @@ constexpr std::string_view mayhem_information_list[] = { "RedFox-Fr,nemanjan00,", "MichalLeonBorsuk,", "MatiasFernandez,Giorgiofox", + "TommasoVentafridda", " ", "#Havoc:", "jboone,furrtek,eried,argilo,", diff --git a/firmware/application/apps/ui_settings.hpp b/firmware/application/apps/ui_settings.hpp index 050785cfb..dcab27d5e 100644 --- a/firmware/application/apps/ui_settings.hpp +++ b/firmware/application/apps/ui_settings.hpp @@ -954,6 +954,7 @@ class SetThemeView : public View { {"Aqua", 2}, {"Green", 3}, {"Red", 4}, + {"Dark", 5}, }, true}; diff --git a/firmware/application/theme.cpp b/firmware/application/theme.cpp index 7744d6c37..22b42f887 100644 --- a/firmware/application/theme.cpp +++ b/firmware/application/theme.cpp @@ -1,4 +1,3 @@ - #include "theme.hpp" namespace ui { @@ -25,6 +24,9 @@ void Theme::SetTheme(ThemeId theme) { case Red: current = new ThemeRed(); break; + case Dark: + current = new ThemeDark(); + break; case DefaultGrey: default: current = new ThemeDefault(); @@ -725,4 +727,137 @@ ThemeRed::ThemeRed() { bg_table_header = new Color{205, 30, 0}; } +ThemeDark::ThemeDark() { + bg_lightest = new Style{ + .font = font::fixed_8x16, + .background = {32, 32, 32}, + .foreground = Color::white(), + }; + bg_lightest_small = new Style{ + .font = font::fixed_5x8, + .background = {32, 32, 32}, + .foreground = Color::white(), + }; + bg_light = new Style{ + .font = font::fixed_8x16, + .background = {24, 24, 24}, + .foreground = Color::white(), + }; + bg_medium = new Style{ + .font = font::fixed_8x16, + .background = {16, 16, 16}, + .foreground = Color::white(), + }; + bg_dark = new Style{ + .font = font::fixed_8x16, + .background = {8, 8, 8}, + .foreground = Color::white(), + }; + bg_darker = new Style{ + .font = font::fixed_8x16, + .background = {4, 4, 4}, + .foreground = Color::white(), + }; + + bg_darkest = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::white(), + }; + bg_darkest_small = new Style{ + .font = font::fixed_5x8, + .background = Color::black(), + .foreground = Color::white(), + }; + + bg_important_small = new Style{ + .font = font::fixed_5x8, + .background = {64, 64, 64}, + .foreground = Color::white(), + }; + + error_dark = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::red(), + }; + warning_dark = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::yellow(), + }; + ok_dark = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::green(), + }; + + fg_dark = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = {96, 96, 96}, + }; + fg_medium = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = {128, 128, 128}, + }; + fg_light = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::white(), + }; + + fg_red = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::red(), + }; + fg_green = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::green(), + }; + fg_yellow = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::yellow(), + }; + fg_orange = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::orange(), + }; + fg_blue = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::blue(), + }; + fg_cyan = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::cyan(), + }; + fg_darkcyan = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::dark_cyan(), + }; + fg_magenta = new Style{ + .font = font::fixed_8x16, + .background = Color::black(), + .foreground = Color::magenta(), + }; + + option_active = new Style{ + .font = font::fixed_8x16, + .background = {64, 64, 64}, + .foreground = Color::white(), + }; + + status_active = new Color{0, 255, 0}; + + bg_table_header = new Color{48, 48, 48}; +} + } // namespace ui \ No newline at end of file diff --git a/firmware/application/theme.hpp b/firmware/application/theme.hpp index da6ccc9ff..b4ecf0973 100644 --- a/firmware/application/theme.hpp +++ b/firmware/application/theme.hpp @@ -93,6 +93,11 @@ class ThemeRed : public ThemeTemplate { ThemeRed(); }; +class ThemeDark : public ThemeTemplate { + public: + ThemeDark(); +}; + class Theme { public: enum ThemeId { @@ -101,6 +106,7 @@ class Theme { Aqua = 2, Green = 3, Red = 4, + Dark = 5, MAX }; static ThemeTemplate* getInstance();