-
-
Notifications
You must be signed in to change notification settings - Fork 4
Add shimmer to entry skeletons #2034
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
📝 WalkthroughWalkthroughUpdates the skeleton UI in EntryRow.svelte to use motion-safe shimmer/pulse animations with preserved computed widths and explicit delays. Extends Tailwind config with shimmer keyframes, animation, background image, and background size utilities. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
frontend/viewer/src/project/browse/EntryRow.svelte
(1 hunks)frontend/viewer/tailwind.config.ts
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
- GitHub Check: Build UI / publish-ui
- GitHub Check: Build API / publish-api
- GitHub Check: Build FW Lite and run tests
- GitHub Check: frontend-component-unit-tests
- GitHub Check: frontend
- GitHub Check: check-and-lint
- GitHub Check: Analyze (csharp)
🔇 Additional comments (4)
frontend/viewer/tailwind.config.ts (2)
132-139
: LGTM!The shimmer keyframes correctly animate the background-position from right to left, creating a sliding gradient effect.
145-145
: LGTM!The animation duration of 2.0s with linear timing and infinite repetition is appropriate for a loading shimmer effect.
frontend/viewer/src/project/browse/EntryRow.svelte (2)
48-52
: Verify shimmer effect works correctly.The skeleton UI refactoring looks good, with individual animations creating visual interest. However, the shimmer effect on line 49 may not work as intended due to the missing
background-size
property. The shimmer animation requires a background sized at 200% to slide the gradient across the element.Ensure that after fixing the naming conflict in
tailwind.config.ts
, both the gradient and the background-size are applied to the headword skeleton. Test the visual effect on various devices to confirm the shimmer is visible and performs smoothly.Accessibility note: Good use of
motion-safe:
prefix to respect user preferences for reduced motion.
50-51
: Animation delay creates good staggered effect.The use of
animation-delay
on the definition and badge (but not the headword) creates a nice staggered loading appearance. This improves perceived performance and visual interest.
Is there any way to show loading progress with a progress bar? I know that has to be engineered and can be challenging... Performance on mobile phone can vary widely! |
@megahirt Yeah, definitely non-trivial. |
I don't know if what we did in LF ended up being helpful to users, but for S/R we essentially did progress loading indicator based on the last successful time to sync. So if the time to sync took 2 min last time, then we just showed a progress bar crawling across to 80% in about 2 min time. |
@megahirt I like the idea of showing progress for syncing 👍, but this PR is just about loading entries. |
A user thought that his dictionary didn't load on his phone, because it was taking too long (at least I think that was the problem).
See #2033 for the simple performance improvement I'm using for now.
I'm hoping this more noticeable loading effect will be advantageous in that regards.
localhost_5137_project_elawa-dev-flex_browse.-.Google.Chrome.2025-10-09.12-00-41.mp4