mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-10 12:32:28 +10:00
updates to dependencies, merging to production
This commit is contained in:
@ -2,11 +2,7 @@
|
|||||||
"hosting": {
|
"hosting": {
|
||||||
"target": "rxresume",
|
"target": "rxresume",
|
||||||
"public": "./public",
|
"public": "./public",
|
||||||
"ignore": [
|
"ignore": ["**/.*", "firebase.json", "**/node_modules/**"]
|
||||||
"**/.*",
|
|
||||||
"firebase.json",
|
|
||||||
"**/node_modules/**"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"emulators": {
|
"emulators": {
|
||||||
"functions": {
|
"functions": {
|
||||||
|
|||||||
@ -36,9 +36,10 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
`gatsby-plugin-offline`,
|
`gatsby-plugin-offline`,
|
||||||
{
|
{
|
||||||
resolve: 'gatsby-plugin-prefetch-google-fonts',
|
resolve: 'gatsby-plugin-webfonts',
|
||||||
options: {
|
options: {
|
||||||
fonts: [
|
fonts: {
|
||||||
|
google: [
|
||||||
{
|
{
|
||||||
family: 'Lato',
|
family: 'Lato',
|
||||||
variants: ['400', '700'],
|
variants: ['400', '700'],
|
||||||
@ -74,6 +75,7 @@ module.exports = {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
resolve: 'gatsby-plugin-create-client-paths',
|
resolve: 'gatsby-plugin-create-client-paths',
|
||||||
options: { prefixes: ['/app/*'] },
|
options: { prefixes: ['/app/*'] },
|
||||||
|
|||||||
9488
package-lock.json
generated
9488
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
74
package.json
74
package.json
@ -16,61 +16,63 @@
|
|||||||
"test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1"
|
"test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@material-ui/core": "^4.11.0",
|
"@material-ui/core": "^4.11.2",
|
||||||
"@reach/router": "^1.3.4",
|
"@reach/router": "^1.3.4",
|
||||||
"animate.css": "^4.1.1",
|
"animate.css": "^4.1.1",
|
||||||
"array-move": "^3.0.1",
|
"array-move": "^3.0.1",
|
||||||
|
"autoprefixer": "^10.0.4",
|
||||||
"classnames": "^2.2.6",
|
"classnames": "^2.2.6",
|
||||||
"dayjs": "^1.9.1",
|
"dayjs": "^1.9.6",
|
||||||
"dotenv": "^8.2.0",
|
"dotenv": "^8.2.0",
|
||||||
"downloadjs": "^1.4.7",
|
"downloadjs": "^1.4.7",
|
||||||
"firebase": "^7.23.0",
|
"firebase": "^8.1.2",
|
||||||
"formik": "^2.2.0",
|
"formik": "^2.2.5",
|
||||||
"gatsby": "^2.24.73",
|
"gatsby": "^2.28.0",
|
||||||
"gatsby-image": "^2.4.21",
|
"gatsby-image": "^2.7.0",
|
||||||
"gatsby-plugin-create-client-paths": "^2.3.13",
|
"gatsby-plugin-create-client-paths": "^2.6.0",
|
||||||
"gatsby-plugin-firebase": "^0.2.0-beta.4",
|
"gatsby-plugin-firebase": "^0.2.0-beta.4",
|
||||||
"gatsby-plugin-manifest": "^2.4.34",
|
"gatsby-plugin-manifest": "^2.8.0",
|
||||||
"gatsby-plugin-material-ui": "^2.1.10",
|
"gatsby-plugin-material-ui": "^2.1.10",
|
||||||
"gatsby-plugin-offline": "^3.2.31",
|
"gatsby-plugin-offline": "^3.6.0",
|
||||||
"gatsby-plugin-postcss": "^3.0.1",
|
"gatsby-plugin-postcss": "^3.3.0",
|
||||||
"gatsby-plugin-prefetch-google-fonts": "^1.4.3",
|
"gatsby-plugin-react-helmet": "^3.6.0",
|
||||||
"gatsby-plugin-react-helmet": "^3.3.14",
|
"gatsby-plugin-sharp": "^2.10.0",
|
||||||
"gatsby-plugin-sharp": "^2.6.40",
|
"gatsby-plugin-sitemap": "^2.8.0",
|
||||||
"gatsby-plugin-sitemap": "^2.4.15",
|
"gatsby-plugin-webfonts": "^1.1.3",
|
||||||
"gatsby-source-filesystem": "^2.3.34",
|
"gatsby-source-filesystem": "^2.7.0",
|
||||||
"gatsby-source-gravatar": "^1.0.0",
|
"gatsby-source-gravatar": "^1.0.0",
|
||||||
"gatsby-transformer-remark": "^2.8.38",
|
"gatsby-transformer-remark": "^2.12.0",
|
||||||
"gatsby-transformer-sharp": "^2.5.17",
|
"gatsby-transformer-sharp": "^2.8.0",
|
||||||
"i18next": "^19.8.2",
|
"i18next": "^19.8.4",
|
||||||
"lodash": "^4.17.20",
|
"lodash": "^4.17.20",
|
||||||
"nanoevents": "^5.1.8",
|
"nanoevents": "^5.1.10",
|
||||||
"react": "^16.13.1",
|
"postcss": "^8.1.14",
|
||||||
|
"react": "^17.0.1",
|
||||||
"react-beautiful-dnd": "^13.0.0",
|
"react-beautiful-dnd": "^13.0.0",
|
||||||
"react-dom": "^16.13.1",
|
"react-dom": "^17.0.1",
|
||||||
"react-helmet": "^6.1.0",
|
"react-helmet": "^6.1.0",
|
||||||
"react-i18next": "^11.7.3",
|
"react-i18next": "^11.7.4",
|
||||||
"react-icons": "^3.11.0",
|
"react-icons": "^4.1.0",
|
||||||
"react-markdown": "^4.3.1",
|
"react-markdown": "^5.0.3",
|
||||||
"react-scroll": "^1.8.1",
|
"react-scroll": "^1.8.1",
|
||||||
"react-toastify": "^6.0.9",
|
"react-toastify": "^6.1.0",
|
||||||
"short-unique-id": "^3.0.4",
|
"short-unique-id": "^3.2.0",
|
||||||
"uuid": "^8.3.1",
|
"uuid": "^8.3.1",
|
||||||
"yup": "^0.29.3"
|
"yup": "^0.32.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^7.11.0",
|
"eslint": "^7.15.0",
|
||||||
"eslint-config-airbnb": "^18.2.0",
|
"eslint-config-airbnb": "^18.2.1",
|
||||||
"eslint-config-prettier": "^6.12.0",
|
"eslint-config-prettier": "^6.15.0",
|
||||||
"eslint-loader": "^4.0.2",
|
"eslint-loader": "^4.0.2",
|
||||||
"eslint-plugin-jsx-a11y": "^6.3.1",
|
"eslint-plugin-jsx-a11y": "^6.4.1",
|
||||||
"eslint-plugin-prettier": "^3.1.4",
|
"eslint-plugin-prettier": "^3.2.0",
|
||||||
"eslint-plugin-react": "^7.21.4",
|
"eslint-plugin-react": "^7.21.5",
|
||||||
"gatsby-plugin-eslint": "^2.0.8",
|
"gatsby-plugin-eslint": "^2.0.8",
|
||||||
"prettier": "2.1.2",
|
"prettier": "2.2.1",
|
||||||
"stylelint": "^13.7.2",
|
"stylelint": "^13.8.0",
|
||||||
"stylelint-config-standard": "^20.0.0",
|
"stylelint-config-standard": "^20.0.0",
|
||||||
"tailwindcss": "^1.8.13"
|
"tailwindcss": "^2.0.1"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
const tailwindcss = require('tailwindcss');
|
module.exports = {
|
||||||
|
plugins: {
|
||||||
module.exports = () => ({
|
autoprefixer: {},
|
||||||
plugins: [tailwindcss],
|
tailwindcss: {},
|
||||||
});
|
},
|
||||||
|
};
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import React, { memo, useEffect, useState } from 'react';
|
import React, { memo } from 'react';
|
||||||
import { Helmet } from 'react-helmet';
|
import { Helmet } from 'react-helmet';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import { useSelector } from '../../../contexts/ResumeContext';
|
import { useSelector } from '../../../contexts/ResumeContext';
|
||||||
@ -13,14 +13,9 @@ import styles from './Artboard.module.css';
|
|||||||
const Artboard = () => {
|
const Artboard = () => {
|
||||||
const state = useSelector();
|
const state = useSelector();
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const [width, setWidth] = useState(0);
|
|
||||||
const { id, name, metadata } = state;
|
const { id, name, metadata } = state;
|
||||||
const { template } = metadata;
|
const { template } = metadata;
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
setWidth(typeof window !== `undefined` && window && window.innerWidth);
|
|
||||||
}, [typeof window !== `undefined` && window && window.innerWidth]);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Helmet>
|
<Helmet>
|
||||||
@ -30,14 +25,7 @@ const Artboard = () => {
|
|||||||
<link rel="canonical" href={`https://rxresu.me/app/builder/${id}`} />
|
<link rel="canonical" href={`https://rxresu.me/app/builder/${id}`} />
|
||||||
</Helmet>
|
</Helmet>
|
||||||
|
|
||||||
<div
|
<div id="page" className={styles.container}>
|
||||||
id="page"
|
|
||||||
className={styles.container}
|
|
||||||
style={{
|
|
||||||
transform: `scale(${width / 1680})`,
|
|
||||||
transformOrigin: `${width / 1680 > 1.0 ? `top left` : ``}`,
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
{template === 'onyx' && <Onyx data={state} />}
|
{template === 'onyx' && <Onyx data={state} />}
|
||||||
{template === 'pikachu' && <Pikachu data={state} />}
|
{template === 'pikachu' && <Pikachu data={state} />}
|
||||||
{template === 'gengar' && <Gengar data={state} />}
|
{template === 'gengar' && <Gengar data={state} />}
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
@media screen {
|
@media screen {
|
||||||
.container {
|
.container {
|
||||||
width: 210mm;
|
width: 210mm;
|
||||||
min-height: 297mm;
|
height: 297mm;
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
|
margin: 2rem auto;
|
||||||
box-shadow: var(--shadow);
|
box-shadow: var(--shadow);
|
||||||
|
|
||||||
@apply my-16 bg-white rounded;
|
@apply bg-white rounded;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.center {
|
.center {
|
||||||
@apply relative z-0 h-screen overflow-scroll;
|
width: calc(100vw / 2);
|
||||||
|
|
||||||
|
@apply relative z-0 h-screen overflow-scroll flex flex-col justify-items-center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.right {
|
.right {
|
||||||
|
|||||||
@ -52,6 +52,7 @@ const ResumeViewer = ({ id }) => {
|
|||||||
</Helmet>
|
</Helmet>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
|
id="page"
|
||||||
className={styles.page}
|
className={styles.page}
|
||||||
style={{ backgroundColor: resume.metadata.colors.background }}
|
style={{ backgroundColor: resume.metadata.colors.background }}
|
||||||
>
|
>
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import ProjectsA from './blocks/Projects/ProjectsA';
|
|||||||
import ReferencesA from './blocks/References/ReferencesA';
|
import ReferencesA from './blocks/References/ReferencesA';
|
||||||
import SkillsA from './blocks/Skills/SkillsA';
|
import SkillsA from './blocks/Skills/SkillsA';
|
||||||
import WorkA from './blocks/Work/WorkA';
|
import WorkA from './blocks/Work/WorkA';
|
||||||
import BirthDateA from './blocks/BirthDate/BirthDateA'
|
import BirthDateA from './blocks/BirthDate/BirthDateA';
|
||||||
|
|
||||||
const Blocks = {
|
const Blocks = {
|
||||||
objective: ObjectiveA,
|
objective: ObjectiveA,
|
||||||
@ -55,7 +55,6 @@ const Castform = ({ data }) => {
|
|||||||
return (
|
return (
|
||||||
<PageContext.Provider value={{ data, heading: HeadingD }}>
|
<PageContext.Provider value={{ data, heading: HeadingD }}>
|
||||||
<div
|
<div
|
||||||
id="page"
|
|
||||||
className="rounded"
|
className="rounded"
|
||||||
style={{
|
style={{
|
||||||
fontFamily: data.metadata.font,
|
fontFamily: data.metadata.font,
|
||||||
|
|||||||
@ -14,7 +14,7 @@ import ProjectsA from './blocks/Projects/ProjectsA';
|
|||||||
import ReferencesA from './blocks/References/ReferencesA';
|
import ReferencesA from './blocks/References/ReferencesA';
|
||||||
import SkillsA from './blocks/Skills/SkillsA';
|
import SkillsA from './blocks/Skills/SkillsA';
|
||||||
import WorkA from './blocks/Work/WorkA';
|
import WorkA from './blocks/Work/WorkA';
|
||||||
import BirthDateA from './blocks/BirthDate/BirthDateA'
|
import BirthDateA from './blocks/BirthDate/BirthDateA';
|
||||||
|
|
||||||
const Blocks = {
|
const Blocks = {
|
||||||
objective: ObjectiveA,
|
objective: ObjectiveA,
|
||||||
@ -86,7 +86,6 @@ const Celebi = ({ data }) => {
|
|||||||
return (
|
return (
|
||||||
<PageContext.Provider value={{ data, heading: HeadingE }}>
|
<PageContext.Provider value={{ data, heading: HeadingE }}>
|
||||||
<div
|
<div
|
||||||
id="page"
|
|
||||||
className="relative rounded"
|
className="relative rounded"
|
||||||
style={{
|
style={{
|
||||||
fontFamily: data.metadata.font,
|
fontFamily: data.metadata.font,
|
||||||
|
|||||||
@ -59,7 +59,6 @@ const Gengar = ({ data }) => {
|
|||||||
return (
|
return (
|
||||||
<PageContext.Provider value={{ data, heading: HeadingC }}>
|
<PageContext.Provider value={{ data, heading: HeadingC }}>
|
||||||
<div
|
<div
|
||||||
id="page"
|
|
||||||
className="rounded"
|
className="rounded"
|
||||||
style={{
|
style={{
|
||||||
fontFamily: data.metadata.font,
|
fontFamily: data.metadata.font,
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import ProjectsA from './blocks/Projects/ProjectsA';
|
|||||||
import ReferencesA from './blocks/References/ReferencesA';
|
import ReferencesA from './blocks/References/ReferencesA';
|
||||||
import SkillsA from './blocks/Skills/SkillsA';
|
import SkillsA from './blocks/Skills/SkillsA';
|
||||||
import WorkA from './blocks/Work/WorkA';
|
import WorkA from './blocks/Work/WorkA';
|
||||||
import BirthDateA from './blocks/BirthDate/BirthDateA'
|
import BirthDateA from './blocks/BirthDate/BirthDateA';
|
||||||
|
|
||||||
const Blocks = {
|
const Blocks = {
|
||||||
objective: ObjectiveA,
|
objective: ObjectiveA,
|
||||||
@ -54,7 +54,6 @@ const Glalie = ({ data }) => {
|
|||||||
return (
|
return (
|
||||||
<PageContext.Provider value={{ data, heading: HeadingB }}>
|
<PageContext.Provider value={{ data, heading: HeadingB }}>
|
||||||
<div
|
<div
|
||||||
id="page"
|
|
||||||
className="rounded"
|
className="rounded"
|
||||||
style={{
|
style={{
|
||||||
fontFamily: data.metadata.font,
|
fontFamily: data.metadata.font,
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import ProjectsA from './blocks/Projects/ProjectsA';
|
|||||||
import ReferencesA from './blocks/References/ReferencesA';
|
import ReferencesA from './blocks/References/ReferencesA';
|
||||||
import SkillsA from './blocks/Skills/SkillsA';
|
import SkillsA from './blocks/Skills/SkillsA';
|
||||||
import WorkA from './blocks/Work/WorkA';
|
import WorkA from './blocks/Work/WorkA';
|
||||||
import BirthDateB from './blocks/BirthDate/BirthDateB'
|
import BirthDateB from './blocks/BirthDate/BirthDateB';
|
||||||
|
|
||||||
const Blocks = {
|
const Blocks = {
|
||||||
objective: ObjectiveA,
|
objective: ObjectiveA,
|
||||||
@ -33,7 +33,6 @@ const Onyx = ({ data }) => {
|
|||||||
return (
|
return (
|
||||||
<PageContext.Provider value={{ data, heading: HeadingA }}>
|
<PageContext.Provider value={{ data, heading: HeadingA }}>
|
||||||
<div
|
<div
|
||||||
id="page"
|
|
||||||
className="p-8 rounded"
|
className="p-8 rounded"
|
||||||
style={{
|
style={{
|
||||||
fontFamily: data.metadata.font,
|
fontFamily: data.metadata.font,
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import ProjectsA from './blocks/Projects/ProjectsA';
|
|||||||
import ReferencesA from './blocks/References/ReferencesA';
|
import ReferencesA from './blocks/References/ReferencesA';
|
||||||
import SkillsA from './blocks/Skills/SkillsA';
|
import SkillsA from './blocks/Skills/SkillsA';
|
||||||
import WorkA from './blocks/Work/WorkA';
|
import WorkA from './blocks/Work/WorkA';
|
||||||
import BirthDateB from './blocks/BirthDate/BirthDateB'
|
import BirthDateB from './blocks/BirthDate/BirthDateB';
|
||||||
|
|
||||||
const Blocks = {
|
const Blocks = {
|
||||||
work: WorkA,
|
work: WorkA,
|
||||||
@ -32,7 +32,6 @@ const Pikachu = ({ data }) => {
|
|||||||
return (
|
return (
|
||||||
<PageContext.Provider value={{ data, heading: HeadingB }}>
|
<PageContext.Provider value={{ data, heading: HeadingB }}>
|
||||||
<div
|
<div
|
||||||
id="page"
|
|
||||||
className="p-8 rounded"
|
className="p-8 rounded"
|
||||||
style={{
|
style={{
|
||||||
fontFamily: data.metadata.font,
|
fontFamily: data.metadata.font,
|
||||||
|
|||||||
@ -14,13 +14,19 @@ const BirthDateA = () => {
|
|||||||
{t('builder.profile.birthDate')}
|
{t('builder.profile.birthDate')}
|
||||||
</h6>
|
</h6>
|
||||||
<div>
|
<div>
|
||||||
<span>{formatDate({ date: data.profile.birthDate, language: data.metadata.language, includeDay: true })}</span>
|
<span>
|
||||||
|
{formatDate({
|
||||||
|
date: data.profile.birthDate,
|
||||||
|
language: data.metadata.language,
|
||||||
|
includeDay: true,
|
||||||
|
})}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
};
|
||||||
|
|
||||||
export default memo(BirthDateA);
|
export default memo(BirthDateA);
|
||||||
@ -1,12 +1,12 @@
|
|||||||
import React, { memo, useContext } from 'react';
|
import React, { memo, useContext } from 'react';
|
||||||
import PageContext from '../../../contexts/PageContext';
|
|
||||||
import { get } from 'lodash';
|
import { get } from 'lodash';
|
||||||
|
import PageContext from '../../../contexts/PageContext';
|
||||||
import Icons from '../Icons';
|
import Icons from '../Icons';
|
||||||
import { formatDate } from '../../../utils';
|
import { formatDate } from '../../../utils';
|
||||||
|
|
||||||
const BirthDateB = () => {
|
const BirthDateB = () => {
|
||||||
const { data } = useContext(PageContext);
|
const { data } = useContext(PageContext);
|
||||||
const Icon = get(Icons, "birthdaycake");
|
const Icon = get(Icons, 'birthdaycake');
|
||||||
|
|
||||||
if (data.profile.birthDate) {
|
if (data.profile.birthDate) {
|
||||||
return (
|
return (
|
||||||
@ -16,12 +16,18 @@ const BirthDateB = () => {
|
|||||||
className="mr-2"
|
className="mr-2"
|
||||||
style={{ color: data.metadata.colors.primary }}
|
style={{ color: data.metadata.colors.primary }}
|
||||||
/>
|
/>
|
||||||
<span className="font-medium break-all">{formatDate({ date: data.profile.birthDate, language: data.metadata.language, includeDay: true })}</span>
|
<span className="font-medium break-all">
|
||||||
|
{formatDate({
|
||||||
|
date: data.profile.birthDate,
|
||||||
|
language: data.metadata.language,
|
||||||
|
includeDay: true,
|
||||||
|
})}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
};
|
||||||
|
|
||||||
export default memo(BirthDateB);
|
export default memo(BirthDateB);
|
||||||
@ -1,12 +1,12 @@
|
|||||||
import React, { memo, useContext } from 'react';
|
import React, { memo, useContext } from 'react';
|
||||||
import PageContext from '../../../contexts/PageContext';
|
|
||||||
import { get } from 'lodash';
|
import { get } from 'lodash';
|
||||||
|
import PageContext from '../../../contexts/PageContext';
|
||||||
import Icons from '../Icons';
|
import Icons from '../Icons';
|
||||||
import { formatDate } from '../../../utils';
|
import { formatDate } from '../../../utils';
|
||||||
|
|
||||||
const BirthDateC = () => {
|
const BirthDateC = () => {
|
||||||
const { data } = useContext(PageContext);
|
const { data } = useContext(PageContext);
|
||||||
const Icon = get(Icons, "birthdaycake");
|
const Icon = get(Icons, 'birthdaycake');
|
||||||
|
|
||||||
if (data.profile.birthDate) {
|
if (data.profile.birthDate) {
|
||||||
return (
|
return (
|
||||||
@ -16,12 +16,18 @@ const BirthDateC = () => {
|
|||||||
className="mr-2"
|
className="mr-2"
|
||||||
style={{ color: data.metadata.colors.background }}
|
style={{ color: data.metadata.colors.background }}
|
||||||
/>
|
/>
|
||||||
<span className="font-medium break-all">{formatDate({ date: data.profile.birthDate, language: data.metadata.language, includeDay: true })}</span>
|
<span className="font-medium break-all">
|
||||||
|
{formatDate({
|
||||||
|
date: data.profile.birthDate,
|
||||||
|
language: data.metadata.language,
|
||||||
|
includeDay: true,
|
||||||
|
})}
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
};
|
||||||
|
|
||||||
export default memo(BirthDateC);
|
export default memo(BirthDateC);
|
||||||
@ -9,7 +9,7 @@ import {
|
|||||||
FaStackOverflow,
|
FaStackOverflow,
|
||||||
FaBehance,
|
FaBehance,
|
||||||
FaGitlab,
|
FaGitlab,
|
||||||
FaBirthdayCake
|
FaBirthdayCake,
|
||||||
} from 'react-icons/fa';
|
} from 'react-icons/fa';
|
||||||
import { MdPhone, MdEmail } from 'react-icons/md';
|
import { MdPhone, MdEmail } from 'react-icons/md';
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ const Icons = {
|
|||||||
stackoverflow: FaStackOverflow,
|
stackoverflow: FaStackOverflow,
|
||||||
behance: FaBehance,
|
behance: FaBehance,
|
||||||
gitlab: FaGitlab,
|
gitlab: FaGitlab,
|
||||||
birthdaycake: FaBirthdayCake
|
birthdaycake: FaBirthdayCake,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Icons;
|
export default Icons;
|
||||||
|
|||||||
@ -33,7 +33,10 @@ const ProjectItem = ({ item, language }) => {
|
|||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
{item.summary && (
|
{item.summary && (
|
||||||
<ReactMarkdown className="markdown mt-2 text-sm" source={item.summary} />
|
<ReactMarkdown
|
||||||
|
className="markdown mt-2 text-sm"
|
||||||
|
source={item.summary}
|
||||||
|
/>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@ -21,8 +21,7 @@ export const isFileImage = (file) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const formatDate = ({ date, language = 'en', includeDay = false }) => {
|
export const formatDate = ({ date, language = 'en', includeDay = false }) => {
|
||||||
const monthYearTemplate = 'MMMM YYYY';
|
const template = includeDay ? 'DD MMMM YYYY' : 'MMMM YYYY';
|
||||||
const template = includeDay ? 'DD ' + monthYearTemplate : monthYearTemplate;
|
|
||||||
|
|
||||||
return dayjs(date).locale(language.substr(0, 2)).format(template);
|
return dayjs(date).locale(language.substr(0, 2)).format(template);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -13,6 +13,7 @@ module.exports = {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
'font-family-no-missing-generic-family-keyword': null,
|
||||||
'declaration-block-trailing-semicolon': null,
|
'declaration-block-trailing-semicolon': null,
|
||||||
'no-descending-specificity': null,
|
'no-descending-specificity': null,
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,9 +1,6 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
purge: ['./src/**/*.js'],
|
purge: ['./src/**/*.js'],
|
||||||
future: {
|
darkMode: false,
|
||||||
purgeLayersByDefault: true,
|
|
||||||
removeDeprecatedGapUtilities: true,
|
|
||||||
},
|
|
||||||
theme: {
|
theme: {
|
||||||
container: {
|
container: {
|
||||||
center: true,
|
center: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user