-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathNavMenu.razor
97 lines (87 loc) · 3.5 KB
/
NavMenu.razor
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
@* Copyright (C) Jonathan Shull - See license file at github.com/amytho/pdf-acc-toolset *@
@using Pdf_Acc_Toolset.Services
<div class="top-row navbar navbar-dark">
<div class="flex justify-between sm:justify-center h-full">
<a class="navbar-brand self-center" href="">Pdf-Acc-Toolset</a>
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
Toggle
</button>
</div>
</div>
<div class="@NavMenuCssClass">
<nav class="flex flex-col">
<div class="py-2 px-3 w-full">
<NavLink class="block text-white hover:text-slate-100 hover:!bg-slate-700 px-4 py-2 w-full rounded-lg" href="" Match="NavLinkMatch.All">
Import
</NavLink>
</div>
<div class="py-2 px-3 w-full">
<NavLink class="block text-white hover:text-slate-100 hover:!bg-slate-700 px-4 py-2 w-full rounded-lg" href="tools" Match="NavLinkMatch.All">
Tools
</NavLink>
</div>
<div class="py-2 px-3 w-full">
<NavLink class="flex text-white hover:text-slate-100 hover:!bg-slate-700 px-4 py-2 w-full rounded-lg items-center" href="tasks">
<span class="self-center">Queued Tasks
</span>
@if (taskCounter != null)
{
<Badge content="@taskCounter" />
}
</NavLink>
</div>
<div class="py-2 px-3 w-full">
<NavLink class="block text-white hover:text-slate-100 hover:!bg-slate-700 px-4 py-2 w-full rounded-lg" href="export" title="Review and Export">
Export
</NavLink>
</div>
<div class="py-2 px-3 w-full">
<NavLink class="block text-white hover:text-slate-100 hover:!bg-slate-700 px-4 py-2 w-full rounded-lg" href="https://docs.pdf-accessibility.tools" target="_blank">
Documentation
</NavLink>
</div>
<div class="py-2 px-3 w-full">
<button @onclick="ToggleInspector" class="text-white hover:text-slate-100 hover:!bg-slate-600 px-4 py-2 w-full rounded-lg text-left">Toggle Inspector</button>
</div>
@* Only show the dev menu in dev mode. *@
@if (Config.Env.Equals("Development")) {
<div class="py-2 px-3 w-full">
<NavLink class="block text-white hover:text-slate-100 hover:!bg-slate-700 px-4 py-2 w-full rounded-lg" href="testing">
Developer
</NavLink>
</div>
}
</nav>
</div>
@code {
private bool collapseNavMenu = false;
private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;
// Counter of the non-completed tasks
private string taskCounter = null;
[Parameter]
public EventCallback<int> OnTagInspectorClicked { get; set; }
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
protected override void OnInitialized()
{
// When the task amount changes, show the new value
TaskManager.OnTaskAmountChanged += (sender, amount) =>
{
// If the task amount is 0, hide the badge. Else, display the new amount
if (amount == 0) {
taskCounter = null;
} else {
taskCounter = amount.ToString();
}
// Re-render badge
StateHasChanged();
};
base.OnInitialized();
}
private void ToggleInspector()
{
this.OnTagInspectorClicked.InvokeAsync();
}
}