Add 8 proposed changes and old trails analysis

Proposed changes (all with proposal, design, specs, tasks):
- app-navigation (9 tasks) — nav bars for both apps
- planner-landing-page (7 tasks) — standalone landing page
- planner-multiplayer-awareness (13 tasks) — participants, cursors, names
- changelog (13 tasks) — public changelog with "what's new"
- transactional-emails (15 tasks) — magic link + welcome emails
- planner-features (18 tasks) — no-go areas, notes, recovery, rate limits
- komoot-import (23 tasks) — Komoot tour import
- route-features (37 tasks) — sharing, multi-day, spatial, photos

Also adds docs/old-trails-analysis.md with feature analysis from the
older trails project.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ullrich Schäfer 2026-03-25 03:57:20 +01:00
parent 57141cdfab
commit c7c1c275df
No known key found for this signature in database
GPG key ID: A32FF691A0F752D9
55 changed files with 1704 additions and 0 deletions

View file

@ -0,0 +1,2 @@
schema: spec-driven
created: 2026-03-25

View file

@ -0,0 +1,40 @@
## Context
Navigation audit found: Journal's `/routes` and `/activities` pages are
orphaned (no links point to them). The Planner home page has no CTA. Logout
is only on the profile page. Users must know URLs to use the apps.
## Goals / Non-Goals
**Goals:**
- Every non-API route reachable via UI navigation
- Logged-in Journal users see: Routes, Activities, profile, logout
- Logged-out Journal users see: login, register
- Planner home has a clear "start planning" action
- Keep it minimal — a thin bar, not a complex sidebar
**Non-Goals:**
- Mobile hamburger menu (responsive PR already hides sidebar — nav bar wraps naturally)
- Breadcrumbs or nested navigation
- Settings page (future)
## Decisions
### D1: Journal nav bar in root Layout
Add a `<nav>` element inside `Layout` in `root.tsx`. The root loader already
returns the user (added for Sentry context), so the nav bar can conditionally
show authenticated vs. unauthenticated links. No new loader needed.
### D2: Planner gets a CTA on home, not a nav bar
The Planner is session-focused — users arrive, create a session, and work in
it. A full nav bar would be overhead. Instead: home page gets a prominent
"Start Planning" button linking to `/new`. Session view already has a header —
add a small logo/home link to it.
### D3: Use @trails-cool/ui for shared nav component
The nav bar itself is Journal-specific (routes, activities, auth). No need
to put it in the shared UI package — it goes directly in Journal's root.tsx
or a colocated component.

View file

@ -0,0 +1,33 @@
## Why
Both apps have pages that are only reachable by typing URLs. The Journal has no
navigation bar — logged-in users can't find their routes or activities without
knowing the URLs. The Planner home page is a dead end with no way to create a
session. This makes the apps unusable for anyone who doesn't know the URL
structure.
## What Changes
- **Journal**: Add a navigation bar (home, routes, activities, profile, logout)
that appears when logged in. Unauthenticated users see login/register links.
- **Planner**: Add a "New Session" CTA on the home page. Add a minimal header
in session view with a link back to home.
- Both apps get consistent, minimal navigation that makes all features
discoverable.
## Capabilities
### New Capabilities
(None — this adds UI chrome to existing features, no new behavioral capabilities.)
### Modified Capabilities
- `map-display`: Planner home page gains a CTA and session header gains a home link
## Impact
- **Files**: Journal `root.tsx` (nav bar), Planner `home.tsx` (CTA),
Planner `SessionView.tsx` (home link), new `NavBar` component
- **Dependencies**: None
- **i18n**: New translation keys for navigation labels

View file

@ -0,0 +1,12 @@
## MODIFIED Requirements
### Requirement: Planner home page
The Planner home page SHALL provide a clear call-to-action to create a new planning session and a link back to the home page from within sessions.
#### Scenario: Home page CTA
- **WHEN** a user visits the Planner home page
- **THEN** a prominent "Start Planning" button is visible that links to `/new`
#### Scenario: Session home link
- **WHEN** a user is in a planning session
- **THEN** the header contains a link back to the Planner home page

View file

@ -0,0 +1,18 @@
## 1. Journal Navigation Bar
- [ ] 1.1 Add nav bar to Journal root Layout — show "Routes", "Activities" links when logged in; "Login", "Register" when logged out
- [ ] 1.2 Add user menu to nav bar — username/display name linking to profile, logout button
- [ ] 1.3 Highlight active nav item based on current route
- [ ] 1.4 Add i18n keys for nav labels (en + de): routes, activities, profile, logout
## 2. Planner Navigation
- [ ] 2.1 Add "Start Planning" CTA button on Planner home page linking to `/new`
- [ ] 2.2 Add home link (logo or text) to SessionView header
- [ ] 2.3 Add i18n keys for planner nav (en + de): startPlanning, home
## 3. Verify
- [ ] 3.1 Verify all Journal routes are reachable via navigation (routes, activities, profile, auth, privacy)
- [ ] 3.2 Verify Planner home → new session → back to home works
- [ ] 3.3 Update E2E tests if navigation changes affect existing selectors