feat: implement mandatory login on startup and set roman password
Some checks failed
Release Binaries / release (push) Has been cancelled

This commit is contained in:
Gemini AI
2025-12-29 01:25:43 +04:00
Unverified
parent 8474be8559
commit dc21ade84e
5 changed files with 295 additions and 103 deletions

View File

@@ -1,20 +1,23 @@
/**
* User Context utilities for frontend
* Handles active user ID and passes it in API requests
*/
import { createSignal } from "solid-js"
// Storage key for active user
const ACTIVE_USER_KEY = "codenomad_active_user_id"
const [isLoggedIn, setLoggedIn] = createSignal(false)
export { isLoggedIn, setLoggedIn }
/**
* Set the active user ID
*/
export function setActiveUserId(userId: string | null): void {
if (userId) {
localStorage.setItem(ACTIVE_USER_KEY, userId)
setLoggedIn(true)
console.log(`[UserContext] Active user set to: ${userId}`)
} else {
localStorage.removeItem(ACTIVE_USER_KEY)
setLoggedIn(false)
console.log(`[UserContext] Active user cleared`)
}
}
@@ -72,25 +75,22 @@ export async function initializeUserContext(): Promise<void> {
setActiveUserId(activeUser.id)
console.log(`[UserContext] Initialized with user: ${activeUser.id} (${activeUser.name})`)
} else {
setLoggedIn(false)
console.log(`[UserContext] No active user from IPC`)
}
} else {
// Web mode - try to get from localStorage or use default
const existingId = getActiveUserId()
if (existingId) {
setLoggedIn(true)
console.log(`[UserContext] Using cached user ID: ${existingId}`)
} else {
// Set a default user ID for web mode
const defaultUserId = "default"
setActiveUserId(defaultUserId)
console.log(`[UserContext] Web mode - using default user ID`)
setLoggedIn(false)
console.log(`[UserContext] Web mode - no active user`)
}
}
} catch (error) {
console.error(`[UserContext] Failed to initialize:`, error)
// Fall back to default
if (!getActiveUserId()) {
setActiveUserId("default")
}
setLoggedIn(false)
}
}