v26110233 广场普通卡去话题;图上文字 30% 放顶部/中间;回复里「作者」拉开间距;自己的评论带孕周;我的收藏(首页「我的」入口 + 广场收藏层)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -325,8 +325,8 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
|
||||
</div>
|
||||
<div class="toast" id="toast"></div>
|
||||
|
||||
<script src="meta.js?v=26110232"></script>
|
||||
<script src="tests.js?v=26110232"></script>
|
||||
<script src="meta.js?v=26110233"></script>
|
||||
<script src="tests.js?v=26110233"></script>
|
||||
<script>
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
@@ -247,6 +247,19 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
.nc{display:block;width:100%;text-align:left;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 3px 12px rgba(170,110,90,.08);animation:ncIn .35s ease both}
|
||||
.nc:active{transform:scale(.985)}
|
||||
/* 我的投稿入口卡(11-02 从右上角挪到「全部」瀑布流第一位,点进 mine/ 独立页) */
|
||||
.nc.fvc{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:14px;background:#fff;color:var(--ink);font-size:13.5px;font-weight:900;text-align:left;box-shadow:0 4px 14px rgba(170,110,90,.08)}
|
||||
.fvc .fi{width:30px;height:30px;flex:none;border-radius:10px;display:grid;place-items:center;background:#FFF4D6;color:#F2A20C}
|
||||
.fvc .fi .ic{width:17px;height:17px;fill:currentColor;stroke:none}
|
||||
.fvc span{flex:1;min-width:0}.fvc small{display:block;font-size:11px;font-weight:600;color:var(--muted)}
|
||||
.fvc>.ic{width:14px;height:14px;color:#C9B6B0}
|
||||
/* 我的收藏(11-02 用户:收藏了要有地方找 → 首页「我的」页入口 → ?fav=1 打开这一层;广场「全部」里我的投稿卡下面也有入口) */
|
||||
#fvp{position:fixed;inset:0;z-index:35;background:var(--bg);transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}
|
||||
#fvp.show{transform:none}
|
||||
#fvp .nav{flex:none;padding-top:env(safe-area-inset-top);height:calc(46px + env(safe-area-inset-top))}
|
||||
#fvs{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:none;padding-bottom:calc(30px + env(safe-area-inset-bottom))}
|
||||
#fvs .fvh{margin:4px 14px 0;font-size:12.5px;color:var(--muted)}
|
||||
#fvs .fve{margin:40px 24px;text-align:center;color:var(--muted);font-size:13px;line-height:1.7}
|
||||
#fvs .fve b{display:block;margin-bottom:4px;font-size:16px;color:var(--ink)}
|
||||
.nc.myc{position:relative;padding:14px 12px 12px;color:#fff;background:linear-gradient(150deg,#FF8A65,#F0607E 70%,#D8609E);box-shadow:0 10px 20px -14px #E8506E}
|
||||
.nc.myc::after{content:"";position:absolute;right:-26px;top:-30px;width:96px;height:96px;border-radius:50%;background:rgba(255,255,255,.15)}
|
||||
.myc .mi{position:relative;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.22)}
|
||||
@@ -302,6 +315,10 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
.nc .tgt span{background:#FFF2A6;padding:1px 5px;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px}
|
||||
.nc:nth-child(odd) .tgt span{background:#fff}
|
||||
.nc .ovt~*,.nc .tgt~*{display:none}
|
||||
.nc .ovt.at-top{bottom:auto;top:0;padding:11px 11px 56px;background:linear-gradient(rgba(30,18,14,.72),rgba(30,18,14,.35) 70%,transparent)}
|
||||
.nc .ovt.at-mid{bottom:auto;top:50%;transform:translateY(-50%);padding:16px 11px;background:rgba(30,18,14,.42)}
|
||||
.nc .tgt.at-top{bottom:auto;top:12px}
|
||||
.nc .tgt.at-mid{bottom:auto;top:50%;transform:translateY(-50%)}
|
||||
.cm-ld{padding:22px 0;text-align:center;font-size:12.5px;color:#B8A39D}
|
||||
.nc.s-ov .nb .tp,.nc.s-tg .nb .tp{display:none} /* 11-02 用户:图上带字的卡,下方放一行标题、不放话题 */
|
||||
.nc.s-ov .nb h3,.nc.s-tg .nb h3{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:unset}
|
||||
@@ -391,7 +408,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
.ci-b{flex:1;min-width:0}
|
||||
.ci-n{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
|
||||
.ci-n b{color:#7A6A64;font-weight:700}
|
||||
.ci-n .au{height:16px;padding:0 5px;border-radius:4px;background:#F4593C;color:#fff;font-size:10px;font-weight:800;line-height:16px}
|
||||
.ci-n .au{height:16px;margin-left:3px;padding:0 5px;border-radius:4px;background:#F4593C;color:#fff;font-size:10px;font-weight:800;line-height:16px}
|
||||
.ci-n .mt{height:16px;padding:0 5px;border-radius:4px;background:#FFE7E0;color:#EC4D33;font-size:10px;font-weight:800;line-height:16px}
|
||||
.ci-n .lk{margin-left:auto}
|
||||
.ci-t{margin:3px 0 0;font-size:14.5px;line-height:1.65;color:#2F2624;word-break:break-word}
|
||||
@@ -400,7 +417,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
.rp p{margin:0 0 4px}
|
||||
.rp p:last-child{margin-bottom:0}
|
||||
.rp b{font-weight:700;color:#7A6A64}
|
||||
.rp .au{display:inline-block;height:15px;margin:0 3px 0 -1px;padding:0 4px;border-radius:4px;background:#F4593C;color:#fff;font-size:9.5px;font-weight:800;line-height:15px;vertical-align:1px}
|
||||
.rp .au{display:inline-block;height:15px;margin:0 4px 0 7px;padding:0 4px;border-radius:4px;background:#F4593C;color:#fff;font-size:9.5px;font-weight:800;line-height:15px;vertical-align:1px}
|
||||
.cm-end{padding:18px 0 6px;text-align:center;font-size:12px;color:#C9B7B1}
|
||||
|
||||
.bar{flex:none;display:flex;align-items:center;gap:6px;padding:8px 10px calc(8px + var(--safe-b)) 14px;background:#fff;border-top:1px solid var(--line)}
|
||||
@@ -517,6 +534,10 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="fvp" aria-hidden="true">
|
||||
<div class="nav"><button class="bk" id="fvBack" type="button" aria-label="返回"><svg class="ic"><use href="#i-back"/></svg></button><h1><span>我的收藏</span></h1><i class="nsp"></i></div>
|
||||
<div id="fvs"><div class="fvh" id="fvh"></div><div class="wf" id="fvw"><div class="col"></div><div class="col"></div></div></div>
|
||||
</div>
|
||||
<div id="dt" aria-hidden="true">
|
||||
<div class="dnav" id="dnav">
|
||||
<button class="bk" id="dback" type="button" aria-label="返回"><svg class="ic"><use href="#i-back"/></svg></button>
|
||||
@@ -549,10 +570,10 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
<div id="sheet" role="dialog" aria-modal="true"><i class="sg"></i><div class="sbd" id="sbd"></div></div>
|
||||
<div class="toast" id="toast"></div>
|
||||
|
||||
<script src="topics.js?v=26110232"></script>
|
||||
<script src="data.js?v=26110232"></script>
|
||||
<script src="feed.js?v=26110232"></script>
|
||||
<script src="ceshi/meta.js?v=26110232"></script>
|
||||
<script src="topics.js?v=26110233"></script>
|
||||
<script src="data.js?v=26110233"></script>
|
||||
<script src="feed.js?v=26110233"></script>
|
||||
<script src="ceshi/meta.js?v=26110233"></script>
|
||||
<script>
|
||||
(function () {
|
||||
'use strict';
|
||||
@@ -617,7 +638,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
模拟内容,见 AGENTS.md 12c;文件较大,进页面后后台拉,详情页先显示「评论加载中」 */
|
||||
var CMD = null, CMERR = false;
|
||||
var avP = function (a) { return typeof a === 'number' ? 'av/' + ('000' + a).slice(-4) + '.webp' : '../assets/img/mom/' + a + '.jpg'; };
|
||||
fetch('cm.json?v=26110232').then(function (r) { return r.json(); }).then(function (j) {
|
||||
fetch('cm.json?v=26110233').then(function (r) { return r.json(); }).then(function (j) {
|
||||
CMD = j; if (openId && NBY[openId]) { renderComments(NBY[openId]); syncBar(NBY[openId]); }
|
||||
}).catch(function () { CMERR = true; if (openId && NBY[openId]) renderComments(NBY[openId]); });
|
||||
function commentsOf(n) {
|
||||
@@ -675,12 +696,15 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
function cardHTML(n, showTopic, sty) {
|
||||
var t = TBY[n.t], r = n.ratio, ov = '';
|
||||
if (!n.photo) sty = '';
|
||||
/* 11-02 用户:图上放的短语「不知所云」→ 图上直接放完整标题;卡片下方再放一行标题(单行省略)、不放话题 */
|
||||
if (sty === 'ov') { r = Math.max(r, 1.33); ov = '<div class="ovt">' + (n.stage ? '<small>' + esc(n.stage) + '</small>' : '') + '<b>' + esc(n.title) + '</b></div>'; }
|
||||
else if (sty === 'tg') { r = Math.max(r, 1.2); ov = '<div class="tgt"><b><span>' + esc(n.title) + '</span></b></div>'; }
|
||||
/* 11-02 用户:图上放的短语「不知所云」→ 图上直接放完整标题;卡片下方再放一行标题(单行省略)、不放话题。
|
||||
11-02 二改:普通卡(图上没字)也不放话题;图上文字 70% 在底部,30% 放顶部/中间(按帖子 id 哈希固定,刷新不跳) */
|
||||
var ph = 0; for (var q = 0; q < n.id.length; q++) ph = (ph * 31 + n.id.charCodeAt(q)) >>> 0;
|
||||
var pos = ph % 10 < 7 ? '' : ph % 10 < 9 ? ' at-mid' : ' at-top';
|
||||
if (sty === 'ov') { r = Math.max(r, 1.33); ov = '<div class="ovt' + pos + '">' + (n.stage ? '<small>' + esc(n.stage) + '</small>' : '') + '<b>' + esc(n.title) + '</b></div>'; }
|
||||
else if (sty === 'tg') { r = Math.max(r, 1.2); ov = '<div class="tgt' + pos + '"><b><span>' + esc(n.title) + '</span></b></div>'; }
|
||||
return '<button type="button" class="nc' + (sty ? ' s-' + sty : '') + '" data-id="' + n.id + '"><div class="cvw">' +
|
||||
coverHTML(n, 'calc(var(--cw) * ' + r + ')') + ov + '</div>' +
|
||||
'<div class="nb"><h3>' + esc(n.title) + '</h3>' + (showTopic ? '<span class="tp k-' + t.cat + '">#' + esc(t.name) + '#</span>' : '') + '<div class="nf"><img src="' + esc(avOf(n)) + '" alt="" loading="lazy"><span class="nm">' + esc(n.author) + '</span>' + likeHTML(n) + '</div></div></button>';
|
||||
'<div class="nb"><h3>' + esc(n.title) + '</h3><div class="nf"><img src="' + esc(avOf(n)) + '" alt="" loading="lazy"><span class="nm">' + esc(n.author) + '</span>' + likeHTML(n) + '</div></div></button>';
|
||||
}
|
||||
|
||||
/* ---------- 列表 ---------- */
|
||||
@@ -751,7 +775,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
var CS_MIX = ['t11', 't29', 't01', 't24', 't26', 't16', 't03', 't27', 't14', 't21', 't30', 't18'];
|
||||
function csDone() { try { return (JSON.parse(localStorage.getItem('mmbox.gcts.v1') || '{}')[param('openid') || '_guest']) || {}; } catch (e) { return {}; } }
|
||||
function ceshiURL(id, fromTab) {
|
||||
var q = new URLSearchParams(location.search); ['t', 'n', 'c', 'id', 'mine', 'write'].forEach(function (k) { q.delete(k); });
|
||||
var q = new URLSearchParams(location.search); ['t', 'n', 'c', 'id', 'mine', 'write', 'fav'].forEach(function (k) { q.delete(k); });
|
||||
if (fromTab) q.set('c', 'ceshi');
|
||||
q.set('id', id);
|
||||
return 'ceshi/?' + q.toString() + location.hash;
|
||||
@@ -878,6 +902,8 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
if (n.mine) {
|
||||
tmp.innerHTML = myCardHTML(); var me = tmp.firstChild;
|
||||
cols[0].appendChild(me); hs[0] += me.offsetHeight + 8;
|
||||
tmp.innerHTML = favCardHTML(); var fe = tmp.firstChild;
|
||||
cols[0].appendChild(fe); hs[0] += fe.offsetHeight + 8;
|
||||
return;
|
||||
}
|
||||
if (n.test) {
|
||||
@@ -906,7 +932,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
if (t) q.set('t', t); else q.delete('t');
|
||||
if (!t && catF) q.set('c', catF); else q.delete('c'); /* 只选了分类没选话题时记在 ?c=,刷新 / 详情返回还在原分类 */
|
||||
if (n) q.set('n', n); else q.delete('n');
|
||||
q.delete('mine'); q.delete('write');
|
||||
q.delete('mine'); q.delete('write'); q.delete('fav');
|
||||
var s = q.toString();
|
||||
return location.pathname + (s ? '?' + s : '') + location.hash; /* hash(身份)原样保留 */
|
||||
}
|
||||
@@ -1069,6 +1095,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
}, true);
|
||||
$('#wf').addEventListener('click', function (e) {
|
||||
if (e.target.closest('[data-mine]')) { haptic(); location.href = mineURL(); return; }
|
||||
if (e.target.closest('[data-fav]')) { haptic(); openFav(false); return; }
|
||||
var ts = e.target.closest('[data-test]');
|
||||
if (ts) { haptic(); location.href = ceshiURL(ts.dataset.test, catF === 'ceshi'); return; }
|
||||
var lk = e.target.closest('[data-like]');
|
||||
@@ -1085,10 +1112,15 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
return /^\d{1,2}[.、.]\s*/.test(p) ? '<p class="li">' + esc(p) + '</p>' : '<p>' + esc(p) + '</p>';
|
||||
}).join('');
|
||||
}
|
||||
/* 11-02 用户:自己发的评论也带上孕周(首页写进 mmbox.gcwk.v1;产后显示「宝妈」) */
|
||||
function myStage() {
|
||||
try { var g = JSON.parse(localStorage.getItem('mmbox.gcwk.v1') || 'null'); return !g ? '' : g.pp ? '宝妈' : g.w ? '孕 ' + g.w + ' 周' : ''; } catch (e) { return ''; }
|
||||
}
|
||||
function commentHTML(c, mine) {
|
||||
if (mine) {
|
||||
var st = c.s || myStage();
|
||||
return '<div class="ci mine"><span class="me">我</span><div class="ci-b"><div class="ci-n"><b>' + esc(MYNAME) + '</b><span class="mt">我</span></div>' +
|
||||
'<p class="ci-t">' + esc(c.t) + '</p></div></div>'; /* 11-02 自己的评论也不显示时间 */
|
||||
'<p class="ci-t">' + esc(c.t) + '</p>' + (st ? '<div class="ci-s">' + esc(st) + '</div>' : '') + '</div></div>'; /* 11-02 自己的评论也不显示时间 */
|
||||
}
|
||||
var on = !!ME.cl[c.key], n = c.likes + (on ? 1 : 0);
|
||||
var rp = c.r.length ? '<div class="rp">' + c.r.map(function (x) { return '<p><b>' + esc(x.n) + '</b>' + (x.au ? '<span class="au">作者</span>' : '') + ':' + esc(x.t) + '</p>'; }).join('') + '</div>' : '';
|
||||
@@ -1148,6 +1180,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
$('#cin').blur();
|
||||
var id = openId; openId = '';
|
||||
if (id) syncCardLike(id);
|
||||
if (fvOn) renderFav(); /* 详情里取消了收藏,回到收藏页要立刻消失 */
|
||||
}
|
||||
function closeNote() {
|
||||
if (!openId) return;
|
||||
@@ -1189,7 +1222,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
});
|
||||
$('#bfv').addEventListener('click', function () {
|
||||
var n = NBY[openId]; if (!n) return;
|
||||
if (ME.fav[n.id]) delete ME.fav[n.id]; else ME.fav[n.id] = 1;
|
||||
if (ME.fav[n.id]) delete ME.fav[n.id]; else ME.fav[n.id] = Date.now(); /* 存收藏时间,「我的收藏」按它倒序 */
|
||||
save(); haptic(); syncBar(n, ME.fav[n.id] ? 'fv' : '');
|
||||
toast(ME.fav[n.id] ? '已收藏,在这台手机上随时能找到' : '已取消收藏');
|
||||
});
|
||||
@@ -1205,7 +1238,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
function send() {
|
||||
var n = NBY[openId], v = cin.value.trim();
|
||||
if (!n || !v) return;
|
||||
(ME.cm[n.id] = myCm(n.id)).push({ t: v.slice(0, 200), ts: Date.now() });
|
||||
(ME.cm[n.id] = myCm(n.id)).push({ t: v.slice(0, 200), ts: Date.now(), s: myStage() });
|
||||
save(); haptic();
|
||||
cin.value = ''; $('#csend').disabled = true; cin.blur(); $('#bar').classList.remove('typing');
|
||||
renderComments(n); syncBar(n);
|
||||
@@ -1258,6 +1291,43 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
: '<p>写下你的故事,被选中得 <em>¥30</em> + <em>500</em> 兜豆</p>') +
|
||||
'<span class="go">' + (MINE.length ? '查看全部' : '去看看') + '<svg class="ic"><use href="#i-right"/></svg></span></button>';
|
||||
}
|
||||
function favIds() {
|
||||
return Object.keys(ME.fav).filter(function (id) { return NBY[id]; }).sort(function (a, b) { return (+ME.fav[b] || 0) - (+ME.fav[a] || 0); });
|
||||
}
|
||||
function favCardHTML() {
|
||||
var k = favIds().length;
|
||||
return '<button type="button" class="nc fvc" id="fvc" data-fav="1"><i class="fi"><svg class="ic"><use href="#i-star-f"/></svg></i><span>我的收藏<small>' + (k ? '已收藏 ' + k + ' 篇' : '看到喜欢的点 ☆ 收藏') + '</small></span><svg class="ic"><use href="#i-right"/></svg></button>';
|
||||
}
|
||||
var fvOn = false, fvDeep = false;
|
||||
function renderFav() {
|
||||
var ids = favIds(), cols = $('#fvw').children, hs = [0, 0], tmp = document.createElement('div');
|
||||
cols[0].innerHTML = ''; cols[1].innerHTML = '';
|
||||
$('#fvh').textContent = ids.length ? '共 ' + ids.length + ' 篇 · 只保存在这台手机上' : '';
|
||||
var em = $('#fvs .fve'); if (em) em.remove();
|
||||
if (!ids.length) { $('#fvw').insertAdjacentHTML('beforebegin', '<div class="fve"><b>还没有收藏</b>看到有用的帖子,点底部的 ☆ 就能收藏到这里</div>'); return; }
|
||||
$('#fvw').style.setProperty('--cw', (cols[0].clientWidth || 175) + 'px');
|
||||
ids.forEach(function (id, k) {
|
||||
tmp.innerHTML = cardHTML(NBY[id], false, ''); var el = tmp.firstChild; el.style.animationDelay = Math.min(k, 10) * 30 + 'ms';
|
||||
var c = hs[0] <= hs[1] ? 0 : 1; cols[c].appendChild(el); hs[c] += el.offsetHeight + 8;
|
||||
});
|
||||
}
|
||||
function openFav(deep) {
|
||||
fvOn = true; fvDeep = !!deep;
|
||||
var p = $('#fvp'); p.classList.add('show'); p.setAttribute('aria-hidden', 'false'); $('#fvs').scrollTop = 0;
|
||||
renderFav();
|
||||
}
|
||||
function closeFav() {
|
||||
/* 从首页「我的 → 我的收藏」直接进来的,返回就回首页 */
|
||||
if (fvDeep && history.length > 1 && document.referrer && document.referrer.indexOf('/guangchang/') < 0) { history.back(); return; }
|
||||
fvOn = false; var p = $('#fvp'); p.classList.remove('show'); p.setAttribute('aria-hidden', 'true');
|
||||
var c = $('#fvc'); if (c) c.outerHTML = favCardHTML();
|
||||
history.replaceState(history.state, '', setQuery(cur, ''));
|
||||
}
|
||||
$('#fvBack').addEventListener('click', closeFav);
|
||||
$('#fvw').addEventListener('click', function (e) {
|
||||
var lk = e.target.closest('[data-like]'); if (lk) { toggleLike(lk.dataset.like); syncCardLike(lk.dataset.like); return; }
|
||||
var c = e.target.closest('[data-id]'); if (c) { haptic(); openNote(c.dataset.id, true); }
|
||||
});
|
||||
function syncMyCard() { var c = $('#myc'); if (c) { c.outerHTML = myCardHTML(); } }
|
||||
function loadMine(cb) {
|
||||
if (!OPENID) return;
|
||||
@@ -1433,6 +1503,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
selectTopic(param('t') && TBY[param('t')] ? param('t') : '', false);
|
||||
if (deep && NBY[deep]) openNote(deep, false);
|
||||
loadApproved();
|
||||
if (q0.get('fav') === '1') openFav(true); /* 首页「我的 → 我的收藏」 */
|
||||
if (q0.get('mine') === '1') location.href = mineURL(); /* 首页审核提醒 ?mine=1 → 我的投稿页(selectTopic 已把 mine 从地址里去掉,返回不会再跳) */
|
||||
else if (q0.get('write') === '1') { loadMine(function () {}); openCompose(q0.get('t') || ''); } /* 我的投稿页「写新的故事 / 修改后重投」:结果在那页已看过,不再弹 */
|
||||
else loadMine(); /* 我的投稿页「写新的故事 / 修改后重投」 */
|
||||
|
||||
@@ -105,7 +105,7 @@ main{padding:6px 16px 0}
|
||||
</div>
|
||||
<div class="wb"><button type="button" id="write"><svg class="ic" viewBox="0 0 24 24"><path d="M12 20h9M16.5 3.5a2.1 2.1 0 013 3L7 19l-4 1 1-4z"/></svg>写新的故事</button></div>
|
||||
|
||||
<script src="../topics.js?v=26110232"></script>
|
||||
<script src="../topics.js?v=26110233"></script>
|
||||
<script>
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
Reference in New Issue
Block a user