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:
parent
57141cdfab
commit
c7c1c275df
55 changed files with 1704 additions and 0 deletions
2
openspec/changes/app-navigation/.openspec.yaml
Normal file
2
openspec/changes/app-navigation/.openspec.yaml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
schema: spec-driven
|
||||
created: 2026-03-25
|
||||
40
openspec/changes/app-navigation/design.md
Normal file
40
openspec/changes/app-navigation/design.md
Normal 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.
|
||||
33
openspec/changes/app-navigation/proposal.md
Normal file
33
openspec/changes/app-navigation/proposal.md
Normal 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
|
||||
12
openspec/changes/app-navigation/specs/map-display/spec.md
Normal file
12
openspec/changes/app-navigation/specs/map-display/spec.md
Normal 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
|
||||
18
openspec/changes/app-navigation/tasks.md
Normal file
18
openspec/changes/app-navigation/tasks.md
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue