mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-14 17:37:46 +00:00
Add hook to expose uid (#5612)
* add hook to expose uid * use whenever for cleaner code
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { whenever } from '@vueuse/core'
|
||||
import { computed } from 'vue'
|
||||
|
||||
import { useFirebaseAuthActions } from '@/composables/auth/useFirebaseAuthActions'
|
||||
@@ -6,6 +7,7 @@ import { useDialogService } from '@/services/dialogService'
|
||||
import { useApiKeyAuthStore } from '@/stores/apiKeyAuthStore'
|
||||
import { useCommandStore } from '@/stores/commandStore'
|
||||
import { useFirebaseAuthStore } from '@/stores/firebaseAuthStore'
|
||||
import type { AuthUserInfo } from '@/types/authTypes'
|
||||
|
||||
export const useCurrentUser = () => {
|
||||
const authStore = useFirebaseAuthStore()
|
||||
@@ -20,6 +22,27 @@ export const useCurrentUser = () => {
|
||||
() => !!isApiKeyLogin.value || firebaseUser.value !== null
|
||||
)
|
||||
|
||||
const resolvedUserInfo = computed<AuthUserInfo | null>(() => {
|
||||
if (isApiKeyLogin.value && apiKeyStore.currentUser) {
|
||||
return { id: apiKeyStore.currentUser.id }
|
||||
}
|
||||
|
||||
if (firebaseUser.value) {
|
||||
return { id: firebaseUser.value.uid }
|
||||
}
|
||||
|
||||
return null
|
||||
})
|
||||
|
||||
const onUserResolved = (callback: (user: AuthUserInfo) => void) => {
|
||||
if (resolvedUserInfo.value) {
|
||||
callback(resolvedUserInfo.value)
|
||||
}
|
||||
|
||||
const stop = whenever(resolvedUserInfo, callback)
|
||||
return () => stop()
|
||||
}
|
||||
|
||||
const userDisplayName = computed(() => {
|
||||
if (isApiKeyLogin.value) {
|
||||
return apiKeyStore.currentUser?.name
|
||||
@@ -112,8 +135,10 @@ export const useCurrentUser = () => {
|
||||
userPhotoUrl,
|
||||
providerName,
|
||||
providerIcon,
|
||||
resolvedUserInfo,
|
||||
handleSignOut,
|
||||
handleSignIn,
|
||||
handleDeleteAccount
|
||||
handleDeleteAccount,
|
||||
onUserResolved
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user