Skip to content

Commit 52969ae

Browse files
authored
feat: Mobile agenda improvements (ietf-tools#3655)
* fix: Improve agenda page for mobile (narrow) screens * Remove unrelated change * Remove FIXME
1 parent 1771d6e commit 52969ae

7 files changed

Lines changed: 189 additions & 20 deletions

File tree

ietf/meeting/tests_views.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ def test_meeting_agenda(self):
162162
registration_text = "Registration"
163163

164164
# utc
165-
time_interval = "%s-%s" % (slot.utc_start_time().strftime("%H:%M").lstrip("0"), (slot.utc_start_time() + slot.duration).strftime("%H:%M").lstrip("0"))
165+
time_interval = r"%s<span.*/span>-%s" % (slot.utc_start_time().strftime("%H:%M").lstrip("0"), (slot.utc_start_time() + slot.duration).strftime("%H:%M").lstrip("0"))
166166

167167
r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number,utc='-utc')))
168168
self.assertEqual(r.status_code, 200)
@@ -172,14 +172,14 @@ def test_meeting_agenda(self):
172172
self.assertIn(session.group.name, agenda_content)
173173
self.assertIn(session.group.parent.acronym.upper(), agenda_content)
174174
self.assertIn(slot.location.name, agenda_content)
175-
self.assertIn(time_interval, agenda_content)
175+
self.assertRegex(agenda_content, time_interval)
176176
self.assertIsNotNone(q(':input[value="%s"]' % meeting.time_zone),
177177
'Time zone selector should show meeting timezone')
178178
self.assertIsNotNone(q('.nav *:contains("%s")' % meeting.time_zone),
179179
'Time zone indicator should be in nav sidebar')
180180

181181
# plain
182-
time_interval = "%s-%s" % (slot.time.strftime("%H:%M").lstrip("0"), (slot.time + slot.duration).strftime("%H:%M").lstrip("0"))
182+
time_interval = r"%s<span.*/span>-%s" % (slot.time.strftime("%H:%M").lstrip("0"), (slot.time + slot.duration).strftime("%H:%M").lstrip("0"))
183183

184184
r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number)))
185185
self.assertEqual(r.status_code, 200)
@@ -189,7 +189,7 @@ def test_meeting_agenda(self):
189189
self.assertIn(session.group.name, agenda_content)
190190
self.assertIn(session.group.parent.acronym.upper(), agenda_content)
191191
self.assertIn(slot.location.name, agenda_content)
192-
self.assertIn(time_interval, agenda_content)
192+
self.assertRegex(agenda_content, time_interval)
193193
self.assertIn(registration_text, agenda_content)
194194

195195
# Make sure there's a frame for the session agenda and it points to the right place
@@ -208,7 +208,7 @@ def test_meeting_agenda(self):
208208

209209
# text
210210
# the rest of the results don't have as nicely formatted times
211-
time_interval = time_interval.replace(":", "")
211+
time_interval = "%s-%s" % (slot.time.strftime("%H%M").lstrip("0"), (slot.time + slot.duration).strftime("%H%M").lstrip("0"))
212212

213213
r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number, ext=".txt")))
214214
self.assertContains(r, session.group.acronym)

ietf/static/js/agenda_timezone.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,16 +191,16 @@ window.update_times = function (newtz) {
191191
.dayOfYear()) {
192192
$(this)
193193
.html(format_time(this.start_ts, newtz, this.format) +
194-
'-' + format_time(this.end_ts, newtz, 5) + tz);
194+
'<span class="d-lg-none"><br></span>-' + format_time(this.end_ts, newtz, 5) + tz);
195195
} else {
196196
$(this)
197197
.html(format_time(this.start_ts, newtz, this.format) +
198-
'-' +
198+
'<span class="d-lg-none"><br></span>-' +
199199
format_time(this.end_ts, newtz, this.format) + tz);
200200
}
201201
} else {
202202
$(this)
203-
.html(format_time(this.start_ts, newtz, this.format) + '-' +
203+
.html(format_time(this.start_ts, newtz, this.format) + '<span class="d-lg-none"><br></span>-' +
204204
format_time(this.end_ts, newtz, this.format));
205205
}
206206
});

ietf/static/js/ietf.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ $(function () {
138138
.attr("data-bs-offset", 0)
139139
.attr("tabindex", 0)
140140
.after($(`
141-
<div class="col-xl-2 small">
141+
<div class="col-xl-2 ps-0 small">
142142
<nav id="righthand-nav" class="position-fixed navbar navbar-light bg-light overflow-auto flex-fill" style="height: 70vh; width: inherit;">
143143
</nav>
144144
</div>

ietf/templates/base.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
</ul>
8585
</div>
8686
{% endif %}
87-
<div class="col overflow-hidden mx-3 ietf-auto-nav" id="content">
87+
<div class="col overflow-hidden mx-lg-3 ietf-auto-nav" id="content">
8888
<noscript>
8989
<div class="alert alert-danger alert-ignore my-3">
9090
<b>Javascript disabled?</b> Like other modern websites, the IETF Datatracker relies on Javascript.

ietf/templates/meeting/agenda.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,11 @@ <h2 class="mt-3">
143143
{% if item.timeslot.show_location and item.timeslot.get_html_location %}
144144
{% with item.timeslot.location.floorplan as floor %}
145145
{% if item.timeslot.location.floorplan %}
146-
<div class="d-none d-sm-block">
146+
<div class="d-none d-sm-block float-end">
147147
<a href="{% url 'ietf.meeting.views.floor_plan' num=schedule.meeting.number %}#floor-{{ floor.name|xslugify }}"
148148
class="float-end"
149149
title="{{ floor.name }}">
150-
<span class="badge bg-secondary label-wide">{{ floor.short }}</span>
150+
<span class="badge bg-secondary">{{ floor.short }}</span>
151151
</a>
152152
</div>
153153
{% endif %}
@@ -161,7 +161,7 @@ <h2 class="mt-3">
161161
{% if item.session.current_status == 'canceled' %}
162162
<span class="badge bg-danger float-end">CANCELLED</span>
163163
{% else %}
164-
<div class="float-end ps-3">
164+
<div class="float-end ps-2">
165165
{% if item.slot_type.slug == 'other' %}
166166
{% if item.session.agenda or item.session.remote_instructions or item.session.agenda_note %}
167167
{% include "meeting/session_buttons_include.html" with show_agenda=True item=item schedule=schedule %}
@@ -260,7 +260,7 @@ <h2 class="mt-3">
260260
{% if item.session.current_status == 'canceled' %}
261261
<span class="badge bg-danger float-end">Cancelled</span>
262262
{% else %}
263-
<div class="float-end ps-3">
263+
<div class="float-end ps-2">
264264
{% include "meeting/session_buttons_include.html" with show_agenda=True session=item.session meeting=schedule.meeting %}
265265
</div>
266266
{% endif %}

0 commit comments

Comments
 (0)