signedIn.js 900 B

1234567891011121314151617181920212223242526272829303132
  1. export default defineNuxtRouteMiddleware(async () => {
  2. const nuxtApp = useNuxtApp()
  3. const { fetchSession, isSignedIn } = useAuthClient()
  4. await fetchSession()
  5. if (!isSignedIn.value) {
  6. return nuxtApp.runWithContext(() => {
  7. const dynamicDialog = useDynamicDialog()
  8. const SignInDialog = defineAsyncComponent(() => import("~/components/SignInDialog.vue"))
  9. const SignInDialogHeader = defineAsyncComponent(() => import("~/components/SignInDialogHeader.vue"))
  10. // noinspection JSUnresolvedReference
  11. dynamicDialog.open(SignInDialog, {
  12. props: {
  13. showHeader: true,
  14. pt: {
  15. header: "pb-0",
  16. pcCloseButton: {
  17. root: "size-6!",
  18. icon: "size-3"
  19. }
  20. }
  21. },
  22. templates: { header: markRaw(SignInDialogHeader) }
  23. })
  24. return abortNavigation()
  25. })
  26. }
  27. })