Codex/fix project review bugs #12
+1
-4
@@ -503,10 +503,7 @@ function App() {
|
||||
<CloseOutlined />
|
||||
</button>
|
||||
<span className="ecommerce-auth-modal__logo" aria-hidden="true">
|
||||
<i />
|
||||
<i />
|
||||
<i />
|
||||
<i />
|
||||
<img src="https://stringtest.oss-cn-hangzhou.aliyuncs.com/logo.png" alt="" />
|
||||
</span>
|
||||
<h2 id="ecommerce-auth-title">{authMode === "login" ? "欢迎回来" : "创建账号"}</h2>
|
||||
<p className="ecommerce-auth-modal__subtitle">{authMode === "login" ? "登录后继续你的 AI 创作之旅" : "注册即可免费体验全部功能"}</p>
|
||||
|
||||
@@ -106,7 +106,7 @@ const ecommerceInspirationAssets = ossAssets.ecommerce.inspiration;
|
||||
|
||||
const ecommerceInspirationRows = [
|
||||
{
|
||||
title: "AI团队",
|
||||
title: "社区集锦",
|
||||
desc: "不止作图,更懂转化。",
|
||||
variant: "team",
|
||||
cards: [
|
||||
@@ -3295,7 +3295,8 @@ function ProductClonePage(_props: ProductClonePageProps = {}) {
|
||||
}, [openCloneBasicSelect]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!composerMenu && !(status === "done" && !isCommandComposerCompact)) return undefined;
|
||||
const shouldAutoCompactComposer = (status === "generating" || status === "done") && !isCommandComposerCompact;
|
||||
if (!composerMenu && !shouldAutoCompactComposer) return undefined;
|
||||
|
||||
const handlePointerDown = (event: PointerEvent) => {
|
||||
const target = event.target;
|
||||
@@ -3304,13 +3305,19 @@ function ProductClonePage(_props: ProductClonePageProps = {}) {
|
||||
if (composer?.contains(target)) return;
|
||||
|
||||
if (composerMenu && composerMenu !== "settings") setComposerMenu(null);
|
||||
if (status === "done" && !isCommandComposerCompact) setIsCommandComposerCompact(true);
|
||||
if (shouldAutoCompactComposer) setIsCommandComposerCompact(true);
|
||||
};
|
||||
|
||||
document.addEventListener("pointerdown", handlePointerDown);
|
||||
return () => document.removeEventListener("pointerdown", handlePointerDown);
|
||||
}, [composerMenu, isCommandComposerCompact, status]);
|
||||
|
||||
useEffect(() => {
|
||||
if ((status === "generating" || status === "done") && !isCommandComposerCompact) {
|
||||
setIsCommandComposerCompact(true);
|
||||
}
|
||||
}, [isCommandComposerCompact, status]);
|
||||
|
||||
useEffect(() => {
|
||||
if (composerMenuCloseTimeoutRef.current !== null) {
|
||||
window.clearTimeout(composerMenuCloseTimeoutRef.current);
|
||||
@@ -4766,6 +4773,12 @@ function ProductClonePage(_props: ProductClonePageProps = {}) {
|
||||
};
|
||||
|
||||
const showMainVideoWorkspace = cloneOutput === "video" && isVideoWorkspaceVisible;
|
||||
const hasGenerationSurface = status === "generating" || status === "done" || canvasNodes.length > 0;
|
||||
const showPreGenerationGuides =
|
||||
(status === "idle" || status === "ready") &&
|
||||
!showMainVideoWorkspace &&
|
||||
!activeHistoryRecordId &&
|
||||
canvasNodes.length === 0;
|
||||
|
||||
const scrollInspirationRow = (event: ReactMouseEvent<HTMLButtonElement>, direction: -1 | 1) => {
|
||||
const row = event.currentTarget.closest(".ecom-inspiration-row");
|
||||
@@ -5041,16 +5054,18 @@ function ProductClonePage(_props: ProductClonePageProps = {}) {
|
||||
|
||||
<section
|
||||
ref={commandComposerWrapRef}
|
||||
className={`clone-ai-bottom-input ecom-command-composer-wrap${status === "done" || canvasNodes.length > 0 ? " has-generated" : " is-before-generate"}${isCommandComposerCompact && (status === "done" || canvasNodes.length > 0) ? " is-compact" : ""}`}
|
||||
className={`clone-ai-bottom-input ecom-command-composer-wrap${hasGenerationSurface ? " has-generated" : " is-before-generate"}${isCommandComposerCompact && hasGenerationSurface ? " is-compact" : ""}`}
|
||||
aria-label="生成指令"
|
||||
onClick={() => {
|
||||
if (isCommandComposerCompact) setIsCommandComposerCompact(false);
|
||||
if (isCommandComposerCompact && status !== "generating") setIsCommandComposerCompact(false);
|
||||
}}
|
||||
>
|
||||
<h1 className={`ecom-command-title${status === "done" || canvasNodes.length > 0 ? " is-after-generate" : ""}`}>
|
||||
{typewriterText}
|
||||
<span className="typewriter-cursor" aria-hidden="true">|</span>
|
||||
</h1>
|
||||
{!hasGenerationSurface ? (
|
||||
<h1 className="ecom-command-title">
|
||||
{typewriterText}
|
||||
<span className="typewriter-cursor" aria-hidden="true">|</span>
|
||||
</h1>
|
||||
) : null}
|
||||
<input
|
||||
ref={cloneReferenceInputRef}
|
||||
type="file"
|
||||
@@ -5185,7 +5200,7 @@ function ProductClonePage(_props: ProductClonePageProps = {}) {
|
||||
</div>
|
||||
{renderComposerMenu()}
|
||||
</div>
|
||||
{(status === "idle" || status === "ready") && !showMainVideoWorkspace ? (
|
||||
{showPreGenerationGuides ? (
|
||||
<section className="ecom-command-quick-board" aria-label="快捷功能">
|
||||
{[
|
||||
{ label: "A+/详情页", tone: "detail", icon: <LayoutOutlined />, onClick: openQuickDetailPage },
|
||||
@@ -5210,7 +5225,7 @@ function ProductClonePage(_props: ProductClonePageProps = {}) {
|
||||
))}
|
||||
</section>
|
||||
) : null}
|
||||
{(status === "idle" || status === "ready") && !showMainVideoWorkspace ? (
|
||||
{showPreGenerationGuides ? (
|
||||
<section className="ecom-inspiration-lab" aria-label="电商灵感案例">
|
||||
<div className="ecom-inspiration-rows">
|
||||
{ecommerceInspirationRows.map((row) => (
|
||||
|
||||
@@ -455,19 +455,28 @@
|
||||
|
||||
.ecommerce-auth-modal__logo {
|
||||
position: relative;
|
||||
display: block;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 58px;
|
||||
height: 58px;
|
||||
margin: 0 auto 14px;
|
||||
overflow: hidden;
|
||||
border-radius: 13px;
|
||||
overflow: visible;
|
||||
border-radius: 0;
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.ecommerce-auth-modal__logo i {
|
||||
position: absolute;
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
border-radius: 10px;
|
||||
.ecommerce-auth-modal__logo img {
|
||||
display: block;
|
||||
width: 58px;
|
||||
height: 58px;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.ecommerce-auth-modal__logo i,
|
||||
.ecommerce-auth-modal__logo::before {
|
||||
content: none !important;
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.ecommerce-auth-modal__logo i:nth-child(1) {
|
||||
|
||||
Reference in New Issue
Block a user