AppFooter.vue 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <template>
  2. <footer class="bg-violet-dark text-white">
  3. <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 lg:py-16">
  4. <div class="grid grid-cols-1 sm:grid-cols-3 gap-10 lg:gap-16">
  5. <div>
  6. <img
  7. class="h-9 mb-4 brightness-0 invert"
  8. src="~/assets/images/logo_desktop.svg"
  9. alt="Serprati"
  10. >
  11. <p class="text-sm leading-relaxed" style="color: rgba(254,254,254,0.65);">
  12. Associação dos Servidores — cuidando de você e sua família.
  13. </p>
  14. </div>
  15. <div>
  16. <h4 class="text-xs font-semibold uppercase tracking-widest mb-5 text-neutral-light">
  17. Links
  18. </h4>
  19. <ul class="space-y-3">
  20. <li>
  21. <button class="footer-link" @click="scrollTo('quem-somos')" >Início</button>
  22. </li>
  23. <li>
  24. <button class="footer-link" @click="scrollTo('beneficios')">Benefícios</button>
  25. </li>
  26. <li>
  27. <button class="footer-link" @click="scrollTo('sobre-nos')">Quem somos</button>
  28. </li>
  29. <li v-if="events.length">
  30. <button class="footer-link" @click="scrollTo('eventos')">Eventos</button>
  31. </li>
  32. <li>
  33. <span class="footer-link opacity-50 cursor-default select-none">Parceiros</span>
  34. </li>
  35. <li>
  36. <button class="footer-link" @click="scrollTo('associe-se')">Associe-se</button>
  37. </li>
  38. </ul>
  39. </div>
  40. <div>
  41. <h4 class="text-xs font-semibold uppercase tracking-widest mb-5 text-neutral-light">
  42. Contato
  43. </h4>
  44. <ul class="space-y-3">
  45. <li v-if="settings.contact_email" class="flex items-center gap-2" style="color: rgba(254,254,254,0.65);">
  46. <span class="material-icons text-lg leading-none">email</span>
  47. <span class="text-sm">{{ settings.contact_email }}</span>
  48. </li>
  49. <li v-if="settings.contact_phone" class="flex items-center gap-2" style="color: rgba(254,254,254,0.65);">
  50. <span class="material-icons text-lg leading-none">phone</span>
  51. <span class="text-sm">{{ settings.contact_phone }}</span>
  52. </li>
  53. <li v-if="settings.contact_location" class="flex items-center gap-2" style="color: rgba(254,254,254,0.65);">
  54. <span class="material-icons text-lg leading-none">location_on</span>
  55. <span class="text-sm">{{ settings.contact_location }}</span>
  56. </li>
  57. </ul>
  58. </div>
  59. </div>
  60. </div>
  61. <div class="border-t" style="border-color: rgba(255,255,255,0.1);">
  62. <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
  63. <p class="text-center text-xs" style="color: rgba(254,254,254,0.4);">
  64. © 2026 Serprati. Todos os direitos reservados.
  65. </p>
  66. </div>
  67. </div>
  68. </footer>
  69. </template>
  70. <script setup lang="ts">
  71. const { settings } = useCompanyData()
  72. const { events } = useEvents()
  73. const scrollTo = (id: string) => {
  74. document.getElementById(id)?.scrollIntoView({ behavior: 'smooth' })
  75. }
  76. </script>
  77. <style scoped>
  78. .footer-link {
  79. font-size: 0.875rem;
  80. color: rgba(254, 254, 254, 0.65);
  81. transition: color 0.2s;
  82. cursor: pointer;
  83. }
  84. .footer-link:hover {
  85. color: #fefefe;
  86. }
  87. </style>