Resumen del fix — Prioridad 2:
Some checks failed
/ Deploy to Cloudflare Pages (push) Has been cancelled
Some checks failed
/ Deploy to Cloudflare Pages (push) Has been cancelled
Cambios en WorkspacePage.tsx: orgName ahora es string | null | undefined. undefined = query no completó aún, null = proceso sin org (o query sin resultado), string = nombre real. Reemplazó .single() por .maybeSingle() — .single() lanzaba PGRST116 cuando el org no existía, data quedaba en null y setOrgName nunca se llamaba, dejando el estado indefinido. setOrgName(data?.name ?? null) se llama siempre, sin condición if (data). backLabel pasa de orgId ? (orgName ?? 'Volver') : 'Biblioteca' a simplemente orgName ?? 'Biblioteca' — el nombre real si cargó, o el fallback genérico en cualquier otro caso. Ya no depende de orgId para decidir el label. handleBack() no cambió — sigue usando currentProcess?.orgId para construir el URL correcto a /library?org=xxx. Listo para validación visual en workspace con un proceso de cliente que tenga org_id en la DB.
This commit is contained in:
@@ -68,12 +68,17 @@ export function WorkspacePage() {
|
||||
}
|
||||
}, [user, processId, navigate])
|
||||
|
||||
// Nombre de la organización dueña del proceso (para el back button contextual)
|
||||
const [orgName, setOrgName] = useState<string | null>(null)
|
||||
// Nombre de la organización dueña del proceso (para el back button contextual).
|
||||
// undefined = todavía cargando, null = cargado sin resultado, string = nombre real.
|
||||
const [orgName, setOrgName] = useState<string | null | undefined>(undefined)
|
||||
useEffect(() => {
|
||||
if (!currentProcess?.orgId) { setOrgName(null); return }
|
||||
supabase.from('organizations').select('name').eq('id', currentProcess.orgId).single()
|
||||
.then(({ data }) => { if (data) setOrgName(data.name as string) })
|
||||
supabase
|
||||
.from('organizations')
|
||||
.select('name')
|
||||
.eq('id', currentProcess.orgId)
|
||||
.maybeSingle()
|
||||
.then(({ data }) => setOrgName(data?.name ?? null))
|
||||
}, [currentProcess?.orgId])
|
||||
|
||||
// Validación XOR: todos los gateways exclusivos deben sumar 1.0
|
||||
@@ -196,9 +201,7 @@ export function WorkspacePage() {
|
||||
const isClientRole = user?.platformRole === 'client_editor'
|
||||
const backLabel = isClientRole
|
||||
? 'Procesos'
|
||||
: currentProcess.orgId
|
||||
? (orgName ?? 'Volver')
|
||||
: 'Biblioteca'
|
||||
: orgName ?? 'Biblioteca'
|
||||
|
||||
function handleBack() {
|
||||
const orgId = currentProcess?.orgId
|
||||
|
||||
Reference in New Issue
Block a user