gabriel / musehub public
_intel.scss
289 lines 7.5 KB
Raw
sha256:3ff9c9863a9891bdcde71b4a43228f66d0493e38b7cc1d09fe9eb7de774046b2 feat: add repair-commit wire endpoint (API parity with repa… Opus 4.8 minor ⚠ breaking 1 day ago
1 // ─────────────────────────────────────────────────────────────────────────────
2 // Page: Intelligence Hub (.intel-* layout)
3 // File: src/scss/pages/_intel.scss
4 //
5 // STRUCTURAL LAYOUT ONLY — zero colors, zero typography here.
6 // Visual rules live in components/_intel.scss.
7 // ─────────────────────────────────────────────────────────────────────────────
8
9 .intel-wrap {
10 padding: 0;
11 }
12
13 // ── Header ────────────────────────────────────────────────────────────────────
14
15 .intel-hd {
16 display: flex;
17 align-items: baseline;
18 gap: 0.75rem;
19 margin-bottom: 1.75rem;
20 padding-bottom: 1rem;
21 }
22
23 .intel-hd-title {
24 display: flex;
25 align-items: center;
26 gap: 0.5rem;
27 }
28
29 // ── Subpage header ────────────────────────────────────────────────────────────
30
31 .intel-subhd {
32 margin-bottom: 1.75rem;
33 padding-bottom: 1rem;
34 }
35
36 .intel-back {
37 display: inline-flex;
38 align-items: center;
39 gap: 0.25rem;
40 margin-bottom: 0.6rem;
41 }
42
43 .intel-subhd-title {
44 display: flex;
45 align-items: center;
46 gap: 0.5rem;
47 margin-bottom: 0.35rem;
48 }
49
50 // ── No-index state ────────────────────────────────────────────────────────────
51
52 .intel-no-index {
53 display: flex;
54 align-items: flex-start;
55 gap: 1rem;
56 padding: 1.5rem;
57 }
58
59 // ── Top row — health + alerts ─────────────────────────────────────────────────
60
61 .intel-top-row {
62 display: grid;
63 grid-template-columns: 1fr 2fr;
64 gap: 1.25rem;
65 margin-bottom: 1.25rem;
66
67 @media (max-width: 700px) { grid-template-columns: 1fr; }
68 }
69
70 // ── Health gauge ──────────────────────────────────────────────────────────────
71
72 .intel-health-card {
73 display: flex;
74 flex-direction: column;
75 align-items: center;
76 gap: 0.5rem;
77 padding: 1.25rem 1rem;
78 }
79
80 .intel-health-gauge {
81 width: 100px;
82 height: 100px;
83 position: relative;
84 }
85
86 .intel-health-svg { width: 100%; height: 100%; }
87
88 // ── Alert strip ───────────────────────────────────────────────────────────────
89
90 .intel-alerts { padding: 1rem 1.25rem; }
91
92 .intel-alerts-title { margin-bottom: 0.75rem; }
93
94 .intel-alert-list {
95 list-style: none;
96 margin: 0;
97 padding: 0;
98 display: flex;
99 flex-direction: column;
100 gap: 0.5rem;
101 }
102
103 .intel-alert {
104 display: flex;
105 align-items: center;
106 gap: 0.5rem;
107 }
108
109 .intel-alert-link { margin-left: auto; }
110
111 // ── Panel cards ───────────────────────────────────────────────────────────────
112
113 .intel-cards {
114 display: grid;
115 grid-template-columns: repeat(4, 1fr);
116 gap: 1.25rem;
117 margin-bottom: 1.5rem;
118
119 @media (max-width: 1100px) { grid-template-columns: repeat(2, 1fr); }
120 @media (max-width: 540px) { grid-template-columns: 1fr; }
121 }
122
123 .intel-card { padding: 1rem; }
124
125 .intel-card-hd {
126 display: flex;
127 align-items: baseline;
128 justify-content: space-between;
129 margin-bottom: 0.75rem;
130 }
131
132 // ── Bar chart rows ────────────────────────────────────────────────────────────
133
134 .intel-bar-list {
135 list-style: none;
136 margin: 0;
137 padding: 0;
138 display: flex;
139 flex-direction: column;
140 gap: 0.5rem;
141 }
142
143 .intel-bar-row {
144 display: grid;
145 grid-template-columns: 1fr auto;
146 grid-template-rows: auto auto;
147 gap: 0.1rem 0.5rem;
148 align-items: center;
149 }
150
151 .intel-bar-label {
152 grid-column: 1;
153 grid-row: 1;
154 }
155
156 .intel-bar-track {
157 height: 4px;
158 grid-column: 1;
159 grid-row: 2;
160
161 &--full {
162 height: 6px;
163 margin-top: 0.3rem;
164 }
165 }
166
167 .intel-bar-val {
168 grid-column: 2;
169 grid-row: 1 / span 2;
170 }
171
172 // ── Dead code card ────────────────────────────────────────────────────────────
173
174 .intel-dead-summary { margin-bottom: 0.6rem; }
175
176 .intel-dead-list {
177 list-style: none;
178 margin: 0;
179 padding: 0;
180 display: flex;
181 flex-direction: column;
182 gap: 0.4rem;
183 }
184
185 .intel-dead-row {
186 display: flex;
187 align-items: baseline;
188 justify-content: space-between;
189 gap: 0.5rem;
190 }
191
192 // ── Blast risk card ───────────────────────────────────────────────────────────
193
194 .intel-blast-list {
195 list-style: none;
196 margin: 0;
197 padding: 0;
198 display: flex;
199 flex-direction: column;
200 gap: 0.5rem;
201 }
202
203 .intel-blast-row {
204 display: flex;
205 align-items: baseline;
206 gap: 0.5rem;
207 }
208
209 .intel-blast-addr { flex: 1; }
210
211 // ── Velocity sparkline ────────────────────────────────────────────────────────
212
213 .intel-velocity-wrap { padding: 1rem 1.25rem; }
214
215 .intel-velocity-title { margin-bottom: 0.5rem; }
216
217 .intel-velocity-bars {
218 display: flex;
219 align-items: flex-end;
220 gap: 3px;
221 height: 56px;
222 }
223
224 .intel-velocity-bar { flex: 1; }
225
226 // ── Full-list (subpage) shared ────────────────────────────────────────────────
227
228 .intel-full-list {
229 display: flex;
230 flex-direction: column;
231 gap: 0;
232 }
233
234 .intel-empty-state {
235 display: flex;
236 flex-direction: column;
237 align-items: center;
238 gap: 1rem;
239 padding: 3rem 1.5rem;
240 }
241
242 // ── Hotspot full rows ─────────────────────────────────────────────────────────
243
244 .intel-hs-row { padding: 0.75rem 1rem; }
245
246 .intel-hs-meta {
247 display: flex;
248 align-items: baseline;
249 gap: 0.75rem;
250 margin-bottom: 0.35rem;
251 }
252
253 .intel-hs-bar-wrap {
254 display: flex;
255 align-items: center;
256 gap: 0.5rem;
257 }
258
259 // ── Dead full rows ────────────────────────────────────────────────────────────
260
261 .intel-dead-full-row { padding: 0.75rem 1rem; }
262
263 .intel-dead-full-addr { margin-bottom: 0.3rem; }
264
265 .intel-dead-full-meta {
266 display: flex;
267 align-items: center;
268 gap: 0.75rem;
269 flex-wrap: wrap;
270 }
271
272 // ── Blast risk full rows ──────────────────────────────────────────────────────
273
274 .intel-blast-full-row { padding: 0.85rem 1rem; }
275
276 .intel-blast-full-hd {
277 display: flex;
278 align-items: baseline;
279 gap: 0.5rem;
280 margin-bottom: 0.35rem;
281 }
282
283 .intel-blast-co-list {
284 display: flex;
285 flex-wrap: wrap;
286 gap: 0.25rem;
287 align-items: baseline;
288 }
289
File History 1 commit
sha256:3ff9c9863a9891bdcde71b4a43228f66d0493e38b7cc1d09fe9eb7de774046b2 feat: add repair-commit wire endpoint (API parity with repa… Opus 4.8 minor 1 day ago