12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <script setup>
  2. import { Head, Link, useForm } from '@inertiajs/inertia-vue3'
  3. import { useFormErrorReset } from '@/components/useFormErrorReset'
  4. import AppInputText from '@/components/AppInputText.vue'
  5. import AppPassword from '@/components/AppPassword.vue'
  6. import AuthLayout from '@/layouts/AuthLayout.vue'
  7. const form = useForm({
  8. email: '',
  9. password: '',
  10. remember: false,
  11. })
  12. useFormErrorReset(form)
  13. const onSubmit = () => {
  14. form.post(route('login'), {
  15. onFinish: () => form.reset('password'),
  16. })
  17. }
  18. </script>
  19. <template>
  20. <Head title="Sign In" />
  21. <AuthLayout>
  22. <template #header> Masuk untuk melanjutkan </template>
  23. <AppInputText
  24. v-model="form.email"
  25. label="Email"
  26. placeholder="email"
  27. :error="form.errors.email"
  28. />
  29. <AppPassword
  30. v-model="form.password"
  31. label="Kata Sandi"
  32. placeholder="kata sandi"
  33. :error="form.errors.password"
  34. />
  35. <div class="flex align-items-center justify-content-between mb-5">
  36. <Link
  37. :href="route('password.request')"
  38. class="font-medium no-underline ml-2 text-right cursor-pointer"
  39. style="color: var(--primary-color)"
  40. >
  41. Lupa kata sandi?
  42. </Link>
  43. </div>
  44. <Button
  45. @click="onSubmit"
  46. label="Masuk"
  47. :disabled="form.processing"
  48. class="w-full p-3 text-xl"
  49. />
  50. </AuthLayout>
  51. </template>