Slides: thumb context menu, mode toggles, dark-mode shapes#206
Conversation
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Five small UX fixes to the slides editor surface: - Right-click on a slide thumbnail now opens an editing menu with New / Duplicate / Delete (singular or plural by selection) plus Change layout… (single-target only). Selection collapses to the right-clicked slide if it wasn't already in the multi-set, matching the canvas right-click semantics. Delete is gated when one slide remains so the editor never loses its render target. - The shape picker preview canvases relied on `currentColor`, which Canvas 2D doesn't understand and silently rendered black — invisible against the dark popover. The strokeStyle now resolves through `getComputedStyle(canvas).color` so the previews follow `text-foreground` in both themes. - The toolbar grew an explicit Select toggle (IconPointer) to the left of Text. Select / Text / Shape now form an exclusive group: exactly one is pressed, so the user can always tell which insert mode they're in. The Shape trigger drops its "Shape" text label, becoming icon-only with a Toggle-style pressed visual that matches Select / Text. - New presentations land with `slides: []`, which the editor's render() bails out on. SlidesView now seeds a single blank slide when the array is empty so brand-new decks open with content instead of a blank canvas. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Archive 20260510-slides-thumb-context-menu after the implementation landed on this branch. Adds a lessons file capturing five non-obvious findings — Canvas-2D `currentColor` falling back to black, the in-package `showContextMenu` reuse, the canvas right-click selection- collapse pattern, the always-one-pressed insert-mode partition, and the empty-deck `render()` bail-out that motivated the first-slide seed. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
2393930 to
86e2630
Compare
Verification: verify:selfResult: ✅ PASS in 189.8s
Verification: verify:integrationResult: ✅ PASS |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Commit dd3ca28 added an explicit Select toggle and turned Shape into an icon-only toggle, forming a Select/Text/Shape exclusive group on the slides toolbar. The 8 baselines that capture that toolbar (and the full harness shots that contain it) drifted as a result, breaking verify-browser on main. Regenerated via `pnpm verify:browser:docker:update` so the rendering matches the CI Playwright container exactly. Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
Each package already has its own README, but there was no top-level entry point inside `packages/` that summarised what lives where. Splits the listing into engines (sheets, docs, slides) and apps and services (frontend, backend, cli, documentation) so a new contributor can orient before drilling into a single package. Four active tasks have shipped on main (PR #189 undo-destroys-initial-block, #202+#205 slides-shapes-p1, #206 slides-thumb-responsive, #204 contributing-md) but their todo files were still sitting in `docs/tasks/active/` because some checkboxes were never ticked. Mark the remaining items done and run `pnpm tasks:archive` to move the five files into `archive/2026/05/`. While there, eight April task docs were still loose at the archive root (predating the by-month layout). Move them into `archive/2026/04/` so the directory is uniformly organised and the index counts stay accurate. Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
Adding 8 align + 2 distribute buttons to the slides formatting toolbar reflows every mobile slides harness scenario (toolbar height wraps differently) and shifts the dedicated slides-toolbar desktop capture. Same kind of refresh as PR #207 did for #206. 37 baselines updated: 33 slides mobile scenarios + 2 slides-toolbar desktop (light + dark.dark profile) + 4 root harness pages (`harness-visual.browser.{,desktop.dark,mobile,mobile.dark}.png`). Generated by `pnpm verify:browser:docker:update`. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Adds @wafflebase/slides as a third surface alongside Sheets and Docs, plus 53-shape library (Phase 1+2), adjustment handles for 9 pilot shapes (P3-A.1), live snap guides, align/distribute toolbar, themed authoring, and layout-change UI. Also ships Sheets cell comments (Phase B), docs peer-avatar caret jump, yorkie-js-sdk 0.7.8 upgrade, and CLI/REST API improvements (docs export imageFetcher, expired session refresh, REST docs split). Minor bump because slides is a new top-level package. Highlights: #184 #185 #186 #187 #188 #189 #190 #191 #192 #197 #198 #201 #202 #203 #204 #205 #206 #207 #209 #210
Summary
Five small UX fixes to the slides editor reported by the user.
ctx.strokeStyle = "currentColor"was painting black because Canvas 2D doesn't understand the CSS keyword. Now resolves throughgetComputedStyle(canvas).colorso previews followtext-foregroundin both themes.IconPointer) to the left of Text. Select / Text / Shape now form an exclusive group: exactly one is always pressed, so the user can always tell which insert mode they're in. Shape trigger drops its "Shape" text label, becoming icon-only with the same Toggle pressed visual.slides-view.tsxcallsaddSlide("blank")when a brand-new deck loads withslides: [], since the editor'srender()bails out without a current slide.22 unit tests added in
thumbnail-panel.test.tscovering single/multi labels, selection-collapse on right-click outside the multi-set, New / Duplicate / Delete behavior, current-slide reassignment after delete, and the deck-wipe + multi-select disabled gates.Self code review came back Ready to merge — no Critical or Important issues; minor cleanup suggestions deferred.
Test plan
pnpm verify:fastgreen (run locally)pnpm dev:🤖 Generated with Claude Code