# PDP-002 — Extract PDP app/header bar

Status: COMPLETED / STABLE ON `main`
Issue: #168 — completed
PR: #169 — merged
Implementation branch: `agent/pdp-002-app-bar`
Stable merge: `dbb6dff70e17b538b67b5ba6468e15f3c5c0fb60`
Parent: #85 UI Task Master

## Scope

Extract the active V111 Product Detail app/header bar into one dedicated presentation widget while preserving the released Drawer and Lunch PDP behavior.

## Delivered

- Added `mobile/lib/features/products/presentation/widgets/walka_pdp_app_bar.dart`.
- Reused the shared `WalkaPdpAppBar` from both Drawer and Lunch V111 product pages.
- Preserves default AppBar route-back behavior rather than introducing a custom navigation callback.
- Preserves centered compact WALKA wordmark, Share action and Favorite action.
- Preserves `Share product`, `Add favorite` and `Remove favorite` tooltips.
- Preserves the 180ms favorite icon switch and current navy/gold favorite colors.
- Preserves white surface, transparent surface tint, zero elevation/scrolled-under elevation, 4px trailing inset and 0.7px WALKA divider.
- Keeps share/favorite state and persistence callbacks feature-owned.
- Added focused tests for callbacks/tooltips, favorite visual state/motion duration, chrome/divider contract and default Back navigation behavior.

## Validation receipt

### Final PR-context gate

- Final synchronized head: `ad32deb1a77b53ac99c81e39d8f1aac330dbf38a`.
- Workflow: Flutter Preview run `31397915138` (#533).
- Flutter Analyze: Green.
- Full Flutter tests: Green.
- Android runner generation: Green.
- WALKA Android branding: Green.
- Release APK build: Green.
- Candidate artifact: `9066570991` (`walka-installable-26a985856c60d73b55cf3e8584178db37c8456f1`).
- Candidate artifact digest: `sha256:83c705f1fcc16bce563cded43b6c2b64a9f86728f77e10d8811baad4acf1afbf`.

### Stable-main gate and verified APK

- Stable workflow: Flutter Preview run `31398553222` (#534).
- Analyze + full tests + Android runner + branding + release APK: Green.
- Stable publication guard: Green.
- Stable APK publication: Green.
- Workflow artifact: `9066835037` (`walka-installable-dbb6dff70e17b538b67b5ba6468e15f3c5c0fb60`).
- Workflow artifact digest: `sha256:9bb961a6ab9739673e1fbcdb5cf76856f4ff9f12e2951ed69f64bca2f57c5fa9`.
- Published APK: `Last verified APK/WALKA-latest.apk`.
- App version: `1.2.0+120`.
- APK bytes: `52733639`.
- APK SHA-256: `d07d27f970a2eeeafdeda3de626e6a3432ef554139f92b3fe09c425253023dbc`.
- Verified APK receipt publication commit: `c97113e14c149a1f60334f4afae6e798eceefda5`.

## Guardrails confirmed

- No gallery, zoom, variant, facts, care/usage, Amazon CTA or purchase-boundary changes.
- No Drawer favorite persistence changes.
- No Lunch local favorite-state changes.
- No Product Master changes.
- `Images/` untouched.
- No ZIP delivery.

## Completion checklist

- [x] Flutter dependency resolution / formatting path passed in CI.
- [x] `flutter analyze` Green.
- [x] Full Flutter tests Green.
- [x] Android runner / WALKA branding Green.
- [x] Release APK build Green.
- [x] PR-context validation Green.
- [x] Merged to stable `main`.
- [x] Stable-main validation Green.
- [x] `Last verified APK/WALKA-latest.apk` and receipt published from stable `main`.
