<script lang='ts' setup>
import type { FormInstance, FormRules } from 'element-plus'
import useLogin from '../../useLogin'

const { loginForm, finishCode, errorCodeTxt, seconds, getMailCode, backStep } = useLogin()
const ruleFormRef = ref<FormInstance>()

const rules = ref<FormRules>({
  code: [
    { required: true, message: 'Please enter a valid email.', trigger: 'blur' },
  ],
})
</script>

<template>
  <div>
    <div class="custom-title-font text-24px fw-800 text-#333 mb-10px flex items-center">
      <img src="@/assets/images/login_back_arrow.png" alt="" class="w-16px h-16px mr-4px cursor-pointer" @click="backStep">
      Finish Signing In
    </div>
    <div class="text-14px text-#1A1A1A lh-22px mb-20px">
      Once you enter the code we sent to <span class="text-#1A1A1A fw-700">{{ loginForm.mail }}</span>, you’ll be signed in.
    </div>

    <div class="my-10px text-14px text-#9B6CFF underline cursor-pointer fw-bold" @click="getMailCode">
      Get a Code
    </div>
    <el-form ref="ruleFormRef" :rules="rules" :model="loginForm">
      <el-form-item label="" prop="code" class="!mb-24px">
        <el-input v-model.trim="loginForm.code" :class="!!errorCodeTxt && 'error-txt'" class="!h-46px login-input !text-14px" placeholder="Enter email" />
        <div v-if="errorCodeTxt" class="text-red mt-10px">
          {{ errorCodeTxt }}
        </div>
      </el-form-item>

      <el-form-item>
        <el-button class="!w-full !h-50px !text-16px !fw-500 !b-rd-10px !bg-#9B6CFF !text-#fff" @click="finishCode(ruleFormRef)">
          Continue
        </el-button>
      </el-form-item>
    </el-form>
    <div class="mt-20px text-14px text-#767676">
      <div class="mb-8px">
        Didn't get the code? <span class="text-#9B6CFF cursor-pointer hover:underline" @click="getMailCode">Resend code</span>⁠.
      </div>
      <div> Didn't get the code? Resend in {{ seconds }} seconds.</div>
    </div>
  </div>
</template>

<style lang='less' scoped>
::v-deep(.login-input) {
  &.error-txt{
    .el-input__wrapper{
      border: 1px solid red!important;
   }
  }
   .el-input__wrapper{
    border-radius: 10px;
   }
}
</style>
