+ role="alert" v-if="sent">
-
{{$t('contact_email_sent')}}
+
{{ $t('contact_email_sent') }}
-
{{$t('contact_email_sent_error')}}
+
{{ $t('contact_email_sent_error') }}
@@ -165,6 +184,7 @@ export default {
email: '',
message: '',
},
+ sent: false,
sending: false,
error: false,
}
@@ -186,18 +206,24 @@ export default {
},
methods: {
send_email() {
+ this.sending = true;
emailjs.send('portfolio', 'template_portfolio', {
user_name: this.form.name, user_email: this.form.email, message: this.form.message
}, 'u0e_FkHOlD75wLr8g')
- .then((_) => {
- this.sending = true;
- this.clear_email();
- setTimeout(() => {this.sending = false}, 5000);
- }, (_) => {
- this.error = true;
- this.clear_email();
- setTimeout(() => {this.error = false}, 5000);
- });
+ .then((_) => {
+ this.sent = true;
+ this.sending = false;
+ this.clear_email();
+ setTimeout(() => {
+ this.sent = false
+ }, 5000);
+ }, (_) => {
+ this.error = true;
+ this.sending = false;
+ setTimeout(() => {
+ this.error = false
+ }, 5000);
+ });
},
clear_email() {
this.form = {
diff --git a/components/tabs/Home.vue b/components/tabs/Home.vue
index 96e3f77..89b649d 100644
--- a/components/tabs/Home.vue
+++ b/components/tabs/Home.vue
@@ -53,7 +53,7 @@
caret-animation='blink'
>
-
diff --git a/components/tabs/Portfolio.vue b/components/tabs/Portfolio.vue
index d5941ae..5f42c6a 100644
--- a/components/tabs/Portfolio.vue
+++ b/components/tabs/Portfolio.vue
@@ -1,15 +1,491 @@
-
+
+
+
+
+
+ {{ $t('project_education_title') }}:
+
+
+
+
+
+ {{ $t('project_work_title') }}:
+
+
+
+
+
+
+
+ {{ $t('project_title') }}:
+
+
+ -
+
+
+
{{ item.date }}
+
+ {{item}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/layouts/default.vue b/layouts/default.vue
index 94688b7..45fe6dd 100644
--- a/layouts/default.vue
+++ b/layouts/default.vue
@@ -39,10 +39,22 @@ export default {
backdrop-filter: saturate(180%) blur(10px);
}
+/* Ref: https://stackoverflow.com/questions/3247358/how-do-i-wrap-text-with-no-whitespace-inside-a-td#answer-5108367 */
+.wrap-word {
+ white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
+ white-space: -webkit-pre-wrap; /* Chrome & Safari */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
+ word-break: break-all;
+ white-space: normal;
+}
+
.fade-enter-from, .fade-leave-to {
- opacity: 0;
+ opacity: 0;
}
+
.fade-enter-active, .fade-leave-active {
- transition: opacity 0.1s ease-in-out;
+ transition: opacity 0.1s ease-in-out;
}
diff --git a/locales/en-US.js b/locales/en-US.js
index 441dd53..98ab65e 100644
--- a/locales/en-US.js
+++ b/locales/en-US.js
@@ -26,6 +26,9 @@ export default {
skills_title_languages: 'Languages',
skills_languages: [['Spanish', '(Native)'], ['English', '(A2)']],
/* Projects */
+ project_title: 'Projects',
+ project_education_title: 'Education',
+ project_work_title: 'Work experience',
/* Contacts */
contact_title: 'Have a Project in Mind? Let\'s Build Something Great Together!',
contact_subtitle: 'I\'m excited to hear from you and discuss how we can collaborate to bring your ideas to life. Whether it\'s a web application, API development or any other web solution, let\'s turn your ideas into reality and make an impact in the digital world. Contact me now to get started!',
@@ -40,9 +43,13 @@ export default {
contact_email_message: 'Message',
contact_email_message_placeholder: 'Type a message...',
contact_email_send: 'Submit',
+ contact_email_sending: 'Sending ...',
contact_email_sent: 'Message sent successfully!',
contact_email_sent_error: 'Error sending message!',
/* Utils */
+ see: 'See preview',
years: 'yrs',
year: 'yr',
+ present: 'Present',
+ months: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
};
diff --git a/locales/es-ES.js b/locales/es-ES.js
index ffbb127..c998968 100644
--- a/locales/es-ES.js
+++ b/locales/es-ES.js
@@ -26,6 +26,9 @@ export default {
skills_title_languages: 'Idiomas',
skills_languages: [['Español', '(Nativo)'], ['Ingles', '(A2)']],
/* Projects */
+ project_title: 'Proyectos',
+ project_education_title: 'Educación',
+ project_work_title: 'Experiencia laboral',
/* Contacts */
contact_title: '¿Tienes un proyecto en mente? ¡Construyamos algo grandioso juntos!',
contact_subtitle: 'Estoy emocionado por saber de ti y hablar cómo podemos colaborar para dar vida a tus ideas. Ya sea una aplicación web, desarrollo de API o cualquier otra solución web, convertamos tus ideas en realidad y hagamos un impacto en el mundo digital. ¡Contáctame ahora para empezar!',
@@ -40,9 +43,13 @@ export default {
contact_email_message: 'Mensaje',
contact_email_message_placeholder: 'Escribe un message...',
contact_email_send: 'Enviar',
+ contact_email_sending: 'Enviando ...',
contact_email_sent: '¡Mensaje enviado exitosamente!',
contact_email_sent_error: '¡Error enviando el mensaje!',
/* Utils */
+ see: 'Ver vista previa',
years: 'años',
year: 'año',
+ present: 'Presente',
+ months: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
};
diff --git a/package.json b/package.json
index 801b68c..e14850b 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,7 @@
},
"dependencies": {
"@emailjs/browser": "^3.11.0",
+ "@fancyapps/ui": "^5.0.20",
"@nuxtjs/i18n": "^7.3.1",
"core-js": "^3.25.3",
"nuxt": "^2.15.8",
diff --git a/static/projects/logo/FIAI.jpg b/static/projects/logo/FIAI.jpg
new file mode 100644
index 0000000..ff23711
Binary files /dev/null and b/static/projects/logo/FIAI.jpg differ
diff --git a/static/projects/logo/freelancer.png b/static/projects/logo/freelancer.png
new file mode 100644
index 0000000..7782ca1
Binary files /dev/null and b/static/projects/logo/freelancer.png differ
diff --git a/static/projects/logo/mapio.png b/static/projects/logo/mapio.png
new file mode 100644
index 0000000..6e1780b
Binary files /dev/null and b/static/projects/logo/mapio.png differ
diff --git a/static/projects/logo/uci.jpeg b/static/projects/logo/uci.jpeg
new file mode 100644
index 0000000..e8f9f8a
Binary files /dev/null and b/static/projects/logo/uci.jpeg differ
diff --git a/static/projects/web/call-website.jpg b/static/projects/web/call-website.jpg
new file mode 100755
index 0000000..755ac5b
Binary files /dev/null and b/static/projects/web/call-website.jpg differ
diff --git a/static/projects/web/dota-stats.jpg b/static/projects/web/dota-stats.jpg
new file mode 100755
index 0000000..be027f0
Binary files /dev/null and b/static/projects/web/dota-stats.jpg differ
diff --git a/static/projects/web/faranduleando-inside.jpg b/static/projects/web/faranduleando-inside.jpg
new file mode 100644
index 0000000..a5afbef
Binary files /dev/null and b/static/projects/web/faranduleando-inside.jpg differ
diff --git a/static/projects/web/faranduleando-new-inside.jpg b/static/projects/web/faranduleando-new-inside.jpg
new file mode 100644
index 0000000..542460c
Binary files /dev/null and b/static/projects/web/faranduleando-new-inside.jpg differ
diff --git a/static/projects/web/faranduleando-new-outside.jpg b/static/projects/web/faranduleando-new-outside.jpg
new file mode 100644
index 0000000..f9c4cf5
Binary files /dev/null and b/static/projects/web/faranduleando-new-outside.jpg differ
diff --git a/static/projects/web/faranduleando-outside.jpg b/static/projects/web/faranduleando-outside.jpg
new file mode 100644
index 0000000..59c5c47
Binary files /dev/null and b/static/projects/web/faranduleando-outside.jpg differ
diff --git a/static/projects/web/fici-web.jpg b/static/projects/web/fici-web.jpg
new file mode 100644
index 0000000..b55dc5e
Binary files /dev/null and b/static/projects/web/fici-web.jpg differ
diff --git a/static/projects/web/gta-website.jpg b/static/projects/web/gta-website.jpg
new file mode 100644
index 0000000..baa5ed6
Binary files /dev/null and b/static/projects/web/gta-website.jpg differ
diff --git a/static/projects/web/inyenius-shop.jpg b/static/projects/web/inyenius-shop.jpg
new file mode 100644
index 0000000..8327367
Binary files /dev/null and b/static/projects/web/inyenius-shop.jpg differ
diff --git a/static/projects/web/inyenius-website.jpg b/static/projects/web/inyenius-website.jpg
new file mode 100644
index 0000000..0174c31
Binary files /dev/null and b/static/projects/web/inyenius-website.jpg differ
diff --git a/static/projects/web/keymac-about.jpg b/static/projects/web/keymac-about.jpg
new file mode 100644
index 0000000..c6d5297
Binary files /dev/null and b/static/projects/web/keymac-about.jpg differ
diff --git a/static/projects/web/keymac-all-work.jpg b/static/projects/web/keymac-all-work.jpg
new file mode 100644
index 0000000..cfcf0ed
Binary files /dev/null and b/static/projects/web/keymac-all-work.jpg differ
diff --git a/static/projects/web/keymac-loading.jpg b/static/projects/web/keymac-loading.jpg
new file mode 100644
index 0000000..23c3377
Binary files /dev/null and b/static/projects/web/keymac-loading.jpg differ
diff --git a/static/projects/web/keymac-tool.jpg b/static/projects/web/keymac-tool.jpg
new file mode 100644
index 0000000..ef83295
Binary files /dev/null and b/static/projects/web/keymac-tool.jpg differ
diff --git a/static/projects/web/keymac-v3.jpg b/static/projects/web/keymac-v3.jpg
new file mode 100644
index 0000000..1c8800c
Binary files /dev/null and b/static/projects/web/keymac-v3.jpg differ
diff --git a/static/projects/web/keymac-web-home.jpg b/static/projects/web/keymac-web-home.jpg
new file mode 100644
index 0000000..e6aa8cd
Binary files /dev/null and b/static/projects/web/keymac-web-home.jpg differ
diff --git a/static/projects/web/keymac-website.jpg b/static/projects/web/keymac-website.jpg
new file mode 100644
index 0000000..7de4b01
Binary files /dev/null and b/static/projects/web/keymac-website.jpg differ
diff --git a/static/projects/web/leverage-launcher-0.jpg b/static/projects/web/leverage-launcher-0.jpg
new file mode 100644
index 0000000..35d7ed1
Binary files /dev/null and b/static/projects/web/leverage-launcher-0.jpg differ
diff --git a/static/projects/web/leverage-launcher-1.jpg b/static/projects/web/leverage-launcher-1.jpg
new file mode 100644
index 0000000..0fbe60b
Binary files /dev/null and b/static/projects/web/leverage-launcher-1.jpg differ
diff --git a/static/projects/web/leverage-v1.jpg b/static/projects/web/leverage-v1.jpg
new file mode 100644
index 0000000..96f7047
Binary files /dev/null and b/static/projects/web/leverage-v1.jpg differ
diff --git a/static/projects/web/leverage-v2.jpg b/static/projects/web/leverage-v2.jpg
new file mode 100644
index 0000000..c076df6
Binary files /dev/null and b/static/projects/web/leverage-v2.jpg differ
diff --git a/static/projects/web/leverage-v3.jpg b/static/projects/web/leverage-v3.jpg
new file mode 100644
index 0000000..05d60f7
Binary files /dev/null and b/static/projects/web/leverage-v3.jpg differ
diff --git a/static/projects/web/leverage-v4-0.jpg b/static/projects/web/leverage-v4-0.jpg
new file mode 100644
index 0000000..a47798d
Binary files /dev/null and b/static/projects/web/leverage-v4-0.jpg differ
diff --git a/static/projects/web/leverage-v4-1.jpg b/static/projects/web/leverage-v4-1.jpg
new file mode 100644
index 0000000..1a6b840
Binary files /dev/null and b/static/projects/web/leverage-v4-1.jpg differ
diff --git a/static/projects/web/rust-stats.jpg b/static/projects/web/rust-stats.jpg
new file mode 100644
index 0000000..3acf2c3
Binary files /dev/null and b/static/projects/web/rust-stats.jpg differ
diff --git a/static/projects/web/trunkers-website.jpg b/static/projects/web/trunkers-website.jpg
new file mode 100644
index 0000000..330965c
Binary files /dev/null and b/static/projects/web/trunkers-website.jpg differ
diff --git a/yarn.lock b/yarn.lock
index 611a7d3..3287152 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1285,6 +1285,11 @@
resolved "https://registry.yarnpkg.com/@emailjs/browser/-/browser-3.11.0.tgz#0e78de2f85096d1a9ad5b5977b060bb5d1784cb4"
integrity sha512-RkY3FKZ3fPdK++OeF46mRTFpmmQWCHUVHZH209P3NE4D5sg2Atg7S2wa3gw5062Gl4clt4Wn5SyC4WhlVZC5pA==
+"@fancyapps/ui@^5.0.20":
+ version "5.0.20"
+ resolved "https://registry.yarnpkg.com/@fancyapps/ui/-/ui-5.0.20.tgz#c9e25d333ad27568ee950e0092d0747ae42b8237"
+ integrity sha512-g7go/W0mIplnpVCWNm6uHF6VZeDSAJnPHzx0bxyETfzyYqtwpv0LpNYP8TbWqFELvXdXwNkQwHvHxkI9FvGlqQ==
+
"@fortawesome/fontawesome-common-types@6.4.0":
version "6.4.0"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz#88da2b70d6ca18aaa6ed3687832e11f39e80624b"