- Count tags per category before rendering sidebar
- Only display categories that have tags in current view
- Show count next to each category name
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Event handlers now read fresh state from State.get() instead of
using captured values from when bindSidebarEvents was called.
This ensures the sidebar updates correctly with each render.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Instead of depending on non-existent api_library_list_* views,
now queries library_${base} for unique mrf_library values and
fetches tag info from main table.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
HST frontend now lives in its own repository: tzzr/hst-frontend
This maintains clean separation between DECK and HST frontends.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Customized version of DECK frontend for HST server (tzrtech.org):
- Remove DECK-specific bases: MST, BCK, MTH, ATC, Oracle, MAIL, CHAT
- Keep only taxonomy bases: HST, FLG, ITM, LOC, PLY
- Update IMG_BASE to https://tzrtech.org
- Update title to "hst" and logo to "HST"
- Clean up schema documentation
HST serves as the semantic tag model/template that DECK can copy from.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implementación completa de soporte multi-bucket para tabla ATC:
- Tabla public.bucket_registry (metadata de buckets)
- Tabla public.bucket_access_log (auditoría)
- Campo bucket_mrf en tzzr_core_secretaria.atc
- 2275 archivos migrados a bucket 'deck'
- Documentación completa de sesión
Cambios menores:
- deck-v4.6.html actualizado
- Caddyfile para captain-mobile
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change API_BASE to https://tzrtech.org/api (HST server)
- Update all schemas to 'public' (actual DB schema)
- Fixes TreeView data loading in production
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Events now logs to console when _debug is true:
- [Events.on] event (N handlers) - green
- [Events.off] event - orange
- [Events.emit] event data → N handlers - blue
Toggle in browser console:
Events._debug = false // disable
Events._debug = true // enable (default)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Added API.getTree() to query tree_{base} tables
- TreeView now builds real 1:N hierarchy from tree_* data
- Recursive rendering with proper parent-child relationships
- Library filter still works (filters tags before building tree)
- Updated CSS for hierarchical tree display with depth indicators
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The example sed commands in the header contained the same
marker strings, causing extraction to capture header content.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Toast: aria-live="assertive" + role="alert" for immediate announcements
- CSS: prefers-reduced-motion support added
- Version bump v4.1 → v4.2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Changes:
- XSS protection with escapeHtml() utility
- Responsive CSS (3 mobile breakpoints)
- Full accessibility: aria-labels, roles, focus-visible
- GraphView memory leak fix
- Immutable state management
Files:
- deck-v4.1.html: Production-ready monolith
- CHANGELOG.md: Version history and documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add graph-mode class to parent containers when graph view is active
- Add CSS rules for .graph-mode and :has(.graph-view) for overflow: visible
- Ensure sidebar and controls are not clipped by parent overflow
- Add width/height 100% to content-area.graph-view
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add overflow: visible to .graph-view to prevent clipping
- Add .content-area.graph-view rule for parent overflow fix
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change view-tabs from delegateEvent to direct onclick like hst-frontend
- Remove hardcoded 'active' class from grid tab in HTML
- Update active class immediately on click before state update
- Update proxy target to tzrtech.org
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move graph options from left panel to floating sidebar in GraphView
- Add zoom controls (fit, +, -) in top-right corner
- Add dynamic legend showing active categories
- Add cleanup system to View base class for event listeners
- Update delegateEvent to return cleanup function
- Filter nodes by category before rendering
- Fix text color variable (--text-primary to --text)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add resolveImgUrl() to prepend https://atc.tzzrdeck.me/ to relative paths
- Update getImg() and getFullImg() to use the new resolver
- Enables thumbnail display for attachments stored in R2 bucket
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Moved SEL and GET buttons from topbar to view-bar
- Created button group with consistent styling
- Positioned to the left of Grid/Tree/Graph tabs
- Added spacer for balanced layout
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use api_library_list_{base} views instead of generic query
- Add name_en and member_count to Library type
- Created PostgreSQL views for hst, flg, itm, loc, ply libraries
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Swap MST/BCK and MTH/ATC button positions
- Add schema support for different PostgreSQL schemas:
- secretaria_clara: atc, mst, bck
- production_alfred: mth
- mail_manager: mail
- context_manager: chat
- Libraries now load per-base (library_{base})
- Add new base types: key, mindlink
- Update FetchOptions to use schema instead of headers
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>