Footer.vue 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <template>
  2. <v-footer no-gutters :height="36" class="footer">
  3. <div class="footer-content">
  4. <span>{{ $t('footer_copyright', { year: new Date().getFullYear() }) }}</span>
  5. <span class="divider">|</span>
  6. <NuxtLink to="/mentions-legales" class="legal-link">{{ $t('footer_legal') }}</NuxtLink>
  7. </div>
  8. </v-footer>
  9. </template>
  10. <script setup lang="ts">
  11. import { useI18n } from 'vue-i18n'
  12. const { t } = useI18n()
  13. </script>
  14. <style scoped lang="scss">
  15. .footer {
  16. background-color: rgba(var(--v-theme-card-background), 0.65) !important;
  17. color: rgb(var(--v-theme-on-background)) !important;
  18. text-align: center;
  19. font-size: 0.85rem;
  20. backdrop-filter: blur(5px);
  21. box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.1);
  22. border-top: 1px solid rgba(255, 255, 255, 0.3);
  23. border-radius: 0;
  24. margin: 0;
  25. width: 100%;
  26. .footer-content {
  27. width: 100%;
  28. display: flex;
  29. justify-content: center;
  30. align-items: center;
  31. padding: 8px 0;
  32. @media (max-width: 600px) {
  33. flex-direction: column;
  34. .divider {
  35. display: none;
  36. }
  37. }
  38. .divider {
  39. margin: 0 12px;
  40. }
  41. .legal-link {
  42. color: rgb(var(--v-theme-on-background));
  43. text-decoration: none;
  44. &:hover {
  45. text-decoration: underline;
  46. color: rgb(var(--v-theme-primary));
  47. }
  48. }
  49. }
  50. }
  51. </style>