Services.svelte 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <script>
  2. import { reveal } from 'svelte-reveal';
  3. import { t, isLoading } from 'svelte-i18n';
  4. import { imagesconfig } from '$lib/config';
  5. const tool = imagesconfig.service_item_1image;
  6. const castle = imagesconfig.service_item_2image;
  7. const rocket = imagesconfig.service_item_3image;
  8. const code = imagesconfig.service_item_4image;
  9. const encrypted = imagesconfig.service_item_5image;
  10. const merge = imagesconfig.service_item_6image;
  11. </script>
  12. <section
  13. id="services"
  14. class="bg-gradient-to-br from-bg1_services to-bg2_services py-24 text-tx_services"
  15. >
  16. <div class="mx-auto max-w-7xl px-4">
  17. <h2
  18. class="mb-12 text-center text-4xl font-bold"
  19. use:reveal={{ transition: 'fade', y: 50, duration: 800 }}
  20. >
  21. {$t('serviceTitle')}
  22. </h2>
  23. <div class="grid gap-8 md:grid-cols-3">
  24. {#if imagesconfig.service_box_1}
  25. <div
  26. class="rounded-xl border border-border1_services/10 bg-border2_services/5 p-8 transition hover:scale-105 hover:shadow-xl"
  27. use:reveal={{ transition: 'fade', y: 50, duration: 800, delay: 100 }}
  28. >
  29. <div class="mb-4">
  30. <img src={tool} alt="Icone de ferramenta" class="h-10 w-10" />
  31. </div>
  32. <h3 class="mb-2 text-2xl font-semibold">{$t('service1BlockTitle')}</h3>
  33. <p>{$t('service1BlockSubTitle')}</p>
  34. </div>
  35. {/if}
  36. {#if imagesconfig.service_box_2}
  37. <div
  38. class="rounded-xl border border-border1_services/10 bg-border2_services/5 p-8 transition hover:scale-105 hover:shadow-xl"
  39. use:reveal={{ transition: 'fade', y: 50, duration: 800, delay: 200 }}
  40. >
  41. <img src={castle} alt="Icone de ferramenta" class="h-10 w-10" />
  42. <h3 class="mb-2 text-2xl font-semibold">{$t('service2BlockTitle')}</h3>
  43. <p>{$t('service2BlockSubTitle')}</p>
  44. </div>
  45. {/if}
  46. {#if imagesconfig.service_box_3}
  47. <div
  48. class="rounded-xl border border-border1_services/10 bg-border2_services/5 p-8 transition hover:scale-105 hover:shadow-xl"
  49. use:reveal={{ transition: 'fade', y: 50, duration: 800, delay: 300 }}
  50. >
  51. <img src={code} alt="Icone de ferramenta" class="h-10 w-10" />
  52. <h3 class="mb-2 text-2xl font-semibold">{$t('service3BlockTitle')}</h3>
  53. <p>{$t('service3BlockSubTitle')}</p>
  54. </div>
  55. {/if}
  56. {#if imagesconfig.service_box_4}
  57. <div
  58. class="rounded-xl border border-border1_services/10 bg-border2_services/5 p-8 transition hover:scale-105 hover:shadow-xl"
  59. use:reveal={{ transition: 'fade', y: 50, duration: 800, delay: 400 }}
  60. >
  61. <img src={encrypted} alt="Icone de ferramenta" class="h-10 w-10" />
  62. <h3 class="mb-2 text-2xl font-semibold">{$t('service4BlockTitle')}</h3>
  63. <p>{$t('service4BlockSubTitle')}</p>
  64. </div>
  65. {/if}
  66. {#if imagesconfig.service_box_5}
  67. <div
  68. class="rounded-xl border border-border1_services/10 bg-border2_services/5 p-8 transition hover:scale-105 hover:shadow-xl"
  69. use:reveal={{ transition: 'fade', y: 50, duration: 800, delay: 500 }}
  70. >
  71. <img src={merge} alt="Icone de ferramenta" class="h-10 w-10" />
  72. <h3 class="mb-2 text-2xl font-semibold">{$t('service5BlockTitle')}</h3>
  73. <p>{$t('service5BlockSubTitle')}</p>
  74. </div>
  75. {/if}
  76. {#if imagesconfig.service_box_6}
  77. <div
  78. class="rounded-xl border border-border1_services/10 bg-border2_services/5 p-8 transition hover:scale-105 hover:shadow-xl"
  79. use:reveal={{ transition: 'fade', y: 50, duration: 800, delay: 600 }}
  80. >
  81. <img src={rocket} alt="Icone de ferramenta" class="h-10 w-10" />
  82. <h3 class="mb-2 text-2xl font-semibold">{$t('service6BlockTitle')}</h3>
  83. <p>{$t('service6BlockSubTitle')}</p>
  84. </div>
  85. {/if}
  86. </div>
  87. </div>
  88. </section>