webui: mv scroll behavior to sketch-timeline

Moves the automatic scrolling behavior from sketch-app-shell into
sketch-timeline, where it makes more sense.

This change also makes automatic scrolling conditional on
an internal "scrollingState", which we update whenever you
manually scroll to, or away from the bottom of the timeline.

If you scroll to the bottom of the timeline, then it's "sticky"
and newly arriving messages will keep scrolling you to the bottom
as they render.

If you scroll up to older messages though, then we stop automatically
scrolling you to the latest messages at the bottom of the timeline.

When the timeline is in this latter "floating" scrollingState, we
also render a floating down-arrow button over the lower right corner
of the timeline.  Clicking on this will take you down to the latest
message at the end of the timeline.
5 files changed
tree: 66ec4140ecac50d81f8e521204e315183ec83f35
  1. .github/
  2. .vscode/
  3. ant/
  4. claudetool/
  5. cmd/
  6. dockerimg/
  7. httprr/
  8. loop/
  9. skabandclient/
  10. skribe/
  11. termui/
  12. .gitignore
  13. go.mod
  14. go.sum
  15. LICENSE
  16. README.md
README.md

Sketch

Under construction.

Usage:

go install sketch.dev/cmd/sketch@latest
sketch