mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-03 14:54:37 +00:00
77 lines
2.1 KiB
TypeScript
77 lines
2.1 KiB
TypeScript
// 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')
|
|
}
|
|
}
|