Skip to content

Commit eb89591

Browse files
authored
fix: persist timezone selection per meeting in agenda-neue (ietf-tools#4284)
1 parent 2d48c84 commit eb89591

3 files changed

Lines changed: 6 additions & 1 deletion

File tree

client/agenda/Agenda.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
:options='timezones'
6060
placeholder='Select Time Zone'
6161
filterable
62+
@update:value='() => { agendaStore.persistMeetingPreferences() }'
6263
)
6364

6465
.alert.alert-warning.mt-3(v-if='agendaStore.isCurrentMeeting') #[strong Note:] IETF agendas are subject to change, up to and during a meeting.
@@ -260,6 +261,7 @@ function setTimezone (tz) {
260261
agendaStore.$patch({ timezone: tz })
261262
break
262263
}
264+
agendaStore.persistMeetingPreferences()
263265
}
264266
265267
function closeSearch () {

client/agenda/AgendaSettings.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ n-drawer(v-model:show='isShown', placement='right', :width='panelWidth')
5252
:options='timezones'
5353
placeholder='Select Time Zone'
5454
filterable
55+
@update:value='() => { agendaStore.persistMeetingPreferences() }'
5556
)
5657

5758
n-divider(title-placement='left')
@@ -401,6 +402,7 @@ function setTimezone (tz) {
401402
agendaStore.$patch({ timezone: tz })
402403
break
403404
}
405+
agendaStore.persistMeetingPreferences()
404406
}
405407
406408
// MOUNTED

client/agenda/store.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ export const useAgendaStore = defineStore('agenda', {
144144
const agendaData = await resp.json()
145145

146146
// -> Switch to meeting timezone
147-
this.timezone = agendaData.meeting.timezone
147+
this.timezone = window.localStorage.getItem(`agenda.${agendaData.meeting.number}.timezone`) || agendaData.meeting.timezone
148148

149149
// -> Load meeting data
150150
this.categories = agendaData.categories
@@ -178,6 +178,7 @@ export const useAgendaStore = defineStore('agenda', {
178178
}
179179
window.localStorage.setItem(`agenda.${this.meeting.number}.colorAssignments`, JSON.stringify(this.colorAssignments))
180180
window.localStorage.setItem(`agenda.${this.meeting.number}.pickedEvents`, JSON.stringify(this.pickedEvents))
181+
window.localStorage.setItem(`agenda.${this.meeting.number}.timezone`, this.timezone)
181182
},
182183
findCurrentEventId () {
183184
const current = (this.nowDebugDiff ? DateTime.local().minus(this.nowDebugDiff) : DateTime.local()).setZone(this.timezone)

0 commit comments

Comments
 (0)