Ferramentas:
--
-
Pessoal:
--
-
- Carregando... -
- Carregando... -
- Carregando... -
Linguagens / Frameworks:
+Habilidades pessoais:
+-
-
- Carregando... -
-
-
-
-
diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 000000000..9d93fd1b1 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,11 @@ +module.exports = { + printWidth: 120, + trailingComma: 'none', + semi: true, + singleQuote: true, + endOfLine: 'auto', + bracketSpacing: true, + bracketSameLine: true, + arrowParens: 'avoid', + singleAttributePerLine: true +}; diff --git a/assets/css/acordeon.css b/assets/css/acordeons.css similarity index 58% rename from assets/css/acordeon.css rename to assets/css/acordeons.css index 0a250de2a..6b1ea2566 100644 --- a/assets/css/acordeon.css +++ b/assets/css/acordeons.css @@ -1,67 +1,61 @@ -.acordeon { +.acordeons { display: flex; flex-direction: column; + align-items: center; + margin: 3rem auto; + gap: 2rem; +} + +.acordeon { width: 100%; - margin: 1rem 0; border: 1px solid #fff; border-radius: 1rem; - transition: .25s; + transition: all .2s; } -.acordeon.open, .acordeon:hover { background-color: #55569E; border-color: #55569E; } -.acordeon .trigger { +.trigger { + font-size: 1.5rem; + font-weight: bold; display: flex; - flex-direction: row; justify-content: space-between; align-items: center; - font-size: 1.5rem; - font-weight: 700; + width: 100%; padding: 1rem 2rem; background-color: transparent; color: #fff; border: none; -} - -.acordeon .trigger h2 { - margin: 0; - font-size: 1.5rem; - text-align: start; -} - -.acordeon .trigger:hover { cursor: pointer; } -.acordeon .trigger::after { +.trigger::after { content: ''; - display: inline-block; - width: 1.5rem; - height: 1.5rem; + background-image: url('../img/icons/open.svg'); background-repeat: no-repeat; background-size: contain; - background-image: url('../img/icons/arrow-top.svg'); - transition: .25s; + background-position: center; + width: 1.5rem; + height: 1rem; + transition: transform .4s; } .acordeon.open .trigger::after { transform: rotate(180deg); } -.acordeon .content { +.content { overflow: hidden; height: 0; opacity: 0; - transition: opacity .25s ease-in-out; + transition: height 0ms 400ms, opacity 400ms 0ms; } .acordeon.open .content { - display: block; - padding: 0 1rem 1rem 2rem; height: auto; opacity: 1; + transition: height 0ms 0ms, opacity 600ms 0ms; } \ No newline at end of file diff --git a/assets/css/experience.css b/assets/css/experience.css deleted file mode 100644 index c2334ed9f..000000000 --- a/assets/css/experience.css +++ /dev/null @@ -1,28 +0,0 @@ -.experience { - display: flex; - flex-direction: column; - margin: 0; - padding: 0; - list-style: none; -} - -.experience li { - margin-bottom: 1rem; -} - -.experience li .period { - display: flex; - flex-direction: row; - align-items: center; -} - -.experience li .period::before { - content: ""; - display: inline-block; - width: 1rem; - height: 1rem; - background-repeat: no-repeat; - background-size: contain; - background-image: url('../img/icons/calendar.svg'); - margin-right: .5rem; -} \ No newline at end of file diff --git a/assets/css/experiencies.css b/assets/css/experiencies.css new file mode 100644 index 000000000..63c9e4454 --- /dev/null +++ b/assets/css/experiencies.css @@ -0,0 +1,53 @@ +.experiencies { + display: flex; + flex-direction: column; + padding-left: 1rem; + gap: 1rem; +} + +.experience { + padding: 1rem; + display: flex; + flex-direction: column; + gap: 1rem; +} + +.experience p { + display: flex; + align-items: flex-end; +} + +.company::before { + content: ''; + background-image: url('../img/icons/company.png'); + background-repeat: no-repeat; + background-size: contain; + background-position: center; + width: 1.5rem; + height: 1.5rem; + display: inline-block; + margin-right: .5rem; +} + +.time { + color: #ccc; +} + +.time::before { + content: ''; + background-image: url('../img/icons/experience.svg'); + background-repeat: no-repeat; + background-size: contain; + background-position: center; + width: 1.5rem; + height: 1.5rem; + display: inline-block; + margin-right: .5rem; +} + +@media screen and (max-width: 400px) { + .experiencies { + padding: 1rem 0.25rem; + margin: 0; + } +} \ No newline at end of file diff --git a/assets/css/footer.css b/assets/css/footer.css index d63625ad1..1ef24885d 100644 --- a/assets/css/footer.css +++ b/assets/css/footer.css @@ -1,12 +1,9 @@ footer { - width: 100%; display: flex; - flex-direction: row; justify-content: flex-end; - align-items: center; - padding: 1rem; } -footer img { - max-width: 100px; +footer a img { + width: 100px; + height: 100px; } \ No newline at end of file diff --git a/assets/css/global.css b/assets/css/global.css index 1f2c0d6ad..c7bd8cc6e 100644 --- a/assets/css/global.css +++ b/assets/css/global.css @@ -1,67 +1,93 @@ * { box-sizing: border-box; - font-family: 'Open Sans', sans-serif; + outline: 0; + list-style: none; + margin: 0; + padding: 0; } @font-face { font-family: 'Neue Machina'; - src: url('../fonts/neue-machina-regular.otf'); + src: url('../fonts/neue-machina/neue-machina-regular.otf'); } body { + font-family: 'Open Sans', sans-serif; + border-radius: 46px; background-color: #000; + /* background: linear-gradient(140deg, rgba(124, 12, 123, 1) 0%, rgba(16, 47, 73, 1) 10%, rgba(0, 0, 0, 1) 35%, rgba(0, 0, 0, 1) 65%, rgba(16, 47, 73, 1) 80%, rgba(124, 12, 123, 1) 90%); + background-repeat: no-repeat; */ color: #fff; } -a { - color: #fff; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -.main { +.container { margin: 1rem; - padding: 1rem; + padding: 2rem; border: 1px solid #fff; border-radius: 1rem; + max-width: 1000px; } -.main::before, -.main::after { +.container::before { content: ''; - background-image: url('../img/background.svg'); + background-image: url('../img/background/top.svg'); background-repeat: no-repeat; background-size: contain; display: inline-block; position: fixed; top: 0; left: 0; - width: 140vw; - height: 100vh; + width: 50vh; + height: 50vh; z-index: -1; } -.main::after { +.container::after { content: ''; - top: auto; - left: auto; + background-image: url('../img/background/bottom.svg'); + background-repeat: no-repeat; + background-size: contain; + display: inline-block; + position: fixed; bottom: 0; right: 0; + width: 50vh; + height: 50vh; + z-index: -1; transform: rotate(180deg); } +a { + text-decoration: none; + color: #fff; +} -@media only screen and (min-width: 768px) { - .main { - max-width: 1024px; - margin: 1rem auto; +h3 { + display: flex; + align-items: center; +} + +@media screen and (max-width: 480px) { + .container { + padding: .25rem; + margin: 0; + } +} + +@media screen and (min-width: 768px) { + .container::before { + width: 100vh; + height: 100vh; } - .main::before, - .main::after { - width: 70vw; + .container::after { + width: 100vh; + height: 100vh; + } +} + +@media screen and (min-width: 1000px) { + .container { + margin: 1rem auto; } } \ No newline at end of file diff --git a/assets/css/header.css b/assets/css/header.css index 572ab9438..f6583d55f 100644 --- a/assets/css/header.css +++ b/assets/css/header.css @@ -3,94 +3,101 @@ flex-direction: column; align-items: center; position: relative; + padding: 0; } -.header::after { - content: ''; - display: inline-block; - position: absolute; - top: 1rem; - right: 1rem; - width: 2rem; - height: 2rem; - background-repeat: no-repeat; - background-size: contain; - background-image: url('../img/icons/header.svg'); -} - -.header .photo { +.header img { width: 200px; height: 200px; - border-radius: 50%; + border-radius: 100%; + filter: brightness(1.3) saturate(1.3); + object-fit: cover; } -.header .title { +.info { + display: flex; + flex-direction: column; + align-items: flex-start; +} + +.title { font-family: 'Neue Machina'; - text-align: center; + font-size: 2.25rem; } -.information { +.details { display: flex; flex-direction: column; - align-items: flex-start; - width: 100%; + gap: 1rem; } -.information p { +.details p { + margin: 0; display: flex; - flex-direction: row; align-items: center; - margin: .5rem; - font-size: 1.125rem; } -.information p::before { +.details p::before { content: ''; + width: 1.25rem; + height: 1.25rem; display: inline-block; - width: 1rem; - height: 1rem; + margin-right: .5rem; background-repeat: no-repeat; background-size: contain; - margin-right: .5rem; + background-position: center; } -.information .job::before { - background-image: url('../img/icons/job.svg'); +.job::before { + background-image: url('../img/icons/profile/job.png'); } -.information .location::before { - background-image: url('../img/icons/location.svg'); +.linkedin::before { + background-image: url('../img/icons/profile/linkedin.png'); } -.information .email::before { - background-image: url('../img/icons/email.svg'); +.location::before { + background-image: url('../img/icons/profile/location.svg'); } -.information .phone::before { - background-image: url('../img/icons/phone.svg'); +.phone::before { + background-image: url('../img/icons/profile/phone.svg'); } -@media only screen and (min-width: 768px) { - .header { - display: grid; - grid-template-areas: - "photo title" - "photo information" - ; +.email::before { + background-image: url('../img/icons/profile/email.svg'); +} + +@media screen and (min-width: 400px) { + .header::after { + content: ''; + background-image: url('../img/icons/points.svg'); + background-repeat: no-repeat; + background-size: contain; + width: 2.5rem; + height: 2.5rem; + position: absolute; + right: 0; + top: 0; } +} - .header .photo { - grid-area: photo; - margin: 0 auto; + + +@media screen and (max-width: 400px) { + .header { + padding: 1rem; } +} - .header .title { - grid-area: title; - text-align: start; - max-width: 210px; +@media screen and (min-width: 768px) { + .header { + flex-direction: row; + justify-content: center; + gap: 50px; } - .header .information { - grid-area: information; + .title { + line-height: 3rem; } } \ No newline at end of file diff --git a/assets/css/languages.css b/assets/css/languages.css deleted file mode 100644 index c8fb1fb94..000000000 --- a/assets/css/languages.css +++ /dev/null @@ -1,28 +0,0 @@ -.languages { - display: flex; - flex-direction: row; - align-items: center; - flex-wrap: wrap; - margin: 0; - padding: 0; - list-style: none; -} - -.languages li { - display: flex; - flex-direction: row; - align-items: center; - padding-right: 1rem; - font-weight: 700; -} - -.languages li::before { - content: ""; - display: inline-block; - width: 1rem; - height: 1rem; - background-repeat: no-repeat; - background-size: contain; - background-image: url('../img/icons/check.svg'); - margin-right: .5rem; -} \ No newline at end of file diff --git a/assets/css/portfolio.css b/assets/css/portfolio.css deleted file mode 100644 index 78543f3e3..000000000 --- a/assets/css/portfolio.css +++ /dev/null @@ -1,37 +0,0 @@ -.portfolio { - display: flex; - flex-direction: column; - justify-content: flex-start; - width: 100%; - margin: 0; - padding: 0; - list-style: none; -} - -.portfolio li { - display: flex; - flex-direction: column; - justify-content: flex-start; - margin: 1rem 0; -} - -.portfolio li h3 { - display: flex; - flex-direction: row; - align-items: center; - font-size: 1.25rem; - font-weight: 700; - margin: 0; - margin-bottom: .5rem; -} - -.portfolio li h3.github::before { - content: ""; - display: inline-block; - width: 1rem; - height: 1rem; - background-repeat: no-repeat; - background-size: contain; - background-image: url('../img/icons/github.svg'); - margin-right: .5rem; -} \ No newline at end of file diff --git a/assets/css/projects.css b/assets/css/projects.css new file mode 100644 index 000000000..105b03692 --- /dev/null +++ b/assets/css/projects.css @@ -0,0 +1,39 @@ +.projects { + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 1rem; + gap: 2rem; +} + +.project { + padding-left: 1rem; + display: flex; + flex-direction: column; + gap: .5rem; +} + +.project h3::before { + content: ''; + background-image: url('../img/icons/github.svg'); + background-repeat: no-repeat; + background-size: contain; + background-position: center; + width: 1.5rem; + height: 1.5rem; + display: inline-block; + margin-right: .5rem; +} + +@media screen and (max-width: 400px) { + .project a { + font-size: .75rem; + } +} + +@media screen and (max-width: 400px) { + .projects { + padding: 1rem .25rem; + margin: 0; + } +} \ No newline at end of file diff --git a/assets/css/skills.css b/assets/css/skills.css index 2995ada54..20e8fc0e2 100644 --- a/assets/css/skills.css +++ b/assets/css/skills.css @@ -1,43 +1,64 @@ .skills { + display: flex; + justify-content: space-between; + padding: 2rem; +} + + +.tools { display: flex; flex-direction: column; } -.skills .tools ul { +.tools h3 { + margin-bottom: 2rem; +} + +.tools-list { display: flex; - flex-direction: row; - justify-content: flex-start; - align-items: center; flex-wrap: wrap; - margin: 0; - padding: 0; - list-style: none; + width: 250px; + gap: 2rem; } -.skills .tools ul li img { - max-width: 50px; - max-height: 50px; - margin: 0 .5rem; +.tools-img { + width: 50px; + height: 50px; } -.skills .personal ul { +.personal { + width: 400px; display: flex; - flex-direction: row; - justify-content: flex-start; - align-items: center; - flex-wrap: wrap; - margin: 0; - padding: 0; + flex-direction: column; + gap: 1rem; } -.skills .personal ul li { - margin-left: 2rem; - padding: .5rem +.personal h3 { + margin-bottom: 2rem; } -@media only screen and (min-width: 768px) { +.personal-skills { + display: grid; + grid-template-columns: auto auto; + gap: 1rem; +} + +@media screen and (max-width: 425px) { + .personal-skills { + display: flex; + flex-direction: column; + } +} + +@media screen and (max-width: 768px) { .skills { - display: grid; - grid-template-columns: 1fr 1fr; + flex-direction: column; + gap: 2rem; + padding: 2rem; + } + + .personal h3 { + margin-bottom: 2rem; + align-self: auto; } } \ No newline at end of file diff --git a/assets/fonts/neue-machina/neue-machina-bold.otf b/assets/fonts/neue-machina/neue-machina-bold.otf new file mode 100644 index 000000000..421d8da5a Binary files /dev/null and b/assets/fonts/neue-machina/neue-machina-bold.otf differ diff --git a/assets/fonts/neue-machina-regular.otf b/assets/fonts/neue-machina/neue-machina-regular.otf similarity index 100% rename from assets/fonts/neue-machina-regular.otf rename to assets/fonts/neue-machina/neue-machina-regular.otf diff --git a/assets/img/background.svg b/assets/img/background.svg deleted file mode 100644 index 0f894d91e..000000000 --- a/assets/img/background.svg +++ /dev/null @@ -1,21 +0,0 @@ - diff --git a/assets/img/background/bottom.svg b/assets/img/background/bottom.svg new file mode 100644 index 000000000..3888fbec9 --- /dev/null +++ b/assets/img/background/bottom.svg @@ -0,0 +1,21 @@ + diff --git a/assets/img/background/top.svg b/assets/img/background/top.svg new file mode 100644 index 000000000..3888fbec9 --- /dev/null +++ b/assets/img/background/top.svg @@ -0,0 +1,21 @@ + diff --git a/assets/img/dio.svg b/assets/img/dio.svg deleted file mode 100644 index e5d2b3566..000000000 --- a/assets/img/dio.svg +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/assets/img/icons/arrow-top.svg b/assets/img/icons/arrow-top.svg deleted file mode 100644 index a0dc911f7..000000000 --- a/assets/img/icons/arrow-top.svg +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/assets/img/icons/calendar.svg b/assets/img/icons/calendar.svg deleted file mode 100644 index 6ccc085dc..000000000 --- a/assets/img/icons/calendar.svg +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/assets/img/icons/check.svg b/assets/img/icons/check.svg deleted file mode 100644 index 4f6e2d0a5..000000000 --- a/assets/img/icons/check.svg +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/assets/img/icons/checked.svg b/assets/img/icons/checked.svg new file mode 100644 index 000000000..83c95e315 --- /dev/null +++ b/assets/img/icons/checked.svg @@ -0,0 +1,6 @@ + diff --git a/assets/img/icons/close.svg b/assets/img/icons/close.svg new file mode 100644 index 000000000..5b1295cc2 --- /dev/null +++ b/assets/img/icons/close.svg @@ -0,0 +1,6 @@ + diff --git a/assets/img/icons/company.png b/assets/img/icons/company.png new file mode 100644 index 000000000..35f5d6ff9 Binary files /dev/null and b/assets/img/icons/company.png differ diff --git a/assets/img/icons/dio.svg b/assets/img/icons/dio.svg new file mode 100644 index 000000000..74afd9049 --- /dev/null +++ b/assets/img/icons/dio.svg @@ -0,0 +1,7 @@ + diff --git a/assets/img/icons/email.svg b/assets/img/icons/email.svg deleted file mode 100644 index 27d087c2f..000000000 --- a/assets/img/icons/email.svg +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/assets/img/icons/experience.svg b/assets/img/icons/experience.svg new file mode 100644 index 000000000..e83c6ba3d --- /dev/null +++ b/assets/img/icons/experience.svg @@ -0,0 +1,8 @@ + diff --git a/assets/img/icons/github.svg b/assets/img/icons/github.svg index d89aef83f..c0f12825a 100644 --- a/assets/img/icons/github.svg +++ b/assets/img/icons/github.svg @@ -1,3 +1,10 @@ diff --git a/assets/img/icons/header.svg b/assets/img/icons/header.svg deleted file mode 100644 index c9e2d5925..000000000 --- a/assets/img/icons/header.svg +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/assets/img/icons/job.svg b/assets/img/icons/job.svg deleted file mode 100644 index 365242981..000000000 --- a/assets/img/icons/job.svg +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/assets/img/icons/location.svg b/assets/img/icons/location.svg deleted file mode 100644 index e0f030130..000000000 --- a/assets/img/icons/location.svg +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/assets/img/icons/open.svg b/assets/img/icons/open.svg new file mode 100644 index 000000000..b25f42596 --- /dev/null +++ b/assets/img/icons/open.svg @@ -0,0 +1,6 @@ + diff --git a/assets/img/icons/phone.svg b/assets/img/icons/phone.svg deleted file mode 100644 index 97bb57a30..000000000 --- a/assets/img/icons/phone.svg +++ /dev/null @@ -1,3 +0,0 @@ - diff --git a/assets/img/icons/points.svg b/assets/img/icons/points.svg new file mode 100644 index 000000000..df41c376f --- /dev/null +++ b/assets/img/icons/points.svg @@ -0,0 +1,7 @@ + diff --git a/assets/img/icons/profile/email.svg b/assets/img/icons/profile/email.svg new file mode 100644 index 000000000..939c8a097 --- /dev/null +++ b/assets/img/icons/profile/email.svg @@ -0,0 +1,6 @@ + diff --git a/assets/img/icons/profile/job.png b/assets/img/icons/profile/job.png new file mode 100644 index 000000000..6ccb69382 Binary files /dev/null and b/assets/img/icons/profile/job.png differ diff --git a/assets/img/icons/profile/job2.svg b/assets/img/icons/profile/job2.svg new file mode 100644 index 000000000..7f5546b3d --- /dev/null +++ b/assets/img/icons/profile/job2.svg @@ -0,0 +1,6 @@ + diff --git a/assets/img/icons/profile/linkedin.png b/assets/img/icons/profile/linkedin.png new file mode 100644 index 000000000..f6a5f5c55 Binary files /dev/null and b/assets/img/icons/profile/linkedin.png differ diff --git a/assets/img/icons/profile/location.svg b/assets/img/icons/profile/location.svg new file mode 100644 index 000000000..4a2038b37 --- /dev/null +++ b/assets/img/icons/profile/location.svg @@ -0,0 +1,3 @@ + diff --git a/assets/img/icons/profile/phone.svg b/assets/img/icons/profile/phone.svg new file mode 100644 index 000000000..4c332e52b --- /dev/null +++ b/assets/img/icons/profile/phone.svg @@ -0,0 +1,3 @@ + diff --git a/assets/img/icons/tools/git.svg b/assets/img/icons/tools/git.svg deleted file mode 100644 index 5cb1a7177..000000000 --- a/assets/img/icons/tools/git.svg +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/assets/img/icons/tools/java.svg b/assets/img/icons/tools/java.svg deleted file mode 100644 index cf0a0e48c..000000000 --- a/assets/img/icons/tools/java.svg +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/assets/img/icons/tools/js.svg b/assets/img/icons/tools/js.svg deleted file mode 100644 index d39b9bcde..000000000 --- a/assets/img/icons/tools/js.svg +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/assets/img/icons/tools/nodejs.svg b/assets/img/icons/tools/nodejs.svg deleted file mode 100644 index c05f3c258..000000000 --- a/assets/img/icons/tools/nodejs.svg +++ /dev/null @@ -1,3 +0,0 @@ - diff --git a/assets/img/icons/tools/react.svg b/assets/img/icons/tools/react.svg deleted file mode 100644 index 58d6c2454..000000000 --- a/assets/img/icons/tools/react.svg +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/assets/img/my-photo.png b/assets/img/my-photo.png deleted file mode 100644 index 749b8d86a..000000000 Binary files a/assets/img/my-photo.png and /dev/null differ diff --git a/assets/img/profile.jpg b/assets/img/profile.jpg new file mode 100644 index 000000000..26a58d142 Binary files /dev/null and b/assets/img/profile.jpg differ diff --git a/assets/js/acordeon.js b/assets/js/acordeon.js index daa6f3783..72f5a6b9e 100644 --- a/assets/js/acordeon.js +++ b/assets/js/acordeon.js @@ -1,15 +1,14 @@ +const acordeonTriggers = document.querySelectorAll('.trigger'); -const acordeonTriggers = document.querySelectorAll('.acordeon .trigger') +acordeonTriggers.forEach(trigger => { + trigger.addEventListener('click', () => { + const acordeon = trigger.parentElement; + const isOpen = acordeon.classList.contains('open'); -acordeonTriggers.forEach((trigger) => { - trigger.addEventListener('click', (e) => { - const acordeon = trigger.parentElement - const isOpen = acordeon.classList.contains('open') - - if (isOpen) { - acordeon.classList.remove('open') - } else { - acordeon.classList.add('open') - } - }) -}) + if (isOpen) { + acordeon.classList.remove('open'); + } else { + acordeon.classList.add('open'); + } + }); +}); diff --git a/assets/js/api.js b/assets/js/api.js index 29f0a21e9..0e51aaef1 100644 --- a/assets/js/api.js +++ b/assets/js/api.js @@ -1,7 +1,5 @@ - async function fetchProfileData() { - const url = 'https://raw.githubusercontent.com/digitalinnovationone/js-developer-portfolio/main/data/profile.json'; - const response = await fetch(url) - const profileData = await response.json() - return profileData + const url = 'https://raw.githubusercontent.com/rafaschenkel/js-developer-portfolio/schenkel/data/profile.json'; + const dados = await (await fetch(url)).json(); + return await dados; } diff --git a/assets/js/main.js b/assets/js/main.js index f5e871966..6328e7443 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -1,73 +1,80 @@ +(async () => { + const profileData = await fetchProfileData(); + updateInfos(profileData); + updateHardSkills(profileData); + updateSoftSkills(profileData); + updatePortfolio(profileData); + updateExperienceProfessional(profileData); +})(); -function updateProfileInfo(profileData) { - const photo = document.getElementById('profile.photo') - photo.src = profileData.photo - photo.alt = profileData.name +function updateInfos(profileData) { + const photo = document.querySelector('#profile-photo'); + photo.setAttribute('src', `${profileData.photo}`); - const name = document.getElementById('profile.name') - name.innerText = profileData.name + const name = document.querySelector('#profile-name'); + name.innerText = profileData.name; - const job = document.getElementById('profile.job') - job.innerText = profileData.job + const job = document.querySelector('#profile-job'); + job.innerText = profileData.job; - const location = document.getElementById('profile.location') - location.innerText = profileData.location + const linkedin = document.querySelector('#profile-linkedin'); + linkedin.setAttribute('href', `${profileData.linkedin}`); + linkedin.innerText = profileData.linkedin.replace('https://www.linkedin.com/in/', ''); - const phone = document.getElementById('profile.phone') - phone.innerText = profileData.phone - phone.href = `tel:${profileData.phone}` + const location = document.querySelector('#profile-location'); + location.innerText = profileData.location; - const email = document.getElementById('profile.email') - email.innerText = profileData.email - email.href = `mailto:${profileData.email}` -} + const phone = document.querySelector('#profile-phone'); + phone.setAttribute( + 'href', + `https://wa.me/+55${profileData.phone.replace('(', '').replace(')', '').replace(' ', '').replace('-', '')}` + ); + phone.innerText = profileData.phone; -function updateSoftSkills(profileData) { - const softSkills = document.getElementById('profile.skills.softSkills') - softSkills.innerHTML = profileData.skills.softSkills.map(skill => `
${experience.period}
-${experience.description}
-${exp.company}
+${exp.period}
+${exp.description}
+
-
- Carregando...
-Carregando...
-- Carregando... -
- +