LoginFormTitle.vue 815 B

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