LoginFormTitle.vue 853 B

12345678910111213141516171819202122232425
  1. <template>
  2. <h2 class="mb-3 text-2xl font-bold text-center xl:text-3xl enter-x xl:text-left">
  3. {{ getFormTitle }}
  4. </h2>
  5. </template>
  6. <script lang="ts" setup>
  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>