blob: e6c22962824fb19674addfa83e7c68d3c2c24892 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
<div class="top-row ps-3 navbar navbar-dark">
<div class="container-fluid">
<a class="navbar-brand" href="">Spacebar.Client</a>
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</div>
<div class="@NavMenuCssClass nav-scrollable" @onclick="ToggleNavMenu">
<nav class="nav flex-column">
<div class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="bi bi-house-door-fill-nav-menu" aria-hidden="true"></span> Home
</NavLink>
</div>
@foreach (var guild in App.ClientManager.ClientState.Guilds) {
<div class="nav-item px-3">
<NavLink class="nav-link" href="@($"/channels/{guild.Key}/{guild.Value.Channels.First(x => x.Type == 0).Id}")">
@{
var guildIconUrl = string.IsNullOrWhiteSpace(guild.Value.Icon)
? "/img/icon_white.png"
: new Uri($"{App.ClientManager.Client?.ClientWellKnown.Cdn.BaseUrl}/icons/{guild.Key}/{guild.Value.Icon}").AbsoluteUri;
}
<img class="navGuildIcon" src="@guildIconUrl" alt="" aria-hidden="true">
@guild.Value.Name
</NavLink>
</div>
}
<div class="nav-item px-3">
<NavLink class="nav-link" href="/discovery/guilds">
<span class="bi bi-plus-square-fill-nav-menu" aria-hidden="true"></span> Discover...
</NavLink>
</div>
</nav>
</div>
@code {
private bool collapseNavMenu = true;
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private void ToggleNavMenu() {
collapseNavMenu = !collapseNavMenu;
}
protected override async Task OnInitializedAsync() {
App.ClientManager.ClientState.Guilds.CollectionChanged += (_,_) => this.StateHasChanged();
}
}
|