gabriel / musehub public
_intel.scss
289 lines 7.5 KB
Raw
sha256:fc04e4cae9e1774d6a21b65c45daeed0e6787eb581d13aa1b03bfe9384a34226 Merge branch 'fix/two-column-scroll-layout' into dev Human 9 days 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 13 commits
sha256:fc04e4cae9e1774d6a21b65c45daeed0e6787eb581d13aa1b03bfe9384a34226 Merge branch 'fix/two-column-scroll-layout' into dev Human 9 days ago
sha256:408916fc5973ba59c6e4eebaa80ebdcc801c0a63205651e25009d11548f79454 chore: bump version to 0.2.0.dev2 — nightly.2, matching muse Sonnet 4.6 patch 12 days ago
sha256:d035733f21ccff27735fddebfbbe0ed24565a32a22db8de5885402262671ecd2 chore: bump version to 0.2.0rc15 for musehub#113 fix release Sonnet 4.6 patch 15 days ago
sha256:0032d6cfa33bc3c8367436ad768e7dd0e339b4332153160247da8266cb5fa352 Merge branch 'task/version-tags-phase3-server' into dev Human 17 days ago
sha256:4669620efda9ff41c55bdefd1f7bfe1c239d468428744c84ead9957e5a003a53 merge: rescue snapshot-recovery hardening (c00aa21d) into d… Opus 4.8 minor 30 days ago
sha256:a59da49c4611b970fc4b6ae48678ce4943261c213a07ddbd73ce9201df869b4a fix: remove false-positive proposal_comments index drop fro… Sonnet 4.6 patch 34 days ago
sha256:0a240d6dbff234f07d98a28a4a9a68db702f3f9ff9260196f24219bdb1c0b6f3 feat: render markdown mists as HTML with heading anchor links Sonnet 4.6 patch 35 days ago
sha256:24a7d47486ebc4ebd1832830580e177ec6f877b48dced8c000e198cdec4ce9d6 Merge 'task/bump-version-rc12' into 'dev' — proposal: Bump … Human 36 days ago
sha256:b9ff931d147e0114a1f17060f415b89ed551c170a91ff226c70437aa5c85f9ee Merge 'task/bump-version-rc12' into 'dev' — proposal: Bump … Human 36 days ago
sha256:d1122d21e73471879b460037b22c0b50fded7c423444a176f248428f75dac39c Merge 'task/fix-issue-pagination-cursor' into 'dev' — propo… Human 36 days ago
sha256:01e18975e73d2b3cd5b6db7929c895bef9aa6e0d4391dc5b2adfc548b41318dd Merge 'feat/adding-debug-logs-to-staging' into 'dev' — prop… Human 36 days ago
sha256:6b1949fc2797ca4c1936a637a4cbfec828ef56cf52398a2e74ca3c4f494e728f fix: use wire_bytes not mpack_bytes_raw in compute_object_b… Sonnet 4.6 patch 48 days ago
sha256:b99f2455dc346966d040133f5203297e6e3ef5803a93728a2c30568d0a0f7583 rename: delta_add → delta_upsert across wire format, models… Sonnet 4.6 patch 50 days ago