Migrate timeline chrome to Lui_element_combine.buttons - #28
Conversation
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
|
iOS sim verification — timeline chrome migrated to Verified on iPhone 17 sim (iOS 27.0), signed in,
Caveat: taps within ~4pt of the capsule's rounded extremity can fall outside the cell — consistent with frame-based hit-testing, not a regression. |
|
Fused error+account capsule (053fea9) verified under real error state ✅ The two top-right controls were previously separate chrome slots each hosting its own Induced a live sync failure on the iOS sim (
|
The .bottomBar toolbar reserves container safe-area space, so the FloatingChrome GeometryReader (and the list inside it) was inset above the bar region and the band showed the opaque window background. Hide the bottomBar toolbar background and let the content extend under it so the bottom capsules float over scrollable content, matching the floating top-right controls.
Summary
Migrates the timeline page's remaining toolbar surfaces to the
V.buttonsglass-capsule composite, on lui0c93a00(logseq/lui#64) which adds aMenuaction variant:buttons_actionis now a variant —Press of {label; icon; text; on_press}|Menu of {label; icon; text; menu : Lui_elements.t list; on_dismiss}.V.buttonsmaps both onto the lui-levelLui_element_combine.actionvariants.V.buttons_actionretains the old(label, icon, text, handler)signature so existing press callers are unchanged.V.buttons_menu_action ~label ~icon ?text ~on_select entriesbuilds aMenuaction from the existingV.Menu.entryvocabulary (ids/roles/dividers/submenus preserved);Menu.entry_elements/to_elementswere hoisted soMenu.createand the buttons wrapper share the same entry conversion.app/journal_header.ml: the top-right Account menu moves fromV.Menu.create(which produced a chevron-down system row) tobuttons_menu_action— a single-member glass capsule whose menu_trigger hosts the same five account actions. The destinations pair (Journals/Favorites) collapses from aV.Toolbar.groupof twoV.buttons into oneV.buttonsPress capsule.selectedstate (theselectedbinding andnavigationhelper are deleted) — the pressed item navigates, and the destination itself is conveyed by the page content, matching how other buttons behave.logseq_journal.opam(+.locked) pin lui to0c93a0000b1…;test/source_boundary_test.mlupdated for the new pin and the header's new required symbols (V.buttons,V.buttons_menu_actionin place ofV.button/V.Menu.create).Known preexisting failure on main (unchanged by this PR):
source_boundary_testalso requires"V.progress"inapp/journal_timeline.ml, which has been absent since commit316b159removed it — the test fails on main too.Depends on logseq/lui#64 — the pin should be repointed to that PR's merge commit once it lands.
Link to Devin session: https://app.devin.ai/sessions/3bce435625ba4bc086c09520e0920db5
Open in Devin Desktop: https://app.devin.ai/desktop/session/3bce435625ba4bc086c09520e0920db5?variant=devin
Requested by: @RCmerci