diff --git a/__tests__/components/header/AppSidebar.test.tsx b/__tests__/components/header/AppSidebar.test.tsx
index 3ff8e07aad..818bd14979 100644
--- a/__tests__/components/header/AppSidebar.test.tsx
+++ b/__tests__/components/header/AppSidebar.test.tsx
@@ -22,6 +22,9 @@ jest.mock('@/components/app-wallets/AppWalletsContext');
const onClose = jest.fn();
(useAppWallets as jest.Mock).mockReturnValue({ appWalletsSupported: true });
render();
+ expect(menuProps.menu).toEqual(expect.arrayContaining([
+ expect.objectContaining({ label: 'Discover', path: '/discover' }),
+ ]));
expect(menuProps.menu.find((m: any) => m.label === 'Tools').children[0]).toEqual({ label: 'App Wallets', path: '/tools/app-wallets' });
headerProps.onClose();
expect(onClose).toHaveBeenCalled();
diff --git a/codex/STATE.md b/codex/STATE.md
index d33aa76e4f..8a87357541 100644
--- a/codex/STATE.md
+++ b/codex/STATE.md
@@ -38,6 +38,7 @@ This table is the single source of truth for active and historical tickets. Keep
| TKT-0032 | Remove unused hasMetadataContent export | In-Progress | P2 | openai-assistant | — | 2025-10-28 |
| TKT-0033 | Remove unused createIcsDataUrl helper | Review | P2 | openai-assistant | — | 2025-10-28 |
| TKT-0034 | Remove unused findLightDropBySerialNoWithPagination helper | Review | P2 | openai-assistant | — | 2025-10-28 |
+| TKT-0035 | Add Discover link to app sidebar navigation | In-Progress | P1 | openai-assistant | — | 2025-10-29 |
## Usage Guidelines
diff --git a/codex/tickets/TKT-0035.md b/codex/tickets/TKT-0035.md
new file mode 100644
index 0000000000..b22ef67640
--- /dev/null
+++ b/codex/tickets/TKT-0035.md
@@ -0,0 +1,52 @@
+---
+created: 2025-10-29
+id: TKT-0035
+owner: openai-assistant
+priority: P1
+status: In-Progress
+title: Add Discover link to app sidebar navigation
+---
+
+## Context
+
+> The in-app sidebar navigation omits a link to the Discover experience, forcing users to rely on deep links or browser navigation. Restoring parity with the web sidebar should improve discoverability and align the app's UX. While iterating on these navigation fixes, we also spotted inconsistent search icons in the app waves and identity search inputs that should be updated to the shared Heroicons set.
+
+## Plan
+
+- [x] Audit the app sidebar component to confirm available navigation slots and icon usage.
+- [x] Inject a Discover entry pointing to the existing Discover route with consistent styling and ordering.
+- [ ] Validate navigation manually and adjust tests or stories if they cover sidebar entries.
+- [ ] Update `WavesListSearch` and the identity search form to use the Heroicons search glyph.
+- [ ] Ensure relevant tests reflect the updated icon rendering.
+
+## Acceptance
+
+- [ ] App sidebar includes a Discover item that routes to the Discover page.
+- [ ] Sidebar highlight state updates correctly when visiting Discover.
+- [ ] Waves list and identity search inputs render the Heroicons search icon consistently.
+- [ ] `npm run lint`, `npm run type-check`, and targeted tests for the sidebar/search components pass locally.
+
+## Links
+
+- Primary PR: _(add when available)_
+- Follow-ups: _(reference additional tickets or TODO items)_
+
+## Log
+
+- 2025-10-29T11:47:41Z – Created ticket and captured initial scope for restoring Discover navigation entry.
+- 2025-10-29T11:50:40Z – Added Discover link to app sidebar and reordered Network section ahead of Tools.
+- 2025-10-29T12:03:31Z – Expanded ticket scope to align waves and identity search icons with Heroicons.
+- 2025-10-29T12:04:31Z – Swapped both waves and identity search fields to use the shared Heroicons magnifier glyph.
+- 2025-10-29T12:20:49Z – Reinstated the `useRounded` option on `WaveHeader` per design confirmation.
+- 2025-10-29T12:29:35Z – Made the drop overlay full-screen in the app shell and added safe-area padding to the mobile drop header.
+- 2025-10-29T12:31:32Z – Offset the drop close button using safe-area-aware positioning.
+- 2025-10-29T12:48:26Z – Tweaked `WaveItem` card aspect/gradient heights to reduce hero image height on small screens.
+- 2025-10-29T12:50:55Z – Added a loading state and disabled interaction for the Waves “Show all” toggle to avoid jarring label flips.
+- 2025-10-29T12:53:25Z – Brightened the “Show less” state and added directional icons so the toggle remains obvious after expansion.
+- 2025-10-29T13:02:20Z – Reverted `WavesListWrapper` UI experiments; restored original toggle styling and behavior.
+- 2025-10-29T13:03:41Z – Added `readonly` to `BrainMobile` props to align with the TypeScript conventions.
+- 2025-10-29T13:04:31Z – Swapped the drop close SVG for the shared Heroicons `XMarkIcon` component.
+- 2025-10-29T13:16:24Z – Adjusted mobile drop header spacing while verifying safe-area offsets.
+- 2025-10-29T13:22:31Z – Detached `SingleWaveDropChat` from `LayoutContext` so the overlay no longer reserves extra space for the AppHeader.
+- 2025-10-29T13:24:18Z – Reverted that change after it regressed the drop layout.
+- 2025-10-29T13:26:58Z – Switched the typing indicator background to a Tailwind gradient (bottom-up) for smoother blending.
diff --git a/components/brain/BrainMobile.tsx b/components/brain/BrainMobile.tsx
index 802f947ff8..2af2465694 100644
--- a/components/brain/BrainMobile.tsx
+++ b/components/brain/BrainMobile.tsx
@@ -43,7 +43,7 @@ export enum BrainView {
}
interface Props {
- children: ReactNode;
+ readonly children: ReactNode;
}
const BrainMobile: React.FC = ({ children }) => {
@@ -268,11 +268,15 @@ const BrainMobile: React.FC = ({ children }) => {
[BrainView.NOTIFICATIONS]: ,
};
+ const dropOverlayClass = isApp
+ ? "tw-fixed tw-inset-0 tw-z-[2000] tw-bg-black tailwind-scope"
+ : "tw-absolute tw-inset-0 tw-z-[1000]";
+
return (