Skip to content

Commit 787611e

Browse files
authored
Merge pull request #5 from hfidelis/@hfidelis/fixes
@hfidelis/fixes
2 parents 08949c5 + b5f3430 commit 787611e

File tree

11 files changed

+80
-62
lines changed

11 files changed

+80
-62
lines changed

public/robots.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
User-agent: *
2+
Disallow:
3+
Allow: /

src/App.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,4 @@ import AppFooter from '@/components/Footer/AppFooter.vue'
3737
.fade-leave-to {
3838
opacity: 0;
3939
}
40-
</style>
41-
./components/Header/Header.vue
40+
</style>

src/components/AvatarBox/AvatarBox.vue

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<script lang="ts" setup>
2-
import avatar from '@/assets/images/me.png'
3-
42
import { useDark } from '@vueuse/core'
3+
import avatar from '@/assets/images/me.png'
54
65
const isDark = useDark()
76
@@ -32,6 +31,8 @@ const props = defineProps({
3231
<img
3332
:src="props.source"
3433
:alt="props.alt"
34+
height="244"
35+
width="270"
3536
class="avatar__content"
3637
v-tooltip="props.tooltip"
3738
>
@@ -43,8 +44,8 @@ const props = defineProps({
4344
4445
.avatar__wrapper {
4546
@include flex(row, center, center);
46-
height: 100%;
47-
width: fit-content;
47+
height: 15.505rem;
48+
width: 16.875rem;
4849
4950
overflow: hidden;
5051
@@ -53,13 +54,22 @@ const props = defineProps({
5354
5455
&:hover {
5556
.avatar__content {
56-
animation: headBalance 0.675s ease;
57+
transform: rotate(5deg) scale(1.1);
58+
}
59+
}
60+
61+
@media screen {
62+
@media (max-width: 768px) {
63+
height: 11.485rem;
64+
width: 12.5rem;
5765
}
5866
}
5967
}
6068
6169
.avatar__content {
62-
max-width: 250px;
70+
max-width: 100%;
71+
max-height: 100%;
72+
transition: all 0.45s ease;
6373
}
6474
6575
.dark__avatar {
@@ -79,16 +89,4 @@ const props = defineProps({
7989
8090
background: radial-gradient(circle, $cyan, $darker-cyan 65%, $black 95%);
8191
}
82-
83-
@keyframes headBalance {
84-
0% {
85-
transform: rotate(0deg);
86-
}
87-
50% {
88-
transform: rotate(5deg) scale(1.075) rotateZ(-5deg);
89-
}
90-
100% {
91-
transform: rotate(0deg);
92-
}
93-
}
9492
</style>

src/components/Footer/AppFooter.vue

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
<script lang="ts" setup>
22
import { useDark } from '@vueuse/core'
33
4-
import IconVue from '../Icons/IconVue.vue'
5-
import IconGmail from '../Icons/IconGmail.vue'
4+
import IconVue from '@/components/Icons/IconVue.vue'
5+
import IconGmail from '@/components/Icons/IconGmail.vue'
66
import IconGithub from '@/components/Icons/IconGithub.vue'
7-
import IconLinkedin from '../Icons/IconLinkedin.vue'
8-
import FooterLinkIcon from '../FooterLinkIcon/FooterLinkIcon.vue'
9-
7+
import IconLinkedin from '@/components/Icons/IconLinkedin.vue'
8+
import FooterLinkIcon from '@/components/FooterLinkIcon/FooterLinkIcon.vue'
109
import FooterLink from '@/types/components/FooterLink/FooterLink'
1110
1211
const isDark = useDark()
@@ -41,9 +40,9 @@ const footerLinks: Array<FooterLink> = [
4140
<section
4241
class="footer__title"
4342
>
44-
<h3>
43+
<h1>
4544
{{ $t('components.footer.title') }}
46-
</h3>
45+
</h1>
4746
</section>
4847
<section
4948
class="footer__links"

src/components/FooterLinkIcon/FooterLinkIcon.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script lang="ts" setup>
2-
import FooterLink from '@/types/components/FooterLink/FooterLink'
32
import { useDark } from '@vueuse/core'
3+
import FooterLink from '@/types/components/FooterLink/FooterLink'
44
55
const props = defineProps<FooterLink>()
66
const isDark = useDark()
@@ -15,7 +15,7 @@ const resolveLink = (link: string) => {
1515
role="link"
1616
class="footer__link__icon"
1717
:class="isDark ? 'dark__footer__link' : 'light__footer__link'"
18-
:aria-label="$t('components.footerLinkIcon.ariaLabel')"
18+
:aria-label="`${$t('components.footerLinkIcon.ariaLabel')} ${props.label}`"
1919
@click="resolveLink(`${props.link}`)"
2020
>
2121
<component
@@ -26,7 +26,7 @@ const resolveLink = (link: string) => {
2626
<span
2727
class="footer__link__label"
2828
>
29-
{{ label }}
29+
{{ props.label }}
3030
</span>
3131
</button>
3232
</template>

src/components/Header/AppHeader.vue

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,8 @@
11
<script setup lang="ts">
2-
import {
3-
ref,
4-
watch,
5-
} from 'vue'
6-
7-
import {
8-
mdiMenuOpen,
9-
mdiWindowClose,
10-
} from '@mdi/js'
11-
2+
import { ref, watch } from 'vue'
123
import { useDark } from '@vueuse/core'
13-
144
import { RouterLink } from 'vue-router'
5+
import { mdiMenuOpen, mdiWindowClose } from '@mdi/js'
156
167
import isMobile from '@/helpers/isMobile'
178
import LocaleSelect from '@/components/LocaleSelect/LocaleSelect.vue'
@@ -64,8 +55,13 @@ watch(
6455
class="app__header__actions"
6556
>
6657
<button
67-
class="menu__button"
6858
v-if="isMobile"
59+
class="menu__button"
60+
:aria-label="
61+
isOpen ?
62+
$t('components.header.menuButton.actions.close') :
63+
$t('components.header.menuButton.actions.open')
64+
"
6965
>
7066
<SvgIcon
7167
:path="isOpen ? mdiWindowClose : mdiMenuOpen"

src/components/LocaleSelect/LocaleSelect.vue

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
<script lang="ts">
2+
import { ref } from 'vue'
23
import { useDark } from '@vueuse/core'
34
4-
import VueMultiselect from 'vue-multiselect'
5-
65
import Locale from '@/types/i18n/Locale'
76
import LocaleOption from '@/components/LocaleSelect/LocaleOption/LocaleOption.vue'
87
import LocaleValueType from '@/types/components/LocaleSelect/LocaleValueType'
98
109
import ptBRFlag from '@/assets/flags/pt-BR.png'
1110
import enUSFlag from '@/assets/flags/en-US.png'
1211
12+
import VueMultiselect from 'vue-multiselect'
13+
1314
export default {
1415
components: {
1516
VueMultiselect,
@@ -23,10 +24,10 @@ export default {
2324
'en-US': enUSFlag,
2425
} as const;
2526
26-
const selectedLocale: LocaleValueType = {
27+
const selectedLocale = ref<LocaleValueType>({
2728
value: this.$i18n.locale as Locale,
2829
flag: countryFlags[this.$i18n.locale as Locale],
29-
} as const;
30+
})
3031
3132
const locales = this.$i18n.availableLocales.map((k): LocaleValueType => {
3233
return {
@@ -35,19 +36,37 @@ export default {
3536
}
3637
})
3738
39+
const updateLocale = (locale: LocaleValueType): void => {
40+
selectedLocale.value = locale
41+
this.$i18n.locale = locale.value
42+
43+
localStorage.setItem('i18nLocale', locale.value)
44+
}
45+
46+
const checkStorageLocale = (): void => {
47+
const storageLocale = localStorage.getItem('i18nLocale')
48+
49+
if (storageLocale) {
50+
selectedLocale.value = {
51+
value: storageLocale as Locale,
52+
flag: countryFlags[storageLocale as Locale],
53+
}
54+
this.$i18n.locale = storageLocale as Locale
55+
}
56+
}
57+
3858
return {
3959
isDark,
4060
locales,
61+
updateLocale,
4162
countryFlags,
4263
selectedLocale,
64+
checkStorageLocale,
4365
}
4466
},
45-
methods: {
46-
updateLocale(locale: LocaleValueType): void {
47-
this.selectedLocale = locale
48-
this.$i18n.locale = locale.value
49-
}
50-
},
67+
created() {
68+
this.checkStorageLocale()
69+
}
5170
}
5271
5372
</script>

src/layout/Layout.vue

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,4 @@
22
<main class="view__container">
33
<slot />
44
</main>
5-
</template>
6-
7-
<style lang="scss" scoped>
8-
@import '@/styles/app.scss';
9-
</style>
5+
</template>

src/locales/pt-BR.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@
1616
},
1717
"footerLinkIcon": {
1818
"ariaLabel": "Abrir link de contato"
19+
},
20+
"header": {
21+
"menuButton": {
22+
"actions": {
23+
"open": "Abrir menu",
24+
"close": "Fechar menu"
25+
}
26+
}
1927
}
2028
},
2129
"views": {

src/views/HomeView/HomeView.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ main {
2525
text-align: center;
2626
2727
> h1 {
28-
font-size: $text-xxl;
28+
font-size: $text-xl;
2929
font-weight: 700;
3030
}
3131
3232
> p {
33-
font-size: $text-md;
33+
font-size: $text-sm;
3434
font-weight: 500;
3535
text-wrap: pretty;
3636
max-width: 30rem;

src/views/NotFoundView/NotFound.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<script lang="ts" setup>
2-
import Layout from '@/layout/Layout.vue';
3-
import notFound from '@/assets/images/404.svg'
4-
52
import { RouterLink } from 'vue-router'
3+
4+
import Layout from '@/layout/Layout.vue'
5+
import notFound from '@/assets/images/404.svg'
66
</script>
77

88
<template>

0 commit comments

Comments
 (0)