mirror of
https://github.com/discourse/discourse.git
synced 2025-06-10 18:03:44 +08:00
FIX: prevents timezone to show duplicated zones in preview
It could happen if you have Etc/UTC in default settings, and timezone="UTC" on date, the equality check is now more strict.
This commit is contained in:
@ -125,6 +125,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function _isEqualZones(timezoneA, timezoneB) {
|
function _isEqualZones(timezoneA, timezoneB) {
|
||||||
|
if (timezoneA.includes(timezoneB) || timezoneB.includes(timezoneA)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
moment.tz(timezoneA).utcOffset() === moment.tz(timezoneB).utcOffset()
|
moment.tz(timezoneA).utcOffset() === moment.tz(timezoneB).utcOffset()
|
||||||
);
|
);
|
||||||
@ -222,7 +226,9 @@
|
|||||||
const previewedTimezones = [];
|
const previewedTimezones = [];
|
||||||
const watchingUserTimezone = moment.tz.guess();
|
const watchingUserTimezone = moment.tz.guess();
|
||||||
const timezones = options.timezones.filter(
|
const timezones = options.timezones.filter(
|
||||||
timezone => timezone !== watchingUserTimezone
|
timezone =>
|
||||||
|
!_isEqualZones(timezone, watchingUserTimezone) &&
|
||||||
|
!_isEqualZones(timezone, options.timezone)
|
||||||
);
|
);
|
||||||
|
|
||||||
previewedTimezones.push({
|
previewedTimezones.push({
|
||||||
@ -244,9 +250,7 @@
|
|||||||
timezones.unshift(options.timezone);
|
timezones.unshift(options.timezone);
|
||||||
}
|
}
|
||||||
|
|
||||||
timezones
|
timezones.filter(Boolean).forEach(timezone => {
|
||||||
.filter(z => z)
|
|
||||||
.forEach(timezone => {
|
|
||||||
if (_isEqualZones(timezone, displayedTimezone)) {
|
if (_isEqualZones(timezone, displayedTimezone)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user