ujh/fountainpencompanion

View on GitHub
app/javascript/src/setTimeZone.js

Summary

Maintainability
A
0 mins
Test Coverage
import jstz from "jstz";
import { putRequest } from "./fetch";

export default function setTimeZone() {
  const tz = findTimeZone();
  putRequest("/account.json", { user: { time_zone: tz } });
}

function findTimeZone() {
  const oldIntl = window.Intl;
  try {
    window.Intl = undefined;
    const tz = jstz.determine().name();
    window.Intl = oldIntl;
    return tz;
  } catch (e) {
    // sometimes (on android) you can't override intl
    return jstz.determine().name();
  }
}