- add multiple languages

- switch from moment to dayjs
This commit is contained in:
Amruth Pillai
2020-07-21 11:07:19 +05:30
parent e4f40f04ff
commit 7aab7c74f6
28 changed files with 255 additions and 416 deletions

View File

@ -45,9 +45,12 @@ For those of you familiar with the Crowdin Platform, you could do that too and j
##### Languages Currently Supported
- Danish (Dansk) (by [RazziaDK](https://crowdin.com/profile/RazziaDK))
- Dutch (Nederlands) (by [Imad Youssoufi](https://github.com/2imad))
- English
- Finnish (Suomalainen) (by Ari Pikkarainen)
- French (Français) (by [MeisterLLD](https://github.com/MeisterLLD))
- German (Deutsche) (by [Kryptand](https://crowdin.com/profile/Kryptand))
- Kannada (ಕನ್ನಡ)
- Portuguese (Brazilian) (by [Felipe CG](https://github.com/felcg))
- Spanish (Español) (by [jrgonzalezrios](https://github.com/jrgonzalezrios))

View File

@ -9,8 +9,8 @@ import React from 'react';
import { DatabaseProvider } from './src/contexts/DatabaseContext';
import { ModalProvider } from './src/contexts/ModalContext';
import { ResumeProvider } from './src/contexts/ResumeContext';
import { StorageProvider } from './src/contexts/StorageContext';
import { SettingsProvider } from './src/contexts/SettingsContext';
import { StorageProvider } from './src/contexts/StorageContext';
import { UserProvider } from './src/contexts/UserContext';
import './src/i18n';
import './src/styles/forms.css';
@ -18,6 +18,7 @@ import './src/styles/global.css';
import './src/styles/shadows.css';
import './src/styles/tailwind.css';
import './src/styles/toastify.css';
import './src/utils/dayjs';
const theme = createMuiTheme({
typography: {

View File

@ -5,7 +5,7 @@ module.exports = {
title: 'Reactive Resume',
siteUrl: 'https://rxresu.me',
description: 'A free and open source resume builder.',
version: '2.0.3',
version: '2.0.4',
},
plugins: [
'gatsby-plugin-react-helmet',
@ -21,6 +21,20 @@ module.exports = {
},
},
},
{
resolve: 'gatsby-plugin-manifest',
options: {
name: 'Reactive Resume',
short_name: 'Reactive Resume',
start_url: '/',
background_color: '#212121',
icon: `static/images/logo.png`,
orientation: 'landscape',
theme_color: '#212121',
display: 'standalone',
},
},
'gatsby-plugin-offline',
{
resolve: 'gatsby-plugin-prefetch-google-fonts',
options: {
@ -64,46 +78,6 @@ module.exports = {
resolve: 'gatsby-plugin-create-client-paths',
options: { prefixes: ['/app/*'] },
},
{
resolve: 'gatsby-plugin-manifest',
options: {
name: 'Reactive Resume',
short_name: 'RxResume',
description: 'A free and open-source resume builder.',
start_url: '/?source=pwa',
icon: 'static/images/logo.png',
background_color: '#FFFFFF',
theme_color: '#444444',
display: 'standalone',
cache_busting_mode: 'none',
icons: [
{
src: 'static/icons/maskable.png',
sizes: '196x196',
type: 'image/png',
purpose: 'any maskable',
},
],
shortcuts: [
{
name: 'Dashboard',
short_name: 'Dashboard',
description: 'View/manage all your resumes at a glance',
url: '/app/dashboard?source=pwa',
},
],
},
},
{
resolve: 'gatsby-plugin-offline',
options: {
workboxConfig: {
globPatterns: ['**/*'],
},
precachePages: ['', '/app/*', '/blog/*'],
},
},
'gatsby-plugin-lodash',
{
resolve: 'gatsby-plugin-material-ui',
options: {
@ -116,8 +90,8 @@ module.exports = {
{
resolve: 'gatsby-source-filesystem',
options: {
path: `${__dirname}/src/articles`,
name: 'articles',
path: `${__dirname}/src/articles`,
},
},
'gatsby-transformer-remark',

498
package-lock.json generated
View File

@ -57,16 +57,6 @@
"source-map": "^0.5.0"
},
"dependencies": {
"@babel/types": {
"version": "7.10.5",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz",
"integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
},
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@ -90,18 +80,6 @@
"@babel/types": "^7.10.5",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
"dependencies": {
"@babel/types": {
"version": "7.10.5",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz",
"integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
}
}
},
"@babel/helper-annotate-as-pure": {
@ -138,18 +116,6 @@
"@babel/helper-annotate-as-pure": "^7.10.4",
"@babel/helper-module-imports": "^7.10.4",
"@babel/types": "^7.10.5"
},
"dependencies": {
"@babel/types": {
"version": "7.10.5",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz",
"integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
}
}
},
"@babel/helper-compilation-targets": {
@ -202,18 +168,6 @@
"@babel/helper-function-name": "^7.10.4",
"@babel/types": "^7.10.5",
"lodash": "^4.17.19"
},
"dependencies": {
"@babel/types": {
"version": "7.10.5",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz",
"integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
}
}
},
"@babel/helper-explode-assignable-expression": {
@ -257,18 +211,6 @@
"integrity": "sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA==",
"requires": {
"@babel/types": "^7.10.5"
},
"dependencies": {
"@babel/types": {
"version": "7.10.5",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz",
"integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
}
}
},
"@babel/helper-module-imports": {
@ -291,18 +233,6 @@
"@babel/template": "^7.10.4",
"@babel/types": "^7.10.5",
"lodash": "^4.17.19"
},
"dependencies": {
"@babel/types": {
"version": "7.10.5",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz",
"integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
}
}
},
"@babel/helper-optimise-call-expression": {
@ -1084,17 +1014,17 @@
}
},
"@babel/runtime": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.4.tgz",
"integrity": "sha512-UpTN5yUJr9b4EX2CnGNWIvER7Ab83ibv0pcvvHc4UOdrBI5jb8bj+32cCwPX6xu0mt2daFNjYhoi+X7beH0RSw==",
"version": "7.10.5",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.5.tgz",
"integrity": "sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==",
"requires": {
"regenerator-runtime": "^0.13.4"
}
},
"@babel/runtime-corejs3": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.10.4.tgz",
"integrity": "sha512-BFlgP2SoLO9HJX9WBwN67gHWMBhDX/eDz64Jajd6mR/UAUzqrNMm99d4qHnVaKscAElZoFiPv+JpR/Siud5lXw==",
"version": "7.10.5",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.10.5.tgz",
"integrity": "sha512-RMafpmrNB5E/bwdSphLr8a8++9TosnyJp98RZzI6VOx2R2CCMpsXXXRvmI700O9oEKpXdZat6oEK68/F0zjd4A==",
"requires": {
"core-js-pure": "^3.0.0",
"regenerator-runtime": "^0.13.4"
@ -1131,16 +1061,6 @@
"lodash": "^4.17.19"
},
"dependencies": {
"@babel/types": {
"version": "7.10.5",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz",
"integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
},
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@ -1152,12 +1072,12 @@
}
},
"@babel/types": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz",
"integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==",
"version": "7.10.5",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz",
"integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==",
"requires": {
"@babel/helper-validator-identifier": "^7.10.4",
"lodash": "^4.17.13",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
},
@ -1981,23 +1901,23 @@
}
},
"@mdx-js/mdx": {
"version": "1.6.11",
"resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.11.tgz",
"integrity": "sha512-3Suqe+FVZvK62t+Lc7xjk3T7wSmh7QqzlVNkAx4jM8Q9GeuhcSWkwjS7VHY6KVoOw/jkBSlmzklyM7zACPSoIA==",
"version": "1.6.13",
"resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.13.tgz",
"integrity": "sha512-xVZnzSQ/QsP6LnYnV5CC9sc92dzm0VsnFEbpDhB3ahbrCc0j/p4O5+q+OIic9H3AAYLIzoKah3Mj+wTnDpAeWg==",
"requires": {
"@babel/core": "7.10.5",
"@babel/plugin-syntax-jsx": "7.10.4",
"@babel/plugin-syntax-object-rest-spread": "7.8.3",
"@mdx-js/util": "^1.6.11",
"babel-plugin-apply-mdx-type-prop": "^1.6.11",
"babel-plugin-extract-import-names": "^1.6.11",
"@mdx-js/util": "1.6.13",
"babel-plugin-apply-mdx-type-prop": "1.6.13",
"babel-plugin-extract-import-names": "1.6.13",
"camelcase-css": "2.0.1",
"detab": "2.0.3",
"hast-util-raw": "6.0.0",
"lodash.uniq": "4.5.0",
"mdast-util-to-hast": "9.1.0",
"remark-footnotes": "1.0.0",
"remark-mdx": "^1.6.11",
"remark-mdx": "1.6.13",
"remark-parse": "8.0.2",
"remark-squeeze-paragraphs": "4.0.0",
"style-to-object": "0.3.0",
@ -2050,24 +1970,24 @@
}
},
"@mdx-js/react": {
"version": "1.6.11",
"resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.11.tgz",
"integrity": "sha512-59qKdVmpxhGcQ7dJKQucKQHxXoS5A1U8x5IYJCitdGVwM6mXkCj1GYyb873oH4cRlxL8BhVHmGalkXTtLqV9Ag=="
"version": "1.6.13",
"resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.13.tgz",
"integrity": "sha512-k8UfufP+eZbxHsprAvGvQB/vmiXpbhMYnM0c6xov5xEg3dYdtzrpjnf2kYsTIwyr3RG2SeZXGjE9tG9vzli53Q=="
},
"@mdx-js/runtime": {
"version": "1.6.11",
"resolved": "https://registry.npmjs.org/@mdx-js/runtime/-/runtime-1.6.11.tgz",
"integrity": "sha512-1L3VI0PxnjAIS8BhBv7hx85rtpLWflu8HMg1opCkquEfnZVC6YYTEwMwskZ5iwruToP2iB0uUmJXdDFmuSIsbA==",
"version": "1.6.13",
"resolved": "https://registry.npmjs.org/@mdx-js/runtime/-/runtime-1.6.13.tgz",
"integrity": "sha512-SmepgIAD4OaTUzbngxiljc7NzSzFvKw5SBdn9JCWZ1BFJaDjrl/j3IevIWVip24fSlm75wCEUm40LNvn/m7Kfw==",
"requires": {
"@mdx-js/mdx": "^1.6.11",
"@mdx-js/react": "^1.6.11",
"@mdx-js/mdx": "1.6.13",
"@mdx-js/react": "1.6.13",
"buble-jsx-only": "^0.19.8"
}
},
"@mdx-js/util": {
"version": "1.6.11",
"resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.11.tgz",
"integrity": "sha512-VbGXtjLOa7RK0w27o9eekGea190sXoJZgltFZzywmLNcBJn3sOynfyNUXH1rx2pyCOOfPcTBYg/Zf9Isfp3BNg=="
"version": "1.6.13",
"resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.13.tgz",
"integrity": "sha512-IZP3UDGDaaaw0AchbXDofC//f+08w8FzW8EfTL/ZJNy6nKROe5xFwxnfRo5nL06l0CRCwNDmoReAerLuFMl1jA=="
},
"@mikaelkristiansson/domready": {
"version": "1.0.10",
@ -2371,9 +2291,9 @@
}
},
"@types/react": {
"version": "16.9.42",
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.42.tgz",
"integrity": "sha512-iGy6HwfVfotqJ+PfRZ4eqPHPP5NdPZgQlr0lTs8EfkODRBV9cYy8QMKcC9qPCe1JrESC1Im6SrCFR6tQgg74ag==",
"version": "16.9.43",
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.43.tgz",
"integrity": "sha512-PxshAFcnJqIWYpJbLPriClH53Z2WlJcVZE+NP2etUtWQs2s7yIMj3/LDKZT/5CHJ/F62iyjVCDu2H3jHEXIxSg==",
"requires": {
"@types/prop-types": "*",
"csstype": "^2.2.0"
@ -3283,12 +3203,12 @@
}
},
"babel-plugin-apply-mdx-type-prop": {
"version": "1.6.11",
"resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.11.tgz",
"integrity": "sha512-GCdljT0ofgEfEx3Ol3mQIS4f9A/P7m5XG6fLpbU7GIRdncNvQ8x1yhuGWnWJrlZj4/tjz+Hv96BBaGo1bfmiUA==",
"version": "1.6.13",
"resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.13.tgz",
"integrity": "sha512-G+vyur4OM+2iZih+vUeMzL/Aa0/4s/YZlDo6L0pfslgoX6eNGYT/NmjDZe99VxiaTaODX/bF/kt6oxZJYt8mJw==",
"requires": {
"@babel/helper-plugin-utils": "7.10.4",
"@mdx-js/util": "^1.6.11"
"@mdx-js/util": "1.6.13"
}
},
"babel-plugin-dynamic-import-node": {
@ -3300,25 +3220,13 @@
}
},
"babel-plugin-extract-import-names": {
"version": "1.6.11",
"resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.11.tgz",
"integrity": "sha512-vJRNOsWoxE9ufDm5XZR0KoKknA6loyiw0LNdLX1q4P+tLyzqi01HSLXyuBJqYpXYciVPCNHI7WBUnEhyQY+NTg==",
"version": "1.6.13",
"resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.13.tgz",
"integrity": "sha512-EKqKcGLmbegJji7qB7VRYQ6pJp74MGCjfCu1H6VOYr+ODqVMIsnxixYSvkuYTvwYaO1dWjSho85T4ctGMWpr+A==",
"requires": {
"@babel/helper-plugin-utils": "7.10.4"
}
},
"babel-plugin-lodash": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz",
"integrity": "sha512-yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg==",
"requires": {
"@babel/helper-module-imports": "^7.0.0-beta.49",
"@babel/types": "^7.0.0-beta.49",
"glob": "^7.1.1",
"lodash": "^4.17.10",
"require-package-name": "^2.0.1"
}
},
"babel-plugin-macros": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz",
@ -3330,9 +3238,9 @@
}
},
"babel-plugin-remove-graphql-queries": {
"version": "2.9.14",
"resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.14.tgz",
"integrity": "sha512-V4o7CvS5bud+Tk9ni4gSr2l980K2H0lQ0A7skfSMvHrPlek+Rcs+4tNVpHnKuAWoXTZ+63tW06B4ENn+wf35bg=="
"version": "2.9.15",
"resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.15.tgz",
"integrity": "sha512-cGNEEOO32kKcI+ZZBcCIliPOvyd7/Dp8zyJ/ZD1lXKuH1frzdbWG2nbxm+iil8OIxWaeHfxf083IHvb868TY9A=="
},
"babel-plugin-syntax-object-rest-spread": {
"version": "6.13.0",
@ -4435,9 +4343,9 @@
}
},
"caniuse-lite": {
"version": "1.0.30001097",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001097.tgz",
"integrity": "sha512-TeuSleKt/vWXaPkLVFqGDnbweYfq4IaZ6rUugFf3rWY6dlII8StUZ8Ddin0PkADfgYZ4wRqCdO2ORl4Rn5eZIA=="
"version": "1.0.30001104",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001104.tgz",
"integrity": "sha512-pkpCg7dmI/a7WcqM2yfdOiT4Xx5tzyoHAXWsX5/HxZ3TemwDZs0QXdqbE0UPLPVy/7BeK7693YfzfRYfu1YVpg=="
},
"caseless": {
"version": "0.12.0",
@ -5707,6 +5615,11 @@
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.15.0.tgz",
"integrity": "sha512-ZCPzAMJZn3rNUvvQIMlXhDr4A+Ar07eLeGsGREoWU19a3Pqf5oYa+ccd+B3F6XVtQY6HANMFdOQ8A+ipFnvJdQ=="
},
"dayjs": {
"version": "1.8.29",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.29.tgz",
"integrity": "sha512-Vm6teig8ZWK7rH/lxzVGxZJCljPdmUr6q/3f4fr5F0VWNGVkZEjZOQJsAN8hUHUqn+NK4XHNEpJZS1MwLyDcLw=="
},
"debug": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
@ -5780,33 +5693,10 @@
"tar-stream": "^1.5.2"
},
"dependencies": {
"bl": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
"integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
"requires": {
"readable-stream": "^2.3.5",
"safe-buffer": "^5.1.1"
}
},
"file-type": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
"integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY="
},
"tar-stream": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
"integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
"requires": {
"bl": "^1.0.0",
"buffer-alloc": "^1.2.0",
"end-of-stream": "^1.0.0",
"fs-constants": "^1.0.0",
"readable-stream": "^2.3.0",
"to-buffer": "^1.1.1",
"xtend": "^4.0.0"
}
}
}
},
@ -6451,9 +6341,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"electron-to-chromium": {
"version": "1.3.496",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.496.tgz",
"integrity": "sha512-TXY4mwoyowwi4Lsrq9vcTUYBThyc1b2hXaTZI13p8/FRhY2CTaq5lK+DVjhYkKiTLsKt569Xes+0J5JsVXFurQ=="
"version": "1.3.502",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.502.tgz",
"integrity": "sha512-TIeXOaHAvfP7FemGUtAJxStmOc1YFGWFNqdey/4Nk41L9b1nMmDVDGNMIWhZJvOfJxix6Cv5FGEnBK+yvw3UTg=="
},
"elliptic": {
"version": "6.5.3",
@ -6689,9 +6579,9 @@
}
},
"escalade": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz",
"integrity": "sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA=="
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz",
"integrity": "sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ=="
},
"escape-html": {
"version": "1.0.3",
@ -8317,9 +8207,9 @@
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
},
"gatsby": {
"version": "2.24.4",
"resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.4.tgz",
"integrity": "sha512-/Sl4HgJhPvBzZ/JgjNrE5XVDv/o1YsJ+iHcTJCpgWj6At97Bsf4V6Y44KPc/cLTnpHvD8MJGqg1y52WWEHRRTQ==",
"version": "2.24.7",
"resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.7.tgz",
"integrity": "sha512-H9qEG5cRnHU/lRFaX2hS++6FZbCINavL38wz+UWD95qJ3GmpVHxnob2eQYZzy32CFvprCK9469kGcN9j0jTf0g==",
"requires": {
"@babel/code-frame": "^7.10.3",
"@babel/core": "^7.10.3",
@ -8342,7 +8232,7 @@
"babel-loader": "^8.1.0",
"babel-plugin-add-module-exports": "^0.3.3",
"babel-plugin-dynamic-import-node": "^2.3.3",
"babel-plugin-remove-graphql-queries": "^2.9.14",
"babel-plugin-remove-graphql-queries": "^2.9.15",
"babel-preset-gatsby": "^0.5.2",
"better-opn": "1.0.0",
"better-queue": "^3.8.10",
@ -8381,15 +8271,15 @@
"file-loader": "^1.1.11",
"fs-exists-cached": "1.0.0",
"fs-extra": "^8.1.0",
"gatsby-cli": "^2.12.62",
"gatsby-cli": "^2.12.63",
"gatsby-core-utils": "^1.3.12",
"gatsby-graphiql-explorer": "^0.4.11",
"gatsby-legacy-polyfills": "^0.0.2",
"gatsby-link": "^2.4.13",
"gatsby-plugin-page-creator": "^2.3.17",
"gatsby-plugin-typescript": "^2.4.15",
"gatsby-plugin-typescript": "^2.4.16",
"gatsby-react-router-scroll": "^3.0.12",
"gatsby-telemetry": "^1.3.19",
"gatsby-telemetry": "^1.3.20",
"glob": "^7.1.6",
"got": "8.3.2",
"graphql": "^14.6.0",
@ -8554,9 +8444,9 @@
}
},
"gatsby-cli": {
"version": "2.12.62",
"resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.62.tgz",
"integrity": "sha512-Hi80WtSfG/zn7xYNRQLTUXJiRB+z+BwYnXdEfxWMLiObK3pXMIQQ431a1XH0Crvksdjkmm0gfY5GRZX4MdYvOQ==",
"version": "2.12.63",
"resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.63.tgz",
"integrity": "sha512-vBIgP/5c+3wfw36YUr2wld1PYRktZWxAX8wDjMjrkj8i1xqkZDc24cxGX+yNAXx5UJ6lCNuRRXSaRiqFErqa2A==",
"requires": {
"@babel/code-frame": "^7.10.3",
"@hapi/joi": "^15.1.1",
@ -8572,8 +8462,8 @@
"fs-exists-cached": "^1.0.0",
"fs-extra": "^8.1.0",
"gatsby-core-utils": "^1.3.12",
"gatsby-recipes": "^0.1.52",
"gatsby-telemetry": "^1.3.19",
"gatsby-recipes": "^0.1.53",
"gatsby-telemetry": "^1.3.20",
"hosted-git-info": "^3.0.4",
"ink": "^2.7.1",
"ink-spinner": "^3.1.0",
@ -8774,20 +8664,10 @@
"resolved": "https://registry.npmjs.org/gatsby-plugin-firebase/-/gatsby-plugin-firebase-0.2.0-beta.4.tgz",
"integrity": "sha512-F1uh9T5dY38aeNvKzqj+3K655dce1QS70wuG4bhV9L3cnTJR2vitTWyIoCvRJJfPs7Xq7LgjUDmHDrEos4S3gQ=="
},
"gatsby-plugin-lodash": {
"version": "3.3.10",
"resolved": "https://registry.npmjs.org/gatsby-plugin-lodash/-/gatsby-plugin-lodash-3.3.10.tgz",
"integrity": "sha512-sEv+RRU37mmjHtNr86kLAjlwqdk7uGmal1l5I3kOWRku0TjKwQEn1+RpAsJZLLk5pOmEILPuYP+g1teuX2heuw==",
"requires": {
"@babel/runtime": "^7.10.3",
"babel-plugin-lodash": "^3.3.4",
"lodash-webpack-plugin": "^0.11.5"
}
},
"gatsby-plugin-manifest": {
"version": "2.4.18",
"resolved": "https://registry.npmjs.org/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.4.18.tgz",
"integrity": "sha512-8nsCHLTCAqTg49pft3JaIqAsKlUMC1QA4/gm/Dxxm+kXj/LgfD/ZXjzh9EaBwtnlrWvuuz+Pr/WDEk1d2BMmdQ==",
"version": "2.4.19",
"resolved": "https://registry.npmjs.org/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.4.19.tgz",
"integrity": "sha512-lVLP1m4aBQNC4lhsE3N7VZ6olk5Zb5A2T4jBEus0zxF8RCnfGoCD7Wg0cCMKbKR1n5ZXwHQgZfZI3BSp1/H7sw==",
"requires": {
"@babel/runtime": "^7.10.3",
"gatsby-core-utils": "^1.3.12",
@ -8813,9 +8693,9 @@
}
},
"gatsby-plugin-offline": {
"version": "3.2.18",
"resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-3.2.18.tgz",
"integrity": "sha512-WNgljT81Opabug4PHpL1ROpZ8kmSIuylv8SFDtAS87VZnLPG7f0Lx+CdYjYCIFtz2zW6UcMFssBUajQBHuk8wg==",
"version": "3.2.19",
"resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-3.2.19.tgz",
"integrity": "sha512-cVjNTmmTgb7/n0ghkrOM61vrAcdPz07FvkCx2sAThPqZ5zxDe5LDLS+DYSRn8k/KVihdAQKx/RGrdlGuuLwEIA==",
"requires": {
"@babel/runtime": "^7.10.3",
"cheerio": "^1.0.0-rc.3",
@ -8962,9 +8842,9 @@
}
},
"gatsby-plugin-sharp": {
"version": "2.6.19",
"resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.6.19.tgz",
"integrity": "sha512-0SVP2xk8Ml+hml30+oBP/SRm/ztGV6sDOlOUoEHuv6SssxkDcKc9aSScn0qB1HsKGDYDm1gcmDmw48Bq4U78rA==",
"version": "2.6.20",
"resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.6.20.tgz",
"integrity": "sha512-5M6wYzxer+yWEIhq+eE7XwcDWpJqm2Nr6V14UCfbR5KYmYpkEbDVm2dw1raBFonf/XUQ15idYjPp3U0mY6xfAg==",
"requires": {
"@babel/runtime": "^7.10.3",
"async": "^2.6.3",
@ -9025,9 +8905,9 @@
}
},
"gatsby-plugin-typescript": {
"version": "2.4.15",
"resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.15.tgz",
"integrity": "sha512-sh/BypdmqcpjGJBECPzRY1l7uDmVif8gqTPwcGb38WNENgRel619URc1bJEJRtfFpYEyBKTjVL0h2C5LQHQ1QQ==",
"version": "2.4.16",
"resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.16.tgz",
"integrity": "sha512-A95+B10jn7nCBROibfxWe2/jPtXxq4jjZpjhvPcC95xXg8q7J1Zb3USP6oJSYmhQ4EI+JPcvljlnOS6dqn//wg==",
"requires": {
"@babel/core": "^7.10.3",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1",
@ -9035,7 +8915,7 @@
"@babel/plugin-proposal-optional-chaining": "^7.10.3",
"@babel/preset-typescript": "^7.10.1",
"@babel/runtime": "^7.10.3",
"babel-plugin-remove-graphql-queries": "^2.9.14"
"babel-plugin-remove-graphql-queries": "^2.9.15"
}
},
"gatsby-react-router-scroll": {
@ -9047,9 +8927,9 @@
}
},
"gatsby-recipes": {
"version": "0.1.52",
"resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.1.52.tgz",
"integrity": "sha512-dxba6tO/VpTA5tPXcPuYDyatqEcT5O71eeRvT3vrEQQZzC0mwQzGG6m0BT1Hh1Z61b0LqFUh5trVCxTlFbEQSw==",
"version": "0.1.53",
"resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.1.53.tgz",
"integrity": "sha512-q1dfVLUysncIOtOj9S1EQCL8TDUf3aM8Y4dEfvVYjmMMG58ad7sECSZOEQRjHKz3nJhxBCkJb9rEBKo62DvYYQ==",
"requires": {
"@babel/core": "^7.10.3",
"@babel/generator": "^7.10.3",
@ -9075,7 +8955,7 @@
"express-graphql": "^0.9.0",
"fs-extra": "^8.1.0",
"gatsby-core-utils": "^1.3.12",
"gatsby-telemetry": "^1.3.19",
"gatsby-telemetry": "^1.3.20",
"glob": "^7.1.6",
"graphql": "^14.6.0",
"graphql-compose": "^6.3.8",
@ -9324,9 +9204,9 @@
"integrity": "sha512-pN48dBm1oinhhrtypdOOgRu0nO3ZPARdZYKdTwIm8Pyfql1BbHUHwLfYf8E14SFkthHkUnXLh63q/qiQIGvqbw=="
},
"gatsby-telemetry": {
"version": "1.3.19",
"resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-1.3.19.tgz",
"integrity": "sha512-pou+2FFmeZ+5hC3FNA8Nu50kLXViulWInWggdu3wi6OkeNTaIkHArCYuTH8hi71w2sv3/XZ1YKQZd7SMRUugLw==",
"version": "1.3.20",
"resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-1.3.20.tgz",
"integrity": "sha512-0aeEL1O8tPgBgiOh/5lH18z9w8i3vGs8EWDQiOeGYz4Ka78wTcxyDUsO/90yt8jkqQuUo78s2vkDeqh1LWqPxg==",
"requires": {
"@babel/code-frame": "^7.10.3",
"@babel/runtime": "^7.10.3",
@ -9502,6 +9382,11 @@
"is-hexadecimal": "^1.0.0"
}
},
"parse5": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
"integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug=="
},
"property-information": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/property-information/-/property-information-4.2.0.tgz",
@ -10304,13 +10189,6 @@
"style-to-object": "^0.3.0",
"unist-util-is": "^4.0.0",
"web-namespaces": "^1.0.0"
},
"dependencies": {
"unist-util-is": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
"integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ=="
}
}
},
"hast-util-from-parse5": {
@ -10351,13 +10229,6 @@
"web-namespaces": "^1.0.0",
"xtend": "^4.0.0",
"zwitch": "^1.0.0"
},
"dependencies": {
"parse5": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.0.tgz",
"integrity": "sha512-lC0A+4DefTdRr+DLQlEwwZqndL9VzEjiuegI5bj3hp4bnzzwQldSqCpHv7+msRpSOHGJyJvkcCa4q15LMUJ8rg=="
}
}
},
"hast-util-to-html": {
@ -10697,9 +10568,9 @@
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw=="
},
"hyphenate-style-name": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz",
"integrity": "sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ=="
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz",
"integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ=="
},
"i18next": {
"version": "19.6.2",
@ -12526,14 +12397,6 @@
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz",
"integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ=="
},
"lodash-webpack-plugin": {
"version": "0.11.5",
"resolved": "https://registry.npmjs.org/lodash-webpack-plugin/-/lodash-webpack-plugin-0.11.5.tgz",
"integrity": "sha512-QWfEIYxpixOdbd6KBe5g6MDWcyTgP3trDXwKHFqTlXrWiLcs/67fGQ0IWeRyhWlTITQIgMpJAYd2oeIztuV5VA==",
"requires": {
"lodash": "^4.17.4"
}
},
"lodash._reinterpolate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
@ -12966,13 +12829,6 @@
"mdast-util-to-string": "^1.0.5",
"unist-util-is": "^4.0.0",
"unist-util-visit": "^2.0.0"
},
"dependencies": {
"unist-util-is": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
"integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ=="
}
}
},
"mdn-data": {
@ -12986,9 +12842,9 @@
"integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
},
"meant": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/meant/-/meant-1.0.1.tgz",
"integrity": "sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg=="
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/meant/-/meant-1.0.2.tgz",
"integrity": "sha512-KN+1uowN/NK+sT/Lzx7WSGIj2u+3xe5n2LbwObfjOhPZiA+cCfCm6idVl0RkEfjThkw5XJ96CyRcanq6GmKtUg=="
},
"media-typer": {
"version": "0.3.0",
@ -14312,9 +14168,9 @@
}
},
"parse5": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
"integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug=="
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.0.tgz",
"integrity": "sha512-lC0A+4DefTdRr+DLQlEwwZqndL9VzEjiuegI5bj3hp4bnzzwQldSqCpHv7+msRpSOHGJyJvkcCa4q15LMUJ8rg=="
},
"parseqs": {
"version": "0.0.5",
@ -14551,9 +14407,9 @@
"integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA=="
},
"portfinder": {
"version": "1.0.26",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz",
"integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==",
"version": "1.0.27",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.27.tgz",
"integrity": "sha512-bJ3U3MThKnyJ9Dx1Idtm5pQmxXqw08+XOHhi/Lie8OF1OlhVaBFhsntAIhkZYjfDcCzszSr0w1yCbccThhzgxQ==",
"requires": {
"async": "^2.6.2",
"debug": "^3.1.1",
@ -16173,6 +16029,11 @@
"x-is-string": "^0.1.0"
}
},
"unist-util-is": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
"integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A=="
},
"unist-util-remove-position": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz",
@ -16684,6 +16545,11 @@
"x-is-string": "^0.1.0"
}
},
"unist-util-is": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
"integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A=="
},
"unist-util-stringify-position": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz",
@ -16732,15 +16598,15 @@
"integrity": "sha512-X9Ncj4cj3/CIvLI2Z9IobHtVi8FVdUrdJkCNaL9kdX8ohfsi18DXHsCVd/A7ssARBdccdDb5ODnt62WuEWaM/g=="
},
"remark-mdx": {
"version": "1.6.11",
"resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.11.tgz",
"integrity": "sha512-nijtvQqyv2B6vBAcyi1GEWQl6VKepL2TX8b/vxcAKee6ZBd5AZKJDpIB2V5BbU015iReU/hs6UjYPXSt/d8bvg==",
"version": "1.6.13",
"resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.13.tgz",
"integrity": "sha512-LlaW2PpGl13THFHajl0EEpAnMkrZO2vmn4PPGJzy7vKfKf2UMioKa7zszfV3cEwKu1aHqqnjH5ZwuZj1hexHJw==",
"requires": {
"@babel/core": "7.10.5",
"@babel/helper-plugin-utils": "7.10.4",
"@babel/plugin-proposal-object-rest-spread": "7.10.4",
"@babel/plugin-syntax-jsx": "7.10.4",
"@mdx-js/util": "^1.6.11",
"@mdx-js/util": "1.6.13",
"is-alphabetical": "1.0.4",
"remark-parse": "8.0.2",
"unified": "9.0.0"
@ -16824,6 +16690,11 @@
"is-hexadecimal": "^1.0.0"
}
},
"unist-util-is": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
"integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A=="
},
"unist-util-remove-position": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz",
@ -16981,11 +16852,6 @@
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
},
"require-package-name": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz",
"integrity": "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk="
},
"requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@ -17159,16 +17025,14 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sanitize-html": {
"version": "1.27.0",
"resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.27.0.tgz",
"integrity": "sha512-U1btucGeYVpg0GoK43jPpe/bDCV4cBOGuxzv5NBd0bOjyZdMKY0n98S/vNlO1wVwre0VCj8H3hbzE7gD2+RjKA==",
"version": "1.27.1",
"resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.27.1.tgz",
"integrity": "sha512-C+N7E+7ikYaLHdb9lEkQaFOgmj+9ddZ311Ixs/QsBsoLD411/vdLweiFyGqrswUVgLqagOS5NCDxcEPH7trObQ==",
"requires": {
"chalk": "^2.4.1",
"htmlparser2": "^4.1.0",
"lodash": "^4.17.15",
"postcss": "^7.0.27",
"srcset": "^2.0.1",
"xtend": "^4.0.1"
"srcset": "^2.0.1"
},
"dependencies": {
"domelementtype": {
@ -17559,9 +17423,9 @@
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"simple-concat": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz",
"integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY="
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
},
"simple-get": {
"version": "4.0.0",
@ -18506,9 +18370,9 @@
}
},
"strip-json-comments": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
"integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w=="
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
},
"strip-outer": {
"version": "1.0.1",
@ -18854,18 +18718,6 @@
"mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
"tar-stream": "^2.0.0"
}
},
"tar-stream": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.3.tgz",
"integrity": "sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA==",
"requires": {
"bl": "^4.0.1",
"end-of-stream": "^1.4.1",
"fs-constants": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1"
},
"dependencies": {
"readable-stream": {
@ -18877,6 +18729,43 @@
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
},
"tar-stream": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.3.tgz",
"integrity": "sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA==",
"requires": {
"bl": "^4.0.1",
"end-of-stream": "^1.4.1",
"fs-constants": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1"
}
}
}
},
"tar-stream": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
"integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
"requires": {
"bl": "^1.0.0",
"buffer-alloc": "^1.2.0",
"end-of-stream": "^1.0.0",
"fs-constants": "^1.0.0",
"readable-stream": "^2.3.0",
"to-buffer": "^1.1.1",
"xtend": "^4.0.0"
},
"dependencies": {
"bl": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
"integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
"requires": {
"readable-stream": "^2.3.5",
"safe-buffer": "^5.1.1"
}
}
}
},
@ -19277,20 +19166,6 @@
"is-typedarray": "^1.0.0"
}
},
"typeit": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/typeit/-/typeit-7.0.4.tgz",
"integrity": "sha512-ETiVr3s4XOXUE9W+tVhF3gxGTf5z4tc35YjvWEQhqKsJhXWvpQlt/D/ZvIHkZzHegU3stxagjeG2pfm1/AWsYQ=="
},
"typeit-react": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/typeit-react/-/typeit-react-0.1.3.tgz",
"integrity": "sha512-9HiAghnq8NjLj67dakc9C4eCHyunsCgl7ZSo04w/7YWAjs12bHb/+J3geFfTgBVpbWCL6GPDZ7eWBXNZ3ZweGw==",
"requires": {
"@types/react": "^16.9.19",
"typeit": "^7.0.3"
}
},
"unbzip2-stream": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
@ -19420,9 +19295,9 @@
"integrity": "sha512-1TC+NxQa4N9pNdayCYA1EGUOCAO0Le3fVp7Jzns6lnua/mYgwHo0tz5WUAfrdpNch1RZLHc61VZ1SDgrtNXLSw=="
},
"unist-util-is": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
"integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A=="
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
"integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ=="
},
"unist-util-modify-children": {
"version": "1.1.6",
@ -19443,13 +19318,6 @@
"integrity": "sha512-HwwWyNHKkeg/eXRnE11IpzY8JT55JNM1YCwwU9YNCnfzk6s8GhPXrVBBZWiwLeATJbI7euvoGSzcy9M29UeW3g==",
"requires": {
"unist-util-is": "^4.0.0"
},
"dependencies": {
"unist-util-is": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
"integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ=="
}
}
},
"unist-util-remove-position": {
@ -19501,13 +19369,6 @@
"@types/unist": "^2.0.0",
"unist-util-is": "^4.0.0",
"unist-util-visit-parents": "^3.0.0"
},
"dependencies": {
"unist-util-is": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
"integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ=="
}
}
},
"unist-util-visit-children": {
@ -19516,19 +19377,12 @@
"integrity": "sha512-sA/nXwYRCQVRwZU2/tQWUqJ9JSFM1X3x7JIOsIgSzrFHcfVt6NkzDtKzyxg2cZWkCwGF9CO8x4QNZRJRMK8FeQ=="
},
"unist-util-visit-parents": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz",
"integrity": "sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.0.tgz",
"integrity": "sha512-0g4wbluTF93npyPrp/ymd3tCDTMnP0yo2akFD2FIBAYXq/Sga3lwaU1D8OYKbtpioaI6CkDcQ6fsMnmtzt7htw==",
"requires": {
"@types/unist": "^2.0.0",
"unist-util-is": "^4.0.0"
},
"dependencies": {
"unist-util-is": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
"integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ=="
}
}
},
"universalify": {

View File

@ -22,22 +22,22 @@
"animate.css": "^4.1.0",
"array-move": "^3.0.0",
"classnames": "^2.2.6",
"dayjs": "^1.8.29",
"dotenv": "^8.2.0",
"downloadjs": "^1.4.7",
"firebase": "^7.16.1",
"formik": "^2.1.5",
"gatsby": "^2.24.4",
"gatsby": "^2.24.7",
"gatsby-image": "^2.4.13",
"gatsby-plugin-create-client-paths": "^2.3.10",
"gatsby-plugin-firebase": "^0.2.0-beta.4",
"gatsby-plugin-lodash": "^3.3.10",
"gatsby-plugin-manifest": "^2.4.18",
"gatsby-plugin-manifest": "^2.4.19",
"gatsby-plugin-material-ui": "^2.1.9",
"gatsby-plugin-offline": "^3.2.18",
"gatsby-plugin-offline": "^3.2.19",
"gatsby-plugin-postcss": "^2.3.11",
"gatsby-plugin-prefetch-google-fonts": "^1.4.3",
"gatsby-plugin-react-helmet": "^3.3.10",
"gatsby-plugin-sharp": "^2.6.19",
"gatsby-plugin-sharp": "^2.6.20",
"gatsby-plugin-sitemap": "^2.4.11",
"gatsby-source-filesystem": "^2.3.20",
"gatsby-source-gravatar": "^1.0.0",
@ -45,7 +45,6 @@
"gatsby-transformer-sharp": "^2.5.11",
"i18next": "^19.6.2",
"lodash": "^4.17.19",
"moment": "^2.27.0",
"nanoevents": "^5.1.8",
"react": "^16.13.1",
"react-beautiful-dnd": "^13.0.0",
@ -57,7 +56,6 @@
"react-scroll": "^1.8.0",
"react-toastify": "^6.0.8",
"short-unique-id": "^3.0.4",
"typeit-react": "^0.1.3",
"uuid": "^8.2.0",
"yup": "^0.29.1"
},

View File

@ -1,7 +1,7 @@
@media screen {
.container {
width: 794px;
min-height: 1122px;
width: 210mm;
min-height: 297mm;
overflow: scroll;
box-shadow: var(--shadow);
@apply my-16 bg-white rounded;

View File

@ -1,10 +1,10 @@
import { Menu, MenuItem } from '@material-ui/core';
import { navigate } from 'gatsby';
import moment from 'moment/min/moment-with-locales';
import React, { useContext, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { MdMoreHoriz, MdOpenInNew } from 'react-icons/md';
import { toast } from 'react-toastify';
import dayjs from 'dayjs';
import DatabaseContext from '../../contexts/DatabaseContext';
import ModalContext from '../../contexts/ModalContext';
import styles from './ResumePreview.module.css';
@ -84,7 +84,7 @@ const ResumePreview = ({ resume }) => {
{resume.updatedAt && (
<span>
{t('dashboard.lastUpdated', {
timestamp: moment(resume.updatedAt)
timestamp: dayjs(resume.updatedAt)
.locale(i18n.language.substr(0, 2))
.fromNow(),
})}

View File

@ -1,7 +1,6 @@
import { Link } from '@reach/router';
import { navigate } from 'gatsby';
import React, { memo, useContext } from 'react';
import TypeIt from 'typeit-react';
import { Link } from '@reach/router';
import { useTranslation } from 'react-i18next';
import ModalContext from '../../contexts/ModalContext';
import UserContext from '../../contexts/UserContext';
@ -25,20 +24,7 @@ const Hero = () => {
</Link>
<div className="mt-12 md:mt-0 md:ml-12">
<div className="text-5xl font-bold">
<TypeIt
getBeforeInit={(instance) => {
return instance
.type('Creative Resume')
.pause(500)
.move(-11)
.delete(4)
.pause(250)
.type('Reac')
.move('END');
}}
/>
</div>
<h1 className="text-5xl font-bold">{t('shared.appName')}</h1>
<h2 className="mt-1 text-3xl text-primary-500">
{t('shared.shortDescription')}
</h2>

View File

@ -3,6 +3,14 @@ import { initReactI18next } from 'react-i18next';
import resources from './locales';
const languages = [
{
code: 'da',
name: 'Danish (Dansk)',
},
{
code: 'nl',
name: 'Dutch (Nederlands)',
},
{
code: 'en',
name: 'English (US)',
@ -15,6 +23,10 @@ const languages = [
code: 'fr',
name: 'French (Français)',
},
{
code: 'de',
name: 'German (Deutsche)',
},
{
code: 'kn',
name: 'Kannada (ಕನ್ನಡ)',
@ -31,10 +43,6 @@ const languages = [
code: 'tr',
name: 'Turkish (Türkçe)',
},
{
code: 'nl',
name: 'Dutch (Nederlands)',
},
];
i18n.use(initReactI18next).init({

View File

@ -1,13 +1,17 @@
import da from './da.json';
import de from './de.json';
import en from './en.json';
import es from './es.json';
import fi from './fi.json';
import fr from './fr.json';
import kn from './kn.json';
import nl from './nl.json';
import ptBr from './pt-br.json';
import tr from './tr.json';
import nl from './nl.json';
export default {
da: { translation: da },
de: { translation: de },
en: { translation: en },
es: { translation: es },
fi: { translation: fi },

View File

@ -1,10 +1,8 @@
import Backdrop from '@material-ui/core/Backdrop';
import Fade from '@material-ui/core/Fade';
import Modal from '@material-ui/core/Modal';
import { Backdrop, Fade, Modal } from '@material-ui/core';
import { isFunction } from 'lodash';
import React, { forwardRef, memo, useImperativeHandle } from 'react';
import { MdClose } from 'react-icons/md';
import { useTranslation } from 'react-i18next';
import { MdClose } from 'react-icons/md';
import Button from '../components/shared/Button';
import { handleKeyUp } from '../utils';
import styles from './BaseModal.module.css';

View File

@ -1,6 +1,6 @@
import download from 'downloadjs';
import firebase from 'gatsby-plugin-firebase';
import { clone } from 'lodash';
import download from 'downloadjs';
import React, { memo, useContext, useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { FaPrint } from 'react-icons/fa';

View File

@ -2,8 +2,7 @@ import { Link } from '@reach/router';
import React, { memo } from 'react';
import { Helmet } from 'react-helmet';
import { useTranslation } from 'react-i18next';
import { FaUserSecret } from 'react-icons/fa';
import { GiWalkingBoot } from 'react-icons/gi';
import { FaUserSecret, FaWalking } from 'react-icons/fa';
import { IoIosRocket } from 'react-icons/io';
import { RiRefreshLine } from 'react-icons/ri';
import Hero from '../components/landing/Hero';
@ -58,7 +57,7 @@ const Home = () => {
</Feature>
<Feature
icon={GiWalkingBoot}
icon={FaWalking}
title="Kickstarting your career shouldnt come at a cost."
>
There are brilliant alternatives to this app like Novoresume and

View File

@ -1,4 +1,4 @@
import moment from 'moment/min/moment-with-locales';
import dayjs from 'dayjs';
import React, { memo, useContext } from 'react';
import { useTranslation } from 'react-i18next';
import ReactMarkdown from 'react-markdown';
@ -17,7 +17,7 @@ const AwardItem = (x) => {
</div>
{x.date && (
<h6 className="text-xs font-medium text-right">
{moment(x.date)
{dayjs(x.date)
.locale(i18n.language.substr(0, 2))
.format('MMMM YYYY')}
</h6>

View File

@ -1,4 +1,4 @@
import moment from 'moment/min/moment-with-locales';
import dayjs from 'dayjs';
import React, { memo, useContext } from 'react';
import { useTranslation } from 'react-i18next';
import ReactMarkdown from 'react-markdown';
@ -17,7 +17,7 @@ const CertificationItem = (x) => {
</div>
{x.date && (
<h6 className="text-xs font-medium text-right">
{moment(x.date)
{dayjs(x.date)
.locale(i18n.language.substr(0, 2))
.format('MMMM YYYY')}
</h6>

View File

@ -1,4 +1,4 @@
import moment from 'moment/min/moment-with-locales';
import dayjs from 'dayjs';
import React, { memo, useContext } from 'react';
import { useTranslation } from 'react-i18next';
import ReactMarkdown from 'react-markdown';
@ -21,7 +21,7 @@ const ProjectItem = (x) => {
</div>
{x.date && (
<h6 className="text-xs font-medium text-right">
{moment(x.date)
{dayjs(x.date)
.locale(i18n.language.substr(0, 2))
.format('MMMM YYYY')}
</h6>

14
src/utils/dayjs.js Normal file
View File

@ -0,0 +1,14 @@
import dayjs from 'dayjs';
import 'dayjs/locale/da';
import 'dayjs/locale/de';
import 'dayjs/locale/en';
import 'dayjs/locale/es';
import 'dayjs/locale/fi';
import 'dayjs/locale/fr';
import 'dayjs/locale/kn';
import 'dayjs/locale/nl';
import 'dayjs/locale/pt';
import 'dayjs/locale/tr';
import relativeTime from 'dayjs/plugin/relativeTime';
dayjs.extend(relativeTime);

View File

@ -1,5 +1,5 @@
import dayjs from 'dayjs';
import { get, isEmpty } from 'lodash';
import moment from 'moment/min/moment-with-locales';
import { useTranslation } from 'react-i18next';
export const getModalText = (isEditMode, type) => {
@ -25,12 +25,12 @@ export const isFileImage = (file) => {
export const formatDateRange = ({ startDate, endDate }) => {
const { i18n } = useTranslation();
const start = `${moment(startDate)
const start = `${dayjs(startDate)
.locale(i18n.language.substr(0, 2))
.format('MMMM Y')}`;
.format('MMMM YYYY')}`;
const end = moment(endDate).isValid()
? `${moment(endDate).locale(i18n.language.substr(0, 2)).format('MMMM Y')}`
const end = dayjs(endDate).isValid()
? `${dayjs(endDate).locale(i18n.language.substr(0, 2)).format('MMMM YYYY')}`
: 'Present';
return `${start} - ${end}`;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 490 KiB

After

Width:  |  Height:  |  Size: 1.1 MiB