auto-save 2026-05-15 19:24 (~4)

This commit is contained in:
2026-05-15 19:24:49 +08:00
parent 7d4efa4844
commit c586beb87a
4 changed files with 41 additions and 45 deletions

View File

@@ -1,11 +1,5 @@
{
"entries": [
{
"files_changed": 1,
"message": "Claude 会话活跃 · 最近命令claude · 1 项未提交变更 · 最近提交auto-save 2026-05-14 03:20 (~4)",
"ts": "2026-05-13T19:23:12Z",
"type": "session-heartbeat"
},
{
"files_changed": 3,
"hash": "65f81ef",
@@ -3257,6 +3251,13 @@
"type": "session-heartbeat",
"message": "Codex 会话活跃 · 最近命令codex · 1 项未提交变更 · 最近提交auto-save 2026-05-15 19:13 (~2)",
"files_changed": 1
},
{
"ts": "2026-05-15T19:19:18+08:00",
"type": "commit",
"message": "auto-save 2026-05-15 19:19 (~4)",
"hash": "7d4efa4",
"files_changed": 4
}
]
}

View File

@@ -379,47 +379,43 @@
z-index: 10;
display: grid;
min-height: 100vh;
grid-template-columns: minmax(320px, 460px) minmax(280px, 320px);
grid-template-columns: minmax(280px, 370px);
align-items: center;
justify-content: center;
gap: clamp(28px, 8vw, 120px);
padding: clamp(20px, 4vw, 56px);
}
.login-source-character-panel {
width: min(460px, 36vw);
border: 1px solid rgba(140, 180, 120, 0.14);
border-radius: 16px;
background: rgba(10, 18, 10, 0.28);
padding: 16px;
box-shadow: 0 8px 40px rgba(0, 0, 0, 0.32);
backdrop-filter: blur(12px);
}
.login-source-character-panel .login-character-stage {
min-height: 330px;
border-color: rgba(255, 255, 255, 0.12);
background:
linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
linear-gradient(180deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
rgba(255, 255, 255, 0.035);
background-size: 28px 28px, 28px 28px, auto;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.login-source-character-panel .login-character-stage::after {
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.24));
}
.login-source-character-panel .login-stage-grid {
border-color: rgba(255, 255, 255, 0.11);
}
.login-source-character-panel .login-characters-container {
transform: translateX(-50%) scale(0.78);
pointer-events: none;
}
.login-page--oasis .login-source-auth-panel {
width: min(320px, calc(100vw - 40px));
padding: 22px;
display: block;
width: min(370px, calc(100vw - 40px));
padding: 18px 20px 20px;
pointer-events: auto;
background: rgba(10, 18, 10, 0.2);
backdrop-filter: none;
}
.login-page--source .login-auth-icon {
margin-bottom: 0;
}
.login-source-character-strip {
height: 188px;
margin-bottom: 14px;
overflow: hidden;
pointer-events: none;
}
.login-source-character-strip .login-character-stage {
min-height: 188px;
border: 0;
background: transparent;
box-shadow: none;
}
.login-source-character-strip .login-character-stage::after,
.login-source-character-strip .login-stage-grid,
.login-source-character-strip .login-character-base {
display: none;
}
.login-source-character-strip .login-characters-container {
transform: translateX(-50%) scale(0.48);
}
.login-hero {
isolation: isolate;
color: #282828;

View File

@@ -88,11 +88,10 @@ export default function LoginPage() {
<OasisCanvas />
<div className="login-oasis-shade" />
<div className="login-source-overlay">
<section className="login-source-character-panel" aria-hidden="true">
<AnimatedLoginCharacters mood={mood} eyeOffset={eyeOffset} />
</section>
<section className="login-auth-panel login-source-auth-panel flex items-center rounded-[8px]">
<section className="login-auth-panel login-source-auth-panel login-source-combo-panel rounded-[8px]">
<div className="login-source-character-strip" aria-hidden="true">
<AnimatedLoginCharacters mood={mood} eyeOffset={eyeOffset} />
</div>
<form className="w-full" onSubmit={onSubmit}>
<div className="mb-4">
<div className="login-auth-icon inline-flex h-9 w-9 items-center justify-center rounded-[8px] text-white">

View File

@@ -24,10 +24,10 @@ export function OasisCanvas() {
const listenerOptions = { capture: true, passive: true }
window.addEventListener("pointermove", onPointerMove, listenerOptions)
document.addEventListener("pointermove", onPointerMove, listenerOptions)
window.addEventListener("pointerleave", onPointerLeave, listenerOptions)
return () => {
window.removeEventListener("pointermove", onPointerMove, listenerOptions)
document.removeEventListener("pointermove", onPointerMove, listenerOptions)
window.removeEventListener("pointerleave", onPointerLeave, listenerOptions)
}
}, [])