Files
portfolio/app/components/resume/ResumeLanguages.vue
T
mahdiarghyani 12c8847447 feat(resume): enhance spacing, styling, and add markdown text parsing
- Update section spacing from mb-8 to mb-12 for improved visual hierarchy
- Refine heading padding and margins for consistent section styling
- Adjust work experience highlights spacing and add leading-relaxed for readability
- Implement markdown bold text parsing in job highlights using new composable
- Add color-coded icons in resume header (red for location, green for phone, amber for email, blue for website)
- Reorganize contact information into two lines for better layout organization
- Standardize icon sizing with explicit w-4 h-4 dimensions across header
- Create useMarkdownText composable for markdown formatting utilities
- Update resume data and PDF export endpoint to support enhanced styling
- Improve print styling consistency across all resume components
2025-12-06 14:04:45 +03:30

40 lines
1.3 KiB
Vue

<script setup lang="ts">
import type { Language, Certification } from '~/types/resume'
interface Props {
languages?: Language[]
certifications?: Certification[]
}
const props = defineProps<Props>()
</script>
<template>
<section class="mb-12 print:mb-12">
<h2
class="text-base font-bold text-blue-700 uppercase border-b-2 border-blue-600 pb-2 mb-6 print:mb-6 tracking-wide">
Languages & Certifications
</h2>
<!-- Languages -->
<div v-if="languages?.length" class="mb-2 print:mb-2">
<span class="text-sm font-bold text-gray-900">Languages: </span>
<span class="text-sm text-gray-700">
<template v-for="(lang, idx) in languages" :key="lang.language">
{{ lang.language }} ({{ lang.fluency }})<template v-if="idx < languages.length - 1">, </template>
</template>
</span>
</div>
<!-- Certifications -->
<div v-if="certifications?.length">
<span class="text-sm font-bold text-gray-900">Certifications: </span>
<span class="text-sm text-gray-700">
<template v-for="(cert, idx) in certifications" :key="cert.name">
{{ cert.issuer }} - {{ cert.summary }}<template v-if="idx < certifications.length - 1">, </template>
</template>
</span>
</div>
</section>
</template>