mirror of
https://github.com/xtr-dev/rondevu-demo.git
synced 2025-12-10 02:43:23 +00:00
feat: improve login persistence with server verification
- Properly await isUsernameClaimed() check during initialization - Verify saved username is still valid on the server - Show 'Welcome back' toast when restoring session - Handle expired usernames gracefully
This commit is contained in:
19
src/App.jsx
19
src/App.jsx
@@ -70,9 +70,26 @@ export default function App() {
|
|||||||
await service.initialize()
|
await service.initialize()
|
||||||
setRondevuService(service)
|
setRondevuService(service)
|
||||||
|
|
||||||
if (savedUsername && service.isUsernameClaimed()) {
|
// Check if we have a saved username and it's still valid
|
||||||
|
if (savedUsername && savedKeypair) {
|
||||||
|
try {
|
||||||
|
// Verify the username is still claimed by checking with the server
|
||||||
|
const isClaimed = await service.isUsernameClaimed()
|
||||||
|
if (isClaimed) {
|
||||||
setMyUsername(savedUsername)
|
setMyUsername(savedUsername)
|
||||||
setSetupStep('ready')
|
setSetupStep('ready')
|
||||||
|
console.log('Restored session for username:', savedUsername)
|
||||||
|
toast.success(`Welcome back, ${savedUsername}!`, { duration: 3000 })
|
||||||
|
} else {
|
||||||
|
// Username expired or was never properly claimed
|
||||||
|
console.log('Saved username is no longer valid, need to reclaim')
|
||||||
|
setSetupStep('claim')
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
console.error('Failed to verify username claim:', err)
|
||||||
|
// Keep the saved data but require reclaim
|
||||||
|
setSetupStep('claim')
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
setSetupStep('claim')
|
setSetupStep('claim')
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user