Login.vue 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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 v-model="form.email" label="Email" placeholder="email" :error="form.errors.email" />
  24. <AppPassword v-model="form.password" label="Password" placeholder="password" :error="form.errors.password" />
  25. <div class="flex align-items-center justify-content-between mb-5">
  26. <Link
  27. :href="route('password.request')"
  28. class="font-medium no-underline ml-2 text-right cursor-pointer"
  29. style="color: var(--primary-color)"
  30. >
  31. Lupa password?
  32. </Link>
  33. </div>
  34. <Button @click="onSubmit" label="Masuk" :disabled="form.processing" class="w-full p-3 text-xl" />
  35. </AuthLayout>
  36. </template>