From 7429e0298abde4bc8a1dcc3d5f9e643fb6ac4262 Mon Sep 17 00:00:00 2001 From: Toastie Date: Tue, 2 Jul 2024 01:55:23 +1200 Subject: [PATCH] Updated EllieHub to 1.0.2.0 --- .editorconfig | 217 ++++++++++++++---- EllieHub/App.axaml | 40 ++-- EllieHub/App.axaml.cs | 2 +- .../DesignData/Common/DesignStatics.cs | 2 +- .../Controls/DesignBotConfigViewModel.cs | 15 +- .../Controls/DesignConfigViewModel.cs | 14 +- .../DesignDependencyButtonViewModel.cs | 8 +- .../Controls/DesignFakeConsoleViewModel.cs | 4 +- .../Controls/DesignHomeViewModel.cs | 4 +- .../Controls/DesignLateralBarViewModel.cs | 8 +- .../Controls/DesignUriInputBarViewModel.cs | 6 +- .../Windows/DesignAboutMeViewModel.cs | 4 +- .../DesignData/Windows/DesignAppViewModel.cs | 8 +- .../Windows/DesignUpdateViewModel.cs | 4 +- .../{ => Avalonia}/Resources/Colors.axaml | 0 EllieHub/{ => Avalonia}/Resources/Fonts.axaml | 0 .../{ => Avalonia}/Resources/Images.axaml | 2 +- .../{ => Avalonia}/Styles/EllieStyles.axaml | 4 +- EllieHub/Common/AppConstants.cs | 7 +- EllieHub/Common/AppStatics.cs | 7 + EllieHub/Common/Utilities.cs | 2 +- EllieHub/Common/WindowConstants.cs | 6 +- EllieHub/EllieHub.csproj | 27 +-- EllieHub/Extensions/IServiceCollectionExt.cs | 31 ++- .../Abstractions/ViewModelBase.cs | 2 +- .../Abstractions/ViewModelBaseGeneric.cs | 2 +- .../Api/Evermeet}/EvermeetDownloadInfo.cs | 2 +- .../Models/Api/Evermeet}/EvermeetInfo.cs | 2 +- .../AppConfig/Models/AppSettings.cs} | 7 +- .../AppConfig/Models/ReadOnlyAppSettings.cs} | 13 +- .../AppConfig}/Models/WindowSize.cs | 2 +- .../Services/Abstractions/FfmpegResolver.cs} | 6 +- .../Abstractions/IAppConfigManager.cs | 10 +- .../Services/Abstractions/IFfmpegResolver.cs | 4 +- .../Services/Abstractions/IYtdlpResolver.cs | 4 +- .../AppConfig}/Services/AppConfigManager.cs | 18 +- .../Services/FfmpegLinuxResolver.cs | 2 +- .../AppConfig}/Services/FfmpegMacResolver.cs | 6 +- .../Services/FfmpegWindowsResolver.cs | 6 +- .../Services/Mocks/FfmpegMockResolver.cs | 4 +- .../Services/Mocks/MockAppConfigManager.cs | 12 +- .../AppConfig}/Services/YtdlpResolver.cs | 8 +- .../AppConfig/ViewModels}/AboutMeViewModel.cs | 6 +- .../AppConfig/ViewModels}/ConfigViewModel.cs | 37 +-- .../Views/Controls/ConfigView.axaml | 10 +- .../Views/Controls/ConfigView.axaml.cs | 4 +- .../Views/Windows/AboutMeView.axaml | 21 +- .../Views/Windows/AboutMeView.axaml.cs | 4 +- .../AppWindow}/Models/BotEntry.cs | 4 +- .../AppWindow}/Models/BotInstanceInfo.cs | 2 +- .../AppWindow/Models/OldUpdaterBotEntry.cs | 11 + .../AppWindow/ViewModels}/AppViewModel.cs | 10 +- .../ViewModels}/LateralBarViewModel.cs | 38 ++- .../Views/Controls/LateralBarView.axaml | 23 +- .../Views/Controls/LateralBarView.axaml.cs | 22 +- .../AppWindow}/Views/Windows/AppView.axaml | 6 +- .../AppWindow}/Views/Windows/AppView.axaml.cs | 49 +++- .../BotConfig/Models/Api/Toastielab/Assets.cs | 13 ++ .../Api/Toastielab/ToastielabRelease.cs | 13 ++ .../Models}/AvatarChangedEventArgs.cs | 2 +- .../BotConfig/Models}/BotExitEventArgs.cs | 2 +- .../BotConfig/Models}/LogFlushEventArgs.cs | 2 +- .../Models}/ProcessStdWriteEventArgs.cs | 2 +- .../Services/Abstractions/IBotOrchestrator.cs | 6 +- .../Services/Abstractions/IBotResolver.cs | 9 +- .../Services/Abstractions/ILogWriter.cs | 4 +- .../BotConfig}/Services/EllieOrchestrator.cs | 14 +- .../BotConfig}/Services/EllieResolver.cs | 176 ++++++++++---- .../BotConfig}/Services/LogWriter.cs | 14 +- .../Services/Mocks/MockEllieResolver.cs | 11 +- .../ViewModels}/BotConfigViewModel.cs | 65 ++++-- .../ViewModels}/FakeConsoleViewModel.cs | 6 +- .../Views/Controls/BotConfigView.axaml | 8 +- .../Views/Controls/BotConfigView.axaml.cs | 4 +- .../Views/Controls/FakeConsole.axaml | 8 +- .../Views/Controls/FakeConsole.axaml.cs | 4 +- .../Home/Models/Api/Toastielab/Assets.cs | 13 ++ .../Api/Toastielab/ToastielabRelease.cs | 13 ++ .../Services/Abstractions/IAppResolver.cs | 4 +- .../Home}/Services/AppResolver.cs | 120 ++++++++-- .../Home/ViewModels}/HomeViewModel.cs | 6 +- .../Home/ViewModels}/UpdateViewModel.cs | 5 +- .../Home}/Views/Controls/HomeView.axaml | 18 +- .../Home}/Views/Controls/HomeView.axaml.cs | 4 +- .../Home}/Views/Windows/UpdateView.axaml | 8 +- .../Home}/Views/Windows/UpdateView.axaml.cs | 4 +- .../Shared/Models}/UriInputBarEventArgs.cs | 4 +- .../Abstractions/IDependencyResolver.cs | 2 +- .../ViewModels}/DependencyButtonViewModel.cs | 8 +- .../ViewModels/UriInputBarViewModel.cs} | 8 +- .../Views/Controls/DependencyButton.axaml | 8 +- .../Views/Controls/DependencyButton.axaml.cs | 4 +- .../Shared}/Views/Controls/UriInputBar.axaml | 8 +- .../Views/Controls/UriInputBar.axaml.cs | 4 +- EllieHub/ViewLocator.cs | 2 +- 95 files changed, 948 insertions(+), 437 deletions(-) rename EllieHub/{ => Avalonia}/DesignData/Common/DesignStatics.cs (91%) rename EllieHub/{ => Avalonia}/DesignData/Controls/DesignBotConfigViewModel.cs (69%) rename EllieHub/{ => Avalonia}/DesignData/Controls/DesignConfigViewModel.cs (74%) rename EllieHub/{ => Avalonia}/DesignData/Controls/DesignDependencyButtonViewModel.cs (71%) rename EllieHub/{ => Avalonia}/DesignData/Controls/DesignFakeConsoleViewModel.cs (79%) rename EllieHub/{ => Avalonia}/DesignData/Controls/DesignHomeViewModel.cs (60%) rename EllieHub/{ => Avalonia}/DesignData/Controls/DesignLateralBarViewModel.cs (70%) rename EllieHub/{ => Avalonia}/DesignData/Controls/DesignUriInputBarViewModel.cs (78%) rename EllieHub/{ => Avalonia}/DesignData/Windows/DesignAboutMeViewModel.cs (61%) rename EllieHub/{ => Avalonia}/DesignData/Windows/DesignAppViewModel.cs (74%) rename EllieHub/{ => Avalonia}/DesignData/Windows/DesignUpdateViewModel.cs (62%) rename EllieHub/{ => Avalonia}/Resources/Colors.axaml (100%) rename EllieHub/{ => Avalonia}/Resources/Fonts.axaml (100%) rename EllieHub/{ => Avalonia}/Resources/Images.axaml (99%) rename EllieHub/{ => Avalonia}/Styles/EllieStyles.axaml (98%) rename EllieHub/{ViewModels => Features}/Abstractions/ViewModelBase.cs (91%) rename EllieHub/{ViewModels => Features}/Abstractions/ViewModelBaseGeneric.cs (89%) rename EllieHub/{Models/Api => Features/AppConfig/Models/Api/Evermeet}/EvermeetDownloadInfo.cs (90%) rename EllieHub/{Models/Api => Features/AppConfig/Models/Api/Evermeet}/EvermeetInfo.cs (93%) rename EllieHub/{Models/Config/AppConfig.cs => Features/AppConfig/Models/AppSettings.cs} (88%) rename EllieHub/{Models/Config/ReadOnlyAppConfig.cs => Features/AppConfig/Models/ReadOnlyAppSettings.cs} (83%) rename EllieHub/{ => Features/AppConfig}/Models/WindowSize.cs (68%) rename EllieHub/{Services/Abstractions/FfmpregResolver.cs => Features/AppConfig/Services/Abstractions/FfmpegResolver.cs} (91%) rename EllieHub/{ => Features/AppConfig}/Services/Abstractions/IAppConfigManager.cs (89%) rename EllieHub/{ => Features/AppConfig}/Services/Abstractions/IFfmpegResolver.cs (67%) rename EllieHub/{ => Features/AppConfig}/Services/Abstractions/IYtdlpResolver.cs (67%) rename EllieHub/{ => Features/AppConfig}/Services/AppConfigManager.cs (86%) rename EllieHub/{ => Features/AppConfig}/Services/FfmpegLinuxResolver.cs (98%) rename EllieHub/{ => Features/AppConfig}/Services/FfmpegMacResolver.cs (96%) rename EllieHub/{ => Features/AppConfig}/Services/FfmpegWindowsResolver.cs (96%) rename EllieHub/{ => Features/AppConfig}/Services/Mocks/FfmpegMockResolver.cs (90%) rename EllieHub/{ => Features/AppConfig}/Services/Mocks/MockAppConfigManager.cs (67%) rename EllieHub/{ => Features/AppConfig}/Services/YtdlpResolver.cs (96%) rename EllieHub/{ViewModels/Windows => Features/AppConfig/ViewModels}/AboutMeViewModel.cs (75%) rename EllieHub/{ViewModels/Controls => Features/AppConfig/ViewModels}/ConfigViewModel.cs (90%) rename EllieHub/{ => Features/AppConfig}/Views/Controls/ConfigView.axaml (96%) rename EllieHub/{ => Features/AppConfig}/Views/Controls/ConfigView.axaml.cs (87%) rename EllieHub/{ => Features/AppConfig}/Views/Windows/AboutMeView.axaml (83%) rename EllieHub/{ => Features/AppConfig}/Views/Windows/AboutMeView.axaml.cs (75%) rename EllieHub/{ => Features/AppWindow}/Models/BotEntry.cs (75%) rename EllieHub/{ => Features/AppWindow}/Models/BotInstanceInfo.cs (91%) create mode 100644 EllieHub/Features/AppWindow/Models/OldUpdaterBotEntry.cs rename EllieHub/{ViewModels/Windows => Features/AppWindow/ViewModels}/AppViewModel.cs (84%) rename EllieHub/{ViewModels/Controls => Features/AppWindow/ViewModels}/LateralBarViewModel.cs (70%) rename EllieHub/{ => Features/AppWindow}/Views/Controls/LateralBarView.axaml (85%) rename EllieHub/{ => Features/AppWindow}/Views/Controls/LateralBarView.axaml.cs (91%) rename EllieHub/{ => Features/AppWindow}/Views/Windows/AppView.axaml (86%) rename EllieHub/{ => Features/AppWindow}/Views/Windows/AppView.axaml.cs (85%) create mode 100644 EllieHub/Features/BotConfig/Models/Api/Toastielab/Assets.cs create mode 100644 EllieHub/Features/BotConfig/Models/Api/Toastielab/ToastielabRelease.cs rename EllieHub/{Models/EventArguments => Features/BotConfig/Models}/AvatarChangedEventArgs.cs (95%) rename EllieHub/{Models/EventArguments => Features/BotConfig/Models}/BotExitEventArgs.cs (93%) rename EllieHub/{Models/EventArguments => Features/BotConfig/Models}/LogFlushEventArgs.cs (95%) rename EllieHub/{Models/EventArguments => Features/BotConfig/Models}/ProcessStdWriteEventArgs.cs (94%) rename EllieHub/{ => Features/BotConfig}/Services/Abstractions/IBotOrchestrator.cs (93%) rename EllieHub/{ => Features/BotConfig}/Services/Abstractions/IBotResolver.cs (72%) rename EllieHub/{ => Features/BotConfig}/Services/Abstractions/ILogWriter.cs (95%) rename EllieHub/{ => Features/BotConfig}/Services/EllieOrchestrator.cs (91%) rename EllieHub/{ => Features/BotConfig}/Services/EllieResolver.cs (62%) rename EllieHub/{ => Features/BotConfig}/Services/LogWriter.cs (88%) rename EllieHub/{ => Features/BotConfig}/Services/Mocks/MockEllieResolver.cs (80%) rename EllieHub/{ViewModels/Controls => Features/BotConfig/ViewModels}/BotConfigViewModel.cs (90%) rename EllieHub/{ViewModels/Controls => Features/BotConfig/ViewModels}/FakeConsoleViewModel.cs (83%) rename EllieHub/{ => Features/BotConfig}/Views/Controls/BotConfigView.axaml (96%) rename EllieHub/{ => Features/BotConfig}/Views/Controls/BotConfigView.axaml.cs (93%) rename EllieHub/{ => Features/BotConfig}/Views/Controls/FakeConsole.axaml (74%) rename EllieHub/{ => Features/BotConfig}/Views/Controls/FakeConsole.axaml.cs (79%) create mode 100644 EllieHub/Features/Home/Models/Api/Toastielab/Assets.cs create mode 100644 EllieHub/Features/Home/Models/Api/Toastielab/ToastielabRelease.cs rename EllieHub/{ => Features/Home}/Services/Abstractions/IAppResolver.cs (87%) rename EllieHub/{ => Features/Home}/Services/AppResolver.cs (58%) rename EllieHub/{ViewModels/Controls => Features/Home/ViewModels}/HomeViewModel.cs (77%) rename EllieHub/{ViewModels/Windows => Features/Home/ViewModels}/UpdateViewModel.cs (51%) rename EllieHub/{ => Features/Home}/Views/Controls/HomeView.axaml (92%) rename EllieHub/{ => Features/Home}/Views/Controls/HomeView.axaml.cs (79%) rename EllieHub/{ => Features/Home}/Views/Windows/UpdateView.axaml (88%) rename EllieHub/{ => Features/Home}/Views/Windows/UpdateView.axaml.cs (78%) rename EllieHub/{Models/EventArguments => Features/Shared/Models}/UriInputBarEventArgs.cs (89%) rename EllieHub/{ => Features/Shared}/Services/Abstractions/IDependencyResolver.cs (97%) rename EllieHub/{ViewModels/Controls => Features/Shared/ViewModels}/DependencyButtonViewModel.cs (95%) rename EllieHub/{ViewModels/Controls/UriInputViewModel.cs => Features/Shared/ViewModels/UriInputBarViewModel.cs} (95%) rename EllieHub/{ => Features/Shared}/Views/Controls/DependencyButton.axaml (87%) rename EllieHub/{ => Features/Shared}/Views/Controls/DependencyButton.axaml.cs (79%) rename EllieHub/{ => Features/Shared}/Views/Controls/UriInputBar.axaml (85%) rename EllieHub/{ => Features/Shared}/Views/Controls/UriInputBar.axaml.cs (80%) diff --git a/.editorconfig b/.editorconfig index b0b59f7..a513f1f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,4 +1,3 @@ - [*] charset = utf-8 end_of_line = lf @@ -10,11 +9,74 @@ indent_size = 4 # A property with the same name was updated with a value 2 in a [{*.yaml,*.yml}] indent_style = space indent_size = 2 # A property with the same name was updated with a value 4 in a section [*]; with a value 4 in a section [*.{appxmanifest,asax,ascx,aspx,axaml,build,cg,cginc,compute,cs,cshtml,dtd,hlsl,hlsli,hlslinc,master,nuspec,paml,razor,resw,resx,skin,usf,ush,vb,xaml,xamlx,xoml,xsd}] +dotnet_diagnostic.CA1047.severity = error [*.{appxmanifest,asax,ascx,aspx,axaml,build,cg,cginc,compute,cs,cshtml,dtd,hlsl,hlsli,hlslinc,master,nuspec,paml,razor,resw,resx,skin,usf,ush,vb,xaml,xamlx,xoml,xsd}] indent_style = space indent_size = 4 # A property with the same name was updated with a value 2 in a section [{*.yaml,*.yml}] tab_width = 4 +dotnet_style_operator_placement_when_wrapping = beginning_of_line +dotnet_style_coalesce_expression = true:suggestion +dotnet_style_null_propagation = true:suggestion +dotnet_style_prefer_is_null_check_over_reference_equality_method = true:error +dotnet_style_prefer_auto_properties = true:warning +dotnet_style_object_initializer = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_prefer_simplified_boolean_expressions = true:suggestion +dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion +dotnet_style_prefer_conditional_expression_over_return = true:suggestion +dotnet_style_explicit_tuple_names = true:suggestion +dotnet_style_prefer_inferred_tuple_names = true:suggestion +dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion +dotnet_style_prefer_compound_assignment = true:suggestion +dotnet_style_prefer_simplified_interpolation = true:suggestion +dotnet_style_prefer_collection_expression = when_types_loosely_match:suggestion +dotnet_style_namespace_match_folder = true:suggestion +dotnet_style_readonly_field = true:warning +dotnet_style_predefined_type_for_locals_parameters_members = true:warning +dotnet_style_predefined_type_for_member_access = true:warning +dotnet_style_require_accessibility_modifiers = always:error +dotnet_style_allow_multiple_blank_lines_experimental = false:silent +dotnet_style_allow_statement_immediately_after_block_experimental = false:silent +dotnet_code_quality_unused_parameters = all:warning +dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:warning +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:warning +dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:warning +dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent +dotnet_style_qualification_for_field = false:silent +dotnet_style_qualification_for_property = false:silent +dotnet_style_qualification_for_method = false:silent +dotnet_style_qualification_for_event = false:silent +dotnet_diagnostic.CA1310.severity = warning +dotnet_diagnostic.CA1509.severity = error +dotnet_diagnostic.CA1000.severity = suggestion +dotnet_diagnostic.CA1001.severity = error +dotnet_diagnostic.CA1005.severity = none +dotnet_diagnostic.CA1008.severity = suggestion +dotnet_diagnostic.CA1010.severity = suggestion +dotnet_diagnostic.CA1031.severity = silent +dotnet_diagnostic.CA1050.severity = error +dotnet_diagnostic.CA1051.severity = error +dotnet_diagnostic.CA1069.severity = suggestion +dotnet_diagnostic.CA1724.severity = error +dotnet_diagnostic.CA1826.severity = warning +dotnet_diagnostic.CA1827.severity = warning +dotnet_diagnostic.CA1828.severity = warning +dotnet_diagnostic.CA1829.severity = warning +dotnet_diagnostic.CA1830.severity = warning +dotnet_diagnostic.CA1832.severity = warning +dotnet_diagnostic.CA1833.severity = warning +dotnet_diagnostic.CA1842.severity = warning +dotnet_diagnostic.CA1843.severity = warning +dotnet_diagnostic.CA1836.severity = none +dotnet_diagnostic.CA1839.severity = warning +dotnet_diagnostic.CA1840.severity = warning +dotnet_diagnostic.CA1846.severity = warning +dotnet_diagnostic.CA1848.severity = suggestion +dotnet_diagnostic.CA1852.severity = suggestion +dotnet_diagnostic.CA2012.severity = warning +dotnet_diagnostic.CA2019.severity = warning +dotnet_diagnostic.CA2211.severity = warning [*.cs] @@ -79,49 +141,49 @@ dotnet_style_allow_statement_immediately_after_block_experimental = false #### C# Coding Conventions #### # var preferences -csharp_style_var_elsewhere = true:error -csharp_style_var_for_built_in_types = true:error -csharp_style_var_when_type_is_apparent = true:error +csharp_style_var_elsewhere = true:warning +csharp_style_var_for_built_in_types = true:warning +csharp_style_var_when_type_is_apparent = true:warning # Expression-bodied members csharp_style_expression_bodied_accessors = true:suggestion csharp_style_expression_bodied_constructors = when_on_single_line:suggestion csharp_style_expression_bodied_indexers = true:suggestion -csharp_style_expression_bodied_lambdas = true:suggestion +csharp_style_expression_bodied_lambdas = when_on_single_line:suggestion csharp_style_expression_bodied_local_functions = true:suggestion csharp_style_expression_bodied_methods = when_on_single_line:suggestion csharp_style_expression_bodied_operators = when_on_single_line:suggestion csharp_style_expression_bodied_properties = true:suggestion # Pattern matching preferences -csharp_style_pattern_matching_over_as_with_null_check = true:error -csharp_style_pattern_matching_over_is_with_cast_check = true:error -csharp_style_prefer_not_pattern = true:error +csharp_style_pattern_matching_over_as_with_null_check = true:warning +csharp_style_pattern_matching_over_is_with_cast_check = true:warning +csharp_style_prefer_not_pattern = true:warning csharp_style_prefer_pattern_matching = true:suggestion -csharp_style_prefer_switch_expression = true +csharp_style_prefer_switch_expression = true:suggestion # Null-checking preferences -csharp_style_conditional_delegate_call = true:error +csharp_style_conditional_delegate_call = true:warning # Modifier preferences -csharp_prefer_static_local_function = true +csharp_prefer_static_local_function = true:suggestion csharp_preferred_modifier_order = public, private, protected, internal, static, extern, new, virtual, abstract, sealed, override, readonly, unsafe, volatile, async # Code-block preferences csharp_prefer_braces = when_multiline:suggestion -csharp_prefer_simple_using_statement = true +csharp_prefer_simple_using_statement = true:suggestion # Expression-level preferences -csharp_prefer_simple_default_expression = true -csharp_style_deconstructed_variable_declaration = true -csharp_style_implicit_object_creation_when_type_is_apparent = true:error +csharp_prefer_simple_default_expression = true:suggestion +csharp_style_deconstructed_variable_declaration = true:suggestion +csharp_style_implicit_object_creation_when_type_is_apparent = true:warning csharp_style_inlined_variable_declaration = true:warning csharp_style_pattern_local_over_anonymous_function = true -csharp_style_prefer_index_operator = true -csharp_style_prefer_range_operator = true +csharp_style_prefer_index_operator = true:suggestion +csharp_style_prefer_range_operator = true:suggestion csharp_style_throw_expression = true:error csharp_style_unused_value_assignment_preference = discard_variable:warning -csharp_style_unused_value_expression_statement_preference = discard_variable +csharp_style_unused_value_expression_statement_preference = discard_variable:silent # 'using' directive preferences csharp_using_directive_placement = outside_namespace:error @@ -130,9 +192,9 @@ csharp_using_directive_placement = outside_namespace:error csharp_style_namespace_declarations = file_scoped:error # New line preferences -csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true -csharp_style_allow_blank_lines_between_consecutive_braces_experimental = false -csharp_style_allow_embedded_statements_on_same_line_experimental = true +csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true:silent +csharp_style_allow_blank_lines_between_consecutive_braces_experimental = false:silent +csharp_style_allow_embedded_statements_on_same_line_experimental = true:silent #### C# Formatting Rules #### @@ -189,40 +251,40 @@ csharp_preserve_single_line_statements = true dotnet_naming_rule.class_should_be_pascal_case.import_to_resharper = as_predefined dotnet_naming_rule.class_should_be_pascal_case.severity = error dotnet_naming_rule.class_should_be_pascal_case.symbols = class -dotnet_naming_rule.class_should_be_pascal_case.style = pascal_case +dotnet_naming_rule.class_should_be_pascal_case.style = upper_camel_case_style dotnet_naming_rule.struct_should_be_pascal_case.import_to_resharper = as_predefined dotnet_naming_rule.struct_should_be_pascal_case.severity = error dotnet_naming_rule.struct_should_be_pascal_case.symbols = struct -dotnet_naming_rule.struct_should_be_pascal_case.style = pascal_case +dotnet_naming_rule.struct_should_be_pascal_case.style = upper_camel_case_style dotnet_naming_rule.interface_should_be_begins_with_i.import_to_resharper = as_predefined dotnet_naming_rule.interface_should_be_begins_with_i.severity = error dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface -dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i +dotnet_naming_rule.interface_should_be_begins_with_i.style = i_upper_camel_case_style dotnet_naming_rule.types_should_be_pascal_case.import_to_resharper = as_predefined dotnet_naming_rule.types_should_be_pascal_case.severity = error dotnet_naming_rule.types_should_be_pascal_case.symbols = types -dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case +dotnet_naming_rule.types_should_be_pascal_case.style = upper_camel_case_style dotnet_naming_rule.enum_should_be_pascal_case.import_to_resharper = as_predefined dotnet_naming_rule.enum_should_be_pascal_case.severity = error dotnet_naming_rule.enum_should_be_pascal_case.symbols = enum -dotnet_naming_rule.enum_should_be_pascal_case.style = pascal_case +dotnet_naming_rule.enum_should_be_pascal_case.style = upper_camel_case_style dotnet_naming_rule.property_should_be_pascal_case.import_to_resharper = as_predefined dotnet_naming_rule.property_should_be_pascal_case.severity = error dotnet_naming_rule.property_should_be_pascal_case.symbols = property -dotnet_naming_rule.property_should_be_pascal_case.style = pascal_case +dotnet_naming_rule.property_should_be_pascal_case.style = upper_camel_case_style dotnet_naming_rule.method_should_be_pascal_case.import_to_resharper = as_predefined dotnet_naming_rule.method_should_be_pascal_case.severity = error dotnet_naming_rule.method_should_be_pascal_case.symbols = method -dotnet_naming_rule.method_should_be_pascal_case.style = pascal_case +dotnet_naming_rule.method_should_be_pascal_case.style = upper_camel_case_style dotnet_naming_rule.async_method_should_be_ends_with_async.import_to_resharper = as_predefined -dotnet_naming_rule.async_method_should_be_ends_with_async.severity = error +dotnet_naming_rule.async_method_should_be_ends_with_async.severity = warning dotnet_naming_rule.async_method_should_be_ends_with_async.symbols = async_method dotnet_naming_rule.async_method_should_be_ends_with_async.style = ends_with_async @@ -234,17 +296,17 @@ dotnet_naming_rule.private_field_should_be_begins_with_underscore.style = begins dotnet_naming_rule.non_field_members_should_be_pascal_case.import_to_resharper = as_predefined dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = error dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members -dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case +dotnet_naming_rule.non_field_members_should_be_pascal_case.style = upper_camel_case_style dotnet_naming_rule.local_variable_should_be_camel_case.import_to_resharper = as_predefined dotnet_naming_rule.local_variable_should_be_camel_case.severity = error dotnet_naming_rule.local_variable_should_be_camel_case.symbols = local_variable -dotnet_naming_rule.local_variable_should_be_camel_case.style = camel_case +dotnet_naming_rule.local_variable_should_be_camel_case.style = lower_camel_case_style_1 dotnet_naming_rule.public_anything_should_be_pascal_case.import_to_resharper = as_predefined dotnet_naming_rule.public_anything_should_be_pascal_case.severity = error dotnet_naming_rule.public_anything_should_be_pascal_case.symbols = public_anything -dotnet_naming_rule.public_anything_should_be_pascal_case.style = pascal_case +dotnet_naming_rule.public_anything_should_be_pascal_case.style = upper_camel_case_style dotnet_naming_rule.constants_rule.import_to_resharper = as_predefined dotnet_naming_rule.constants_rule.severity = error @@ -288,7 +350,7 @@ dotnet_naming_rule.parameters_rule.symbols = parameters_symbols dotnet_naming_rule.private_constants_rule.import_to_resharper = as_predefined dotnet_naming_rule.private_constants_rule.severity = error -dotnet_naming_rule.private_constants_rule.style = lower_camel_case_style +dotnet_naming_rule.private_constants_rule.style = begins_with_underscore dotnet_naming_rule.private_constants_rule.symbols = private_constants_symbols dotnet_naming_rule.private_instance_fields_rule.import_to_resharper = as_predefined @@ -298,12 +360,12 @@ dotnet_naming_rule.private_instance_fields_rule.symbols = private_instance_field dotnet_naming_rule.private_static_fields_rule.import_to_resharper = as_predefined dotnet_naming_rule.private_static_fields_rule.severity = error -dotnet_naming_rule.private_static_fields_rule.style = lower_camel_case_style +dotnet_naming_rule.private_static_fields_rule.style = begins_with_underscore dotnet_naming_rule.private_static_fields_rule.symbols = private_static_fields_symbols dotnet_naming_rule.private_static_readonly_rule.import_to_resharper = as_predefined dotnet_naming_rule.private_static_readonly_rule.severity = error -dotnet_naming_rule.private_static_readonly_rule.style = lower_camel_case_style +dotnet_naming_rule.private_static_readonly_rule.style = begins_with_underscore dotnet_naming_rule.private_static_readonly_rule.symbols = private_static_readonly_symbols dotnet_naming_rule.property_rule.import_to_resharper = as_predefined @@ -318,7 +380,7 @@ dotnet_naming_rule.public_fields_rule.symbols = public_fields_symbols dotnet_naming_rule.public_fields_rule.import_to_resharper = as_predefined dotnet_naming_rule.public_fields_rule.severity = error -dotnet_naming_rule.public_fields_rule.style = camel_case +dotnet_naming_rule.public_fields_rule.style = lower_camel_case_style_1 dotnet_naming_rule.public_fields_rule.symbols = protected_fields_symbols dotnet_naming_rule.static_readonly_rule.import_to_resharper = as_predefined @@ -482,23 +544,92 @@ dotnet_naming_symbols.type_parameters_symbols.applicable_accessibilities = * dotnet_naming_symbols.type_parameters_symbols.applicable_kinds = type_parameter -#### Visual Studio Specific Rules #### +#### Style Rules #### -# CA1822: Mark members as static -dotnet_diagnostic.CA1822.severity = none +csharp_style_prefer_method_group_conversion = true:silent +csharp_style_prefer_top_level_statements = false:suggestion +csharp_style_prefer_primary_constructors = false:warning +csharp_style_prefer_null_check_over_type_check = true:suggestion +csharp_style_prefer_local_over_anonymous_function = true:suggestion +csharp_style_prefer_tuple_swap = true:suggestion +csharp_style_prefer_utf8_string_literals = true:suggestion +csharp_style_prefer_readonly_struct = true:suggestion +csharp_style_prefer_readonly_struct_member = true:suggestion +csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true:silent +csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true:silent +csharp_style_prefer_extended_property_pattern = true:warning +dotnet_diagnostic.CA1311.severity = suggestion +dotnet_diagnostic.CA1507.severity = warning +dotnet_diagnostic.IDE0047.severity = none +dotnet_diagnostic.IDE0052.severity = warning +dotnet_diagnostic.IDE0051.severity = warning +dotnet_diagnostic.IDE0076.severity = error +dotnet_diagnostic.IDE0077.severity = error +dotnet_diagnostic.IDE0043.severity = warning +dotnet_diagnostic.CA1070.severity = error +dotnet_diagnostic.CA1200.severity = suggestion +dotnet_diagnostic.CA1805.severity = suggestion +dotnet_diagnostic.CA1825.severity = warning +dotnet_diagnostic.IDE0009.severity = suggestion +dotnet_diagnostic.IDE0016.severity = suggestion +dotnet_diagnostic.IDE0017.severity = suggestion +dotnet_diagnostic.IDE0018.severity = suggestion +dotnet_diagnostic.IDE0019.severity = suggestion +dotnet_diagnostic.IDE0020.severity = suggestion +dotnet_diagnostic.IDE0028.severity = suggestion +dotnet_diagnostic.IDE0029.severity = suggestion +dotnet_diagnostic.IDE0030.severity = suggestion +dotnet_diagnostic.IDE0031.severity = suggestion +dotnet_diagnostic.IDE0032.severity = suggestion +dotnet_diagnostic.IDE0034.severity = suggestion +dotnet_diagnostic.IDE0039.severity = suggestion +dotnet_diagnostic.IDE0040.severity = warning +dotnet_diagnostic.IDE0041.severity = suggestion +dotnet_diagnostic.IDE0044.severity = suggestion +dotnet_diagnostic.IDE0045.severity = suggestion +dotnet_diagnostic.IDE0046.severity = suggestion +dotnet_diagnostic.IDE0048.severity = suggestion +dotnet_diagnostic.IDE0053.severity = suggestion +dotnet_diagnostic.IDE0059.severity = warning +dotnet_diagnostic.IDE0060.severity = warning +dotnet_diagnostic.IDE0062.severity = suggestion +dotnet_diagnostic.IDE0063.severity = suggestion +dotnet_diagnostic.IDE0071.severity = suggestion +dotnet_diagnostic.IDE0082.severity = warning +dotnet_diagnostic.IDE0080.severity = suggestion +dotnet_diagnostic.IDE0130.severity = warning +dotnet_diagnostic.IDE0120.severity = suggestion +dotnet_diagnostic.IDE0100.severity = warning +dotnet_diagnostic.IDE0150.severity = suggestion +dotnet_diagnostic.IDE0161.severity = warning +dotnet_diagnostic.IDE0170.severity = suggestion +dotnet_diagnostic.IDE0180.severity = suggestion +dotnet_diagnostic.IDE0200.severity = suggestion +dotnet_diagnostic.IDE0211.severity = suggestion +dotnet_diagnostic.IDE0230.severity = suggestion +dotnet_diagnostic.IDE0240.severity = suggestion +dotnet_diagnostic.IDE0241.severity = suggestion +dotnet_diagnostic.IDE0251.severity = suggestion +dotnet_diagnostic.IDE0250.severity = suggestion +dotnet_diagnostic.IDE0260.severity = suggestion +dotnet_diagnostic.IDE0270.severity = suggestion +dotnet_diagnostic.IDE0280.severity = warning +dotnet_diagnostic.IDE1005.severity = suggestion +dotnet_diagnostic.IDE1006.severity = warning # IDE0004: Cast is redundant dotnet_diagnostic.IDE0004.severity = error -# IDE0058: Expression value is never used -dotnet_diagnostic.IDE0058.severity = none - # IDE0011: Add braces to 'if'/'else' statement dotnet_diagnostic.IDE0011.severity = none -# IDE0290: Use primary constructor +# IDE0058: Expression value is never used +dotnet_diagnostic.IDE0058.severity = none + +# Use primary constructor dotnet_diagnostic.IDE0290.severity = none + #### ReSharper Properties #### resharper_accessor_owner_body = expression_body diff --git a/EllieHub/App.axaml b/EllieHub/App.axaml index a729d4c..425b50a 100644 --- a/EllieHub/App.axaml +++ b/EllieHub/App.axaml @@ -3,7 +3,7 @@ xmlns:local="using:EllieHub" RequestedThemeVariant="Default" x:Class="EllieHub.App"> - + @@ -14,9 +14,9 @@ - - - + + + @@ -24,27 +24,27 @@ - + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/EllieHub/App.axaml.cs b/EllieHub/App.axaml.cs index 64f278f..d535943 100644 --- a/EllieHub/App.axaml.cs +++ b/EllieHub/App.axaml.cs @@ -3,7 +3,7 @@ using Avalonia.Controls; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; using Microsoft.Extensions.DependencyInjection; -using EllieHub.Views.Windows; +using EllieHub.Features.AppWindow.Views.Windows; using System.Reflection; namespace EllieHub; diff --git a/EllieHub/DesignData/Common/DesignStatics.cs b/EllieHub/Avalonia/DesignData/Common/DesignStatics.cs similarity index 91% rename from EllieHub/DesignData/Common/DesignStatics.cs rename to EllieHub/Avalonia/DesignData/Common/DesignStatics.cs index b307c18..f47f55c 100644 --- a/EllieHub/DesignData/Common/DesignStatics.cs +++ b/EllieHub/Avalonia/DesignData/Common/DesignStatics.cs @@ -1,7 +1,7 @@ using Avalonia; using Avalonia.Controls; -namespace EllieHub.DesignData.Common; +namespace EllieHub.Avalonia.DesignData.Common; /// /// Defines objects useful at design-time. diff --git a/EllieHub/DesignData/Controls/DesignBotConfigViewModel.cs b/EllieHub/Avalonia/DesignData/Controls/DesignBotConfigViewModel.cs similarity index 69% rename from EllieHub/DesignData/Controls/DesignBotConfigViewModel.cs rename to EllieHub/Avalonia/DesignData/Controls/DesignBotConfigViewModel.cs index 1af830b..6d7a88b 100644 --- a/EllieHub/DesignData/Controls/DesignBotConfigViewModel.cs +++ b/EllieHub/Avalonia/DesignData/Controls/DesignBotConfigViewModel.cs @@ -1,11 +1,14 @@ using Microsoft.Extensions.DependencyInjection; -using EllieHub.DesignData.Common; -using EllieHub.Services.Abstractions; -using EllieHub.Services.Mocks; -using EllieHub.ViewModels.Controls; -using EllieHub.Views.Windows; +using EllieHub.Avalonia.DesignData.Common; +using EllieHub.Features.AppConfig.Services.Mocks; +using EllieHub.Features.AppWindow.ViewModels; +using EllieHub.Features.AppWindow.Views.Windows; +using EllieHub.Features.BotConfig.Services.Abstractions; +using EllieHub.Features.BotConfig.Services.Mocks; +using EllieHub.Features.BotConfig.ViewModels; +using EllieHub.Features.Shared.ViewModels; -namespace EllieHub.DesignData.Controls; +namespace EllieHub.Avalonia.DesignData.Controls; /// /// Mock view-model for . diff --git a/EllieHub/DesignData/Controls/DesignConfigViewModel.cs b/EllieHub/Avalonia/DesignData/Controls/DesignConfigViewModel.cs similarity index 74% rename from EllieHub/DesignData/Controls/DesignConfigViewModel.cs rename to EllieHub/Avalonia/DesignData/Controls/DesignConfigViewModel.cs index ddee175..670e539 100644 --- a/EllieHub/DesignData/Controls/DesignConfigViewModel.cs +++ b/EllieHub/Avalonia/DesignData/Controls/DesignConfigViewModel.cs @@ -1,12 +1,12 @@ using Microsoft.Extensions.DependencyInjection; -using EllieHub.DesignData.Common; -using EllieHub.Services.Abstractions; -using EllieHub.Services.Mocks; -using EllieHub.ViewModels.Controls; -using EllieHub.ViewModels.Windows; -using EllieHub.Views.Windows; +using EllieHub.Avalonia.DesignData.Common; +using EllieHub.Features.AppConfig.Services.Abstractions; +using EllieHub.Features.AppConfig.Services.Mocks; +using EllieHub.Features.AppConfig.ViewModels; +using EllieHub.Features.AppWindow.Views.Windows; +using EllieHub.Features.Shared.ViewModels; -namespace EllieHub.DesignData.Controls; +namespace EllieHub.Avalonia.DesignData.Controls; /// /// Mock view-model for . diff --git a/EllieHub/DesignData/Controls/DesignDependencyButtonViewModel.cs b/EllieHub/Avalonia/DesignData/Controls/DesignDependencyButtonViewModel.cs similarity index 71% rename from EllieHub/DesignData/Controls/DesignDependencyButtonViewModel.cs rename to EllieHub/Avalonia/DesignData/Controls/DesignDependencyButtonViewModel.cs index 04e3507..ff1399f 100644 --- a/EllieHub/DesignData/Controls/DesignDependencyButtonViewModel.cs +++ b/EllieHub/Avalonia/DesignData/Controls/DesignDependencyButtonViewModel.cs @@ -1,9 +1,9 @@ using Microsoft.Extensions.DependencyInjection; -using EllieHub.DesignData.Common; -using EllieHub.ViewModels.Controls; -using EllieHub.Views.Windows; +using EllieHub.Avalonia.DesignData.Common; +using EllieHub.Features.AppWindow.Views.Windows; +using EllieHub.Features.Shared.ViewModels; -namespace EllieHub.DesignData.Controls; +namespace EllieHub.Avalonia.DesignData.Controls; /// /// Mock view-model for . diff --git a/EllieHub/DesignData/Controls/DesignFakeConsoleViewModel.cs b/EllieHub/Avalonia/DesignData/Controls/DesignFakeConsoleViewModel.cs similarity index 79% rename from EllieHub/DesignData/Controls/DesignFakeConsoleViewModel.cs rename to EllieHub/Avalonia/DesignData/Controls/DesignFakeConsoleViewModel.cs index fd73a8b..9836508 100644 --- a/EllieHub/DesignData/Controls/DesignFakeConsoleViewModel.cs +++ b/EllieHub/Avalonia/DesignData/Controls/DesignFakeConsoleViewModel.cs @@ -1,6 +1,6 @@ -using EllieHub.ViewModels.Controls; +using EllieHub.Features.BotConfig.ViewModels; -namespace EllieHub.DesignData.Controls; +namespace EllieHub.Avalonia.DesignData.Controls; /// /// Mock view-model for . diff --git a/EllieHub/DesignData/Controls/DesignHomeViewModel.cs b/EllieHub/Avalonia/DesignData/Controls/DesignHomeViewModel.cs similarity index 60% rename from EllieHub/DesignData/Controls/DesignHomeViewModel.cs rename to EllieHub/Avalonia/DesignData/Controls/DesignHomeViewModel.cs index 4743724..8b96b9a 100644 --- a/EllieHub/DesignData/Controls/DesignHomeViewModel.cs +++ b/EllieHub/Avalonia/DesignData/Controls/DesignHomeViewModel.cs @@ -1,6 +1,6 @@ -using EllieHub.ViewModels.Controls; +using EllieHub.Features.Home.ViewModels; -namespace EllieHub.DesignData.Controls; +namespace EllieHub.Avalonia.DesignData.Controls; /// /// Mock view-model for . diff --git a/EllieHub/DesignData/Controls/DesignLateralBarViewModel.cs b/EllieHub/Avalonia/DesignData/Controls/DesignLateralBarViewModel.cs similarity index 70% rename from EllieHub/DesignData/Controls/DesignLateralBarViewModel.cs rename to EllieHub/Avalonia/DesignData/Controls/DesignLateralBarViewModel.cs index c03049f..82035c5 100644 --- a/EllieHub/DesignData/Controls/DesignLateralBarViewModel.cs +++ b/EllieHub/Avalonia/DesignData/Controls/DesignLateralBarViewModel.cs @@ -1,9 +1,9 @@ using Microsoft.Extensions.DependencyInjection; -using EllieHub.DesignData.Common; -using EllieHub.Services.Mocks; -using EllieHub.ViewModels.Controls; +using EllieHub.Avalonia.DesignData.Common; +using EllieHub.Features.AppConfig.Services.Mocks; +using EllieHub.Features.AppWindow.ViewModels; -namespace EllieHub.DesignData.Controls; +namespace EllieHub.Avalonia.DesignData.Controls; /// /// Mock view-model for . diff --git a/EllieHub/DesignData/Controls/DesignUriInputBarViewModel.cs b/EllieHub/Avalonia/DesignData/Controls/DesignUriInputBarViewModel.cs similarity index 78% rename from EllieHub/DesignData/Controls/DesignUriInputBarViewModel.cs rename to EllieHub/Avalonia/DesignData/Controls/DesignUriInputBarViewModel.cs index 8343c4e..a70d2de 100644 --- a/EllieHub/DesignData/Controls/DesignUriInputBarViewModel.cs +++ b/EllieHub/Avalonia/DesignData/Controls/DesignUriInputBarViewModel.cs @@ -1,9 +1,9 @@ using Avalonia.Platform.Storage; using Microsoft.Extensions.DependencyInjection; -using EllieHub.DesignData.Common; -using EllieHub.ViewModels.Controls; +using EllieHub.Avalonia.DesignData.Common; +using EllieHub.Features.Shared.ViewModels; -namespace EllieHub.DesignData.Controls; +namespace EllieHub.Avalonia.DesignData.Controls; /// /// Mock view-model for . diff --git a/EllieHub/DesignData/Windows/DesignAboutMeViewModel.cs b/EllieHub/Avalonia/DesignData/Windows/DesignAboutMeViewModel.cs similarity index 61% rename from EllieHub/DesignData/Windows/DesignAboutMeViewModel.cs rename to EllieHub/Avalonia/DesignData/Windows/DesignAboutMeViewModel.cs index 6535212..881e334 100644 --- a/EllieHub/DesignData/Windows/DesignAboutMeViewModel.cs +++ b/EllieHub/Avalonia/DesignData/Windows/DesignAboutMeViewModel.cs @@ -1,6 +1,6 @@ -using EllieHub.ViewModels.Windows; +using EllieHub.Features.AppConfig.ViewModels; -namespace EllieHub.DesignData.Windows; +namespace EllieHub.Avalonia.DesignData.Windows; /// /// Mock view-model for . diff --git a/EllieHub/DesignData/Windows/DesignAppViewModel.cs b/EllieHub/Avalonia/DesignData/Windows/DesignAppViewModel.cs similarity index 74% rename from EllieHub/DesignData/Windows/DesignAppViewModel.cs rename to EllieHub/Avalonia/DesignData/Windows/DesignAppViewModel.cs index a48a0fe..e3792f6 100644 --- a/EllieHub/DesignData/Windows/DesignAppViewModel.cs +++ b/EllieHub/Avalonia/DesignData/Windows/DesignAppViewModel.cs @@ -1,9 +1,9 @@ using Microsoft.Extensions.DependencyInjection; -using EllieHub.DesignData.Common; -using EllieHub.ViewModels.Controls; -using EllieHub.ViewModels.Windows; +using EllieHub.Avalonia.DesignData.Common; +using EllieHub.Features.AppWindow.ViewModels; +using EllieHub.Features.Home.ViewModels; -namespace EllieHub.DesignData.Windows; +namespace EllieHub.Avalonia.DesignData.Windows; /// /// Mock view-model for . diff --git a/EllieHub/DesignData/Windows/DesignUpdateViewModel.cs b/EllieHub/Avalonia/DesignData/Windows/DesignUpdateViewModel.cs similarity index 62% rename from EllieHub/DesignData/Windows/DesignUpdateViewModel.cs rename to EllieHub/Avalonia/DesignData/Windows/DesignUpdateViewModel.cs index 2abed0b..63372e3 100644 --- a/EllieHub/DesignData/Windows/DesignUpdateViewModel.cs +++ b/EllieHub/Avalonia/DesignData/Windows/DesignUpdateViewModel.cs @@ -1,6 +1,6 @@ -using EllieHub.ViewModels.Windows; +using EllieHub.Features.Home.ViewModels; -namespace EllieHub.DesignData.Windows; +namespace EllieHub.Avalonia.DesignData.Windows; /// /// Mock view-model for . diff --git a/EllieHub/Resources/Colors.axaml b/EllieHub/Avalonia/Resources/Colors.axaml similarity index 100% rename from EllieHub/Resources/Colors.axaml rename to EllieHub/Avalonia/Resources/Colors.axaml diff --git a/EllieHub/Resources/Fonts.axaml b/EllieHub/Avalonia/Resources/Fonts.axaml similarity index 100% rename from EllieHub/Resources/Fonts.axaml rename to EllieHub/Avalonia/Resources/Fonts.axaml diff --git a/EllieHub/Resources/Images.axaml b/EllieHub/Avalonia/Resources/Images.axaml similarity index 99% rename from EllieHub/Resources/Images.axaml rename to EllieHub/Avalonia/Resources/Images.axaml index 9e52a0d..403d07a 100644 --- a/EllieHub/Resources/Images.axaml +++ b/EllieHub/Avalonia/Resources/Images.axaml @@ -36,7 +36,7 @@ avares://EllieHub/Assets/paypal.png avares://EllieHub/Assets/patreon.png avares://EllieHub/Assets/ko-fi.webp - + diff --git a/EllieHub/Styles/EllieStyles.axaml b/EllieHub/Avalonia/Styles/EllieStyles.axaml similarity index 98% rename from EllieHub/Styles/EllieStyles.axaml rename to EllieHub/Avalonia/Styles/EllieStyles.axaml index b831792..3d6293c 100644 --- a/EllieHub/Styles/EllieStyles.axaml +++ b/EllieHub/Avalonia/Styles/EllieStyles.axaml @@ -63,7 +63,7 @@ - +