Conversation
|
- Keep showing the full candidate list when a step is selected - Show conversion rate for each step - Update title - Add total conversion rate and dropoff rate - Add refresh button - Add path connectors - Change starting/end point toggle into an inline dropdown - Add color coding for pageviews vs custom events - Remove "Visit" prefix from pageview steps - Update columns and steps visually
902afc3 to
fa53e57
Compare
- Remove drop-off rate - De-emphasize dimmed items and emphasized selected items - Remove color coding for custom events and add cursor icon instead - Update aggregated subpath styling to `/page > all (N)`
- Fix: remove PathConnectors SVG width attribute that prevented scroll container from shrinking - Improved dark mode - Add Suggest journey button when nothing is selected
b97300b to
c4995f8
Compare
- Update header DOM structure to accomodate mobile layout - Improve scroll behavior when adding/removing steps: it now always scrolls to the next step, also on mobile
- Improve empty states copy and styling - Remove `Suggest journey` button on second thought - Show only an empty column 2 when nothing is selected rather than two empty columns (2 and 3) with a duplicate empty state. In order to do so we switched to a grid layout to avoid layout shifts. Only for > sm screens. - Hide search input when nothing is selected.
|
The visitor counts are being dragged from one step to another before ending up with final value. record-2026-04-29-11-39-48-skim.tanh.flax.mp4 |
|
|
||
| journeyVersionRef.current++ | ||
| setDirection(nextDirection) | ||
| setSteps(steps.toReversed()) |
There was a problem hiding this comment.
Is this deliberate to start over instead of reversing the journey?
There was a problem hiding this comment.
Yes this is deliberate, I think it's better UX to start with a clean slate when switching direction.
| const journeyVersion = journeyVersionRef.current | ||
| preloadedSteps.forEach((_, idx) => { | ||
| const prefix = preloadedSteps.slice(0, idx) | ||
| fetchNextWithFunnel( |
There was a problem hiding this comment.
@zoldar this is making essentially N+1 calls to next-with-funnel
|
|
||
| const observer = new ResizeObserver(recalculate) | ||
| observer.observe(container) | ||
| window.addEventListener('resize', recalculate) |
There was a problem hiding this comment.
why is this even here? makes no difference
…nclude step candidates considered) (#6291) * Simplify path connectors * tmp * simplify path connectors triggering * Slightly refactor connectors logic and work around dashboardState dependency * Fetch interesting funnel along with candidates in one go * Move Exploration alias behind `on_ee` --------- Co-authored-by: Adrian Gruntkowski <adrian.gruntkowski@gmail.com>
zoldar
left a comment
There was a problem hiding this comment.
We have fixed the more nagging issues, some of them with no too pretty workarounds, but the UI is functional. There's still a bit errant behavior on date range change where the suggestions are not properly cleared. We will address this later on. The component logic will undergo a major revamp when moving to Typescript anyway.
Sounds good, thanks @aerosol @zoldar for getting this over the line 🙏 |

Changes
Tests
Changelog
Documentation
Dark mode