Commit Graph
23 Commits
Author SHA1 Message Date
s0lrayandPaperclip 810b6f6159 Center header title and fit tree to browser viewport on desktop (THE-120)
- Remove <hr/> from header flex container that broke title centering
- Apply viewport-fit zoom logic on all screen sizes, not just mobile
- Set SVG height to calc(100vh - 120px) so tree fills available space
- Add overflow:hidden to body to prevent scrolling past viewport
- Remove unnecessary top:20px offset from header

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 20:02:00 -04:00
s0lrayandPaperclip 4e5e88cf0b Add Notes and theme toggle buttons to desktop header (THE-120)
Move theme toggle from legend to header as "Light Mode"/"Dark Mode"
button visible on both desktop and mobile. Add "Notes" button in
header (desktop only; mobile keeps floating pill). Legend and notes
content now load into a 400px slide-in side panel on desktop, matching
the full-screen mobile overlay. Escape key closes notes panel.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 19:54:31 -04:00
s0lrayandPaperclip 56e65f27ac Center title and maximize tree viewport on mobile (THE-118)
- Use position:absolute for theme toggle so title centers naturally
- Reduce search bar padding on mobile for more vertical space
- Add min-height: 60vh on SVG to ensure tree fills viewport
- Desktop layout unchanged

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 18:24:44 -04:00
s0lrayandPaperclip c4531cb053 Add mobile-only theme toggle in header and notes overlay panel (THE-118)
On mobile (<=768px), the legend, notes, and about sections consumed most
of the viewport, leaving the D3 tree nearly unusable. This moves the
theme toggle into the header as a compact "Light Mode"/"Dark Mode"
button, hides the below-tree content, and adds a floating "Notes"
button that opens all that content in a full-screen overlay panel
(matching the existing tool detail panel pattern). Desktop layout
is completely unchanged.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 18:12:49 -04:00
s0lrayandGitHub ba58014163 Merge pull request #571 from lockfale/feature/THE-87-search-reveal
Search: reveal node in tree instead of linking to URL (THE-87)
2026-03-25 15:39:00 -04:00
s0lrayandPaperclip 2cad91a63b Search: reveal node in tree instead of linking to URL (THE-87)
Clicking a search result now collapses the full tree, expands all
ancestor branches of the matched node, highlights the node with an
accent-colored circle and bold text, and pans the viewport to it.

A small ↗ icon remains in each result for users who want to open the
tool's website directly.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 14:34:59 -04:00
s0lrayandPaperclip f5b5106a61 fix(ui): tokenize search CSS + add mobile responsive breakpoints (THE-72/THE-74)
- Replace hardcoded px/font values in search area with CSS tokens
  (--space-*, --font-size-*, --radius-sm, --font-family, --color-accent)
- Add focus box-shadow on search input using accent color
- Add box-shadow to search results dropdown
- Add @media (max-width: 768px) breakpoints: scale header font,
  make legend responsive (position:relative, width:auto)

These changes were present in feat/the-72 but were not carried forward
when THE-66 (search) and THE-73 (badges) merged into master independently.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 00:14:47 -04:00
s0lrayandPaperclip 118deee1be merge: resolve conflict with master — keep zoomToNode + search functions (THE-79)
Both zoomToNode() (pan/zoom, THE-79) and the search/badge additions from
master (THE-66, THE-73) are preserved. No logic changes to either side.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 00:00:56 -04:00
s0lrayandGitHub c59d584c06 Merge branch 'master' into feat/the-73-tool-status-badges 2026-03-24 23:54:10 -04:00
s0lrayandGitHub 811fc2e0ca Merge branch 'master' into feature/THE-66-client-side-search 2026-03-24 23:51:35 -04:00
s0lrayandPaperclip b5f349cf5e feat(ui): add pan/zoom to D3 tree visualization (THE-79)
- Apply d3.zoom() to SVG container for mouse wheel zoom and drag-to-pan
- Implement zoomToNode() that auto-centers viewport on clicked/expanded node
- Store svgEl reference separately from vis group for zoom target
- Add grab/grabbing cursor CSS on SVG to communicate interactivity
- Preserve compatibility with dark mode, viewBox/responsive SVG, null-child safety

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 23:50:54 -04:00
s0lrayandPaperclip b1ff67beb5 fix(ui): add mobile media queries for header and legend (THE-74)
Reduce #header font-size from 40px to 16px at max-width 768px to
prevent overlap with the D3 tree on narrow screens. Switch .legend
from absolute/fixed-width to relative/auto so it no longer overflows
viewports narrower than 400px.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 19:10:44 -04:00
s0lrayandPaperclip b684b3cd88 feat(ui): replace text suffixes with color-coded SVG badges (THE-73)
Parse (T)/(D)/(R)/(M) suffixes from tool names and render them as
colored tspan elements in the SVG tree. Add matching badge pill styles
to the HTML legend so it visually matches the tree indicators.

- T (tool) → blue #4a9eda
- D (dork) → orange #e8944a
- R (registration) → amber #c8a030
- M (manual URL) → purple #9a7eda

Badge colors are theme-invariant; they work on both dark and light
backgrounds without separate light-mode overrides.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 18:51:15 -04:00
s0lrayandPaperclip b52bfbcbe2 feat(ui): responsive SVG viewport, Inter typography, expanded CSS tokens (THE-72)
- Replace fixed SVG width/height attrs with viewBox + preserveAspectRatio so the
  tree scales naturally across screen sizes
- Switch font-family to Inter/system-font stack via --font-family token
- Add spacing tokens (--space-1 through --space-6, 4px scale)
- Add border-radius tokens (--radius-sm, --radius-md)
- Add shadow tokens (--shadow-sm, --shadow-md) with light-mode overrides
- Add --color-accent and --color-border for future theming use
- Add font-size tokens (--font-size-sm/base/lg/xl)
- Wire up new tokens throughout existing CSS rules

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 18:46:05 -04:00
s0lrayandPaperclip ab65f65a5f feat(ui): add client-side search for tools (THE-66)
Adds a debounced text search input above the D3 tree that filters all
~1,000+ tool nodes by name and description. Results appear as a flat
list with breadcrumb paths; clearing the input hides the panel.

- No build step required: vanilla JS, no new dependencies
- Sanitizes HTML output (escapeHtml/escapeAttr) and validates URLs (http/https only)
- Dark and light mode compatible via existing CSS variables
- Results capped at 50 to keep rendering fast

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 17:56:24 -04:00
635c51cd63 fix(ui): replace blue-tinted dark mode palette with neutral dark grays
Board feedback: dark mode looked blue rather than properly dark.
Changed backgrounds from navy (#1a1a2e, #16213e) to neutral darks
(#1a1a1a, #2d2d2d), node fills to gray (#3a3a3a), and node stroke
to steelblue to match light mode styling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 07:58:04 -04:00
s0lrayandPaperclip b2cd803130 fix(ui): improve light mode secondary text contrast to meet WCAG AA
#767676 on white = 4.54:1, just above the 4.5:1 AA threshold.
#999 (previous value) was 2.85:1, which failed.

Closes THE-37.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 07:29:22 -04:00
s0lrayandPaperclip 05c15eaf47 feat(ui): implement dark mode as default with CSS variables and theme persistence
Closes THE-34, THE-35, THE-36.

- Replaces all hardcoded colors in arf.css with CSS custom properties
- Dark palette defined on :root (default); light palette on body.light-mode
- Removes old .dark-Mode class; D3 inline styles now read CSS vars at render time
- goDark() toggles light-mode class and persists preference to localStorage
- Flash-prevention inline script in body applies stored theme before first paint
- Toggle button label reflects current theme state

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 07:27:28 -04:00
s0lrayandGitHub 827c70ce91 Merge pull request #305 from gabrielsozinho/master
feat: add noscript tag
2026-03-14 12:11:29 -04:00
Kyle Matthews 9c5e4caaea Added Dark Mode/Fixed file placement problem 2024-10-02 19:22:42 -04:00
gabrielsozinho f8bebb0a14 feat: add noscript tag 2022-12-31 14:57:11 -03:00
s0lray 1168431908 Added legend and tagged all links
Tagged all the links with symbols from the legend where appropriate.
2016-10-18 17:26:23 -04:00
treefort f7a6d43aee moved dist files into /public
…updating relative paths commensurately
2016-08-19 00:08:00 -04:00