Login:Src:Utils: add functions for timezone
This commit is contained in:
parent
bbac07f94d
commit
b485c6a4d9
@ -28,6 +28,10 @@ import { thirdPartyLogin } from "@docspace/shared/utils/loginUtils";
|
||||
import { Nullable, TTranslation } from "@docspace/shared/types";
|
||||
|
||||
import { MessageKey } from "./enums";
|
||||
import { TTimeZone } from "@docspace/shared/api/settings/types";
|
||||
import { TTimeZoneOption } from "@/types";
|
||||
|
||||
import { findWindows } from "windows-iana";
|
||||
|
||||
export async function oAuthLogin(profile: string) {
|
||||
let isSuccess = false;
|
||||
@ -138,3 +142,35 @@ export const getEmailFromInvitation = (encodeString: Nullable<string>) => {
|
||||
|
||||
return queryParams.email;
|
||||
};
|
||||
|
||||
export const mapTimezonesToArray = (
|
||||
timezones: TTimeZone[],
|
||||
): TTimeZoneOption[] => {
|
||||
return timezones.map((timezone) => {
|
||||
return { key: timezone.id, label: timezone.displayName };
|
||||
});
|
||||
};
|
||||
|
||||
export const getUserTimezone = (): string => {
|
||||
return Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC";
|
||||
};
|
||||
|
||||
export const getSelectZone = (
|
||||
zones: TTimeZoneOption[],
|
||||
userTimezone: string,
|
||||
) => {
|
||||
const defaultTimezone = "UTC";
|
||||
const isWindowsZones = zones[0].key === "Dateline Standard Time"; //TODO: get from server
|
||||
|
||||
if (isWindowsZones) {
|
||||
const windowsZoneKey = findWindows(userTimezone);
|
||||
return (
|
||||
zones.filter((zone) => zone.key === windowsZoneKey[0]) ||
|
||||
zones.filter((zone) => zone.key === defaultTimezone)
|
||||
);
|
||||
}
|
||||
return (
|
||||
zones.filter((zone) => zone.key === userTimezone) ||
|
||||
zones.filter((zone) => zone.key === defaultTimezone)
|
||||
);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user