fix: center bottom composer between sidebar and teachers

This commit is contained in:
鲨鱼辣椒
2026-09-29 16:15:05 +08:00
parent e812371973
commit 521e1ee167
8 changed files with 78 additions and 15 deletions

View File

@@ -23,7 +23,7 @@
- Warm welcome heading, existing composer and a compact inspiration invitation share the empty-chat layout. Both the invitation and persistent sidebar button open only https://square.nianxx.cn/#explore in the system browser on explicit click.
- No public project feed, preview cards, community store or iframe remains in this feature. Existing unrelated Main routes are unchanged. The composer remains mounted across the first send; teacher introductions keep their prior three-successful-operation-round behavior and receive responsive clearance.
- Preserved the concurrent live help-label overlay (task 20260929-teacher-help-label-83a2f67c): the two buttons and suggestions text remain 帮我整体看🧠. Ported only its three source edits and synchronized existing expectations; peer checkout untouched.
- Temporary Renderer now loads this checkout's index-DHC9QT47.js. Existing Main PID 62668 remains running; formal installation, cloud configuration, user history and remote branches unchanged. Kept this worktree for the live trial.
- Temporary Renderer now loads this checkout's index-DI57yRAM.js. Existing Main PID 62668 remains running; formal installation, cloud configuration, user history and remote branches unchanged. Kept this worktree for the live trial.
## Verification
@@ -68,3 +68,12 @@ All three steps completed. Earlier public-feed investigation was feasibility wor
- Completed: composer is anchored below the independently scrolling welcome/link area, keeps its instance and draft, and remains centered while teacher clearance affects only the upper content.
- Verification: 33 focused unit tests, all 6 headless layout/interaction tests (including a 375×600 viewport), typecheck, scoped ESLint, build:vite, native E2E --list (20 cases) and diff checks passed. Visually reviewed the new desktop layout.
- Trial now shows the actual welcome screen with index-DHC9QT47.js, input bottom gap 16px, two teacher greetings and the square link; no cards, iframe or alert. Account, route and all 13 saved drafts preserved. Focus monitor recorded only Codex during the refresh. Evidence: trial composer-bottom-20260929/.
## Follow-up: Align Bottom Composer Between Project Sidebar And Teacher Bubble
- Latest user asks for the square invitation directly above the input, both anchored at the bottom and centered between the left project sidebar and the right teacher floating panel. Keep the floating panel at its existing width.
- Reuse this owned, clean checkout and live trial source after checking its manifest. Existing project context applies; no other task scope changes. Keep 340px teacher welcome width (viewport safety retained), reserve its horizontal space for the main column, group invitation with the composer, test geometry with a left sidebar and short-window fallback, then refresh without focus activation.
- Completed: invitation sits directly above the same mounted composer with a 12px gap. Both stay at the bottom and share the center of the space between the project sidebar and the teacher panel. The teacher panel retains its existing 340px width. Closing the panel or collapsing the sidebar recomputes the center; compact layouts scroll the heading without moving the input offscreen.
- Verification: typecheck, 77 focused unit tests, all 8 headless layout/interaction tests, lint:check (0 errors, 8 existing warnings), scoped ESLint, build:vite, native E2E --list (20 cases), documentation ownership and diff checks passed. Added desktop geometry assertions for both sidebar widths and dismissal, plus short-window input visibility. Inspected fixture and actual trial screenshots.
- Live trial: index-DI57yRAM.js, invitation-to-input gap 12px, teacher width 340px, center error 0px, input bottom gap 16px, two teacher greetings, no alert/cards/iframe. Auth identity, route and all 13 saved drafts preserved. Background refresh did not activate the app; focus monitor recorded only Chrome. The user later focused the app and conversation hydration recovered normally. Main PID 62668 remains unchanged. Evidence: trial composer-between-panels-20260929/.