auto-save 2026-05-20 17:11 (~2)

This commit is contained in:
2026-05-20 17:11:41 +08:00
parent 8d4275ff56
commit 36c93cddf8
2 changed files with 20 additions and 2 deletions

View File

@@ -1573,6 +1573,13 @@
"message": "fix: improve project brief preview layout", "message": "fix: improve project brief preview layout",
"hash": "61e597c", "hash": "61e597c",
"files_changed": 3 "files_changed": 3
},
{
"ts": "2026-05-20T16:48:47+08:00",
"type": "commit",
"message": "fix: improve project brief preview layout",
"hash": "8d4275f",
"files_changed": 3
} }
] ]
} }

View File

@@ -90,6 +90,7 @@ function ProjectBrief({ session }: { session: GenSession }) {
const generatedAssets = (session.packs ?? []).reduce((sum, pack) => sum + pack.assets.length, 0); const generatedAssets = (session.packs ?? []).reduce((sum, pack) => sum + pack.assets.length, 0);
const totalSlots = packSlotTotal(); const totalSlots = packSlotTotal();
const [previewOpen, setPreviewOpen] = useState(false); const [previewOpen, setPreviewOpen] = useState(false);
const [primaryAspectRatio, setPrimaryAspectRatio] = useState('1 / 1');
return ( return (
<section className="project-brief-panel"> <section className="project-brief-panel">
@@ -114,8 +115,18 @@ function ProjectBrief({ session }: { session: GenSession }) {
onFocus={() => setPreviewOpen(true)} onFocus={() => setPreviewOpen(true)}
onBlur={() => setPreviewOpen(false)} onBlur={() => setPreviewOpen(false)}
> >
<div className="project-primary-preview"> <div className="project-primary-preview" style={{ aspectRatio: primaryAspectRatio }}>
<img src={primaryImage.url} alt="当前主方案" className="project-primary-image" /> <img
src={primaryImage.url}
alt="当前主方案"
className="project-primary-image"
onLoad={event => {
const image = event.currentTarget;
if (image.naturalWidth && image.naturalHeight) {
setPrimaryAspectRatio(`${image.naturalWidth} / ${image.naturalHeight}`);
}
}}
/>
</div> </div>
<div className="project-primary-meta"> <div className="project-primary-meta">
<span className="text-[10px] font-semibold uppercase tracking-[0.16em] text-white/70">Primary</span> <span className="text-[10px] font-semibold uppercase tracking-[0.16em] text-white/70">Primary</span>