This commit is contained in:
jeremygan2021
2026-03-27 14:00:56 +08:00
parent 84b243dc52
commit da24458e5d
5 changed files with 31 additions and 1 deletions

View File

@@ -779,6 +779,9 @@
<div class="checkbox-wrapper">
<input type="checkbox" id="wall_show_qrcode"> <label for="wall_show_qrcode">显示扫码签到二维码</label>
</div>
<div class="checkbox-wrapper">
<input type="checkbox" id="wall_show_seating"> <label for="wall_show_seating">显示泡泡的分桌信息(如第几桌)</label>
</div>
<div class="form-group">
<label>大屏显示字段(基于签到字段配置)</label>
<p style="font-size: 0.85em; color: var(--text-muted); margin-bottom: 10px;">勾选要在签到大屏上显示的字段,字段名称与签到字段设置同步</p>
@@ -1053,6 +1056,7 @@
document.getElementById('wall_show_title').checked = wc.show_title !== false;
document.getElementById('wall_learn_more_url').value = wc.learn_more_url || '';
document.getElementById('wall_show_qrcode').checked = wc.show_qrcode === true;
document.getElementById('wall_show_seating').checked = wc.show_seating === true;
});
function renderFieldConfig(tbodyId, fieldConfig, orderedKeys) {
@@ -1601,6 +1605,7 @@
show_title: document.getElementById('wall_show_title').checked,
learn_more_url: document.getElementById('wall_learn_more_url').value,
show_qrcode: document.getElementById('wall_show_qrcode').checked,
show_seating: document.getElementById('wall_show_seating').checked,
show_fields: getWallDisplayFieldsFromUI()
},

View File

@@ -152,6 +152,22 @@
border-radius: 10px;
}
/* 座位标签样式 */
.bubble-seat {
position: absolute;
top: -8px;
right: -8px;
background: linear-gradient(135deg, #ff6b6b, #ff4757);
color: white;
font-size: 0.65rem;
font-weight: bold;
padding: 2px 6px;
border-radius: 10px;
box-shadow: 0 2px 8px rgba(255, 71, 87, 0.4);
white-space: nowrap;
border: 2px solid rgba(255, 255, 255, 0.8);
}
/* Central Spotlight Card */
.spotlight-container {
position: absolute;
@@ -530,6 +546,14 @@
<div class="bubble-avatar" style="font-size: ${fontSize}">${bubbleContent}</div>
`;
// 显示座位信息(如果启用且用户有座位号)
if (WALL_CONFIG.show_seating === true && user.location) {
const seatElement = document.createElement('div');
seatElement.className = 'bubble-seat';
seatElement.textContent = user.location;
this.element.appendChild(seatElement);
}
// Interaction: Click to show in spotlight
this.element.style.cursor = 'pointer';
this.element.addEventListener('click', (e) => {