style: 设计规范新增 cursor-pointer 规则 + 代码同步
- docs: tlyq-design-system.md 新增「光标系统」章节 - dashboard: 服务卡片添加 cursor-pointer - settings: checkbox label 添加 cursor-pointer - roles: 权限 checkbox label 添加 cursor-pointer
This commit is contained in:
parent
0d83bcc19f
commit
ba7f181501
|
|
@ -107,7 +107,7 @@ export default function RolesPage() {
|
|||
<span className="text-sm text-slate-400">admin 角色拥有全部 {allPermissions.length} 个权限</span>
|
||||
) : editing === role.role ? (
|
||||
allPermissions.map(p => (
|
||||
<label key={p} className="flex items-center gap-2 text-sm py-1">
|
||||
<label key={p} className="flex items-center gap-2 text-sm py-1 cursor-pointer">
|
||||
<input type="checkbox" checked={perms.includes(p)} onChange={() => togglePerm(p)}
|
||||
className="rounded border-slate-300 text-indigo-600" />
|
||||
{permLabels[p] || p}
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ export default function DashboardPage() {
|
|||
{services.map((s) => {
|
||||
const isAbnormal = s.current_status === 'abnormal'
|
||||
return (
|
||||
<div key={String(s.id)} className={`rounded-xl p-5 border transition-all ${isAbnormal ? 'bg-red-50 dark:bg-red-500/10 border-red-600 dark:border-red-400' : 'bg-white dark:bg-slate-900 border-slate-200 dark:border-slate-800 hover:shadow-sm'}`}>
|
||||
<div key={String(s.id)} className={`rounded-xl p-5 border transition-all cursor-pointer ${isAbnormal ? 'bg-red-50 dark:bg-red-500/10 border-red-600 dark:border-red-400' : 'bg-white dark:bg-slate-900 border-slate-200 dark:border-slate-800 hover:shadow-sm'}`}>
|
||||
<div className="flex items-center justify-between mb-2">
|
||||
<span className="flex items-center gap-2 text-sm font-semibold">
|
||||
<span className={`w-2.5 h-2.5 rounded-full ${isAbnormal ? 'bg-red-600 shadow-[0_0_8px_var(--danger)]' : 'bg-emerald-600'}`} />
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ export default function SettingsPage() {
|
|||
{ key: 'level_warning', label: 'Warning' },
|
||||
{ key: 'level_info', label: 'Info' },
|
||||
].map(l => (
|
||||
<label key={l.key} className="flex items-center gap-2 text-sm">
|
||||
<label key={l.key} className="flex items-center gap-2 text-sm cursor-pointer">
|
||||
<input type="checkbox" checked={!!(editing as Record<string, unknown>)[l.key]} onChange={e => updateField(l.key, e.target.checked ? 1 : 0)}
|
||||
className="rounded border-slate-300 text-indigo-600 focus:ring-indigo-500" />
|
||||
{l.label}
|
||||
|
|
@ -182,7 +182,7 @@ export default function SettingsPage() {
|
|||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label className="flex items-center gap-2 text-sm text-slate-700 dark:text-slate-300">
|
||||
<label className="flex items-center gap-2 text-sm text-slate-700 dark:text-slate-300 cursor-pointer">
|
||||
<input type="checkbox" checked={!!editing.quiet_start} onChange={e => {
|
||||
if (e.target.checked) {
|
||||
updateField('quiet_start', '23:00')
|
||||
|
|
@ -210,7 +210,7 @@ export default function SettingsPage() {
|
|||
</div>
|
||||
</div>
|
||||
)}
|
||||
<label className="flex items-center gap-2 text-sm text-slate-700 dark:text-slate-300">
|
||||
<label className="flex items-center gap-2 text-sm text-slate-700 dark:text-slate-300 cursor-pointer">
|
||||
<input type="checkbox" checked={editing.enabled === 1} onChange={e => updateField('enabled', e.target.checked ? 1 : 0)}
|
||||
className="rounded border-slate-300 text-indigo-600 focus:ring-indigo-500" />
|
||||
启用渠道
|
||||
|
|
|
|||
Loading…
Reference in New Issue