Summary
desktop/src/components/sidebar/ScreenPanel.tsx shows the screen screenshot from the API. When the user triggers a refresh/recapture, there is no visual loading state between clicks, so the UI feels unresponsive.
Goal
Show a Skeleton placeholder (reuse desktop/src/components/common/Skeleton.tsx) over the screenshot area while a new capture is being fetched, and disable the refresh button during the fetch.
Tasks
- Track a
efreshing\ boolean driven by the fetch lifecycle (prop or local state)
- Render skeleton while refreshing; show image when ready
- Disable + dim the refresh button during the fetch
- Add/extend a Vitest test in desktop/src/test/ScreenPanel.test.tsx
Acceptance criteria
Labels
good first issue, help wanted
Summary
desktop/src/components/sidebar/ScreenPanel.tsx shows the screen screenshot from the API. When the user triggers a refresh/recapture, there is no visual loading state between clicks, so the UI feels unresponsive.
Goal
Show a Skeleton placeholder (reuse desktop/src/components/common/Skeleton.tsx) over the screenshot area while a new capture is being fetched, and disable the refresh button during the fetch.
Tasks
efreshing\ boolean driven by the fetch lifecycle (prop or local state)
Acceptance criteria
Labels
good first issue, help wanted