返回 DeepSeek-Reasonix
WorktreeMergeModal.css
根目录 / desktop / frontend / src / components / WorktreeMergeModal.css
1 .worktree-merge-modal { width: min(700px, calc(100vw - 48px)); height: auto; max-height: min(780px, calc(100vh - 64px)); }
2 .worktree-merge__title, .worktree-merge__route span, .worktree-merge__ready, .worktree-merge__blocker, .worktree-merge__loading, .worktree-merge__confirm { display: flex; align-items: center; gap: 8px; }
3 .worktree-merge__body { display: flex; min-height: 180px; flex-direction: column; gap: 14px; overflow: auto; padding: 18px 20px; }
4 .worktree-merge__loading { justify-content: center; padding: 40px 0; color: var(--fg-faint); }
5 .worktree-merge__route { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-elev); }
6 .worktree-merge__route span { min-width: 0; color: var(--fg); font-size: var(--text-sm); font-weight: 650; overflow-wrap: anywhere; }
7 .worktree-merge__route span:first-child { color: var(--accent); }
8 .worktree-merge__heads { display: flex; justify-content: space-between; gap: 12px; color: var(--fg-faint); font-family: var(--font-mono); font-size: var(--text-xs); }
9 .worktree-merge__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
10 .worktree-merge__stats > div { display: grid; gap: 3px; padding: 10px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg-elev); text-align: center; }
11 .worktree-merge__stats span, .worktree-merge__section-title { color: var(--fg-faint); font-size: var(--text-xs); font-weight: 650; }
12 .worktree-merge__stats strong { color: var(--fg); font-size: var(--text-base); }
13 .worktree-merge__stats .worktree-merge__positive { color: var(--fg-success, #10b981); }
14 .worktree-merge__stats .worktree-merge__negative { color: var(--fg-danger, #ef4444); }
15 .worktree-merge__ready { padding: 10px 14px; border: 1px solid color-mix(in srgb, var(--fg-success, #10b981) 28%, transparent); border-radius: 8px; background: color-mix(in srgb, var(--fg-success, #10b981) 10%, transparent); color: var(--fg-success, #10b981); font-size: var(--text-sm); }
16 .worktree-merge__blockers { display: grid; gap: 8px; }
17 .worktree-merge__blocker { align-items: flex-start; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--fg-danger, #ef4444) 28%, transparent); border-radius: 8px; background: color-mix(in srgb, var(--fg-danger, #ef4444) 9%, transparent); color: var(--fg-danger, #ef4444); font-size: var(--text-sm); }
18 .worktree-merge__blocker svg { flex: 0 0 auto; margin-top: 2px; }
19 .worktree-merge__paths { margin-top: 4px; color: var(--fg-dim); font-family: var(--font-mono); font-size: var(--text-xs); overflow-wrap: anywhere; }
20 .worktree-merge__files { display: grid; gap: 6px; }
21 .worktree-merge__file-list { max-height: 140px; overflow: auto; padding: 6px 8px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg-elev); }
22 .worktree-merge__file-list > div { display: flex; align-items: center; gap: 6px; padding: 4px 6px; color: var(--fg); font-family: var(--font-mono); font-size: var(--text-xs); overflow-wrap: anywhere; }
23 .worktree-merge__cleanup-note { display: grid; gap: 7px; }
24 .worktree-merge__option { display: flex; align-items: flex-start; gap: 9px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg-elev); cursor: pointer; }
25 .worktree-merge__option span { display: grid; gap: 3px; color: var(--fg); font-size: var(--text-xs); }
26 .worktree-merge__option small { color: var(--fg-faint); font-weight: 400; }
27 .worktree-merge__error { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--warn) 35%, var(--border)); border-radius: 8px; background: color-mix(in srgb, var(--warn) 10%, var(--bg-elev)); color: var(--fg); font-size: var(--text-sm); }
28 .worktree-merge__error button { border: 0; background: transparent; color: inherit; cursor: pointer; text-decoration: underline; }
29 .worktree-merge__error button:disabled { cursor: default; opacity: .5; }
30 .worktree-merge__actions { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--border); background: var(--bg-elev); }
31 .worktree-merge__confirm { justify-content: center; }
32 @media (max-width: 560px) { .worktree-merge__heads { flex-direction: column; } .worktree-merge__stats { grid-template-columns: 1fr; } }
33
33 lines CSS