diff --git a/src/components/certification-card/index.tsx b/src/components/certification-card/index.tsx
index bda4ed90b..73d79fef8 100644
--- a/src/components/certification-card/index.tsx
+++ b/src/components/certification-card/index.tsx
@@ -78,22 +78,15 @@ const CertificationCard = ({
renderSkeleton()
) : (
<>
- {certifications
- .filter(
- (certification) =>
- certification.year ||
- certification.name ||
- certification.body,
- )
- .map((certification, index) => (
-
- ))}
+ {certifications.map((certification, index) => (
+
+ ))}
>
)}
diff --git a/src/components/education-card/index.tsx b/src/components/education-card/index.tsx
index f21568fe1..be52948e3 100644
--- a/src/components/education-card/index.tsx
+++ b/src/components/education-card/index.tsx
@@ -70,19 +70,14 @@ const EducationCard = ({
renderSkeleton()
) : (
<>
- {educations
- .filter(
- (item) =>
- item.institution || item.degree || item.from || item.to,
- )
- .map((item, index) => (
-
- ))}
+ {educations.map((item, index) => (
+
+ ))}
>
)}
diff --git a/src/components/experience-card/index.tsx b/src/components/experience-card/index.tsx
index ff7532269..cc58deabd 100644
--- a/src/components/experience-card/index.tsx
+++ b/src/components/experience-card/index.tsx
@@ -75,27 +75,19 @@ const ExperienceCard = ({
renderSkeleton()
) : (
- {experiences
- .filter(
- (experience) =>
- experience.company ||
- experience.position ||
- experience.from ||
- experience.to,
- )
- .map((experience, index) => (
-
- ))}
+ {experiences.map((experience, index) => (
+
+ ))}
)}
diff --git a/src/components/publication-card/index.tsx b/src/components/publication-card/index.tsx
new file mode 100644
index 000000000..8ded02ba7
--- /dev/null
+++ b/src/components/publication-card/index.tsx
@@ -0,0 +1,157 @@
+import React, { Fragment } from 'react';
+import { SanitizedExperience } from '../../interfaces/sanitized-config';
+import { skeleton } from '../../utils';
+
+const ListItem = ({
+ time,
+ position,
+ company,
+ companyLink,
+}: {
+ time: React.ReactNode;
+ position?: React.ReactNode;
+ company?: React.ReactNode;
+ companyLink?: string;
+}) => (
+
+
+ {time}
+ {position}
+
+
+);
+
+const PublicationCard = ({
+ experiences,
+ loading,
+}: {
+ experiences: SanitizedExperience[];
+ loading: boolean;
+}) => {
+ const renderSkeleton = () => {
+ const array = [];
+ for (let index = 0; index < 2; index++) {
+ array.push(
+ ,
+ );
+ }
+
+ return array;
+ };
+ return (
+
+
+
+
+
+
+
+
+ Publications
+
+
+
+
+
+
+
+
+
+
+
+
+ Publication Title
+
+
+ Conference / Journal Name
+
+
+ Authors: John Doe, Jane Smith
+
+
+ Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor
+ incididunt ut labore et dolore magna aliqua. Ut
+ enim ad minim veniam, quis nostrud exercitation
+ ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in
+ reprehenderit in voluptate velit esse cillum
+ dolore eu fugiat nulla pariatur. Excepteur sint
+ occaecat cupidatat non proident, sunt in culpa
+ qui officia deserunt mollit anim id est laborum.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Publication Title
+
+
+ Conference / Journal Name
+
+
+ Authors: John Doe, Jane Smith
+
+
+ Lorem ipsum dolor sit amet, consectetur
+ adipiscing elit, sed do eiusmod tempor
+ incididunt ut labore et dolore magna aliqua. Ut
+ enim ad minim veniam, quis nostrud exercitation
+ ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in
+ reprehenderit in voluptate velit esse cillum
+ dolore eu fugiat nulla pariatur. Excepteur sint
+ occaecat cupidatat non proident, sunt in culpa
+ qui officia deserunt mollit anim id est laborum.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default PublicationCard;
diff --git a/src/utils/index.tsx b/src/utils/index.tsx
index a1df9c334..3905c96b9 100644
--- a/src/utils/index.tsx
+++ b/src/utils/index.tsx
@@ -82,9 +82,23 @@ export const getSanitizedConfig = (
fileUrl: config?.resume?.fileUrl || '',
},
skills: config?.skills || [],
- experiences: config?.experiences || [],
- certifications: config?.certifications || [],
- educations: config?.educations || [],
+ experiences:
+ config?.experiences?.filter(
+ (experience) =>
+ experience.company ||
+ experience.position ||
+ experience.from ||
+ experience.to,
+ ) || [],
+ certifications:
+ config?.certifications?.filter(
+ (certification) =>
+ certification.year || certification.name || certification.body,
+ ) || [],
+ educations:
+ config?.educations?.filter(
+ (item) => item.institution || item.degree || item.from || item.to,
+ ) || [],
googleAnalytics: {
id: config?.googleAnalytics?.id,
},