Logbook tab
|
iOS |
Android |
| Status |
⏳ |
⏳ |
| Code |
— |
— |
Source: click dummies docs/companion_app/sailever-ios.html, docs/companion_app/sailever-android.html (Logbook tab, public logbook sheet).
Verified against code: 2026-10-11 (no code yet; checked against the click dummies)
Purpose
The signed-in user's home, as on the website (/my): totals, distance per year and the latest trips. Plus the switch and link for the public logbook.
Server API
Needs GET /api/v1/logbook (⏳ missing; website: GET /my). The public logbook needs a handle and a public_logbook flag on the user and a public page sailever.com/@{handle} (⏳ missing on the server).
Layout / behaviour
Scrolling page with a large title.
| Element |
Content & format |
Behaviour |
iOS vs Android |
| Large title |
"Logbook". Subtitle "Everything you sailed, added up." |
Collapses into the bar on scroll. |
iOS: navigation bar title fades in. Android: top app bar lifts and shows the title. |
| Share |
Share icon. |
Opens the public logbook sheet. |
— |
| Avatar |
Initials. |
Opens Account. |
— |
Underway
Shown only while a track records.
| Element |
Content & format |
Behaviour |
iOS vs Android |
| Underway row |
Signal-coloured boat icon. "Underway from {departure} · Track {n}". Second line, live: "{sog} kn · {cog}T · {x} NM so far". Chevron. |
Opens the Map tab. |
iOS: grouped cell. Android: card with a signal-tinted outline. |
Totals
| Element |
Content & format |
Behaviour |
iOS vs Android |
| Section head |
"Totals". |
— |
Android has no section head. |
| Distance |
Readout: 1 decimal + "NM". |
Same rule as the website (logbook.md § Totals): all trips, bridges included, plus tracks without a trip. When bridges exist: note "Includes {x} NM bridged". |
— |
| Days on the water |
Readout: integer. |
Distinct dates over all trip days; two trips on the same date count once (glossary, Day). |
— |
| Sailing time |
Readout {h} h {mm} min (formats), sail bar. |
— |
— |
| Engine time |
Readout {h} h {mm} min, engine bar. |
— |
— |
Distance per year
| Element |
Content & format |
Behaviour |
iOS vs Android |
| Section head |
"Distance per year". |
— |
iOS: group header. Android: card title. |
| Year row |
Year (mono), bar, value "{x} NM". Newest year first. |
Bar length relative to the longest year. The bar splits into sailed and motored NM. Accessible label "{year}: sailed {x} NM, motored {y} NM". |
— |
| Legend |
"Sailed", "Motored". |
— |
— |
Sharing
| Element |
Content & format |
Behaviour |
iOS vs Android |
| Section head |
"Sharing". |
— |
Android has no section head. |
| Public logbook row |
Globe icon (crossed out when off). "Public logbook". On: "sailever.com/@{handle} · {n} public trip(s)". Off: "Off. Only you see your logbook." |
Opens the public logbook sheet. |
iOS: cell with value "On" / "Off" and chevron. Android: card with a share icon. |
Latest trips
| Element |
Content & format |
Behaviour |
iOS vs Android |
| Section head |
"Latest trips" and a link "All trips". |
The link opens the Trips tab. |
— |
| Carousel |
The 3 trips whose first track started most recently, as trip cards, 80 % wide, snapping. |
Tap: trip detail. |
— |
Public logbook sheet
| Element |
Content & format |
Behaviour |
iOS vs Android |
| Title |
"Public logbook". Sub: "A read-only page with your totals, distance per year and the trips you set to Public." |
Close (✕, iOS) or Done (Android). |
iOS: glass half sheet. Android: modal bottom sheet. |
| Publish switch |
"Publish my logbook", hint "Turn off any time. The link stops working right away." |
Saves at once. Off: link, numbers and buttons dim and disable. |
— |
| Link |
Link icon, sailever.com/@{handle} (mono), Copy. |
Copies; toast/snackbar "Link copied". |
— |
| What it shows |
"Distance" {x} NM, "Days on the water" {n}, "Public trips" titles, or "None yet". |
Read only. |
iOS: group with header "What it shows". Android: key-value list with icons. |
| Note |
"Private and crew trips never show up here. Change a trip's sharing on the trip." |
— |
— |
| Share link |
Primary button. |
System share sheet, title "{first name}'s sailing logbook". |
— |
States and edge cases
- No trips yet: ⏳ not designed. The website's empty state is in logbook.md § Latest trips (its copy is flagged there as a known deviation).
- No track recording: the Underway row is hidden.
Known deviations
- Copy aligned with the website (
app.logbook.*): the dummies say "Days at sea", "Miles per year" and "Recent trips" with "See All" (iOS) / "All trips" (Android). This spec uses "Days on the water", "Distance per year", "Latest trips" and "All trips".
- The dummies count one day per track. A day is a local calendar day with at least one kept point (glossary).
- The Underway row ends with "NM so far" on iOS and "NM today" on Android. It shows the distance of the recording track, so this spec uses "NM so far".
- The dummies leave out bridged distance. This spec includes it, as the website does.
- The sheet's sub-line in both dummies says "miles per year". This spec says "distance per year".
- The year bars split into sailed and motored NM, as in the dummies; the website's year bar is one colour. Kept as an app addition.