[CHAI] Release 2 - Make helpsite search centric#81226
[CHAI] Release 2 - Make helpsite search centric#81226rushatgabhane wants to merge 55 commits intoExpensify:mainfrom
Conversation
|
These keep expiring on me... |
|
I will message you later today. |
Totally forgot about that! I copied this branch to our remote and opened a dummy PR to build it. For everyone wanting to test this change, use this link: https://e8dc728a.helpdot.pages.dev/ I'll have to manually push any new commits here to there as we make changes but it's trivially easy to do so no biggie |
|
@shawnborton thank you, fixed!
|
|
Thanks! |
|
New preview link with the above commits applied https://85ed9bbf.helpdot.pages.dev/ |
|
Wow this looks great! |
|
@chuckdries wanna help review this? it's c+ approved already |
chuckdries
left a comment
There was a problem hiding this comment.
Looking quite slick! I just have a question about the functionality of the url parameters on the search page.
Basically, if the user makes multiple queries on the search page, we update the URL of the page each time they do, but the search page only ends up occupying a single slot in their browser history/back button stack. In this demonstration, see how I make 3 queries, each with a distinct url, but the back button only takes me to one of them. On one hand, if the user is someone who pays attention to their url bar, this might be surprising. But on the other hand, if they don't notice that, then I guess it's not surprising that "search" is just one step in their browsing history. CC @shawnborton @dubielzyk-expensify curious if you have thoughts?
replaceState.demonstration.mp4
docs/assets/js/main.js
Outdated
| const query = input.value.trim(); | ||
| if (query) { | ||
| const url = '/search?q=' + encodeURIComponent(query) + (platform ? '&platform=' + encodeURIComponent(platform) : ''); | ||
| history.replaceState(null, '', url); |
There was a problem hiding this comment.
Has anyone specifically discussed the decision to use replaceState here? It's probably right but I want to call it out just in case.
|
I would personally probably expect the back button to take me back to each individual search, but I don't feel very strongly about that. |
|
love the feedback! I'll admit, I didn't think much about it. alrightt, let me update that. it'll also match what we do in newDot so.. easy call to make ig |
|
wdyt? Screen.Recording.2026-02-07.at.01.10.26.mov |
|
Hmm, let's see what the rest of the @Expensify/design team thinks. I'm not as sure now that I see it haha. |
|
I dont' disagree that the browser back button should go through the search results, but I don't think the table of contents back button should do it. To me that should navigate the hierarchy. They're separate to me. |
|
Yup, totally agree with that. |
|
Another thing I am noticing - do we have a version of this graphic for dark mode? I would think the white parts of the rays coming out of the book would match the dark part of the app:
Here are updated graphics for light mode and dark mode if that helps: |





Explanation of Change
Lots of file changes because I ran
npm run compress-svg/searchpageFixed Issues
https://github.com/Expensify/Expensify/issues/557403
PROPOSAL:
Tests
Test 1: Homepage and Search
/search?q=expense, skeleton loaders flash, then results appearTest 2: LHN Search and Platform Param
/search?q=...&platform=expensify-classicOffline tests
QA Steps
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Web
Screen.Recording.2026-02-03.at.05.31.49.mov
m-Web
https://github.com/user-attachments/assets/d5ec9d05-efc1-4b75-ac8e-a48b70ca9622
