gabriel / musehub public
tree.ts typescript
19 lines 667 B
Raw
sha256:c73281cffffbc70487969720af074e54b34326d59ec6aff0827fa16512a4e512 docs(mwp-2): mark all acceptance criteria met; add closing … Sonnet 4.6 83 days ago
1 /**
2 * tree.ts — File tree browser page module.
3 *
4 * The tree is fully SSR'd. This module only handles the branch selector
5 * navigation, which requires JS to redirect on change.
6 *
7 * Registered as: window.MusePages['tree']
8 */
9
10 export function initTree(data: Record<string, unknown>): void {
11 const base = String(data.base ?? '');
12 const dirPath = String(data.dir_path ?? '');
13 const pathSuffix = dirPath ? '/' + dirPath : '';
14
15 const sel = document.getElementById('branch-sel') as HTMLSelectElement | null;
16 sel?.addEventListener('change', () => {
17 window.location.href = base + '/tree/' + encodeURIComponent(sel.value) + pathSuffix;
18 });
19 }
File History 2 commits
sha256:c73281cffffbc70487969720af074e54b34326d59ec6aff0827fa16512a4e512 docs(mwp-2): mark all acceptance criteria met; add closing … Sonnet 4.6 83 days ago
sha256:4dd2a937f66f8e36d9aa59bd1bf3cb880ca1d503fef67300a0cba3b482784081 test(mwp2): Phase 0 RED — reproduction tests for _walk_comm… Sonnet 4.6 83 days ago