mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-28 10:44:12 +00:00
chore: code review
This commit is contained in:
76
src/api/auth.ts
Normal file
76
src/api/auth.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
// Mock API for authentication and user onboarding
|
||||
// TODO: Replace with actual API calls when backend is ready
|
||||
|
||||
// ============ Types ============
|
||||
export interface UserOnboardingStatus {
|
||||
surveyCompleted: boolean
|
||||
whitelisted: boolean
|
||||
email?: string
|
||||
}
|
||||
|
||||
export interface SimpleUser {
|
||||
emailVerified: boolean
|
||||
surveyCompleted: boolean
|
||||
whitelisted: boolean
|
||||
}
|
||||
|
||||
// ============ User Status ============
|
||||
export async function getMe(): Promise<UserOnboardingStatus | null> {
|
||||
// Simulate API delay
|
||||
await new Promise((resolve) => setTimeout(resolve, 300))
|
||||
|
||||
// Check localStorage for mock onboarding status
|
||||
const surveyCompleted = localStorage.getItem('surveyCompleted')
|
||||
const whitelisted = localStorage.getItem('whitelisted')
|
||||
const userEmail = localStorage.getItem('userEmail')
|
||||
|
||||
// Return user status
|
||||
return {
|
||||
surveyCompleted: surveyCompleted === 'true',
|
||||
whitelisted: whitelisted === 'true',
|
||||
email: userEmail || undefined
|
||||
}
|
||||
}
|
||||
|
||||
export function getAuthStatus(): SimpleUser {
|
||||
const emailVerified = localStorage.getItem('emailVerified')
|
||||
const surveyCompleted = localStorage.getItem('surveyCompleted')
|
||||
const whitelisted = localStorage.getItem('whitelisted')
|
||||
|
||||
return {
|
||||
emailVerified: emailVerified === 'true',
|
||||
surveyCompleted: surveyCompleted === 'true',
|
||||
whitelisted: whitelisted === 'true'
|
||||
}
|
||||
}
|
||||
|
||||
// ============ Auth Actions ============
|
||||
export function verifyEmail(): void {
|
||||
localStorage.setItem('emailVerified', 'true')
|
||||
}
|
||||
|
||||
export function completeSurvey(): void {
|
||||
localStorage.setItem('surveyCompleted', 'true')
|
||||
}
|
||||
|
||||
export function claimInvite(code: string): boolean {
|
||||
const validCodes = ['test']
|
||||
if (validCodes.includes(code)) {
|
||||
localStorage.setItem('whitelisted', 'true')
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// ============ Mock Data Helpers ============
|
||||
export function setMockUserData(data: Partial<UserOnboardingStatus>) {
|
||||
if (data.surveyCompleted !== undefined) {
|
||||
localStorage.setItem(
|
||||
'surveyCompleted',
|
||||
data.surveyCompleted ? 'true' : 'false'
|
||||
)
|
||||
}
|
||||
if (data.whitelisted !== undefined) {
|
||||
localStorage.setItem('whitelisted', data.whitelisted ? 'true' : 'false')
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user