gabriel / musehub public
_releases.scss
603 lines 11.0 KB
Raw
sha256:fc04e4cae9e1774d6a21b65c45daeed0e6787eb581d13aa1b03bfe9384a34226 Merge branch 'fix/two-column-scroll-layout' into dev Human 9 days ago
1 // ─────────────────────────────────────────────────────────────────────────────
2 // Page: Releases (/*/releases + /*/releases/*)
3 // File: src/scss/pages/_releases.scss
4 //
5 // STRUCTURAL LAYOUT ONLY — zero colors, zero typography here.
6 // Visual rules live in components/_releases.scss.
7 // ─────────────────────────────────────────────────────────────────────────────
8
9 // ── Release list page (.rl-*) ─────────────────────────────────────────────────
10
11 .rl-page {
12 display: flex;
13 flex-direction: column;
14 gap: var(--space-4);
15 }
16
17 .rl-hero-inner {
18 position: relative;
19 display: flex;
20 justify-content: space-between;
21 align-items: center;
22 gap: var(--space-6);
23 padding: var(--space-7) 0 var(--space-6);
24 flex-wrap: wrap;
25 }
26
27 .rl-hero-left { flex: 1; min-width: 0; }
28
29 .rl-hero-meta-row {
30 display: flex;
31 align-items: center;
32 gap: 8px;
33 flex-wrap: wrap;
34 margin-bottom: var(--space-3);
35 }
36
37 .rl-hero-actions {
38 display: flex;
39 align-items: center;
40 gap: var(--space-2);
41 flex-wrap: wrap;
42 }
43
44 .rl-hero-right {
45 display: flex;
46 flex-direction: column;
47 gap: var(--space-2);
48 flex-shrink: 0;
49
50 @media (max-width: 640px) { display: none; }
51 }
52
53 .rl-stat-pill {
54 display: flex;
55 align-items: center;
56 gap: 10px;
57 }
58
59 .rl-toolbar {
60 display: flex;
61 align-items: center;
62 padding: 0 var(--space-4);
63 min-height: 48px;
64 gap: var(--space-2);
65 flex-wrap: wrap;
66 }
67
68 .rl-tabs {
69 display: flex;
70 align-items: center;
71 flex: 1;
72 flex-wrap: wrap;
73 }
74
75 .rl-toolbar-right {
76 display: flex;
77 align-items: center;
78 gap: var(--space-2);
79 flex-shrink: 0;
80 }
81
82 .rl-list { display: flex; flex-direction: column; }
83
84 .rl-row {
85 display: flex;
86 align-items: flex-start;
87 gap: var(--space-4);
88 padding: var(--space-4) var(--space-5);
89 }
90
91 .rl-row-body {
92 flex: 1;
93 min-width: 0;
94 display: flex;
95 flex-direction: column;
96 gap: 4px;
97 }
98
99 .rl-row-title-line {
100 display: flex;
101 align-items: center;
102 gap: var(--space-2);
103 flex-wrap: wrap;
104 }
105
106 .rl-row-meta {
107 display: flex;
108 align-items: center;
109 gap: 6px;
110 flex-wrap: wrap;
111 }
112
113 .rl-row-author {
114 display: inline-flex;
115 align-items: center;
116 gap: 4px;
117 }
118
119 .rl-empty {
120 display: flex;
121 flex-direction: column;
122 align-items: center;
123 justify-content: center;
124 padding: var(--space-12) var(--space-6);
125 text-align: center;
126 gap: var(--space-3);
127 }
128
129 // ── Release detail page (.rd-*) ───────────────────────────────────────────────
130
131 .rd-layout {
132 display: grid;
133 grid-template-columns: 1fr 240px;
134 gap: var(--space-4);
135 align-items: start;
136
137 @media (max-width: 768px) { grid-template-columns: 1fr; }
138 }
139
140 .rd-main {
141 display: flex;
142 flex-direction: column;
143 gap: var(--space-3);
144 min-width: 0;
145 }
146
147 .rd-title-row {
148 display: flex;
149 align-items: center;
150 gap: var(--space-2);
151 flex-wrap: wrap;
152 margin-bottom: var(--space-3);
153 }
154
155 .rd-meta {
156 display: flex;
157 flex-wrap: wrap;
158 gap: var(--space-4) var(--space-5);
159 }
160
161 .rd-meta-item {
162 display: flex;
163 flex-direction: column;
164 gap: 2px;
165 }
166
167 .rd-meta-value {
168 display: flex;
169 align-items: center;
170 gap: 5px;
171 }
172
173 .rd-stats {
174 position: relative;
175 display: flex;
176 }
177
178 .rd-stat {
179 flex: 1;
180 display: flex;
181 flex-direction: column;
182 align-items: center;
183 justify-content: center;
184 padding: var(--space-3);
185 gap: 2px;
186 }
187
188 .rd-actions {
189 position: relative;
190 display: flex;
191 align-items: center;
192 gap: var(--space-2);
193 padding: var(--space-2) var(--space-5) var(--space-3);
194 flex-wrap: wrap;
195 }
196
197 .rd-section-header {
198 display: flex;
199 align-items: center;
200 gap: var(--space-2);
201 padding: var(--space-3) var(--space-4);
202 }
203
204 .rd-changelog-list { display: flex; flex-direction: column; }
205
206 .rd-changelog-entry {
207 display: flex;
208 align-items: flex-start;
209 gap: var(--space-3);
210 padding: var(--space-3) var(--space-4);
211 }
212
213 .rd-changelog-body { flex: 1; min-width: 0; }
214
215 .rd-changelog-meta {
216 display: flex;
217 align-items: center;
218 gap: 6px;
219 }
220
221 .rd-changelog-breaking {
222 display: flex;
223 flex-wrap: wrap;
224 gap: 4px;
225 margin-top: var(--space-1);
226 }
227
228 .rd-semver-grid {
229 display: grid;
230 grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
231 gap: var(--space-2);
232 padding: var(--space-4);
233 }
234
235 .rd-semver-cell {
236 display: flex;
237 flex-direction: column;
238 align-items: center;
239 gap: 3px;
240 padding: var(--space-3) var(--space-2);
241 }
242
243 .rd-asset-row {
244 display: flex;
245 align-items: center;
246 justify-content: space-between;
247 gap: var(--space-3);
248 padding: var(--space-3) var(--space-4);
249 }
250
251 .rd-asset-info {
252 display: flex;
253 align-items: center;
254 gap: var(--space-3);
255 min-width: 0;
256 flex: 1;
257 }
258
259 .rd-asset-meta {
260 display: flex;
261 align-items: center;
262 gap: 6px;
263 flex-wrap: wrap;
264 margin-top: 2px;
265 }
266
267 .rd-sidebar {
268 display: flex;
269 flex-direction: column;
270 gap: var(--space-3);
271 min-width: 0;
272 }
273
274 .rd-sidebar-body {
275 padding: var(--space-3);
276 display: flex;
277 flex-direction: column;
278 gap: var(--space-2);
279 }
280
281 .rd-sidebar-row {
282 display: flex;
283 align-items: flex-start;
284 justify-content: space-between;
285 gap: var(--space-2);
286 }
287
288 // ── Semantic Release Report panels (.sr-*) ────────────────────────────────────
289
290 .sr-lang-bar {
291 display: flex;
292 height: 8px;
293 overflow: hidden;
294 gap: 1px;
295 }
296
297 .sr-lang-legend {
298 display: flex;
299 flex-wrap: wrap;
300 gap: 10px 18px;
301 margin-top: 8px;
302 }
303
304 .sr-lang-item {
305 display: flex;
306 align-items: center;
307 gap: 5px;
308 }
309
310 .sr-api-grid {
311 display: grid;
312 grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
313 gap: var(--space-3);
314 margin-top: var(--space-2);
315 }
316
317 .sr-api-col-head {
318 display: flex;
319 align-items: center;
320 gap: 6px;
321 margin-bottom: var(--space-2);
322 }
323
324 .sr-api-entry {
325 display: flex;
326 align-items: center;
327 gap: 5px;
328 padding: 3px 0;
329 }
330
331 .sr-breaking-list {
332 display: flex;
333 flex-direction: column;
334 gap: 6px;
335 margin-top: var(--space-2);
336 }
337
338 .sr-breaking-entry {
339 display: flex;
340 align-items: center;
341 gap: 8px;
342 padding: 6px 10px;
343 }
344
345 .sr-hotspot-list {
346 display: flex;
347 flex-direction: column;
348 gap: 5px;
349 margin-top: var(--space-2);
350 }
351
352 .sr-hotspot-row {
353 display: grid;
354 grid-template-columns: 24px 130px 1fr 28px;
355 align-items: center;
356 gap: 8px;
357 }
358
359 .sr-refactor-list {
360 display: flex;
361 flex-direction: column;
362 gap: 4px;
363 margin-top: var(--space-2);
364 }
365
366 .sr-refactor-row {
367 display: flex;
368 align-items: center;
369 gap: 8px;
370 padding: 5px 8px;
371 }
372
373 .sr-authorship-bar {
374 display: flex;
375 height: 10px;
376 overflow: hidden;
377 margin-bottom: 8px;
378 }
379
380 .sr-authorship-legend {
381 display: flex;
382 justify-content: space-between;
383 }
384
385 .sr-sym-row {
386 display: grid;
387 grid-template-columns: 80px 1fr 30px;
388 align-items: center;
389 gap: 6px;
390 margin-bottom: 5px;
391 }
392
393 // ── Release detail v2 (.rd2-*) ────────────────────────────────────────────────
394
395 .rd2-header {
396 display: flex;
397 align-items: flex-start;
398 justify-content: space-between;
399 gap: var(--space-4);
400 padding: var(--space-4) var(--space-5);
401 margin-bottom: var(--space-4);
402 }
403
404 .rd2-title-row {
405 display: flex;
406 align-items: center;
407 gap: 10px;
408 flex-wrap: wrap;
409 margin-bottom: 6px;
410 }
411
412 .rd2-meta-row {
413 display: flex;
414 align-items: center;
415 gap: 8px;
416 flex-wrap: wrap;
417 }
418
419 .rd2-header-actions {
420 display: flex;
421 align-items: center;
422 gap: 8px;
423 flex-shrink: 0;
424 }
425
426 .rd2-glance {
427 display: flex;
428 gap: var(--space-5);
429 align-items: stretch;
430 padding: var(--space-4) var(--space-5);
431 margin-bottom: var(--space-4);
432 }
433
434 .rd2-glance-hero {
435 display: flex;
436 align-items: center;
437 gap: 0;
438 flex-shrink: 0;
439 }
440
441 .rd2-hero-stat {
442 display: flex;
443 flex-direction: column;
444 align-items: center;
445 padding: 0 var(--space-4);
446 }
447
448 .rd2-glance-langs { flex: 1; min-width: 0; }
449
450 .rd2-lang-bar-stacked {
451 display: flex;
452 height: 8px;
453 overflow: hidden;
454 margin-bottom: 10px;
455 gap: 1px;
456 }
457
458 .rd2-lang-rows { display: flex; flex-direction: column; gap: 5px; }
459
460 .rd2-lang-row {
461 display: grid;
462 grid-template-columns: 10px 88px 1fr 38px 54px 38px;
463 align-items: center;
464 gap: 8px;
465 }
466
467 .rd2-body {
468 display: grid;
469 grid-template-columns: 1fr 276px;
470 gap: var(--space-4);
471 align-items: start;
472
473 @media (max-width: 900px) { grid-template-columns: 1fr; }
474 }
475
476 .rd2-main { display: flex; flex-direction: column; gap: var(--space-3); }
477 .rd2-aside { display: flex; flex-direction: column; gap: var(--space-3); }
478
479 .rd2-panel-head {
480 display: flex;
481 align-items: center;
482 gap: 8px;
483 padding: 10px 14px;
484 }
485
486 .rd2-api-summary { display: flex; gap: 6px; margin-left: auto; }
487
488 .rd2-api-row {
489 display: grid;
490 grid-template-columns: 72px 1fr 70px;
491 align-items: center;
492 gap: 8px;
493 padding: 4px 0;
494 }
495
496 .rd2-hotspot-row {
497 display: grid;
498 grid-template-columns: 10px 1fr 1fr 30px;
499 align-items: center;
500 gap: 8px;
501 padding: 5px 0;
502 }
503
504 .rd2-struct-row {
505 display: grid;
506 grid-template-columns: 48px 1fr 80px 52px;
507 align-items: center;
508 gap: 8px;
509 padding: 4px 0;
510 }
511
512 .rd2-changelog-pills { display: flex; gap: 5px; align-items: center; }
513
514 .rd2-cl-entry {
515 display: flex;
516 gap: 10px;
517 padding: 7px 0;
518 }
519
520 .rd2-cl-bump {
521 flex-shrink: 0;
522 width: 20px;
523 height: 20px;
524 border-radius: 50%;
525 display: flex;
526 align-items: center;
527 justify-content: center;
528 margin-top: 1px;
529 }
530
531 .rd2-cl-meta { display: flex; gap: 5px; align-items: center; margin-top: 2px; }
532 .rd2-auth-detail { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
533
534 .rd2-auth-bar {
535 display: flex;
536 height: 8px;
537 overflow: hidden;
538 margin-bottom: 10px;
539 }
540
541 .rd2-auth-legend { display: flex; flex-direction: column; gap: 6px; }
542
543 .rd2-auth-item {
544 display: flex;
545 align-items: center;
546 gap: 6px;
547 }
548
549 .rd2-auth-dot {
550 width: 8px;
551 height: 8px;
552 border-radius: 50%;
553 flex-shrink: 0;
554 }
555
556 .rd2-kv-list { display: flex; flex-direction: column; gap: 7px; }
557
558 .rd2-kv {
559 display: flex;
560 align-items: center;
561 justify-content: space-between;
562 }
563
564 .rd2-hash-row { display: flex; flex-direction: column; gap: 2px; }
565
566 .rd2-sym-row {
567 display: grid;
568 grid-template-columns: 62px 1fr 36px;
569 align-items: center;
570 gap: 6px;
571 margin-bottom: 5px;
572 }
573
574 .rd2-asset-row {
575 display: flex;
576 align-items: center;
577 justify-content: space-between;
578 padding: 8px 0;
579 }
580
581 // ── Tags page (.tag-*) ────────────────────────────────────────────────────────
582
583 .tag-page {
584 display: flex;
585 flex-direction: column;
586 gap: var(--space-4);
587 }
588
589 .tag-header { padding-bottom: var(--space-2); }
590
591 .tag-list {
592 display: flex;
593 flex-direction: column;
594 }
595
596 .tag-row {
597 display: flex;
598 align-items: center;
599 gap: var(--space-3);
600 padding: 10px 14px;
601 }
602
603 .rd2-asset-meta { display: flex; gap: 8px; margin-top: 2px; }
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 34 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