diff --git a/src/SiteMonitor/.editorconfig b/src/SiteMonitor/.editorconfig index 6850b93..c50c605 100644 --- a/src/SiteMonitor/.editorconfig +++ b/src/SiteMonitor/.editorconfig @@ -25,7 +25,6 @@ end_of_line = lf insert_final_newline = false #### .NET Coding Conventions #### -[*.{cs,vb}] # Organize usings dotnet_separate_import_directive_groups = true @@ -78,7 +77,6 @@ dotnet_code_quality_unused_parameters = all:suggestion dotnet_remove_unnecessary_suppression_exclusions = none #### C# Coding Conventions #### -[*.cs] # var preferences csharp_style_var_elsewhere = false:silent @@ -175,7 +173,6 @@ csharp_preserve_single_line_blocks = true csharp_preserve_single_line_statements = true #### Naming styles #### -[*.{cs,vb}] # Naming rules @@ -229,19 +226,19 @@ dotnet_naming_rule.private_static_fields_should_be_s_camelcase.style = s_camelca dotnet_naming_rule.public_constant_fields_should_be_pascalcase.severity = suggestion dotnet_naming_rule.public_constant_fields_should_be_pascalcase.symbols = public_constant_fields -dotnet_naming_rule.public_constant_fields_should_be_pascalcase.style = pascalcase +dotnet_naming_rule.public_constant_fields_should_be_pascalcase.style = all_upper dotnet_naming_rule.private_constant_fields_should_be_pascalcase.severity = suggestion dotnet_naming_rule.private_constant_fields_should_be_pascalcase.symbols = private_constant_fields -dotnet_naming_rule.private_constant_fields_should_be_pascalcase.style = pascalcase +dotnet_naming_rule.private_constant_fields_should_be_pascalcase.style = all_upper dotnet_naming_rule.public_static_readonly_fields_should_be_pascalcase.severity = suggestion dotnet_naming_rule.public_static_readonly_fields_should_be_pascalcase.symbols = public_static_readonly_fields -dotnet_naming_rule.public_static_readonly_fields_should_be_pascalcase.style = pascalcase +dotnet_naming_rule.public_static_readonly_fields_should_be_pascalcase.style = all_upper dotnet_naming_rule.private_static_readonly_fields_should_be_pascalcase.severity = suggestion dotnet_naming_rule.private_static_readonly_fields_should_be_pascalcase.symbols = private_static_readonly_fields -dotnet_naming_rule.private_static_readonly_fields_should_be_pascalcase.style = pascalcase +dotnet_naming_rule.private_static_readonly_fields_should_be_pascalcase.style = all_upper dotnet_naming_rule.enums_should_be_pascalcase.severity = suggestion dotnet_naming_rule.enums_should_be_pascalcase.symbols = enums @@ -365,3 +362,7 @@ dotnet_naming_style.s_camelcase.required_suffix = dotnet_naming_style.s_camelcase.word_separator = dotnet_naming_style.s_camelcase.capitalization = camel_case +dotnet_naming_style.all_upper.required_prefix = +dotnet_naming_style.all_upper.required_suffix = +dotnet_naming_style.all_upper.word_separator = _ +dotnet_naming_style.all_upper.capitalization = all_upper diff --git a/src/SiteMonitor/Models/Configuration.cs b/src/SiteMonitor/Models/Configuration.cs index 6db5581..d3c3460 100644 --- a/src/SiteMonitor/Models/Configuration.cs +++ b/src/SiteMonitor/Models/Configuration.cs @@ -9,7 +9,7 @@ namespace SiteMonitor.Models; /// The configuration of the application. /// public class Configuration { - private static readonly string s_configLocation = + private static readonly string S_CONFIG_LOCATION = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location) ?? string.Empty, "config.json"); private static Configuration? s_instance; @@ -34,7 +34,7 @@ public static Configuration Instance { private static Configuration? ReadConfiguration() { try { - string json = File.ReadAllText(s_configLocation); + string json = File.ReadAllText(S_CONFIG_LOCATION); return JsonConvert.DeserializeObject(json); } catch { return null; } @@ -47,7 +47,7 @@ public static Configuration Instance { public static bool WriteConfiguration() { try { string json = JsonConvert.SerializeObject(Instance); - File.WriteAllText(s_configLocation, json); + File.WriteAllText(S_CONFIG_LOCATION, json); return true; } catch { diff --git a/src/SiteMonitor/SiteMonitor.csproj b/src/SiteMonitor/SiteMonitor.csproj index dface9b..d1ea71b 100644 --- a/src/SiteMonitor/SiteMonitor.csproj +++ b/src/SiteMonitor/SiteMonitor.csproj @@ -26,13 +26,13 @@ - - - - + + + + - - + + diff --git a/src/SiteMonitor/ViewModels/MainWindowViewModel.cs b/src/SiteMonitor/ViewModels/MainWindowViewModel.cs index f1b07d7..6ddda96 100644 --- a/src/SiteMonitor/ViewModels/MainWindowViewModel.cs +++ b/src/SiteMonitor/ViewModels/MainWindowViewModel.cs @@ -20,13 +20,13 @@ namespace SiteMonitor.ViewModels; /// public class MainWindowViewModel : ViewModelBase { private bool _apiUp; + private string? _chatTimestamp; private bool _isMinimized; private bool _nullUp; private string? _serverAddress; private bool _serverUp; private bool _websiteUp; private WindowState _windowState; - private string? _chatTimestamp; /// /// Initializes a new instance of the class. @@ -121,22 +121,22 @@ private async Task PingSite() { ApiUp = await SendHeadRequest("https://nullinside.com/api/v1/featureToggle"); NullUp = await SendHeadRequest("https://nullinside.com/null/v1/database/migration"); ChatTimestamp = await SendGetRequest("https://nullinside.com/twitch-bot/v1/bot/chat/timestamp"); - var chatNotUpdating = false; + bool chatNotUpdating = false; if (null != ChatTimestamp) { - var parsed = ChatTimestamp.Trim('"'); + string parsed = ChatTimestamp.Trim('"'); if (DateTime.TryParse(parsed, out DateTime time)) { - var timestamp = time.ToLocalTime().ToString(CultureInfo.InvariantCulture); - var diff = DateTime.Now - time.ToLocalTime(); + string timestamp = time.ToLocalTime().ToString(CultureInfo.InvariantCulture); + TimeSpan diff = DateTime.Now - time.ToLocalTime(); timestamp = $"{timestamp} ({diff.Hours}h {diff.Minutes}m {diff.Seconds}s ago)"; ChatTimestamp = timestamp; chatNotUpdating = diff > TimeSpan.FromMinutes(5); } } - + if ((!WebsiteUp || !ApiUp || !NullUp || chatNotUpdating) && IsMinimized) { WindowState = WindowState.Normal; } - + await Task.Delay(TimeSpan.FromSeconds(10)); } } @@ -160,7 +160,7 @@ private async Task SendHeadRequest(string address) { return false; } } - + /// /// Sends a head request to ensure a URL is online. /// diff --git a/src/SiteMonitor/ViewModels/ViewModelBase.cs b/src/SiteMonitor/ViewModels/ViewModelBase.cs index 1e04501..e93814f 100644 --- a/src/SiteMonitor/ViewModels/ViewModelBase.cs +++ b/src/SiteMonitor/ViewModels/ViewModelBase.cs @@ -5,4 +5,5 @@ namespace SiteMonitor.ViewModels; /// /// A base class for all view models. /// -public class ViewModelBase : ReactiveObject { } \ No newline at end of file +public class ViewModelBase : ReactiveObject { +} \ No newline at end of file diff --git a/src/global.json b/src/global.json new file mode 100644 index 0000000..eafb435 --- /dev/null +++ b/src/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "rollForward": "latestMajor", + "allowPrerelease": false + } +} \ No newline at end of file diff --git a/src/nullinside-api b/src/nullinside-api index 5255f36..2ce470f 160000 --- a/src/nullinside-api +++ b/src/nullinside-api @@ -1 +1 @@ -Subproject commit 5255f3687a6bb6e86fdfc219962b7614363ff1a0 +Subproject commit 2ce470f89cd6704200870e354802677b978afccf