update
This commit is contained in:
@@ -11,11 +11,12 @@ interface TimezoneSelectorProps {
|
||||
|
||||
// Get all IANA timezones
|
||||
const getAllTimezones = (): string[] => {
|
||||
let timezones: string[] = [];
|
||||
try {
|
||||
return Intl.supportedValuesOf('timeZone');
|
||||
timezones = Intl.supportedValuesOf('timeZone');
|
||||
} catch {
|
||||
// Fallback for older browsers
|
||||
return [
|
||||
timezones = [
|
||||
'UTC',
|
||||
'America/New_York',
|
||||
'America/Chicago',
|
||||
@@ -23,6 +24,7 @@ const getAllTimezones = (): string[] => {
|
||||
'America/Los_Angeles',
|
||||
'America/Toronto',
|
||||
'America/Vancouver',
|
||||
'America/Montreal',
|
||||
'Europe/London',
|
||||
'Europe/Paris',
|
||||
'Europe/Berlin',
|
||||
@@ -33,6 +35,17 @@ const getAllTimezones = (): string[] => {
|
||||
'Pacific/Auckland',
|
||||
];
|
||||
}
|
||||
|
||||
// Prioritize Montreal as requested
|
||||
const priorityTimezone = 'America/Montreal';
|
||||
if (!timezones.includes(priorityTimezone)) {
|
||||
timezones.push(priorityTimezone);
|
||||
}
|
||||
|
||||
return [
|
||||
priorityTimezone,
|
||||
...timezones.filter((tz) => tz !== priorityTimezone),
|
||||
];
|
||||
};
|
||||
|
||||
// Get UTC offset for a timezone
|
||||
@@ -158,7 +171,7 @@ export const TimezoneSelector = ({
|
||||
No timezones found
|
||||
</div>
|
||||
) : (
|
||||
filteredTimezones.slice(0, 50).map((timezone) => {
|
||||
filteredTimezones.map((timezone) => {
|
||||
const isSelected = timezone === value;
|
||||
const offset = getTimezoneOffset(timezone);
|
||||
const label = formatTimezoneLabel(timezone);
|
||||
@@ -204,12 +217,6 @@ export const TimezoneSelector = ({
|
||||
})
|
||||
)}
|
||||
</div>
|
||||
|
||||
{filteredTimezones.length > 50 && (
|
||||
<div className="px-4 py-2 text-xs text-muted-foreground text-center border-t border-border">
|
||||
Showing 50 of {filteredTimezones.length} results
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user