From 7ee7ebc4b320b335a6d247341fccadb85d8d3ab3 Mon Sep 17 00:00:00 2001 From: danielgrabowski Date: Thu, 7 Nov 2019 11:52:27 +0100 Subject: [PATCH] Cleanup --- Squirrowse.Client/Program.cs | 1 - Squirrowse.Client/Service/ActionDispatcher.cs | 5 +- Squirrowse.Client/Squirrowse.Client.csproj | 2 +- Squirrowse.Client/Worker.cs | 7 +- Squirrowse.Core/CoreModule.cs | 2 +- Squirrowse.Core/Models/ConnectionType.cs | 2 +- Squirrowse.Core/Models/User.cs | 2 +- Squirrowse.Core/Services/ConnectionManager.cs | 15 +-- Squirrowse.Service/Hubs/IStreamHub.cs | 5 +- Squirrowse.Service/Hubs/IStreamManager.cs | 4 +- Squirrowse.Service/Hubs/StreamHub.cs | 50 ++------- Squirrowse.Service/Hubs/StreamManager.cs | 8 +- Squirrowse.Web/App.razor | 4 +- Squirrowse.Web/Data/WeatherForecast.cs | 15 --- Squirrowse.Web/Data/WeatherForecastService.cs | 25 ----- Squirrowse.Web/Pages/Counter.razor | 16 --- Squirrowse.Web/Pages/Error.razor | 16 --- Squirrowse.Web/Pages/FetchData.razor | 46 -------- Squirrowse.Web/Pages/Hub.razor | 56 ++-------- Squirrowse.Web/Pages/Index.razor | 2 +- Squirrowse.Web/Pages/_Host.cshtml | 20 ++-- Squirrowse.Web/Program.cs | 21 ++-- Squirrowse.Web/Properties/launchSettings.json | 2 +- Squirrowse.Web/Shared/MainLayout.razor | 4 +- Squirrowse.Web/Shared/NavMenu.razor | 61 +++++------ Squirrowse.Web/Squirrowse.Web.csproj | 4 + Squirrowse.Web/Startup.cs | 14 +-- Squirrowse.Web/_Imports.razor | 2 +- Squirrowse.Web/appsettings.Development.json | 2 +- Squirrowse.Web/appsettings.json | 2 +- Squirrowse.Web/wwwroot/css/site.css | 100 ++++++------------ 31 files changed, 127 insertions(+), 388 deletions(-) delete mode 100644 Squirrowse.Web/Data/WeatherForecast.cs delete mode 100644 Squirrowse.Web/Data/WeatherForecastService.cs delete mode 100644 Squirrowse.Web/Pages/Counter.razor delete mode 100644 Squirrowse.Web/Pages/Error.razor delete mode 100644 Squirrowse.Web/Pages/FetchData.razor diff --git a/Squirrowse.Client/Program.cs b/Squirrowse.Client/Program.cs index 13759ee..acda457 100644 --- a/Squirrowse.Client/Program.cs +++ b/Squirrowse.Client/Program.cs @@ -17,7 +17,6 @@ namespace Squirrowse.Client return Host.CreateDefaultBuilder(args) .ConfigureServices((hostContext, services) => { - services.AddHostedService(); services.AddSingleton(x => new ConnectionManager("http://localhost", 5000)); //keep as transient for now diff --git a/Squirrowse.Client/Service/ActionDispatcher.cs b/Squirrowse.Client/Service/ActionDispatcher.cs index 39692a4..15466d2 100644 --- a/Squirrowse.Client/Service/ActionDispatcher.cs +++ b/Squirrowse.Client/Service/ActionDispatcher.cs @@ -10,12 +10,13 @@ namespace Squirrowse.Client.Service { public class ActionDispatcher : IActionDispatcher { + private readonly ICameraService camera; private readonly IConnectionManager connectionManager; private readonly ILogger logger; private readonly HubConnection session; - private readonly ICameraService camera; - public ActionDispatcher(ILogger logger, IConnectionManager connectionManager,ICameraService camera) + public ActionDispatcher(ILogger logger, IConnectionManager connectionManager, + ICameraService camera) { this.connectionManager = connectionManager; this.logger = logger; diff --git a/Squirrowse.Client/Squirrowse.Client.csproj b/Squirrowse.Client/Squirrowse.Client.csproj index a913c13..d909f40 100644 --- a/Squirrowse.Client/Squirrowse.Client.csproj +++ b/Squirrowse.Client/Squirrowse.Client.csproj @@ -21,4 +21,4 @@ Always - + \ No newline at end of file diff --git a/Squirrowse.Client/Worker.cs b/Squirrowse.Client/Worker.cs index e0f0604..94d5b0c 100644 --- a/Squirrowse.Client/Worker.cs +++ b/Squirrowse.Client/Worker.cs @@ -23,12 +23,7 @@ namespace Squirrowse.Client public async Task StartAsync(CancellationToken cancellationToken) { - for (int i = 0; i < 100; i++) - { - await _connectionManager.InitConnection(ConnectionType.Client); - } - - + for (var i = 0; i < 100; i++) await _connectionManager.InitConnection(ConnectionType.Client); } public async Task StopAsync(CancellationToken cancellationToken) diff --git a/Squirrowse.Core/CoreModule.cs b/Squirrowse.Core/CoreModule.cs index 06607ca..d42bb10 100644 --- a/Squirrowse.Core/CoreModule.cs +++ b/Squirrowse.Core/CoreModule.cs @@ -9,7 +9,7 @@ namespace Squirrowse.Core public static IServiceCollection AddCoreModule(this IServiceCollection services) { services.AddSingleton(typeof(ILogger<>), typeof(Logger<>)); - services.AddSingleton(x => + services.AddSingleton(x => new ConnectionManager("http://localhost", 5000)); return services; } diff --git a/Squirrowse.Core/Models/ConnectionType.cs b/Squirrowse.Core/Models/ConnectionType.cs index 48b5d89..c987233 100644 --- a/Squirrowse.Core/Models/ConnectionType.cs +++ b/Squirrowse.Core/Models/ConnectionType.cs @@ -2,7 +2,7 @@ { public enum ConnectionType { - Unknown=-1, + Unknown = -1, Client, Server, Root diff --git a/Squirrowse.Core/Models/User.cs b/Squirrowse.Core/Models/User.cs index 21d4e9b..e3dc2e3 100644 --- a/Squirrowse.Core/Models/User.cs +++ b/Squirrowse.Core/Models/User.cs @@ -6,7 +6,7 @@ { ConnectionId = connectionId; AgentName = agentName; - this.UserType = userType; + UserType = userType; } public string ConnectionId { get; set; } diff --git a/Squirrowse.Core/Services/ConnectionManager.cs b/Squirrowse.Core/Services/ConnectionManager.cs index 204cd31..08d975d 100644 --- a/Squirrowse.Core/Services/ConnectionManager.cs +++ b/Squirrowse.Core/Services/ConnectionManager.cs @@ -31,8 +31,7 @@ namespace Squirrowse.Core.Services { if (_connection.State == HubConnectionState.Connected) return; await _connection.StartAsync(); - // await RegisterOnHub(type); - await SpamHub(type); + await RegisterOnHub(type); Connected = true; } @@ -46,17 +45,7 @@ namespace Squirrowse.Core.Services private async Task RegisterOnHub(ConnectionType type) { - await _connection.SendAsync("AddUser", Environment.UserName,type); - } -#warning debug - private async Task SpamHub(ConnectionType type) - { - for (int i = 0; i < 100; i++) - { - await _connection.SendAsync("AddUser", Environment.UserName + $"{DateTime.Now}", type); - - } - + await _connection.SendAsync("AddUser", Environment.UserName, type); } } } \ No newline at end of file diff --git a/Squirrowse.Service/Hubs/IStreamHub.cs b/Squirrowse.Service/Hubs/IStreamHub.cs index ff80bdb..d432e47 100644 --- a/Squirrowse.Service/Hubs/IStreamHub.cs +++ b/Squirrowse.Service/Hubs/IStreamHub.cs @@ -1,5 +1,4 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Threading.Tasks; using Squirrowse.Core.Models; @@ -7,7 +6,7 @@ namespace Squirrowse.Service.Hubs { public interface IStreamHub { - Task AddUser(string username,ConnectionType type); + Task AddUser(string username, ConnectionType type); Task UploadByteStream(IAsyncEnumerable stream); Task Startstream(string userId); Task StopStream(string userId); diff --git a/Squirrowse.Service/Hubs/IStreamManager.cs b/Squirrowse.Service/Hubs/IStreamManager.cs index a24099f..a5f7220 100644 --- a/Squirrowse.Service/Hubs/IStreamManager.cs +++ b/Squirrowse.Service/Hubs/IStreamManager.cs @@ -6,10 +6,10 @@ namespace Squirrowse.Service.Hubs { public interface IStreamManager { - Task AddUser(string connectionId, string agentName,ConnectionType type); + Task AddUser(string connectionId, string agentName, ConnectionType type); Task RemoveUserbyConnectionId(string connectionId); Task RemoveUserByUserName(string agentName); - IEnumerable getServerSideUsers(); + IEnumerable getServerSideUsers(); bool CheckUser(string agentName); IEnumerable getClientSideUsers(); IEnumerable getAllUsers(); diff --git a/Squirrowse.Service/Hubs/StreamHub.cs b/Squirrowse.Service/Hubs/StreamHub.cs index b4396bb..8c2be2f 100644 --- a/Squirrowse.Service/Hubs/StreamHub.cs +++ b/Squirrowse.Service/Hubs/StreamHub.cs @@ -1,12 +1,9 @@ using System; using System.Collections.Generic; -using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.SignalR; using Microsoft.Extensions.Logging; -using OpenCvSharp; using Squirrowse.Core.Models; -using Squirrowse.Core.Services; namespace Squirrowse.Service.Hubs { @@ -23,9 +20,8 @@ namespace Squirrowse.Service.Hubs public async Task AddUser(string UserName, ConnectionType type) { - await manager.AddUser(Context.ConnectionId, UserName,type); + await manager.AddUser(Context.ConnectionId, UserName, type); logger.LogInformation($"{nameof(AddUser)}: {UserName} of {type}"); - } @@ -71,13 +67,11 @@ namespace Squirrowse.Service.Hubs public async Task UploadByteStream(IAsyncEnumerable stream) { foreach (var user in manager.getServerSideUsers()) - { await Clients.Client(user.ConnectionId).SendAsync("RecData", stream); - } - await foreach (var frame in stream) + await foreach (var frame in stream) { logger.LogInformation($"Got frame size: {frame.Length} "); - await Task.Delay(100); //leave some delay for debug purpose + await Task.Delay(100); //leave some delay for debug purpose } } @@ -85,42 +79,18 @@ namespace Squirrowse.Service.Hubs { if (t == ConnectionType.Client) return manager.getClientSideUsers(); if (t == ConnectionType.Server) return manager.getServerSideUsers(); - throw new Exception("not found") ; - } -#warning DEBUG - public async Task GetListOfTypeUserString() - { - string t = ""; - var tasdf=manager.getClientSideUsers(); - foreach (var h in tasdf) - { - t +=h.AgentName; - } - - return t; - } -#warning DEBUG - public async Task Getasuser() => manager.getClientSideUsers().FirstOrDefault(); -#warning Debug - public async Task> GetListOfTypeUserE(ConnectionType t) - { - if (t == ConnectionType.Client) return manager.getClientSideUsers().ToList(); - if (t == ConnectionType.Server) return manager.getServerSideUsers().ToList(); throw new Exception("not found"); } -#warning debug - public async IAsyncEnumerable GetListOfTypeUserAsync(ConnectionType t) - { - var client = manager.getClientSideUsers(); - foreach (var va in client) - { - await Task.Delay(500); - yield return va; - } - } + public async Task> GetAllUsers() { return manager.getAllUsers(); } + + public async IAsyncEnumerable GetListOfTypeUserAsync(ConnectionType t) + { + var client = await GetListOfTypeUser(t); + foreach (var va in client) yield return va; + } } } \ No newline at end of file diff --git a/Squirrowse.Service/Hubs/StreamManager.cs b/Squirrowse.Service/Hubs/StreamManager.cs index e5c7340..1a6d88d 100644 --- a/Squirrowse.Service/Hubs/StreamManager.cs +++ b/Squirrowse.Service/Hubs/StreamManager.cs @@ -7,11 +7,11 @@ namespace Squirrowse.Service.Hubs { public class StreamManager : IStreamManager { - private List _users = new List(); //temporary + private readonly List _users = new List(); //temporary - public Task AddUser(string connectionId, string userName,ConnectionType type) + public Task AddUser(string connectionId, string userName, ConnectionType type) { - _users.Add(new User(connectionId, userName,type)); + _users.Add(new User(connectionId, userName, type)); return Task.CompletedTask; } @@ -31,10 +31,12 @@ namespace Squirrowse.Service.Hubs { return _users.Where(user => user.UserType == ConnectionType.Server); } + public IEnumerable getClientSideUsers() { return _users.Where(user => user.UserType == ConnectionType.Client); } + public bool CheckUser(string userName) { return _users.Any(user => user.AgentName == userName); diff --git a/Squirrowse.Web/App.razor b/Squirrowse.Web/App.razor index 1c360b7..c0dff01 100644 --- a/Squirrowse.Web/App.razor +++ b/Squirrowse.Web/App.razor @@ -1,10 +1,10 @@  - +

Sorry, there's nothing at this address.

-
+ \ No newline at end of file diff --git a/Squirrowse.Web/Data/WeatherForecast.cs b/Squirrowse.Web/Data/WeatherForecast.cs deleted file mode 100644 index 12a4773..0000000 --- a/Squirrowse.Web/Data/WeatherForecast.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; - -namespace Squirrowse.Web.Data -{ - public class WeatherForecast - { - public DateTime Date { get; set; } - - public int TemperatureC { get; set; } - - public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); - - public string Summary { get; set; } - } -} diff --git a/Squirrowse.Web/Data/WeatherForecastService.cs b/Squirrowse.Web/Data/WeatherForecastService.cs deleted file mode 100644 index 7df4a99..0000000 --- a/Squirrowse.Web/Data/WeatherForecastService.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Linq; -using System.Threading.Tasks; - -namespace Squirrowse.Web.Data -{ - public class WeatherForecastService - { - private static readonly string[] Summaries = new[] - { - "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" - }; - - public Task GetForecastAsync(DateTime startDate) - { - var rng = new Random(); - return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast - { - Date = startDate.AddDays(index), - TemperatureC = rng.Next(-20, 55), - Summary = Summaries[rng.Next(Summaries.Length)] - }).ToArray()); - } - } -} diff --git a/Squirrowse.Web/Pages/Counter.razor b/Squirrowse.Web/Pages/Counter.razor deleted file mode 100644 index 59c0d24..0000000 --- a/Squirrowse.Web/Pages/Counter.razor +++ /dev/null @@ -1,16 +0,0 @@ -@page "/counter" - -

Counter

- -

Current count: @currentCount

- - - -@code { - int currentCount = 0; - - void IncrementCount() - { - currentCount++; - } -} diff --git a/Squirrowse.Web/Pages/Error.razor b/Squirrowse.Web/Pages/Error.razor deleted file mode 100644 index 79929d7..0000000 --- a/Squirrowse.Web/Pages/Error.razor +++ /dev/null @@ -1,16 +0,0 @@ -@page "/error" - - -

Error.

-

An error occurred while processing your request.

- -

Development Mode

-

- Swapping to Development environment will display more detailed information about the error that occurred. -

-

- The Development environment shouldn't be enabled for deployed applications. - It can result in displaying sensitive information from exceptions to end users. - For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development - and restarting the app. -

\ No newline at end of file diff --git a/Squirrowse.Web/Pages/FetchData.razor b/Squirrowse.Web/Pages/FetchData.razor deleted file mode 100644 index 49b7d9c..0000000 --- a/Squirrowse.Web/Pages/FetchData.razor +++ /dev/null @@ -1,46 +0,0 @@ -@page "/fetchdata" - -@using Squirrowse.Web.Data -@inject WeatherForecastService ForecastService - -

Weather forecast

- -

This component demonstrates fetching data from a service.

- -@if (forecasts == null) -{ -

Loading...

-} -else -{ - - - - - - - - - - - @foreach (var forecast in forecasts) - { - - - - - - - } - -
DateTemp. (C)Temp. (F)Summary
@forecast.Date.ToShortDateString()@forecast.TemperatureC@forecast.TemperatureF@forecast.Summary
-} - -@code { - WeatherForecast[] forecasts; - - protected override async Task OnInitializedAsync() - { - forecasts = await ForecastService.GetForecastAsync(DateTime.Now); - } -} diff --git a/Squirrowse.Web/Pages/Hub.razor b/Squirrowse.Web/Pages/Hub.razor index 71f5942..3e81ca0 100644 --- a/Squirrowse.Web/Pages/Hub.razor +++ b/Squirrowse.Web/Pages/Hub.razor @@ -32,27 +32,8 @@ } - } - - @*
-
-

- @agents.AgentName -> @agents.UserType.ToString() -

-
- - - -
-
-
*@ - - -else + } + else {

No Cams

@@ -73,48 +54,25 @@ else protected override async Task OnInitializedAsync() { - // agents=new List(); await _connection.InitConnection(ConnectionType.Server); connection = await _connection.GetConnection(); connection.On>("RecData", OnStreamDataReceived); - //agents = await connection.InvokeAsync("GetListOfTypeUserString"); - //agents = await connection.InvokeAsync("Getasuser"); - //agents = await connection.InvokeAsync>("GetListOfTypeUserAsync",ConnectionType.Client); - await foreach (var dupa in connection.StreamAsync("GetListOfTypeUserAsync", ConnectionType.Client).ConfigureAwait(false)) + + await foreach (var user in connection.StreamAsync("GetListOfTypeUserAsync", ConnectionType.Client).ConfigureAwait(false)) { - agents.Add(dupa); - // await Task.Delay(300); + agents.Add(user); this.StateHasChanged(); } - //connection.On("NewUser", NewUser); - //connection.On("RemoveScreenCastAgent", RemoveScreenCastAgent); - //connection.On("OnStreamDataReceived", OnStreamDataReceived); - - //await connection.StartAsync(); + } - //cannot control enumerator - //protected override async Task OnAfterRenderAsync(bool firstRender=true) - //{ - // await foreach (var dupa in connection.StreamAsync("GetListOfTypeUserAsync", ConnectionType.Client)) - // { - // agents.Add(dupa); - // await Task.Delay(300); - // this.StateHasChanged(); - // } - //} + bool IsViewingCastOf(string agentName) { return agentName == CurrentViewCastAgent; } - //void NewUser(User agentName) - //{ - // agents.Add(agentName); - // StateHasChanged(); - //} - async void OnStreamDataReceived(IAsyncEnumerable streamData) { await foreach (var t in streamData) diff --git a/Squirrowse.Web/Pages/Index.razor b/Squirrowse.Web/Pages/Index.razor index 16dac31..73d0d8b 100644 --- a/Squirrowse.Web/Pages/Index.razor +++ b/Squirrowse.Web/Pages/Index.razor @@ -2,4 +2,4 @@

Hello, world!

-Welcome to your new app. +Welcome to your new app. \ No newline at end of file diff --git a/Squirrowse.Web/Pages/_Host.cshtml b/Squirrowse.Web/Pages/_Host.cshtml index a021e9c..c1dd224 100644 --- a/Squirrowse.Web/Pages/_Host.cshtml +++ b/Squirrowse.Web/Pages/_Host.cshtml @@ -5,18 +5,18 @@ - - + + Squirrowse.Web - - - + + + - - @(await Html.RenderComponentAsync(RenderMode.ServerPrerendered)) - + + @(await Html.RenderComponentAsync(RenderMode.ServerPrerendered)) + - + - + \ No newline at end of file diff --git a/Squirrowse.Web/Program.cs b/Squirrowse.Web/Program.cs index d3c01d7..950d8dd 100644 --- a/Squirrowse.Web/Program.cs +++ b/Squirrowse.Web/Program.cs @@ -1,13 +1,5 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; namespace Squirrowse.Web { @@ -18,11 +10,10 @@ namespace Squirrowse.Web CreateHostBuilder(args).Build().Run(); } - public static IHostBuilder CreateHostBuilder(string[] args) => - Host.CreateDefaultBuilder(args) - .ConfigureWebHostDefaults(webBuilder => - { - webBuilder.UseStartup(); - }); + public static IHostBuilder CreateHostBuilder(string[] args) + { + return Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }); + } } -} +} \ No newline at end of file diff --git a/Squirrowse.Web/Properties/launchSettings.json b/Squirrowse.Web/Properties/launchSettings.json index 3c49e20..f31c9a9 100644 --- a/Squirrowse.Web/Properties/launchSettings.json +++ b/Squirrowse.Web/Properties/launchSettings.json @@ -24,4 +24,4 @@ } } } -} +} \ No newline at end of file diff --git a/Squirrowse.Web/Shared/MainLayout.razor b/Squirrowse.Web/Shared/MainLayout.razor index 9b5407d..5029de9 100644 --- a/Squirrowse.Web/Shared/MainLayout.razor +++ b/Squirrowse.Web/Shared/MainLayout.razor @@ -1,7 +1,7 @@ @inherits LayoutComponentBase
@@ -12,4 +12,4 @@
@Body
-
+
\ No newline at end of file diff --git a/Squirrowse.Web/Shared/NavMenu.razor b/Squirrowse.Web/Shared/NavMenu.razor index b8b8c2a..d652aa5 100644 --- a/Squirrowse.Web/Shared/NavMenu.razor +++ b/Squirrowse.Web/Shared/NavMenu.razor @@ -1,42 +1,33 @@  + + + -
- -
+
+ +
-@code { - bool collapseNavMenu = true; + @code { + bool collapseNavMenu = true; - string NavMenuCssClass => collapseNavMenu ? "collapse" : null; + string NavMenuCssClass => collapseNavMenu ? "collapse" : null; - void ToggleNavMenu() - { - collapseNavMenu = !collapseNavMenu; - } -} + void ToggleNavMenu() + { + collapseNavMenu = !collapseNavMenu; + } + + } \ No newline at end of file diff --git a/Squirrowse.Web/Squirrowse.Web.csproj b/Squirrowse.Web/Squirrowse.Web.csproj index b0edf39..836c7de 100644 --- a/Squirrowse.Web/Squirrowse.Web.csproj +++ b/Squirrowse.Web/Squirrowse.Web.csproj @@ -14,4 +14,8 @@ + + + + diff --git a/Squirrowse.Web/Startup.cs b/Squirrowse.Web/Startup.cs index 896c2d5..4884482 100644 --- a/Squirrowse.Web/Startup.cs +++ b/Squirrowse.Web/Startup.cs @@ -1,16 +1,9 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.HttpsPolicy; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Squirrowse.Core; -using Squirrowse.Web.Data; namespace Squirrowse.Web { @@ -28,11 +21,10 @@ namespace Squirrowse.Web public void ConfigureServices(IServiceCollection services) { services.AddRazorPages(); - - services.AddServerSideBlazor().AddHubOptions(x=>x.MaximumReceiveMessageSize= 102400000); + + services.AddServerSideBlazor().AddHubOptions(x => x.MaximumReceiveMessageSize = 102400000); services.AddCoreModule(); services.AddSignalR().AddMessagePackProtocol(); - services.AddSingleton(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. @@ -61,4 +53,4 @@ namespace Squirrowse.Web }); } } -} +} \ No newline at end of file diff --git a/Squirrowse.Web/_Imports.razor b/Squirrowse.Web/_Imports.razor index b787f9b..f216765 100644 --- a/Squirrowse.Web/_Imports.razor +++ b/Squirrowse.Web/_Imports.razor @@ -6,4 +6,4 @@ @using Microsoft.AspNetCore.Components.Web @using Microsoft.JSInterop @using Squirrowse.Web -@using Squirrowse.Web.Shared +@using Squirrowse.Web.Shared \ No newline at end of file diff --git a/Squirrowse.Web/appsettings.Development.json b/Squirrowse.Web/appsettings.Development.json index e203e94..f999bc2 100644 --- a/Squirrowse.Web/appsettings.Development.json +++ b/Squirrowse.Web/appsettings.Development.json @@ -6,4 +6,4 @@ "Microsoft": "Information" } } -} +} \ No newline at end of file diff --git a/Squirrowse.Web/appsettings.json b/Squirrowse.Web/appsettings.json index d9d9a9b..222224e 100644 --- a/Squirrowse.Web/appsettings.json +++ b/Squirrowse.Web/appsettings.json @@ -7,4 +7,4 @@ } }, "AllowedHosts": "*" -} +} \ No newline at end of file diff --git a/Squirrowse.Web/wwwroot/css/site.css b/Squirrowse.Web/wwwroot/css/site.css index c127ff7..253bf47 100644 --- a/Squirrowse.Web/wwwroot/css/site.css +++ b/Squirrowse.Web/wwwroot/css/site.css @@ -1,34 +1,28 @@ @import url('open-iconic/font/css/open-iconic-bootstrap.min.css'); -html, body { - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; -} +html, body { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; } -a, .btn-link { - color: #0366d6; -} +a, .btn-link { color: #0366d6; } .btn-primary { - color: #fff; - background-color: #1b6ec2; - border-color: #1861ac; + background-color: #1b6ec2; + border-color: #1861ac; + color: #fff; } app { - position: relative; display: flex; flex-direction: column; + position: relative; } .top-row { - height: 3.5rem; - display: flex; align-items: center; + display: flex; + height: 3.5rem; } -.main { - flex: 1; -} +.main { flex: 1; } .main .top-row { background-color: #f7f7f7; @@ -36,27 +30,19 @@ app { justify-content: flex-end; } -.main .top-row > a { - margin-left: 1.5rem; -} +.main .top-row > a { margin-left: 1.5rem; } -.sidebar { - background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%); -} +.sidebar { background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%); } -.sidebar .top-row { - background-color: rgba(0,0,0,0.4); -} +.sidebar .top-row { background-color: rgba(0, 0, 0, 0.4); } -.sidebar .navbar-brand { - font-size: 1.1rem; -} +.sidebar .navbar-brand { font-size: 1.1rem; } .sidebar .oi { - width: 2rem; font-size: 1.1rem; - vertical-align: text-top; top: -2px; + vertical-align: text-top; + width: 2rem; } .nav-item { @@ -64,69 +50,51 @@ app { padding-bottom: 0.5rem; } -.nav-item:first-of-type { - padding-top: 1rem; -} +.nav-item:first-of-type { padding-top: 1rem; } -.nav-item:last-of-type { - padding-bottom: 1rem; -} +.nav-item:last-of-type { padding-bottom: 1rem; } .nav-item a { - color: #d7d7d7; - border-radius: 4px; - height: 3rem; - display: flex; align-items: center; + border-radius: 4px; + color: #d7d7d7; + display: flex; + height: 3rem; line-height: 3rem; } .nav-item a.active { - background-color: rgba(255,255,255,0.25); + background-color: rgba(255, 255, 255, 0.25); color: white; } .nav-item a:hover { - background-color: rgba(255,255,255,0.1); + background-color: rgba(255, 255, 255, 0.1); color: white; } -.content { - padding-top: 1.1rem; -} +.content { padding-top: 1.1rem; } -.navbar-toggler { - background-color: rgba(255, 255, 255, 0.1); -} +.navbar-toggler { background-color: rgba(255, 255, 255, 0.1); } -.valid.modified:not([type=checkbox]) { - outline: 1px solid #26b050; -} +.valid.modified:not([type=checkbox]) { outline: 1px solid #26b050; } -.invalid { - outline: 1px solid red; -} +.invalid { outline: 1px solid red; } -.validation-message { - color: red; -} +.validation-message { color: red; } @media (max-width: 767.98px) { - .main .top-row { - display: none; - } + .main .top-row { display: none; } } @media (min-width: 768px) { - app { - flex-direction: row; - } + app { flex-direction: row; } .sidebar { - width: 250px; height: 100vh; position: sticky; top: 0; + width: 250px; } .main .top-row { @@ -139,12 +107,10 @@ app { padding-right: 1.5rem !important; } - .navbar-toggler { - display: none; - } + .navbar-toggler { display: none; } .sidebar .collapse { /* Never collapse the sidebar for wide screens */ display: block; } -} +} \ No newline at end of file