feat(portfolio): add resume navigation and improve layout handling

- Add "View Resume" button to Hero component with responsive design (desktop/mobile variants)
- Implement gradient styling with hover animations and pulse effect on desktop button
- Wrap Hero content in flex container for proper button alignment
- Remove client:only directive from TopNav component in default layout
- Add semantic <main> tag wrapper around slot content in default layout
- Implement layoutKey computed property to force re-render on route changes
- Add scrollToTop meta and onMounted scroll reset to resume page
- Add "Back to Home" navigation button to resume page with print-safe styling
- Improve resume page background with white/dark mode support
- Add print media query to hide navigation elements during printing
- Enhance user navigation flow between home and resume pages
This commit is contained in:
mahdiarghyani
2025-12-02 13:20:12 +03:30
parent 9c40914d6a
commit 4dd0ed6f2a
3 changed files with 70 additions and 16 deletions
+25 -2
View File
@@ -1,6 +1,7 @@
<script setup lang="ts">
definePageMeta({
layout: false
layout: false,
scrollToTop: true
})
const route = useRoute()
@@ -12,11 +13,33 @@ useHead({
{ name: 'robots', content: 'noindex' }
]
})
// Reset scroll position on mount
onMounted(() => {
window.scrollTo(0, 0)
})
</script>
<template>
<div class="min-h-screen">
<div class="min-h-screen bg-white dark:bg-gray-900">
<!-- Back to Home Button -->
<NuxtLink v-if="!isPrintMode" to="/" class="fixed top-4 left-4 z-50 inline-flex items-center gap-2 px-4 py-2 text-sm font-medium
bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700
text-gray-700 dark:text-gray-200 rounded-full shadow-lg
transition-all duration-200 hover:scale-105 no-print">
<UIcon name="i-heroicons-arrow-left" class="text-base" />
<span>Back to Home</span>
</NuxtLink>
<ResumePreview />
<ResumeDownloadButton :is-print-mode="isPrintMode" />
</div>
</template>
<style scoped>
@media print {
.no-print {
display: none !important;
}
}
</style>