Scope
Delete src/components/DrawerContent.tsx and app/(drawer)/_layout.tsx (the EC drawer + browser-handoff implementation). Drawer is now provided by wp-native-shell via <DrawerShell/>, mounted inside <WPNativeApp/> (M7.2.5).
Why
<WPNativeApp/> already wires <DrawerShell sections={config.navigation.sections}/>. The custom drawer is dead.
Files affected
DELETE: src/components/DrawerContent.tsx (~200 lines)
DELETE: app/(drawer)/_layout.tsx (~50 lines)
DELETE: app/(drawer)/feed.tsx (?) — keep as a screen, but it'll get registered through config.navigation
The screens that lived under app/(drawer)/ need to either:
- Stay as Expo Router routes and be referenced by
config.navigation.sections[].screen, OR
- Be deleted and replaced by ability-driven
AbilityList screens (M6.1)
For v0.1 dogfood, the simplest path is: keep the existing screen files, reference them by screen: in config. The ability-driven path is a follow-up.
Browser handoff
The EC drawer hardcodes extrachill.com / extrachill.link host checks (per audit issue #19). After this PR, that logic lives in wp-native-shell's useBrowserHandoff() reading from config.browserHandoff.handoffHosts / excludeHosts. Closes #19 as part of this work.
Sequencing
After M7.2.5 (<WPNativeApp/> mounted). The drawer config's section list is the API contract that determines what stays in app/(drawer)/ and what becomes a screen: reference.
Acceptance
References
Scope
Delete
src/components/DrawerContent.tsxandapp/(drawer)/_layout.tsx(the EC drawer + browser-handoff implementation). Drawer is now provided by wp-native-shell via<DrawerShell/>, mounted inside<WPNativeApp/>(M7.2.5).Why
<WPNativeApp/>already wires<DrawerShell sections={config.navigation.sections}/>. The custom drawer is dead.Files affected
The screens that lived under
app/(drawer)/need to either:config.navigation.sections[].screen, ORAbilityListscreens (M6.1)For v0.1 dogfood, the simplest path is: keep the existing screen files, reference them by
screen:in config. The ability-driven path is a follow-up.Browser handoff
The EC drawer hardcodes
extrachill.com/extrachill.linkhost checks (per audit issue #19). After this PR, that logic lives in wp-native-shell'suseBrowserHandoff()reading fromconfig.browserHandoff.handoffHosts/excludeHosts. Closes #19 as part of this work.Sequencing
After M7.2.5 (
<WPNativeApp/>mounted). The drawer config's section list is the API contract that determines what stays inapp/(drawer)/and what becomes ascreen:reference.Acceptance
src/components/DrawerContent.tsxdeletedapp/(drawer)/_layout.tsxdeletedextrachill.com/extrachill.linkhost checks removedconfig.navigation.sections*.extrachill.com(now via config)References