fix(web): clear needsSetup state after OOBE completion to prevent loop
When SetupWizard completes POST /api/setup and navigates to /admin, App.tsx still has needsSetup=true in React state, causing an immediate redirect back to /setup. Pass onSetupComplete callback to SetupWizard which clears the state before navigating, breaking the loop. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -231,7 +231,7 @@ export function App() {
|
||||
if (location.pathname === "/setup") {
|
||||
return (
|
||||
<BrandingProvider>
|
||||
<SetupWizard />
|
||||
<SetupWizard onSetupComplete={() => setNeedsSetup(false)} />
|
||||
</BrandingProvider>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import { useState, useEffect } from "react";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import { useBranding } from "../BrandingContext.js";
|
||||
|
||||
export function SetupWizard() {
|
||||
export function SetupWizard({ onSetupComplete }) {
|
||||
const navigate = useNavigate();
|
||||
const { refresh: refreshBranding } = useBranding();
|
||||
|
||||
@@ -160,6 +160,8 @@ export function SetupWizard() {
|
||||
}
|
||||
// Refresh branding so the nav bar shows the new business name
|
||||
refreshBranding();
|
||||
// Clear needsSetup state in App so the redirect to /admin sticks
|
||||
if (onSetupComplete) onSetupComplete();
|
||||
} catch (e) {
|
||||
setError("Network error. Please try again.");
|
||||
setLoading(false);
|
||||
|
||||
Reference in New Issue
Block a user