]> acesimba.cloud Git - StationBuilder.git/commitdiff
feat: 左下角添加「设计方案」按钮(渐变淡紫,10px)
authorroot <root@localhost.localdomain>
Wed, 9 Sep 2026 05:27:32 +0000 (13:27 +0800)
committerroot <root@localhost.localdomain>
Wed, 9 Sep 2026 05:27:32 +0000 (13:27 +0800)
打开 design-doc.html(新窗口)。原顶栏入口在按 zip 重构时移除,
现在按用户要求以浮动按钮形式放在左下角,靠近最低端。

app/globals.css
app/page.tsx

index 658bacca2407f5755537e0bbc3897bebaf634f3e..9761793d6f713fc344e1f51faeee122797bf2499 100644 (file)
@@ -29,6 +29,8 @@
 
 /* 右下角浮动 AI 会话 */
 .ai-fab{position:fixed;right:22px;bottom:22px;z-index:80;width:54px;height:54px;border-radius:50%;border:0;background:transparent;box-shadow:0 8px 22px #0a85c355;display:grid;place-items:center;cursor:pointer;touch-action:none;user-select:none}.ai-fab-icon{width:54px;height:54px;border-radius:50%;object-fit:cover;-webkit-user-drag:none;user-drag:none;user-select:none;pointer-events:none}
+.design-doc-link{position:fixed;left:12px;bottom:10px;z-index:70;padding:3px 10px;font-size:10px;line-height:1.4;color:#fff;text-decoration:none;border-radius:10px;background:linear-gradient(135deg,#b39ddb 0%,#d1c4e9 100%);box-shadow:0 2px 6px #b39ddb55;opacity:.85;transition:opacity .15s}
+.design-doc-link:hover{opacity:1;color:#fff}
 .ai-fab:active{cursor:grabbing}
 .ai-fab:hover:not(:active){transform:translateY(-1px);box-shadow:0 12px 26px #0a85c366}
 .ai-dialog{position:fixed;right:22px;bottom:88px;z-index:81;width:25vw;min-width:320px;height:70vh;min-height:420px;background:#fff;border:1px solid #d2d6d9;border-radius:10px;box-shadow:0 18px 48px #0003;display:flex;flex-direction:column;overflow:hidden}
index 32342e91162c8caec3b0f7610cb85b4cc222dbe9..7cf569eab3bab017763918fa59eac7ee166c8024 100644 (file)
@@ -654,6 +654,7 @@ export default function Home(){
     </div>{SITE_EDIT_STEPS.slice(0,-1).includes(page as SiteEditSection)&&<div className="sticky-actions"><Button secondary onClick={()=>{const i=SITE_EDIT_STEPS.indexOf(page as SiteEditSection);go(i>0?SITE_EDIT_STEPS[i-1]:"projects")}}>上一步</Button><div><Button secondary onClick={()=>notify("草稿已保存")}>保存草稿</Button><Button onClick={()=>{const i=SITE_EDIT_STEPS.indexOf(page as SiteEditSection);go(SITE_EDIT_STEPS[i+1])}}>下一步</Button></div></div>}{page==="siteEdit"&&<div className="sticky-actions"><Button secondary onClick={()=>{const i=SITE_EDIT_STEPS.indexOf(siteEditSection);if(i>0)setSiteEditSection(SITE_EDIT_STEPS[i-1]);else go("projects")}}>上一步</Button><div><Button secondary onClick={()=>notify("草稿已保存")}>保存草稿</Button>{siteEditSection!=="generate"&&<Button onClick={()=>{const i=SITE_EDIT_STEPS.indexOf(siteEditSection);setSiteEditSection(SITE_EDIT_STEPS[i+1])}}>下一步</Button>}</div></div>}</main>
     <footer className="site-footer">陕ICP备2026022239号-2</footer>
     {addingDomain&&page==="domainSettings"&&<div className="dlg-backdrop" onMouseDown={()=>{setAddingDomain(false);setNewDomainName("");}}><div className="dlg-box domain-create-dialog" onMouseDown={e=>e.stopPropagation()}><h2>新增领域</h2><p>创建后可在领域方案和站点基本信息中直接选择。</p><input autoFocus value={newDomainName} maxLength={6} placeholder="请输入领域名称(最多 6 个字)" onChange={e=>setNewDomainName(e.target.value)} onKeyDown={async e=>{if(e.key==="Enter")await doAddDomain();if(e.key==="Escape"){setAddingDomain(false);setNewDomainName("");}}}/><div className="dlg-actions"><Button secondary onClick={()=>{setAddingDomain(false);setNewDomainName("");}}>取消</Button><Button disabled={!newDomainName.trim()} onClick={doAddDomain}>创建</Button></div></div></div>}
+    <a className="design-doc-link" href="design-doc.html" target="_blank" rel="noopener">设计方案</a>
     {toast&&<div className="toast"><b>✓</b>{toast}</div>}{modal&&<Modal type={modal} close={()=>setModal("")} notify={notify} promptData={promptData} feedbackCube={feedbackCube} refineCube={refineCube} refining={refining} refineLog={refineLog}/>}
     {!aiOpen&&!manualAssetActive&&<button ref={fabRef} className="ai-fab" title="AI 助手 · 拖动可移动位置,双击复位" aria-label="AI 助手"
       style={fabPos?{left:fabPos.x,top:fabPos.y,right:"auto",bottom:"auto"}:undefined}