c7135424e5
## 保存到相册点了没反应 上次改的时候,插入方法的锚点用的是「// AI 聊天」那段注释,而它在 AI 独立成页时已经被删掉了 —— 替换没匹配上,onSavePoster / drawPoster / saveToAlbum 三个方法一个都没进 js,按钮绑了个不存在的方法。 我的检查器没拦住,是因为「事件绑定是否有实现」那条写在临时的 audit.js 里,日常只跑 check.js。已经把这条并进 check.js —— 加完立刻抓出了本次 新写的 13 处缺样式 class,说明它管用。 ## 社区 帖子操作栏原来是 space-around 排三个宽度不一的项:点赞数从 9 变 10 整行就会跳。改成三等分,图标 32rpx 居中对齐,没有数字时显示「点赞/评论」 而不是一个孤零零的 0,加了按下态。 帖子头部原来副标题固定写死「宠友」两个字,等于没有信息。换成发布时间 (刚刚 / 12 分钟前 / 3 天前)。 评论弹层原来拿 .record-row 当评论用 —— 那是个「左右两端对齐」的行, 昵称在左内容在右,评论一长就被挤扁,完全不是评论该有的样子。重做成 头像 + 昵称/时间 + 内容的正常结构;没有头像字段就用昵称首字做色块, 比一律显示同一个 emoji 强。发送按钮有输入才点亮,支持键盘回车发送。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
111 lines
5.2 KiB
Plaintext
111 lines
5.2 KiB
Plaintext
.overlay{
|
|
position:fixed;inset:0;z-index:200;
|
|
background:rgba(26,18,12,.30);
|
|
opacity:0;pointer-events:none;transition:.2s ease;
|
|
backdrop-filter:blur(6rpx);-webkit-backdrop-filter:blur(6rpx);
|
|
}
|
|
.overlay.show{opacity:1;pointer-events:auto}
|
|
.sheet{
|
|
position:absolute;left:0;right:0;bottom:0;
|
|
background:#fff;border-radius:48rpx 48rpx 0 0;
|
|
padding:var(--sp-5) 0 0;
|
|
transform:translateY(106%);transition:.24s ease;
|
|
box-shadow:var(--sd-3);
|
|
}
|
|
.overlay.show .sheet{transform:translateY(0)}
|
|
.sheet-scroll{
|
|
box-sizing:border-box;
|
|
/* exportData / manageTasks / comments 是最长的三型,圆角间距变化后靠这个上限内滚 */
|
|
max-height:80vh;
|
|
padding:0 var(--sp-5) calc(120rpx + env(safe-area-inset-bottom));
|
|
}
|
|
.sheet-scroll::-webkit-scrollbar,.plan-chat::-webkit-scrollbar{width:0;height:0;display:none}
|
|
.sheetbar{width:80rpx;height:8rpx;border-radius:var(--r-full);background:#E1D8CF;margin:0 auto var(--sp-4)}
|
|
|
|
.sheet-h3{font-size:var(--fs-xl);font-weight:var(--fw-b);margin-bottom:var(--sp-3)}
|
|
.sheet-p{font-size:var(--fs-md);color:var(--text-2);line-height:1.65;margin-bottom:var(--sp-4)}
|
|
.sheet-p.pre,.poster-list.pre{white-space:pre-line}
|
|
.poster-h3{font-size:var(--fs-xl);font-weight:var(--fw-b);margin-bottom:var(--sp-3)}
|
|
|
|
.ai-input-row{display:flex;gap:var(--sp-3);align-items:center}
|
|
.ai-input-row .input{flex:1}
|
|
.ai-send{height:88rpx;line-height:88rpx;padding:0 var(--sp-4)}
|
|
|
|
/* 弹层内的日期选择器展示 */
|
|
.picker-box{color:var(--text)}
|
|
.del-btn{background:var(--red-soft);color:var(--red-ink)}
|
|
|
|
/* 管理任务 / 管理宠物 */
|
|
.mtask-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1rpx solid var(--line)}
|
|
.mtask-body{flex:1;min-width:0}
|
|
.mtask-b{font-size:var(--fs-md);font-weight:var(--fw-b)}
|
|
.mtask-pri{
|
|
margin-left:var(--sp-2);font-size:var(--fs-cap);font-weight:var(--fw-b);
|
|
color:var(--primary-ink);background:var(--primary-soft);padding:2rpx var(--sp-2);border-radius:var(--r-full);
|
|
}
|
|
.mtask-p{margin-top:6rpx;font-size:var(--fs-sm);color:var(--muted)}
|
|
.mtask-op{
|
|
flex:none;font-size:var(--fs-sm);font-weight:var(--fw-b);color:var(--primary-dark);
|
|
padding:var(--sp-1) var(--sp-3);background:var(--surface-2);border-radius:var(--r-xs);
|
|
}
|
|
.mtask-op.del{color:var(--red-ink)}
|
|
.mtask-form-row{display:flex;align-items:center;gap:var(--sp-3)}
|
|
/* 这条覆写了全局 .seg-btn 的高度,全局值变化时要一起看 */
|
|
.mtask-form-row .seg-btn{flex:none;padding:0 var(--sp-4);height:var(--h-sm);line-height:var(--h-sm)}
|
|
.mtask-form-row .picker-box{flex:1}
|
|
|
|
/* 图片选择器 */
|
|
.img-picker{display:flex;flex-wrap:wrap;gap:var(--sp-3)}
|
|
.img-thumb{position:relative;width:160rpx;height:160rpx;border-radius:var(--r-sm);overflow:hidden}
|
|
.img-thumb image{width:100%;height:100%}
|
|
.img-del{
|
|
position:absolute;top:0;right:0;width:44rpx;height:44rpx;
|
|
display:flex;align-items:center;justify-content:center;
|
|
background:rgba(0,0,0,.55);color:#fff;border-radius:0 var(--r-sm) 0 var(--r-sm);
|
|
}
|
|
.img-add{
|
|
width:160rpx;height:160rpx;border-radius:var(--r-sm);border:2rpx dashed #D8CFC4;
|
|
display:flex;align-items:center;justify-content:center;color:var(--muted2);background:var(--surface-2);
|
|
}
|
|
|
|
/* 导出健康档案 */
|
|
.export-box{
|
|
max-height:560rpx;overflow-y:auto;background:var(--surface-2);border-radius:var(--r-md);
|
|
padding:var(--sp-4);font-size:var(--fs-sm);line-height:1.7;color:var(--text-2);white-space:pre-line;
|
|
border:1rpx solid var(--line);margin-bottom:var(--sp-4);
|
|
}
|
|
.export-box::-webkit-scrollbar{width:0;height:0;display:none}
|
|
.mine-tag{
|
|
margin-left:var(--sp-1);font-size:var(--fs-cap);font-weight:var(--fw-b);
|
|
color:var(--primary-ink);background:var(--primary-soft);padding:2rpx var(--sp-1);border-radius:var(--r-full);
|
|
}
|
|
|
|
/* 离屏画布:挪到可视区外而不是 display:none,否则 selectorQuery 取不到节点 */
|
|
.poster-canvas{position:fixed;left:-9999rpx;top:0;width:600rpx;height:840rpx}
|
|
|
|
/* 评论。原来拿 .record-row(左右两端对齐)当评论用,昵称在左内容在右,
|
|
内容一长就被挤扁。改成头像 + 昵称时间 + 内容的正常结构。 */
|
|
.cm{display:flex;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1rpx solid var(--line)}
|
|
.cm:last-of-type{border-bottom:0}
|
|
.cm-av{
|
|
width:64rpx;height:64rpx;border-radius:var(--r-sm);flex:none;
|
|
display:flex;align-items:center;justify-content:center;
|
|
background:var(--primary-soft);color:var(--primary-ink);
|
|
font-size:var(--fs-md);font-weight:var(--fw-b);
|
|
}
|
|
.cm-body{flex:1;min-width:0}
|
|
.cm-head{display:flex;align-items:center;gap:var(--sp-1)}
|
|
.cm-name{font-size:var(--fs-sm);font-weight:var(--fw-b);color:var(--text-2)}
|
|
.cm-time{margin-left:auto;font-size:var(--fs-cap);color:var(--muted2);flex:none}
|
|
.cm-text{margin-top:6rpx;font-size:var(--fs-md);line-height:1.55;word-break:break-word}
|
|
.cm-tip{margin-top:var(--sp-3);text-align:center;color:var(--muted2);font-size:var(--fs-cap)}
|
|
|
|
.cm-input{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4)}
|
|
.cm-input .input{flex:1}
|
|
.cm-send{
|
|
flex:none;height:88rpx;padding:0 var(--sp-5);border-radius:var(--r-md);
|
|
display:flex;align-items:center;justify-content:center;
|
|
background:var(--line);color:#fff;font-size:var(--fs-md);font-weight:var(--fw-b);transition:.16s ease;
|
|
}
|
|
.cm-send.on{background:var(--cta)}
|