Skip to content

Commit 5b89055

Browse files
committed
fix: Improve Menu Accessibility on Small Screens #458
1 parent 78179cf commit 5b89055

File tree

2 files changed

+33
-32
lines changed

2 files changed

+33
-32
lines changed

src/static/css/main.css

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -327,9 +327,6 @@
327327
.right-3 {
328328
right: calc(var(--spacing) * 3);
329329
}
330-
.right-4 {
331-
right: calc(var(--spacing) * 4);
332-
}
333330
.right-46 {
334331
right: calc(var(--spacing) * 46);
335332
}
@@ -447,6 +444,9 @@
447444
.mt-12 {
448445
margin-top: calc(var(--spacing) * 12);
449446
}
447+
.mt-auto {
448+
margin-top: auto;
449+
}
450450
.mr-1 {
451451
margin-right: calc(var(--spacing) * 1);
452452
}

src/templates/base.html

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,12 @@
6161
@click="isMobileMenuOpen = false"></div>
6262

6363
{# Sidebar #}
64-
<aside class="fixed top-0 left-0 z-40 h-screen w-64 bg-[#1a1d20] transform transition-transform duration-300 ease-in-out border-r border-[#2c3136] -translate-x-full lg:translate-x-0 lg:sticky"
64+
<aside class="fixed top-0 left-0 z-40 h-screen w-64 bg-[#1a1d20] transform transition-transform duration-300 ease-in-out border-r border-[#2c3136] -translate-x-full lg:translate-x-0 lg:sticky flex flex-col"
6565
:class="isMobileMenuOpen ? 'translate-x-0' : ''">
6666
<div class="h-16 border-b border-[#2c3136] flex items-center px-6">
6767
<h1 class="text-2xl font-semibold text-gray-100">Yamtrack</h1>
6868
</div>
69-
<nav class="p-4">
69+
<nav class="p-4 flex-1 overflow-y-auto">
7070
<ul class="space-y-1 mb-6">
7171
<li>
7272
<a href="{% url 'home' %}"
@@ -125,36 +125,37 @@ <h1 class="text-2xl font-semibold text-gray-100">Yamtrack</h1>
125125
<span>Calendar</span>
126126
</a>
127127
</li>
128-
129-
{% url 'account' as account_url %}
130-
{% url 'notifications' as notifications_url %}
131-
{% url 'sidebar' as sidebar_url %}
132-
{% url 'integrations' as integrations_url %}
133-
{% url 'import_data' as import_url %}
134-
{% url 'export_data' as export_url %}
135-
<li>
136-
<a href="{{ account_url }}"
137-
class="flex items-center space-x-3 px-4 py-2 rounded-md transition-colors duration-200 text-sm {% if request.path == account_url or request.path == notifications_url or request.path == sidebar_url or request.path == integrations_url or request.path == import_url or request.path == export_url %}text-white bg-[#2c3136]{% else %}text-gray-400 hover:text-white hover:bg-[#23272b]{% endif %}">
138-
{% if request.path == account_url or request.path == notifications_url or request.path == sidebar_url or request.path == integrations_url or request.path == import_url or request.path == export_url %}
139-
{% icon 'settings' is_active=True %}
140-
{% else %}
141-
{% icon 'settings' is_active=False %}
142-
{% endif %}
143-
<span>Settings</span>
144-
</a>
145-
</li>
146128
</ul>
147129
</div>
148130
</nav>
149-
<div class="absolute bottom-4 left-4 right-4">
150-
<form method="post" action="{% url 'account_logout' %}" class="w-full">
151-
{% csrf_token %}
152-
<button type="submit"
153-
class="w-full flex items-center space-x-3 px-4 py-2 rounded-md text-gray-400 hover:bg-[#23272b] hover:text-white transition-colors duration-200 text-sm cursor-pointer">
154-
{% icon 'logout' is_active=False %}
155-
<span>Logout</span>
156-
</button>
157-
</form>
131+
132+
<div class="p-4 border-t border-[#2c3136] mt-auto">
133+
<div class="space-y-2">
134+
{% url 'account' as account_url %}
135+
{% url 'notifications' as notifications_url %}
136+
{% url 'sidebar' as sidebar_url %}
137+
{% url 'integrations' as integrations_url %}
138+
{% url 'import_data' as import_url %}
139+
{% url 'export_data' as export_url %}
140+
<a href="{{ account_url }}"
141+
class="flex items-center space-x-3 px-4 py-2 rounded-md transition-colors duration-200 text-sm {% if request.path == account_url or request.path == notifications_url or request.path == sidebar_url or request.path == integrations_url or request.path == import_url or request.path == export_url %}text-white bg-[#2c3136]{% else %}text-gray-400 hover:text-white hover:bg-[#23272b]{% endif %}">
142+
{% if request.path == account_url or request.path == notifications_url or request.path == sidebar_url or request.path == integrations_url or request.path == import_url or request.path == export_url %}
143+
{% icon 'settings' is_active=True %}
144+
{% else %}
145+
{% icon 'settings' is_active=False %}
146+
{% endif %}
147+
<span>Settings</span>
148+
</a>
149+
150+
<form method="post" action="{% url 'account_logout' %}" class="w-full">
151+
{% csrf_token %}
152+
<button type="submit"
153+
class="w-full flex items-center space-x-3 px-4 py-2 rounded-md text-gray-400 hover:bg-[#23272b] hover:text-white transition-colors duration-200 text-sm cursor-pointer">
154+
{% icon 'logout' is_active=False %}
155+
<span>Logout</span>
156+
</button>
157+
</form>
158+
</div>
158159
</div>
159160
</aside>
160161

0 commit comments

Comments
 (0)