feat(dashboards): reveal tile resize handles on border hover#69744
Conversation
Show the resize handles on hover of a tile's border in view mode when the user can edit the dashboard, so a tile can be resized without first entering layout edit mode. Extends the edge overlay to 8 zones (edges + corners) and resolves the hover conflict with the inline insert-tile line by keeping each affordance to its own pixels. Generated-By: PostHog Code Task-Id: af36d4dd-782b-4bab-ad01-288078ae2123
🦔 Hogbox preview · ✅ ready▶ Open the preview
commit |
🤖 CI report
|
| Root | Eager (shipped) | Δ vs base | Budget |
|---|---|---|---|
entry (logged-out pages, app bootstrap)src/index.tsx |
1.20 MiB · 22 files | 🔺 +97 B (+0.0%) | ███░░░░░░░ 28.0% of 4.29 MiB |
authenticated shell (every logged-in page)src/scenes/AuthenticatedShell.tsx |
8.06 MiB · 2,956 files | 🔺 +630 B (+0.0%) | █████████░ 87.2% of 9.25 MiB |
🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
Largest files eagerly shipped from src/index.tsx
| Size | File |
|---|---|
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 24.6 KiB | ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js |
| 6.3 KiB | ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js |
| 4.5 KiB | ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js |
| 3.9 KiB | ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js |
| 1.4 KiB | ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js |
| 1.3 KiB | src/RootErrorBoundary.tsx |
| 912 B | ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js |
| 789 B | src/scenes/ChunkLoadErrorBoundary.tsx |
| 668 B | src/index.tsx |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
| Size | File |
|---|---|
| 277.1 KiB | ../node_modules/.pnpm/posthog-js@1.398.2/node_modules/posthog-js/dist/rrweb.js |
| 266.9 KiB | ../node_modules/.pnpm/@posthog+icons@0.37.4_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 224.6 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 213.6 KiB | ../node_modules/.pnpm/posthog-js@1.398.2/node_modules/posthog-js/dist/module.js |
| 164.0 KiB | src/queries/validators.js |
| 154.0 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 105.7 KiB | src/lib/api.ts |
| 93.3 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
| 90.5 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.1_@tiptap+pm@3.20.1/node_modules/@tiptap/core/dist/index.js |
Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479
⚠️ Dist folder size — 🔺 +271.9 KiB (+0.0%)
Total size of the built frontend/dist folder (all assets), compared against the base branch.
Total: 1433.60 MiB · 🔺 +271.9 KiB (+0.0%)
|
Reviews (1): Last reviewed commit: "feat(dashboards): reveal tile resize han..." | Re-trigger Greptile |
Problem
Resizing a dashboard tile means clicking into layout edit mode first. If you can edit the dashboard, hovering a tile border should just show the resize handles so you can grab and resize in place.
Changes
CleanShot.2026-07-09.at.11.54.19.mp4
content-visibilityvia:has(> .handle).Note
The insert line's hit area shrank to resolve the overlap. Still centered in the gap and ~6x the visible line, but worth a look in review.
How did you test this code?
Automated (run by me, the agent):
EditModeEdgeOverlay,editLayoutGesture, andTextCardsuites pass; typecheck + lint clean. Not manually verified in a browser, so the pixel split between resize zones and the insert line is best confirmed live.🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Built by Claude (PostHog Code) with Matt driving, iteratively: ship hover handles, then fix issues Matt caught live (clipping, insert-line conflict), then cleanup. Ran the
xp-reviewershared skill (inlined a dead single-handle abstraction it flagged) and/writing-tests(TextCard test became a wiring guard, not a count change-detector).Created with PostHog Code