Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
})
export async function logout () {
try {
await HTTP.post('auth/token/logout/')
} catch (e) {
console.log(e) // TODO improve error handling
}
store.commit('logout')
HTTP.defaults.headers.common['Authorization'] = ''
sessionStorage.removeItem('token')
}
TimeAgo.locale(en)
export const timeAgo = new TimeAgo()
import { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles'
import JavascriptTimeAgo from 'javascript-time-ago'
import en from 'javascript-time-ago/locale/en'
import moment from 'moment'
import React from 'react'
import { Provider } from 'react-redux'
import { render } from 'react-snapshot'
import App from './App'
import createStore from './createStore'
import './index.css'
import * as serviceWorker from './serviceWorker'
import { theme } from '@chainlink/styleguide'
JavascriptTimeAgo.locale(en)
moment.defaultFormat = 'YYYY-MM-DD h:mm:ss A'
const muiTheme = createMuiTheme(theme)
const store = createStore()
render(
,
document.getElementById('root'),
)
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.
import { createStore, applyMiddleware } from 'redux'
import rdcs from './redux/reducers.js'
import Routing from './navigation/Routing.jsx'
import { Grommet, Box } from 'grommet';
import { grommet } from "grommet/themes";
import JavascriptTimeAgo from 'javascript-time-ago'
// The desired locales.
import en from 'javascript-time-ago/locale/en'
// Initialize the desired locales.
JavascriptTimeAgo.locale(en)
import './styles/notification_styles.css';
const theme = {
"global": {
"colors": {
"brand": "#185dcc",
"accent": ["#b6ceb6", "#b6b6ce"]
},
"input": {
"border": {
"radius": "4px"
}
},
"font": {
import React from 'react';
import { render } from 'react-dom';
import { AppContainer } from 'react-hot-loader';
import JavascriptTimeAgo from 'javascript-time-ago';
import en from 'javascript-time-ago/locale/en';
import Root from './containers/Root';
import { configureStore, history } from './store/configureStore';
import './app.global.css';
JavascriptTimeAgo.locale(en);
const store = configureStore();
render(
,
document.getElementById('root')
);
if (module.hot) {
module.hot.accept('./containers/Root', () => {
// eslint-disable-next-line global-require
const NextRoot = require('./containers/Root').default;
render(
/* eslint-disable @typescript-eslint/camelcase */
import TimeAgo from "javascript-time-ago";
import en from "javascript-time-ago/locale/en";
import { IReviewDetails } from "../components/ReviewModal";
import { GetReviewDetails_review } from "./types/GetReviewDetails";
TimeAgo.addLocale(en);
// Create relative date/time formatter.
const timeAgo = new TimeAgo("en-US");
export const buildReviewDetails = (
item: GetReviewDetails_review
): IReviewDetails => ({
jobName: (item.job && item.job.name) || "",
jobId: (item.job && item.job.id) || "",
companyName: (item.company && item.company.name) || "",
companySlug: item.company ? item.company.slug || "" : "",
location: (item.job && item.job.location) || "",
author: item.isLegacy ? "An InternCompass user" : "Anonymous",
body: item.body || "",
overallRating: item.overallRating || 0,
meaningfulWorkRating: item.meaningfulWorkRating || 0,
workLifeBalanceRating: item.workLifeBalanceRating || 0,
learningMentorshipRating: item.learningMentorshipRating || 0,
salary: item.salary || 0,
/* eslint-disable @typescript-eslint/camelcase */
import TimeAgo from "javascript-time-ago";
import en from "javascript-time-ago/locale/en";
import { IJobDetails, IReviewUserCardItem } from "src/types";
import { GetJobDetails_job } from "./types/GetJobDetails";
import {
GetJobReviews,
GetJobReviews_job_reviews_items,
} from "./types/GetJobReviews";
TimeAgo.addLocale(en);
// Create relative date/time formatter.
const timeAgo = new TimeAgo("en-US");
export const buildJobDetails = (job: GetJobDetails_job): IJobDetails => ({
name: job.name || "",
companyName: (job.company && job.company.name) || "",
companySlug: (job.company && job.company.slug) || "",
location: job.location || undefined,
numRatings: job.reviews ? job.reviews.count : 0,
avgRating: job.avgRating || 0,
avgLearningMentorshipRating: job.avgLearningMentorshipRating || 0,
avgMeaningfulWorkRating: job.avgMeaningfulWorkRating || 0,
avgWorkLifeBalanceRating: job.avgWorkLifeBalanceRating || 0,
minHourlySalary: job.minHourlySalary || 0,
maxHourlySalary: job.maxHourlySalary || 0,
hourlySalaryCurrency: job.hourlySalaryCurrency || "",
color: (job.company && job.company.logoColor) || "",
});
getPreferredLocales()
{
const { locale } = this.props
let { locales } = this.props
// Convert `locale` to `locales`.
if (locale) {
locales = [locale]
}
// `javascript-time-ago` default locale.
locales = locales.concat(JavascriptTimeAgo.getDefaultLocale())
return locales
}
constructor(locales)
{
// Legacy argument
if (typeof locales === 'string')
{
locales = [locales]
}
const locale = this.locale = javascript_time_ago.choose_locale(locales)
// Formatters
if (!get_formatters())
{
set_formatters({})
}
// Cache `javascript-time-ago` formatter for this locale
if (!get_formatters()[locale])
{
get_formatters()[locale] = new javascript_time_ago([locale])
}
this.formatter = get_formatters()[locale]
}
export default function createVerboseDateFormatter(locales, format)
{
// Fall back to `date.toString()` for old web browsers.
// https://caniuse.com/#search=intl
if (!intlDateTimeFormatSupported()) {
return date => date.toString()
}
// If none of the `locales` are supported
// a default system locale will be used.
const locale = resolveLocale(locales)
// `Intl.DateTimeFormat` format caching key.
// E.g. `"{"day":"numeric","month":"short",...}"`.
// Didn't benchmark what's faster:
// creating a new `Intl.DateTimeFormat` instance
// or stringifying a small JSON `format`.
// Perhaps strigifying JSON `format` is faster.
const formatFingerprint = JSON.stringify(format)
// Get `Intl.DateTimeFormat` instance for these `locale` and `format`.
getDocTime(timestamp) {
try {
if (timestamp) {
const timeAgo = new TimeAgo(this.props.locale).format(
new Date(parseInt(timestamp)),
'twitter',
);
return timeAgo || '< 1m';
}
return '';
}
catch (e) {
console.log(e);
}
}