diff --git a/public/js/nav.js b/public/js/nav.js
new file mode 100644
index 0000000..f0ac386
--- /dev/null
+++ b/public/js/nav.js
@@ -0,0 +1,18 @@
+document.addEventListener('DOMContentLoaded', async () => {
+ const adminLink = document.getElementById('admin-link');
+ if (adminLink === null) {
+ return;
+ }
+
+ const response = await fetch('/api/auth/me', {
+ credentials: 'same-origin',
+ });
+ if (!response.ok) {
+ return;
+ }
+
+ const body = await response.json();
+ if (body.user && body.user.isAdmin === true) {
+ adminLink.hidden = false;
+ }
+});
diff --git a/views/templates/home.php b/views/templates/home.php
index 63cfbfd..2a0e13c 100644
--- a/views/templates/home.php
+++ b/views/templates/home.php
@@ -17,6 +17,8 @@
Today's schedule
+ Admin
@@ -43,6 +45,7 @@
+