v0.8.2: DatePicker/Select 暗色主题、公告跑马灯、Toast 全局化、失败原因 tooltip v0.8.3: 团队详情抽屉→弹窗重构 + 修改秒数池功能 + member_count 修复 v0.8.4: AdminAuditLog 模型 + 12 处管理操作埋点 + 日志查询页面(/admin/logs) 审计日志覆盖所有管理员 mutation 操作(充值、修改额度、创建/禁用用户等), 记录操作人、变更前后值、IP 地址,支持按操作类型/操作人/日期筛选。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
147 lines
2.4 KiB
CSS
147 lines
2.4 KiB
CSS
.wrapper {
|
|
position: relative;
|
|
display: inline-block;
|
|
}
|
|
|
|
.trigger {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
padding: 8px 12px;
|
|
background: var(--color-bg-card);
|
|
border: 1px solid var(--color-border-card);
|
|
border-radius: 8px;
|
|
color: var(--color-text-primary);
|
|
font-size: 13px;
|
|
cursor: pointer;
|
|
outline: none;
|
|
min-width: 130px;
|
|
transition: border-color 0.15s;
|
|
}
|
|
|
|
.trigger:hover,
|
|
.trigger:focus {
|
|
border-color: var(--color-primary);
|
|
}
|
|
|
|
.placeholder {
|
|
color: var(--color-text-disabled);
|
|
}
|
|
|
|
.calendarIcon {
|
|
color: var(--color-text-secondary);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.clearBtn {
|
|
background: none;
|
|
border: none;
|
|
color: var(--color-text-secondary);
|
|
cursor: pointer;
|
|
padding: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
margin-left: auto;
|
|
}
|
|
|
|
.clearBtn:hover {
|
|
color: var(--color-text-primary);
|
|
}
|
|
|
|
.dropdown {
|
|
position: absolute;
|
|
top: calc(100% + 4px);
|
|
left: 0;
|
|
z-index: 1000;
|
|
background: #16161e;
|
|
border: 1px solid var(--color-border-card);
|
|
border-radius: 12px;
|
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
|
|
backdrop-filter: blur(20px) saturate(180%);
|
|
padding: 12px;
|
|
min-width: 280px;
|
|
}
|
|
|
|
.header {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.navBtn {
|
|
background: none;
|
|
border: none;
|
|
color: var(--color-text-secondary);
|
|
cursor: pointer;
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
display: flex;
|
|
align-items: center;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.navBtn:hover {
|
|
background: rgba(255, 255, 255, 0.05);
|
|
color: var(--color-text-primary);
|
|
}
|
|
|
|
.monthLabel {
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
color: var(--color-text-primary);
|
|
}
|
|
|
|
.weekRow {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
text-align: center;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.weekDay {
|
|
font-size: 11px;
|
|
color: var(--color-text-disabled);
|
|
padding: 4px 0;
|
|
user-select: none;
|
|
}
|
|
|
|
.daysGrid {
|
|
display: grid;
|
|
grid-template-columns: repeat(7, 1fr);
|
|
gap: 2px;
|
|
}
|
|
|
|
.dayCell {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 36px;
|
|
height: 32px;
|
|
border: none;
|
|
background: none;
|
|
color: var(--color-text-primary);
|
|
font-size: 13px;
|
|
cursor: pointer;
|
|
border-radius: 6px;
|
|
transition: all 0.1s;
|
|
}
|
|
|
|
.dayCell:hover {
|
|
background: rgba(0, 184, 230, 0.12);
|
|
}
|
|
|
|
.otherMonth {
|
|
color: var(--color-text-disabled);
|
|
opacity: 0.4;
|
|
}
|
|
|
|
.today {
|
|
border: 1px solid var(--color-primary);
|
|
}
|
|
|
|
.selected {
|
|
background: var(--color-primary) !important;
|
|
color: #fff !important;
|
|
}
|