Login.vue 2.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <script setup>
  2. import { Head, Link, useForm } from '@inertiajs/inertia-vue3'
  3. import AuthSessionSuccess from '@/components/AuthSessionSuccess.vue'
  4. import AuthValidationErrors from '@/components/AuthValidationErrors.vue'
  5. const form = useForm({
  6. email: '',
  7. password: '',
  8. remember: false,
  9. })
  10. const submit = () => {
  11. form.post(route('login'), {
  12. onFinish: () => form.reset('password'),
  13. })
  14. }
  15. </script>
  16. <template>
  17. <Head title="Sign In" />
  18. <div class="surface-0 flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
  19. <div class="grid flex-column align-items-center p-2 lg:p-0" style="min-width: 80%">
  20. <div class="col-12 xl:col-6">
  21. <AuthSessionSuccess />
  22. </div>
  23. <div class="col-12 xl:col-6">
  24. <AuthValidationErrors />
  25. </div>
  26. <div
  27. class="col-12 xl:col-6"
  28. style="
  29. border-radius: 56px;
  30. padding: 0.3rem;
  31. background: linear-gradient(180deg, var(--primary-color), rgba(33, 150, 243, 0) 30%);
  32. "
  33. >
  34. <div
  35. class="h-full w-full m-0 py-7 px-4"
  36. style="border-radius: 53px; background: linear-gradient(180deg, var(--surface-50) 38.9%, var(--surface-0))"
  37. >
  38. <div class="text-center mb-5 text-600 font-medium">
  39. <span>Sign in to continue</span>
  40. </div>
  41. <div class="w-full md:w-10 mx-auto">
  42. <label for="email" class="block text-900 text-xl font-medium mb-2">Email</label>
  43. <InputText
  44. id="email"
  45. v-model="form.email"
  46. type="text"
  47. class="w-full mb-3"
  48. placeholder="Email"
  49. style="padding: 1rem"
  50. />
  51. <label for="password" class="block text-900 font-medium text-xl mb-2">Password</label>
  52. <Password
  53. id="password"
  54. v-model="form.password"
  55. placeholder="Password"
  56. :toggleMask="true"
  57. class="w-full mb-3"
  58. inputClass="w-full"
  59. inputStyle="padding:1rem"
  60. />
  61. <div class="flex align-items-center justify-content-between mb-5">
  62. <Link
  63. :href="route('password.request')"
  64. class="font-medium no-underline ml-2 text-right cursor-pointer"
  65. style="color: var(--primary-color)"
  66. >
  67. Lupa password?
  68. </Link>
  69. </div>
  70. <Button @click="submit" label="Sign In" :disabled="form.processing" class="w-full p-3 text-xl" />
  71. </div>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. </template>