Skip to content

Unlimited events with single search input - #3

Merged
enricobattocchi merged 7 commits into
mainfrom
unlimited-events-single-search
Mar 10, 2026
Merged

Unlimited events with single search input#3
enricobattocchi merged 7 commits into
mainfrom
unlimited-events-single-search

Conversation

@enricobattocchi

Copy link
Copy Markdown
Owner

Summary

  • Replace per-event input rows with a single always-visible search input; remove 3-event cap
  • Birth/death choice shown inline in dropdown for persons with a death date
  • Remove and toggle-death buttons on timeline markers (hover-reveal on desktop, always visible on mobile)
  • Flip overlapping marker info cards above the timeline line to avoid overlap
  • Editable timeline title (placeholder "my timeline") persisted via ?t= URL param, used in sharing, metadata, OG image, and PNG export
  • Removable "Now" marker (2+ events) with re-add button in share toolbar; persisted via &now=0
  • Replace Sentence component with ShareToolbar (copy link, share, download)
  • Delete sentence.ts and related files

Test plan

  • Add 4+ events — URL, timeline, share buttons all work
  • Click × on a marker — correct event removed, URL updated
  • Click swap button on a person marker — toggles birth/death
  • Select a person in dropdown — birth/death sub-options appear
  • Overlapping markers flip above the timeline line
  • Edit the timeline title — URL updates, title appears in shared link and PNG export
  • Remove "Now" marker — timeline shows only events; re-add via calendar button
  • Mobile: remove/toggle buttons visible without hover
  • Copy link and download image still work
  • OG image renders correctly with custom title

🤖 Generated with Claude Code

enricobattocchi and others added 6 commits March 10, 2026 21:39
Introduces three precision levels (year → month → day) where the
lowest precision event determines the granularity for the whole
timeline, matching the existing years-only behavior.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace per-event input rows with a single search input and move
remove/toggle-death controls to timeline markers. Remove the sentence
feature entirely (including OG/metadata generation) in favor of a
simpler ShareToolbar with copy-link, share, and download buttons.

- Remove 3-event cap in url-params
- Single EventAutocomplete always visible; birth/death choice shown
  inline in dropdown for persons with a death date
- Add remove (×) and birth/death toggle buttons to TimelineMarker,
  revealed on hover, hidden during export
- Use event-key-based callbacks so markers work correctly regardless
  of chronological sort order
- Replace Sentence component with ShareToolbar
- Use event display names for page title and OG image heading
- Delete sentence.ts, Sentence.tsx, and related tests/styles

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
After render, measure info card bounding rects and greedily assign
overlapping cards to an "above" track. Uses absolute positioning so
the circle stays aligned with the timeline line. Disabled on mobile
(vertical layout) where overlap isn't an issue.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Editable title field (placeholder "my timeline") in the export area,
  styled as inline serif text with auto-resizing textarea for wrapping
- Title persisted in URL via ?t= query param, used in sharing, native
  share dialog, page metadata, OG image heading, and PNG export
- Now marker removable with 2+ events via × button; re-add via
  calendar icon in ShareToolbar; state persisted via &now=0 param
- Update heading to "Build your own timeline"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Set height to 0 before reading scrollHeight so the textarea can
grow beyond its current size. Use ResizeObserver instead of window
resize listener for reliable re-measurement on layout changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove and toggle-death buttons use hover-reveal on desktop but
touch devices have no hover, so make them always visible at the
mobile breakpoint.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@netlify

netlify Bot commented Mar 10, 2026

Copy link
Copy Markdown

Deploy Preview for closerintimewiki ready!

Name Link
🔨 Latest commit d34358b
🔍 Latest deploy log https://app.netlify.com/projects/closerintimewiki/deploys/69b0a100a87d4b00085fb5db
😎 Deploy Preview https://deploy-preview-3--closerintimewiki.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 74
Accessibility: 100
Best Practices: 92
SEO: 97
PWA: 100
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

…atermark

Replace pencil emoji with outlined MUI edit icon in the editable title
placeholder. Hide the title entirely from PNG export when empty (it's just
a placeholder). Add "wiki:closerintime" watermark visible only in exported
PNG images.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@enricobattocchi
enricobattocchi merged commit d34358b into main Mar 10, 2026
6 checks passed
@enricobattocchi
enricobattocchi deleted the unlimited-events-single-search branch March 10, 2026 23:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant