#pragma checksum "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "e0a2642c7baa3781ff8bc4211e652dc9a95f8ceb"
//
#pragma warning disable 1591
namespace spanreed.Client.Shared
{
#line hidden
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
#nullable restore
#line 1 "/home/skins/projects/spanreed/Client/_Imports.razor"
using System.Net.Http;
#line default
#line hidden
#nullable disable
#nullable restore
#line 2 "/home/skins/projects/spanreed/Client/_Imports.razor"
using System.Net.Http.Json;
#line default
#line hidden
#nullable disable
#nullable restore
#line 3 "/home/skins/projects/spanreed/Client/_Imports.razor"
using Microsoft.AspNetCore.Components.Forms;
#line default
#line hidden
#nullable disable
#nullable restore
#line 4 "/home/skins/projects/spanreed/Client/_Imports.razor"
using Microsoft.AspNetCore.Components.Routing;
#line default
#line hidden
#nullable disable
#nullable restore
#line 5 "/home/skins/projects/spanreed/Client/_Imports.razor"
using Microsoft.AspNetCore.Components.Web;
#line default
#line hidden
#nullable disable
#nullable restore
#line 6 "/home/skins/projects/spanreed/Client/_Imports.razor"
using Microsoft.AspNetCore.Components.Web.Virtualization;
#line default
#line hidden
#nullable disable
#nullable restore
#line 7 "/home/skins/projects/spanreed/Client/_Imports.razor"
using Microsoft.AspNetCore.Components.WebAssembly.Http;
#line default
#line hidden
#nullable disable
#nullable restore
#line 8 "/home/skins/projects/spanreed/Client/_Imports.razor"
using Microsoft.JSInterop;
#line default
#line hidden
#nullable disable
#nullable restore
#line 9 "/home/skins/projects/spanreed/Client/_Imports.razor"
using spanreed.Client;
#line default
#line hidden
#nullable disable
#nullable restore
#line 10 "/home/skins/projects/spanreed/Client/_Imports.razor"
using spanreed.Client.Shared;
#line default
#line hidden
#nullable disable
#nullable restore
#line 1 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor"
using Microsoft.AspNetCore.SignalR.Client;
#line default
#line hidden
#nullable disable
#nullable restore
#line 2 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor"
using spanreed.Shared;
#line default
#line hidden
#nullable disable
public partial class NavMenu : Microsoft.AspNetCore.Components.ComponentBase, IDisposable
{
#pragma warning disable 1998
protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder)
{
__builder.OpenElement(0, "div");
__builder.AddAttribute(1, "class", "top-row pl-4 navbar navbar-dark");
__builder.AddAttribute(2, "b-9ym6xv191f");
__builder.AddMarkupContent(3, "spanreed\r\n ");
__builder.OpenElement(4, "button");
__builder.AddAttribute(5, "class", "navbar-toggler");
__builder.AddAttribute(6, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create(this,
#nullable restore
#line 9 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor"
ToggleNavMenu
#line default
#line hidden
#nullable disable
));
__builder.AddAttribute(7, "b-9ym6xv191f");
__builder.AddMarkupContent(8, "");
__builder.CloseElement();
__builder.CloseElement();
__builder.AddMarkupContent(9, "\r\n\r\n");
__builder.OpenElement(10, "div");
__builder.AddAttribute(11, "class",
#nullable restore
#line 14 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor"
NavMenuCssClass
#line default
#line hidden
#nullable disable
);
__builder.AddAttribute(12, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create(this,
#nullable restore
#line 14 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor"
ToggleNavMenu
#line default
#line hidden
#nullable disable
));
__builder.AddAttribute(13, "b-9ym6xv191f");
__builder.OpenElement(14, "ul");
__builder.AddAttribute(15, "class", "nav flex-column");
__builder.AddAttribute(16, "b-9ym6xv191f");
#nullable restore
#line 16 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor"
foreach (var room in rooms) {
#line default
#line hidden
#nullable disable
__builder.OpenElement(17, "li");
__builder.AddAttribute(18, "class", "nav-item px-3");
__builder.AddAttribute(19, "b-9ym6xv191f");
__builder.OpenComponent(20);
__builder.AddAttribute(21, "class", "nav-link");
__builder.AddAttribute(22, "href",
#nullable restore
#line 18 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor"
room
#line default
#line hidden
#nullable disable
);
__builder.AddAttribute(23, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder2) => {
__builder2.AddMarkupContent(24, " ");
__builder2.AddContent(25,
#nullable restore
#line 19 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor"
room
#line default
#line hidden
#nullable disable
);
}
));
__builder.CloseComponent();
__builder.CloseElement();
#nullable restore
#line 22 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor"
}
#line default
#line hidden
#nullable disable
__builder.OpenElement(26, "li");
__builder.AddAttribute(27, "class", "nav-item px-3");
__builder.AddAttribute(28, "b-9ym6xv191f");
__builder.AddMarkupContent(29, " ");
__builder.OpenElement(30, "input");
__builder.AddAttribute(31, "id", "nav-text");
__builder.AddAttribute(32, "class", "nav");
__builder.AddAttribute(33, "type", "text");
__builder.AddAttribute(34, "onkeypress", Microsoft.AspNetCore.Components.EventCallback.Factory.Create(this,
#nullable restore
#line 24 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor"
EnterBar
#line default
#line hidden
#nullable disable
));
__builder.AddAttribute(35, "placeholder", "Create Room");
__builder.AddAttribute(36, "value", Microsoft.AspNetCore.Components.BindConverter.FormatValue(
#nullable restore
#line 24 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor"
NewRoomBox
#line default
#line hidden
#nullable disable
));
__builder.AddAttribute(37, "onchange", Microsoft.AspNetCore.Components.EventCallback.Factory.CreateBinder(this, __value => NewRoomBox = __value, NewRoomBox));
__builder.SetUpdatesAttributeName("value");
__builder.AddAttribute(38, "b-9ym6xv191f");
__builder.CloseElement();
__builder.CloseElement();
__builder.CloseElement();
__builder.CloseElement();
}
#pragma warning restore 1998
#nullable restore
#line 29 "/home/skins/projects/spanreed/Client/Shared/NavMenu.razor"
private string NewRoom;
private string NewRoomBox;
private bool collapseNavMenu = true;
private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
private HubConnection hubConnection;
private List rooms = new List();
protected override async Task OnInitializedAsync() {
hubConnection = new HubConnectionBuilder().WithUrl(NavigationManager.ToAbsoluteUri("/addroom")).Build();
hubConnection.On("NewRoom", name => {
rooms.Add(name);
rooms.Sort();
StateHasChanged();
});
var existing_rooms = await Http.GetFromJsonAsync("Room");
if (existing_rooms != null) {
foreach (var room in existing_rooms)
{
rooms.Add(room);
rooms.Sort();
}
}
await hubConnection.StartAsync();
var roomName = NavigationManager.Uri.Split("/").LastOrDefault();
if (roomName.Length > 0) {
await hubConnection.SendAsync("AddRoom", NavigationManager.Uri.Split("/").LastOrDefault());
}
}
async Task EnterBar(KeyboardEventArgs e) {
if (e.Key.Equals("Enter")) {
Console.WriteLine(NewRoom);
await hubConnection.SendAsync("AddRoom", NewRoom);
NavigationManager.NavigateTo(NewRoom);
NewRoom = "";
NewRoomBox = "";
} else if (e.Key.Length == 1) {
NewRoom = NewRoom + e.Key;
}
}
public bool IsConnected =>
hubConnection.State == HubConnectionState.Connected;
public void Dispose() {
_ = hubConnection.DisposeAsync();
}
#line default
#line hidden
#nullable disable
[global::Microsoft.AspNetCore.Components.InjectAttribute] private HttpClient Http { get; set; }
[global::Microsoft.AspNetCore.Components.InjectAttribute] private NavigationManager NavigationManager { get; set; }
}
}
#pragma warning restore 1591