|
|
|
@ -4,19 +4,85 @@ import RightSection from "@/components/common/RightSection.vue"; |
|
|
|
|
|
|
|
|
|
|
|
<template> |
|
|
|
<template> |
|
|
|
<RightSection :title="$t('section.experiences')"> |
|
|
|
<RightSection :title="$t('section.experiences')"> |
|
|
|
{{ message }} |
|
|
|
<div class="experiences"> |
|
|
|
|
|
|
|
<div class="experience" v-for="experience in experiences"> |
|
|
|
|
|
|
|
<div class="header">{{ experience.company }}</div> |
|
|
|
|
|
|
|
<div class="body-wrapper"> |
|
|
|
|
|
|
|
<div class="border"> |
|
|
|
|
|
|
|
<div class="end">{{ experience.endAt }}</div> |
|
|
|
|
|
|
|
<div style="flex-grow: 1"> </div> |
|
|
|
|
|
|
|
<div class="start">{{ experience.startAt }}</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="body"> |
|
|
|
|
|
|
|
<div v-for="mission in experience.missions"> |
|
|
|
|
|
|
|
{{ mission.description }} |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
</RightSection> |
|
|
|
</RightSection> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<script lang="ts"> |
|
|
|
<script lang="ts"> |
|
|
|
export default { |
|
|
|
import experiences from "@/data/experiences"; |
|
|
|
|
|
|
|
import { defineComponent } from "vue"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default defineComponent({ |
|
|
|
name: "MyExperiences", |
|
|
|
name: "MyExperiences", |
|
|
|
data: () => { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
return { |
|
|
|
message: "Here are my experiences", |
|
|
|
experiences: experiences, |
|
|
|
}; |
|
|
|
}; |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
}); |
|
|
|
</script> |
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
|
|
<style scoped></style> |
|
|
|
<style scoped> |
|
|
|
|
|
|
|
.experiences { |
|
|
|
|
|
|
|
padding-top: 14px; |
|
|
|
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
flex-direction: column; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.header { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.border { |
|
|
|
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
flex-direction: row; |
|
|
|
|
|
|
|
justify-content: space-between; |
|
|
|
|
|
|
|
writing-mode: tb-rl; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.experiences > div:nth-child(even) .start { |
|
|
|
|
|
|
|
transform: none; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.experiences > div:nth-child(odd) .start { |
|
|
|
|
|
|
|
transform: rotate(180deg); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.experiences > div:nth-child(even) .end { |
|
|
|
|
|
|
|
transform: none; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.experiences > div:nth-child(odd) .end { |
|
|
|
|
|
|
|
transform: rotate(180deg); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.experiences > div:nth-child(even) .header { |
|
|
|
|
|
|
|
text-align: right; |
|
|
|
|
|
|
|
margin-right: 20px; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.experiences > div:nth-child(odd) .header { |
|
|
|
|
|
|
|
text-align: left; |
|
|
|
|
|
|
|
margin-left: 20px; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.experiences > div:nth-child(even) .border { |
|
|
|
|
|
|
|
order: 2; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.experiences > div:nth-child(odd) .border { |
|
|
|
|
|
|
|
order: 0; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.body-wrapper { |
|
|
|
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
flex-direction: row; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.body { |
|
|
|
|
|
|
|
margin: 16px; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
</style> |
|
|
|
|