mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-21 00:51:12 -05:00
Fix: Resolve UI jittering on initial load
This commit is contained in:
@@ -148,9 +148,12 @@ export const ModerationQueue = forwardRef<ModerationQueueRef>((props, ref) => {
|
||||
// Enable transitions after initial render
|
||||
useEffect(() => {
|
||||
if (!loading && items.length > 0 && !hasRenderedOnce) {
|
||||
// Delay to ensure DOM has painted
|
||||
const timer = setTimeout(() => setHasRenderedOnce(true), 100);
|
||||
return () => clearTimeout(timer);
|
||||
// Use requestAnimationFrame to enable transitions AFTER first paint
|
||||
requestAnimationFrame(() => {
|
||||
requestAnimationFrame(() => {
|
||||
setHasRenderedOnce(true);
|
||||
});
|
||||
});
|
||||
}
|
||||
}, [loading, items.length, hasRenderedOnce]);
|
||||
|
||||
@@ -1695,7 +1698,11 @@ export const ModerationQueue = forwardRef<ModerationQueueRef>((props, ref) => {
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
<div
|
||||
className="flex flex-col gap-6"
|
||||
data-initial-load={!hasRenderedOnce ? "true" : "false"}
|
||||
style={{ willChange: 'transform' }}
|
||||
>
|
||||
{items.map((item) => (
|
||||
<QueueItem
|
||||
key={item.id}
|
||||
|
||||
Reference in New Issue
Block a user