AuthLayout.vue 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <script setup>
  2. import { Head } from '@inertiajs/inertia-vue3'
  3. import AppMessage from '@/components/AppMessage.vue'
  4. defineProps({
  5. title: String,
  6. })
  7. </script>
  8. <template>
  9. <Head :title="title" />
  10. <div
  11. class="surface-0 flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden"
  12. >
  13. <div
  14. class="grid flex-column align-items-center p-2 lg:p-0"
  15. style="min-width: 80%"
  16. >
  17. <div class="col-12 xl:col-6 p-0">
  18. <AppMessage />
  19. </div>
  20. <div class="col-12 xl:col-6 border-gradient">
  21. <div class="flex flex-column m-0 p-4 bg-gradient">
  22. <p class="text-center mb-5 text-600 font-medium">
  23. <slot name="header" />
  24. </p>
  25. <slot />
  26. </div>
  27. </div>
  28. </div>
  29. </div>
  30. </template>
  31. <style lang="scss" scoped>
  32. .border-gradient {
  33. border-radius: 4px;
  34. padding: 0.3rem;
  35. background: linear-gradient(
  36. 180deg,
  37. var(--primary-color),
  38. rgba(33, 150, 243, 0) 30%
  39. );
  40. }
  41. .bg-gradient {
  42. border-radius: 3px;
  43. background: linear-gradient(
  44. 180deg,
  45. var(--surface-50) 38.9%,
  46. var(--surface-0)
  47. );
  48. }
  49. </style>