LoginFormTitle.vue 829 B

1234567891011121314151617181920212223242526
  1. <template>
  2. <h2 class="enter-x mb-3 text-center text-2xl font-bold xl:text-center xl:text-3xl">
  3. {{ getFormTitle }}
  4. </h2>
  5. </template>
  6. <script lang="ts" setup>
  7. import { LoginStateEnum, useLoginState } from './useLogin'
  8. defineOptions({ name: 'LoginFormTitle' })
  9. const { t } = useI18n()
  10. const { getLoginState } = useLoginState()
  11. const getFormTitle = computed(() => {
  12. const titleObj = {
  13. [LoginStateEnum.RESET_PASSWORD]: t('sys.login.forgetFormTitle'),
  14. [LoginStateEnum.LOGIN]: t('sys.login.signInFormTitle'),
  15. [LoginStateEnum.REGISTER]: t('sys.login.signUpFormTitle'),
  16. [LoginStateEnum.MOBILE]: t('sys.login.mobileSignInFormTitle'),
  17. [LoginStateEnum.QR_CODE]: t('sys.login.qrSignInFormTitle'),
  18. [LoginStateEnum.SSO]: t('sys.login.ssoFormTitle')
  19. }
  20. return titleObj[unref(getLoginState)]
  21. })
  22. </script>