Skip to content

Add global search#54

Open
Jim8y wants to merge 4 commits into
neoorder:masterfrom
Jim8y:codex/p7-global-search
Open

Add global search#54
Jim8y wants to merge 4 commits into
neoorder:masterfrom
Jim8y:codex/p7-global-search

Conversation

@Jim8y

@Jim8y Jim8y commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

Scope

  • Add a focused Global Search page reachable from the Home toolbar.
  • Search across wallet assets, saved contacts, and regular dApps without changing the Home dashboard layout.
  • Prioritize matching recently used dApps from dapps/recent before other result groups and mark them with a localized recently-used badge.
  • Use real token and dApp icons in search results, keeping the contact glyph fallback.
  • Reuse the existing asset detail, contact edit, and dApp launch flows for result actions.
  • Apply the existing iOS minimal SearchBar style on the new page to avoid the dark native search background block.

Review follow-up

  • Addressed Copilot feedback by loading data sequentially on the shared DbContext, showing the empty state only after a non-empty query, and using cached searchable indexes with a 200ms debounce.
  • Addressed Erik feedback by showing real token/dApp icons in search results.

Validation

  • git diff --check
  • Resource parity check across all Strings*.resx files: 285 keys.
  • iOS simulator, iPhone 17 Pro iOS 26.5: built, installed, opened Global Search, searched vault, verified OneGate Vault appears before Vaulten with the 最近使用 badge.
  • Android emulator: built, installed, opened Global Search, searched vault, verified OneGate Vault appears before Vaulten with the Recently used badge, and checked the crash buffer was empty.

Screenshots

Known limitations

  • Results are intentionally capped per category to keep this PR small and focused.
  • This PR adds the global entry and result flow only; it does not redesign the Home dashboard or dApp detail pages.

Copilot AI review requested due to automatic review settings June 21, 2026 06:29
@Jim8y

Jim8y commented Jun 21, 2026

Copy link
Copy Markdown
Contributor Author

Updated durable iOS and Android simulator verification screenshots:

Both screenshots verify OneGate Vault is prioritized ahead of Vaulten for vault because it is recently used, and that the localized recently-used badge is shown. They also show dApp icon rendering rather than the generic glyph.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Global Search experience to the MAUI app, reachable from the Home toolbar, enabling search across wallet assets, saved contacts, and regular dApps while reusing existing navigation flows.

Changes:

  • Add GlobalSearchPage (XAML + code-behind) that loads assets/contacts/dApps and filters results.
  • Add a Home toolbar entry that navigates to the new search route.
  • Add localized string resources (EN + zh-Hans) and register the Shell route.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
OneGateApp/Properties/Strings.zh-Hans.resx Adds zh-Hans localization for the Global Search page title.
OneGateApp/Properties/Strings.resx Adds default (neutral) localization for the Global Search page title.
OneGateApp/Properties/Strings.Designer.cs Exposes the new Strings.GlobalSearch resource accessor.
OneGateApp/Pages/HomePage.xaml Adds a primary toolbar item that navigates to Global Search.
OneGateApp/Pages/GlobalSearchPage.xaml.cs Implements loading + filtering + navigation for global search results.
OneGateApp/Pages/GlobalSearchPage.xaml Defines the Global Search UI and binds to results/loading state.
OneGateApp/AppShell.xaml.cs Registers the home/search Shell route for navigation.
Files not reviewed (1)
  • OneGateApp/Properties/Strings.Designer.cs: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread OneGateApp/Pages/GlobalSearchPage.xaml.cs
Comment thread OneGateApp/Pages/GlobalSearchPage.xaml.cs Outdated
Comment thread OneGateApp/Pages/GlobalSearchPage.xaml.cs
@erikzhang

Copy link
Copy Markdown
Contributor

Use real icons for tokens and dapps?

@Jim8y

Jim8y commented Jun 21, 2026

Copy link
Copy Markdown
Contributor Author

@erikzhang fixed in 1584698: token results now use asset.Token.Icon with the token default fallback, and dApp results use DApp.IconUrl; contacts keep the existing glyph fallback. The updated screenshots above also show the real dApp icons, plus the recently-used dApp ordering and badge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants