gabriel / musehub public
feat BREAKING mists task/mists-ui-phase6 #1 / 1
gabriel · 163 days ago · Apr 15, 2026 · Diff

feat(mists): Phase 6 — UI templates, SCSS, TypeScript, router registration

- musehub/api/routes/musehub/ui_mists.py: 5 route handlers (explore, list, detail, raw, embed); type-color tokens, htmx_fragment_or_full, Prism lang map - musehub/templates/musehub/pages/mist_explore.html: global discovery feed - musehub/templates/musehub/pages/mist_list.html: per-owner list - musehub/templates/musehub/pages/mist_detail.html: syntax-highlighted detail, stats panel, sidebar (symbol anchors, forks, embed snippets, agent provenance) - musehub/templates/musehub/pages/mist_embed.html: standalone iframe-safe embed card with Prism highlight + external-link footer - musehub/templates/musehub/fragments/mist_rows.html: HTMX swap target for both explore and list pages; empty state with CLI/MCP usage instructions - src/scss/_mists.scss: full .ms-* namespace (list, detail, sidebar, embed) - src/scss/app.scss: @use 'mists' entry added - src/ts/pages/mist-list.ts: row entrance animations + HTMX re-animate hook - src/ts/pages/mist-detail.ts: copy-content + copy-embed-snippet buttons - src/ts/app.ts: import + register mist-list and mist-detail page modules - musehub/main.py: import + register ui_mists router before profile catch-all

sha256:92e743e493e18a2e41bef574e71ee033729e4f5ae86c8fa76fd964771a4697f6 sha
+145 ~24 symbols
sha256:528e44921629ea219a8742d034f812a9865ec11d42dd0bfa5773258237510c9e snapshot
+145
symbols added
~24
symbols modified
0
dead code introduced
Semantic Changes 169 symbols
+ _TYPE_COLORS variable variable _TYPE_COLORS L41–50
+ _type_color function function _type_color L53–54
+ APIRouter import import APIRouter L23–23
+ AsyncSession import import AsyncSession L26–26
+ Depends import import Depends L23–23
+ HTTPException import import HTTPException L23–23
+ PlainTextResponse import import PlainTextResponse L25–25
+ Query import import Query L23–23
+ Request import import Request L23–23
+ Response import import Response L25–25
+ _breadcrumbs import import _breadcrumbs L29–29
+ annotations import import annotations L19–19
+ get_db import import get_db L31–31
+ htmx_fragment_or_full import import htmx_fragment_or_full L30–30
+ http_status import import http_status L24–24
+ logging import import logging L21–21
+ musehub_mists import import musehub_mists L32–32
+ templates import import templates L28–28
+ logger variable variable logger L34–34
+ mist_detail_page function async_function mist_detail_page L177–239
+ mist_embed_page function async_function mist_embed_page L275–330
+ mist_explore_page function async_function mist_explore_page L61–111
+ mist_list_page function async_function mist_list_page L118–170
+ mist_raw function async_function mist_raw L246–268
+ router variable variable router L36–36
+ code#artifact-content section code#artifact-content L122–122
+ title }} section h1: {{ mist.title }} L30–30
+ div#mist-rows section div#mist-rows L37–42
+ form@18 section form@18 L18–33
+ h1: Explore Mists section h1: Explore Mists L12–12
+ div#mist-rows section div#mist-rows L41–43
+ h1: h1 section h1: h1 L12–16
~ src/scss/_mists.scss .scss 103 symbols added
+ (max-width: 900px) rule (max-width: 900px) L491–493
+ ms-agent-badge rule .ms-agent-badge L77–85
+ ms-anchor-addr rule .ms-anchor-addr L613–620
+ ms-anchor-item rule .ms-anchor-item L607–611
+ ms-anchor-list rule .ms-anchor-list L600–605
+ ms-btn rule .ms-btn L20–49
+ ms-btn--ghost rule .ms-btn--ghost L35–39
+ ms-btn--ghost:hover rule .ms-btn--ghost:hover L38–38
+ ms-btn--primary rule .ms-btn--primary L41–46
+ ms-btn--primary:hover rule .ms-btn--primary:hover L45–45
+ ms-btn--sm rule .ms-btn--sm L48–48
+ ms-card rule .ms-card L13–18
+ ms-content-actions rule .ms-content-actions L521–524
+ ms-content-card rule .ms-content-card L499–504
+ ms-content-label rule .ms-content-label L515–519
+ ms-content-pre rule .ms-content-pre L526–535
+ ms-content-toolbar rule .ms-content-toolbar L506–513
+ ms-count-label rule .ms-count-label L242–245
+ ms-detail-actions rule .ms-detail-actions L479–482
+ ms-detail-body rule .ms-detail-body L485–494
+ ms-detail-breadcrumb rule .ms-detail-breadcrumb L401–407
+ ms-detail-description rule .ms-detail-description L441–446
+ ms-detail-filename rule .ms-detail-filename L418–423
+ ms-detail-header rule .ms-detail-header L388–396
+ ms-detail-header-left rule .ms-detail-header-left L398–398
+ ms-detail-header-right rule .ms-detail-header-right L399–399
+ ms-detail-main rule .ms-detail-main L496–496
+ ms-detail-meta rule .ms-detail-meta L432–439
+ ms-detail-owner rule .ms-detail-owner L409–414
+ ms-detail-owner:hover rule .ms-detail-owner:hover L413–413
+ ms-detail-page rule .ms-detail-page L381–385
+ ms-detail-sep rule .ms-detail-sep L416–416
+ ms-detail-sidebar rule .ms-detail-sidebar L548–552
+ ms-detail-stats rule .ms-detail-stats L455–458
+ ms-detail-tags rule .ms-detail-tags L448–452
+ ms-detail-title rule .ms-detail-title L425–430
+ ms-embed-code rule .ms-embed-code L669–676
+ ms-embed-copy rule .ms-embed-copy L678–693
+ ms-embed-copy:hover rule .ms-embed-copy:hover L692–692
+ ms-embed-label rule .ms-embed-label L646–655
+ ms-embed-label:first-of-type rule .ms-embed-label:first-of-type L654–654
+ ms-embed-snippet rule .ms-embed-snippet L657–667
+ ms-embed-snippet:hover rule .ms-embed-snippet:hover L666–666
+ ms-empty rule .ms-empty L343–351
+ ms-empty-desc rule .ms-empty-desc L361–375
+ ms-empty-icon rule .ms-empty-icon L353–353
+ ms-empty-title rule .ms-empty-title L355–359
+ ms-explore-header rule .ms-explore-header L142–147
+ ms-explore-sub rule .ms-explore-sub L155–160
+ ms-explore-title rule .ms-explore-title L149–153
+ ms-filter-bar rule .ms-filter-bar L201–207
+ ms-filter-right rule .ms-filter-right L236–240
+ ms-filter-types rule .ms-filter-types L209–214
+ ms-forks-list rule .ms-forks-list L623–630
+ ms-lang-badge rule .ms-lang-badge L66–74
+ ms-list rule .ms-list L255–258
+ ms-list-header rule .ms-list-header L163–169
+ ms-list-header-actions rule .ms-list-header-actions L194–198
+ ms-list-owner-link rule .ms-list-owner-link L180–184
+ ms-list-owner-link:hover rule .ms-list-owner-link:hover L183–183
+ ms-list-sep rule .ms-list-sep L186–186
+ ms-list-sub rule .ms-list-sub L188–192
+ ms-list-title rule .ms-list-title L171–178
+ ms-meta-dot rule .ms-meta-dot L113–116
+ ms-meta-owner rule .ms-meta-owner L313–318
+ ms-midi-placeholder rule .ms-midi-placeholder L537–545
+ ms-mini-avatar rule .ms-mini-avatar L632–643
+ ms-mist-id-badge rule .ms-mist-id-badge L102–110
+ ms-page rule .ms-page L6–10
+ ms-pagination rule .ms-pagination L248–252
+ ms-prov-key rule .ms-prov-key L703–709
+ ms-prov-row rule .ms-prov-row L696–701
+ ms-prov-val rule .ms-prov-val L711–716
+ ms-row rule .ms-row L260–272
+ ms-row-body rule .ms-row-body L274–280
+ ms-row-chevron rule .ms-row-chevron L336–340
+ ms-row-count rule .ms-row-count L327–334
+ ms-row-filename rule .ms-row-filename L289–294
+ ms-row-meta rule .ms-row-meta L304–311
+ ms-row-right rule .ms-row-right L320–325
+ ms-row-title rule .ms-row-title L282–287
+ ms-row-title-text rule .ms-row-title-text L296–302
+ ms-row:hover rule .ms-row:hover L271–271
+ ms-row:last-child rule .ms-row:last-child L270–270
+ ms-sidebar-card rule .ms-sidebar-card L554–564
+ ms-sidebar-card--embed rule .ms-sidebar-card--embed L563–563
+ ms-sidebar-card-title rule .ms-sidebar-card-title L566–573
+ ms-sidebar-count rule .ms-sidebar-count L575–582
+ ms-sidebar-link rule .ms-sidebar-link L584–592
+ ms-sidebar-link:hover rule .ms-sidebar-link:hover L591–591
+ ms-sidebar-sub rule .ms-sidebar-sub L594–597
+ ms-signed-badge rule .ms-signed-badge L88–99
+ ms-stat rule .ms-stat L460–465
+ ms-stat-label rule .ms-stat-label L474–477
+ ms-stat-value rule .ms-stat-value L467–472
+ ms-symbol-anchor rule .ms-symbol-anchor L131–135
+ ms-tag rule .ms-tag L119–128
+ ms-type-chip rule .ms-type-chip L52–63
+ ms-type-filter rule .ms-type-filter L216–234
+ ms-type-filter--active rule .ms-type-filter--active L229–233
+ ms-type-filter:hover rule .ms-type-filter:hover L227–227
+ code rule code L534–534
+ li rule li L629–629
~ src/ts/pages/mist-detail.ts .ts 6 symbols added
+ bindCopyContent function function bindCopyContent L37–49
+ bindCopyEmbeds function function bindCopyEmbeds L53–71
+ copyText function async_function copyText L17–24
+ doCopy function function doCopy L61–66
+ flashButton function function flashButton L26–33
+ initMistDetail function function initMistDetail L75–78
~ src/ts/pages/mist-list.ts .ts 3 symbols added
+ animateRows function function animateRows L11–25
+ bindHtmxSwap function function bindHtmxSwap L29–37
+ initMistList function function initMistList L41–44
← Older Oldest on task/mists-ui-phase6
All commits
Newer → Latest on task/mists-ui-phase6

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:92e743e493e18a2e41bef574e71ee033729e4f5ae86c8fa76fd964771a4697f6 --body "your comment"