mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-13 06:43:06 +00:00
B102 — pin layout TooltipProvider wrap + mark plan done
Conventions guard prevents regressing provider under CampaignAppScrollChrome. Co-authored-by: Francisco Solla <fsolla@users.noreply.github.com>
This commit is contained in:
parent
653f04062b
commit
0174ae25db
2 changed files with 22 additions and 3 deletions
|
|
@ -1,8 +1,8 @@
|
|||
# Crash — busca no bottom drawer (focus / digitação)
|
||||
|
||||
Status: em implementação
|
||||
Status: done
|
||||
Atualizado em: 2026-08-01
|
||||
Issue: #129 (file-miss #133)
|
||||
Issue: #129 (file-miss plan #133 · delivery #135)
|
||||
Priority: P0
|
||||
Model: cursor-grok-4.5-medium
|
||||
Impeccable: B — `CampaignQuickActionsDrawer` + `CampaignGlobalSearchBody`
|
||||
|
|
@ -76,7 +76,7 @@ Diagnóstico preliminar (código em `main`):
|
|||
|
||||
## Questões em aberto
|
||||
|
||||
- **Causa raiz exata antes do claim?** **Opções:** A) fechar no `work-issue` com repro primeiro | B) bipartir plan/exec. **Recomendação:** **A** — appetite cabe; hypothese já estreita. _(assumido — fechado no freshness/repro)_
|
||||
- _(nenhuma — root cause fechada no repro unit; fix as-built acima)_
|
||||
|
||||
## Abordagem proposta
|
||||
|
||||
|
|
|
|||
|
|
@ -667,3 +667,22 @@ describe('public site metadata global access', () => {
|
|||
expect(offenders, 'import and call resolveSiteMetadata from @/utilities/seo').toEqual([])
|
||||
})
|
||||
})
|
||||
|
||||
describe('campaign TooltipProvider wraps quick-actions chrome (B102)', () => {
|
||||
// B91/B100 mount the drawer as a sibling of the scrollport inside
|
||||
// CampaignAppScrollChrome. Nesting TooltipProvider only around {children}
|
||||
// left focus→suggest priority hits (CampaignHoverTooltip) without a
|
||||
// provider and crashed the page.
|
||||
it('lifts TooltipProvider around CampaignAppScrollChrome in the app layout', () => {
|
||||
const layoutPath = resolve(repoRoot, 'src/app/(campaign)/campanha/(app)/layout.tsx')
|
||||
expect(existsSync(layoutPath)).toBe(true)
|
||||
const source = readFileSync(layoutPath, 'utf8')
|
||||
|
||||
expect(source).toMatch(
|
||||
/<TooltipProvider[^>]*>\s*<CampaignAppScrollChrome[\s\S]*?<\/CampaignAppScrollChrome>\s*<\/TooltipProvider>/,
|
||||
)
|
||||
expect(source).not.toMatch(
|
||||
/<CampaignAppScrollChrome[^>]*>\s*<TooltipProvider[\s\S]*?<\/TooltipProvider>\s*<\/CampaignAppScrollChrome>/,
|
||||
)
|
||||
})
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in a new issue