修复资源画本首次布局错位
首帧测量未完成时隐藏共享场景,避免标题和卡片使用默认坐标 在首帧和资源数量变化后重新校准缩略卡布局
This commit is contained in:
@@ -5163,6 +5163,10 @@ iframe.preview-frame {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.game-resource-book-scene.is-measuring {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.game-resource-book-scene::before {
|
||||
position: absolute;
|
||||
z-index: 0;
|
||||
|
||||
@@ -1014,7 +1014,7 @@ function ResourceBookScene({
|
||||
|
||||
return (
|
||||
<div
|
||||
className={`game-resource-book-scene game-resource-book-scene--${resourceBookView} game-resource-book-scene--${resourceBookTransition}`}
|
||||
className={`game-resource-book-scene game-resource-book-scene--${resourceBookView} game-resource-book-scene--${resourceBookTransition}${overviewRects.size < visibleCategoryOrder.length ? ' is-measuring' : ''}`}
|
||||
>
|
||||
{visibleCategoryOrder.map((category) => {
|
||||
const rect = overviewRects.get(category);
|
||||
@@ -1891,7 +1891,8 @@ export default function ProjectDevelopmentView({
|
||||
measureResourceBookOverview();
|
||||
const manager = resourceBookManagerRef.current;
|
||||
if (!manager || typeof ResizeObserver === 'undefined') {
|
||||
return undefined;
|
||||
const frame = window.requestAnimationFrame(measureResourceBookOverview);
|
||||
return () => window.cancelAnimationFrame(frame);
|
||||
}
|
||||
const observer = new ResizeObserver(measureResourceBookOverview);
|
||||
observer.observe(manager);
|
||||
@@ -1899,11 +1900,13 @@ export default function ProjectDevelopmentView({
|
||||
observer.observe(element),
|
||||
);
|
||||
window.addEventListener('resize', measureResourceBookOverview);
|
||||
const frame = window.requestAnimationFrame(measureResourceBookOverview);
|
||||
return () => {
|
||||
observer.disconnect();
|
||||
window.cancelAnimationFrame(frame);
|
||||
window.removeEventListener('resize', measureResourceBookOverview);
|
||||
};
|
||||
}, [measureResourceBookOverview, resourceBookView]);
|
||||
}, [measureResourceBookOverview, resourceBookView, canvasResources.length]);
|
||||
const viewedResourceCategory =
|
||||
mode === 'resources' ? activePageCategory : null;
|
||||
useEffect(() => {
|
||||
|
||||
Reference in New Issue
Block a user