summaryrefslogtreecommitdiff
path: root/Pages/Component/MobileMenu.razor
diff options
context:
space:
mode:
Diffstat (limited to 'Pages/Component/MobileMenu.razor')
-rw-r--r--Pages/Component/MobileMenu.razor32
1 files changed, 32 insertions, 0 deletions
diff --git a/Pages/Component/MobileMenu.razor b/Pages/Component/MobileMenu.razor
new file mode 100644
index 0000000..6cb3281
--- /dev/null
+++ b/Pages/Component/MobileMenu.razor
@@ -0,0 +1,32 @@
+@inject NavigationManager navigationManager
+@inject IJSRuntime jsRuntime
+@implements IDisposable
+
+<div id="mobile-menu" class="hidden">
+ <a href="/">Home</a>
+ <a href="/TagDefinitions">Tags</a>
+ <a href="/Gallery?ingest=true">Ingest</a>
+ <a href="/Upload">Upload</a>
+ <div id="nsfw-switch">
+ <p id="nsfw-label">NSFW</p>
+ <NsfwSwitch/>
+ </div>
+ <a href="javascript:logout();">Logout</a>
+</div>
+
+<script suppress-error="BL9992">
+ function hideMobileMenu() {
+ document.getElementById('mobile-menu').classList.add('hidden');
+ }
+</script>
+
+@code {
+ protected override void OnInitialized() =>
+ navigationManager.LocationChanged += LocationChanged;
+
+ public async void LocationChanged(object? sender, LocationChangedEventArgs e) =>
+ await jsRuntime.InvokeVoidAsync("hideMobileMenu");
+
+ public void Dispose() =>
+ navigationManager.LocationChanged -= LocationChanged;
+}