summary refs log tree commit diff
path: root/GitRepoViewer/Shared/NavMenu.razor
blob: 3635bcbe27080cfa424266c59820b1fa8733029f (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
52
53
54
55
56
57
58
59
60
61
<div class="top-row ps-3 navbar navbar-dark">
    <div class="container-fluid">
        <a class="navbar-brand" href="">GitRepoViewer</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="flex-column">
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
                <span class="oi oi-home" aria-hidden="true"></span> Home
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="counter">
                <span class="oi oi-plus" aria-hidden="true"></span> Counter
            </NavLink>
        </div>
        <div class="nav-item px-3">
            <NavLink class="nav-link" href="fetchdata">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
            </NavLink>
        </div>
        @if (repoUrl != null)
        {
            <div class="nav-item px-3">
                <NavLink class="nav-link" href="@("/GitLog?repo="+repoUrl)">
                    <span class="oi oi-list-rich" aria-hidden="true"></span> Commit log
                </NavLink>
            </div>
        }
    </nav>
</div>

@code {
    private bool collapseNavMenu = true;

    private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;

    
    private string? repoUrl { get; set; } = null;
    
    private void ToggleNavMenu()
    {
        collapseNavMenu = !collapseNavMenu;
    }


    protected override async Task OnInitializedAsync()
    {
        var query = new Uri(NavigationManager.Uri).Query;
        var queryDictionary = System.Web.HttpUtility.ParseQueryString(query);
        repoUrl = queryDictionary["repo"];
        
        await base.OnInitializedAsync();
    }

}