gabriel / musehub public
_timeline.scss
135 lines 3.7 KB
Raw
sha256:3ff9c9863a9891bdcde71b4a43228f66d0493e38b7cc1d09fe9eb7de774046b2 feat: add repair-commit wire endpoint (API parity with repa… Opus 4.8 minor ⚠ breaking 1 day ago
1 // ─────────────────────────────────────────────────────────────────────────────
2 // Component: Timeline
3 // File: src/scss/components/_timeline.scss
4 //
5 // Variants: .commit-row .proposal-row .issue-row .session-row
6 // .commit-sha .commit-msg .commit-meta
7 // .session-live .session-live-pulse .session-row-active
8 // Tokens: --border-subtle, --color-accent, --color-success, --text-*
9 // Usage: <div class="commit-row">…</div>
10 //
11 // Notes: .session-live-pulse uses @keyframes for the active session dot.
12 // ─────────────────────────────────────────────────────────────────────────────
13
14 .commit-list { display: flex; flex-direction: column; }
15
16 .commit-row,
17 .proposal-row,
18 .issue-row,
19 .session-row {
20 display: flex;
21 align-items: flex-start;
22 gap: var(--space-3);
23 padding: var(--space-3) 0;
24 border-bottom: 1px solid var(--border-subtle);
25
26 &:last-child { border-bottom: none; }
27 }
28
29 .commit-row {
30 display: grid;
31 grid-template-columns: 80px 1fr auto;
32 align-items: center;
33 }
34
35 .commit-sha {
36 font-family: var(--font-mono);
37 font-size: var(--text-sm);
38 color: var(--color-accent);
39 white-space: nowrap;
40 }
41
42 .commit-msg {
43 font-size: var(--text-sm);
44 color: var(--text-secondary);
45 overflow: hidden;
46 text-overflow: ellipsis;
47 white-space: nowrap;
48 display: flex;
49 align-items: center;
50 gap: var(--space-2);
51
52 a { color: var(--text-primary); }
53 a:hover { color: var(--color-accent); text-decoration: none; }
54 }
55
56 .commit-meta {
57 font-size: var(--text-xs);
58 color: var(--text-muted);
59 white-space: nowrap;
60 flex-shrink: 0;
61 display: flex;
62 align-items: center;
63 gap: var(--space-1);
64 }
65
66 // Live session indicator dot
67 .session-live {
68 display: inline-block;
69 width: 8px;
70 height: 8px;
71 border-radius: var(--radius-full);
72 background: var(--color-success);
73 box-shadow: 0 0 6px var(--color-success);
74 margin-right: var(--space-1);
75 vertical-align: middle;
76 flex-shrink: 0;
77 }
78
79 @keyframes session-pulse {
80 0%, 100% { opacity: 1; box-shadow: 0 0 6px var(--color-success); }
81 50% { opacity: 0.55; box-shadow: 0 0 12px var(--color-success); }
82 }
83
84 .session-live-pulse { animation: session-pulse 1.6s ease-in-out infinite; }
85
86 .session-row-active {
87 background: color-mix(in srgb, var(--color-success) 4%, transparent);
88 border-radius: var(--radius-sm);
89 padding-left: var(--space-2);
90 padding-right: var(--space-2);
91 }
92
93 .session-row-header {
94 display: flex;
95 align-items: center;
96 flex-wrap: wrap;
97 gap: var(--space-2);
98 font-size: 14px;
99 color: var(--text-primary);
100 margin-bottom: 4px;
101 }
102
103 .session-row-intent { font-size: 13px; color: var(--text-muted); margin-top: 2px; }
104 .session-no-participants { color: var(--text-muted); font-size: 13px; }
105
106 .session-commit-pill {
107 display: inline-flex;
108 align-items: center;
109 gap: 3px;
110 padding: 1px var(--space-2);
111 border-radius: var(--radius-full);
112 font-size: var(--text-xs);
113 font-weight: var(--weight-semibold);
114 background: var(--bg-overlay);
115 color: var(--text-secondary);
116 white-space: nowrap;
117 }
118
119 .session-location-tag { font-size: var(--text-xs); color: var(--text-muted); white-space: nowrap; }
120
121 // Branch pill
122 .branch-pill {
123 display: inline-block;
124 padding: 1px 7px;
125 border-radius: 10px;
126 font-size: 11px;
127 font-family: var(--font-mono);
128 background: var(--bg-surface);
129 border: 1px solid var(--border-default);
130 color: var(--text-primary);
131 white-space: nowrap;
132 overflow: hidden;
133 max-width: 200px;
134 text-overflow: ellipsis;
135 }
File History 1 commit
sha256:3ff9c9863a9891bdcde71b4a43228f66d0493e38b7cc1d09fe9eb7de774046b2 feat: add repair-commit wire endpoint (API parity with repa… Opus 4.8 minor 1 day ago