1
0

login-expired-modal.vue 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <script setup lang="ts">
  2. import {
  3. Dialog,
  4. DialogContent,
  5. DialogDescription,
  6. DialogTitle,
  7. VisuallyHidden,
  8. useForwardPropsEmits,
  9. } from '@vben-core/shadcn-ui';
  10. import AuthenticationLogin from './login.vue';
  11. import { AuthenticationProps, LoginAndRegisterParams } from './typings';
  12. interface Props extends AuthenticationProps {}
  13. defineOptions({
  14. name: 'LoginExpiredModal',
  15. });
  16. const props = withDefaults(defineProps<Props>(), {});
  17. const emit = defineEmits<{
  18. submit: [LoginAndRegisterParams];
  19. }>();
  20. const open = defineModel<boolean>('open');
  21. const forwarded = useForwardPropsEmits(props, emit);
  22. </script>
  23. <template>
  24. <div>
  25. <Dialog v-model:open="open">
  26. <DialogContent
  27. :show-close="false"
  28. class="top-1/2 h-full w-full translate-y-[-50%] border-none p-4 py-12 text-center shadow-xl sm:w-[600px] sm:rounded-2xl md:h-[unset] md:px-14 md:pt-12"
  29. @escape-key-down="(e) => e.preventDefault()"
  30. @interact-outside="(e) => e.preventDefault()"
  31. >
  32. <VisuallyHidden>
  33. <DialogTitle />
  34. <DialogDescription />
  35. </VisuallyHidden>
  36. <AuthenticationLogin
  37. v-bind="forwarded"
  38. :show-forget-password="false"
  39. :show-register="false"
  40. :show-remember-me="false"
  41. :sub-title="$t('authentication.loginAgainSubTitle')"
  42. :title="$t('authentication.loginAgainTitle')"
  43. />
  44. </DialogContent>
  45. </Dialog>
  46. </div>
  47. </template>