From 543e920e3a166187b8e3cca126c0d1c6ecc06491 Mon Sep 17 00:00:00 2001 From: thislight Date: Wed, 4 Dec 2024 20:02:29 +0800 Subject: [PATCH 1/8] first prototype of MediaQuickview --- bun.lockb | Bin 522868 -> 524586 bytes package.json | 1 + src/platform/MediaQuickview.css | 69 ++++++++ src/platform/MediaQuickview.tsx | 179 ++++++++++++++++++++ src/timelines/toots/MediaAttachmentGrid.tsx | 43 ++--- 5 files changed, 261 insertions(+), 31 deletions(-) create mode 100644 src/platform/MediaQuickview.css create mode 100644 src/platform/MediaQuickview.tsx diff --git a/bun.lockb b/bun.lockb index 247b2325729f9b123f579e864df977d9b9c10912..cd4221aa61a78e04f916d872d0ca87818caad2bd 100755 GIT binary patch delta 110997 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 TOfjTVE~;NyCb&OVf71RB)hL;3 diff --git a/package.json b/package.json index 25814fe..69b71d9 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "@solid-primitives/page-visibility": "^2.0.17", "@solid-primitives/resize-observer": "^2.0.26", "@solidjs/router": "^0.15.2", + "@solid-primitives/rootless": "^1.4.5", "@suid/icons-material": "^0.8.1", "@suid/material": "^0.18.0", "blurhash": "^2.0.5", diff --git a/src/platform/MediaQuickview.css b/src/platform/MediaQuickview.css new file mode 100644 index 0000000..b1ceb07 --- /dev/null +++ b/src/platform/MediaQuickview.css @@ -0,0 +1,69 @@ +.MediaQuickview__root { + display: contents; +} + +.MediaQuickview { + border: none; + position: fixed; + width: 100vw; + width: 100dvw; + height: 100vh; + height: 100dvh; + max-width: 100vw; + max-height: 100vh; + contain: content; + padding: 0; + + &::backdrop { + background: none; + } + + >.Scaffold>.topbar { + position: fixed; + left: 0; + right: 0; + + >* { + background-color: var(--tutu-color-surface); + color: var(--tutu-color-on-surface); + } + } + + >.Scaffold>.pages { + display: grid; + grid-auto-flow: column; + grid-auto-columns: 100%; + height: 100%; + width: 100%; + overflow: auto hidden; + scroll-snap-type: x mandatory; + scroll-snap-align: center; + scroll-snap-stop: always; + + + >.page { + width: 100%; + height: 100%; + max-width: 100vw; + max-height: 100vh; + contain: layout style size paint; + + >* { + display: block; + width: 100%; + height: 100%; + + object-fit: contain; + object-position: center; + } + } + } + + &.lightout { + >.Scaffold { + >.topbar { + visibility: hidden; + } + } + } +} \ No newline at end of file diff --git a/src/platform/MediaQuickview.tsx b/src/platform/MediaQuickview.tsx new file mode 100644 index 0000000..2a9d7e1 --- /dev/null +++ b/src/platform/MediaQuickview.tsx @@ -0,0 +1,179 @@ +import { createCallback, createSubRoot } from "@solid-primitives/rootless"; +import { + createRenderEffect, + createSignal, + Index, + Match, + onCleanup, + onMount, + Switch, + type Component, +} from "solid-js"; +import { render } from "solid-js/web"; +import Scaffold from "~material/Scaffold"; +import { isPointNotInRect } from "./dom"; +import "./MediaQuickview.css"; +import AppTopBar from "~material/AppTopBar"; +import { IconButton } from "@suid/material"; +import { Close } from "@suid/icons-material"; + +function renderIsolateMediaQuickview( + each: QuickviewMedia[], + index: number, + transitionFrom?: Element, +) { + createSubRoot((disposeAll) => { + let container: HTMLDivElement; + + createRenderEffect(() => { + container = document.createElement("div"); + container.setAttribute("role", "presentation"); + container.classList.add("MediaQuickview__root"); + document.querySelector("body")!.appendChild(container); + + onCleanup(() => container.remove()); + + const dispose = render(() => { + return ( + + ); + }, container); + + onCleanup(dispose); + }); + }); +} + +export function createMediaQuickview() { + return createCallback(renderIsolateMediaQuickview); +} + +function ImagePage(props: { src: string; alt?: string }) { + const [scale, setScale] = createSignal(1); + const [offsetX, setOffsetX] = createSignal(0); + const [offsetY, setOffsetY] = createSignal(0); + + const onWheel = (event: WheelEvent & { currentTarget: HTMLElement }) => { + // This is a de-facto standard for scaling: + // Browsers will simulate ctrl + wheel for two point scaling gesture. + if (event.ctrlKey) { + event.preventDefault(); + event.stopPropagation(); + + const offset = event.deltaY; + + setScale((x) => x + offset / event.currentTarget.clientHeight); + } + }; + + return ( + {props.alt} { + const { top, left, width, height } = + currentTarget.getBoundingClientRect(); + }} + > + ); +} + +export type QuickviewMedia = { + cat: "image" | "video" | "gifv" | "audio" | "unknown"; + src: string; + alt?: string; +}; + +export type MediaQuickviewProps = { + each: QuickviewMedia[]; + defaultIndex: number; + transitonFrom?: Element; + + onClose?(): void; +}; + +const MediaQuickview: Component = (props) => { + let root: HTMLDialogElement; + const [lightOut, setLightOut] = createSignal(false); + + function onDialogClick( + event: MouseEvent & { currentTarget: HTMLDialogElement }, + ) { + event.stopPropagation(); + + if ( + isPointNotInRect( + event.currentTarget.getBoundingClientRect(), + event.clientX, + event.clientY, + ) + ) { + event.currentTarget.close(); + } else { + setLightOut((x) => !x); + } + } + + return ( + { + root = e; + onMount(() => { + e.showModal(); + }); + }} + class="MediaQuickview" + classList={{ lightout: lightOut() }} + onClose={props.onClose} + onCancel={props.onClose} + onClick={onDialogClick} + > + + root.close()}> + + + + } + > +
{ + onMount(() => { + e.children.item(props.defaultIndex)!.scrollIntoView({ + behavior: "instant", + inline: "center", + }); + }); + }} + class="pages" + > + + {(item, index) => { + return ( +
+ + + + + +
+ ); + }} +
+
+
+
+ ); +}; + +export default MediaQuickview; diff --git a/src/timelines/toots/MediaAttachmentGrid.tsx b/src/timelines/toots/MediaAttachmentGrid.tsx index 4b22564..77e7dda 100644 --- a/src/timelines/toots/MediaAttachmentGrid.tsx +++ b/src/timelines/toots/MediaAttachmentGrid.tsx @@ -5,13 +5,9 @@ import { Match, Switch, createMemo, - createRenderEffect, createSignal, - onCleanup, untrack, } from "solid-js"; -import MediaViewer from "../MediaViewer"; -import { render } from "solid-js/web"; import { createElementSize, useWindowSize, @@ -24,6 +20,7 @@ import "~material/cards.css"; import { Preview } from "@suid/icons-material"; import { IconButton } from "@suid/material"; import Masonry from "~platform/Masonry"; +import { createMediaQuickview } from "~platform/MediaQuickview"; type ElementSize = { width: number; height: number }; @@ -58,39 +55,23 @@ const MediaAttachmentGrid: Component<{ sensitive?: boolean; }> = (props) => { const [rootRef, setRootRef] = createSignal(); - const [viewerIndex, setViewerIndex] = createSignal(); - const viewerOpened = () => typeof viewerIndex() !== "undefined"; const settings = useStore($settings); const windowSize = useWindowSize(); const [reveal, setReveal] = createSignal([] as number[]); - createRenderEffect(() => { - const vidx = viewerIndex(); - if (typeof vidx === "undefined") return; - const container = document.createElement("div"); - container.setAttribute("role", "presentation"); - document.body.appendChild(container); - const dispose = render(() => { - onCleanup(() => { - document.body.removeChild(container); - }); - - return ( - setViewerIndex()} - /> - ); - }, container); - - onCleanup(dispose); - }); + const openMediaQuickview = createMediaQuickview(); const openViewerFor = (index: number) => { - setViewerIndex(index); + openMediaQuickview( + props.attachments.map((item) => { + return { + cat: item.type, + src: item.url as string, + alt: item.description || undefined, + }; + }), + index, + ); }; const columnCount = () => { From ebf9283dc61c2d63abd73e593976ef5bfc39aa60 Mon Sep 17 00:00:00 2001 From: thislight Date: Fri, 6 Dec 2024 20:46:44 +0800 Subject: [PATCH 2/8] MediaQuickview: supports grabbing --- src/platform/MediaQuickview.css | 15 +++- src/platform/MediaQuickview.tsx | 151 ++++++++++++++++++++++++++------ 2 files changed, 135 insertions(+), 31 deletions(-) diff --git a/src/platform/MediaQuickview.css b/src/platform/MediaQuickview.css index b1ceb07..0161fcf 100644 --- a/src/platform/MediaQuickview.css +++ b/src/platform/MediaQuickview.css @@ -46,15 +46,18 @@ height: 100%; max-width: 100vw; max-height: 100vh; - contain: layout style size paint; + contain: strict; + display: grid; + place-items: center; + + cursor: grab; >* { display: block; - width: 100%; - height: 100%; object-fit: contain; object-position: center; + transform-origin: 0 0; } } } @@ -66,4 +69,10 @@ } } } + + &.moving { + >.Scaffold>.pages>.page { + cursor: grabbing; + } + } } \ No newline at end of file diff --git a/src/platform/MediaQuickview.tsx b/src/platform/MediaQuickview.tsx index 2a9d7e1..74fabd2 100644 --- a/src/platform/MediaQuickview.tsx +++ b/src/platform/MediaQuickview.tsx @@ -1,5 +1,7 @@ import { createCallback, createSubRoot } from "@solid-primitives/rootless"; import { + batch, + createMemo, createRenderEffect, createSignal, Index, @@ -16,6 +18,7 @@ import "./MediaQuickview.css"; import AppTopBar from "~material/AppTopBar"; import { IconButton } from "@suid/material"; import { Close } from "@suid/icons-material"; +import { createStore, unwrap } from "solid-js/store"; function renderIsolateMediaQuickview( each: QuickviewMedia[], @@ -53,35 +56,19 @@ export function createMediaQuickview() { return createCallback(renderIsolateMediaQuickview); } -function ImagePage(props: { src: string; alt?: string }) { - const [scale, setScale] = createSignal(1); - const [offsetX, setOffsetX] = createSignal(0); - const [offsetY, setOffsetY] = createSignal(0); - - const onWheel = (event: WheelEvent & { currentTarget: HTMLElement }) => { - // This is a de-facto standard for scaling: - // Browsers will simulate ctrl + wheel for two point scaling gesture. - if (event.ctrlKey) { - event.preventDefault(); - event.stopPropagation(); - - const offset = event.deltaY; - - setScale((x) => x + offset / event.currentTarget.clientHeight); - } - }; - +function ImagePage(props: { + src: string; + alt?: string; + scale: number; + offsetX: number; + offsetY: number; +}) { return ( {props.alt} { - const { top, left, width, height } = - currentTarget.getBoundingClientRect(); + transform: `scale(${props.scale}) translateX(${-props.offsetX}px) translateY(${-props.offsetY}px)`, }} > ); @@ -101,8 +88,13 @@ export type MediaQuickviewProps = { onClose?(): void; }; +function clamp(value: T, min: T, max: T) { + return Math.max(Math.min(value, max), min); +} + const MediaQuickview: Component = (props) => { let root: HTMLDialogElement; + const [lightOut, setLightOut] = createSignal(false); function onDialogClick( @@ -123,6 +115,93 @@ const MediaQuickview: Component = (props) => { } } + const [transformations, setTransformations] = createStore( + [] as { + scale: number; + /** + * positive = the left edge move towards left + */ + offsetX: number; + /** + * positive = the top edge move towards top + */ + offsetY: number; + }[], + ); + + const transformationGetOrSetDefault = (index: number) => { + if (transformations.length <= index) { + setTransformations(index, { + scale: 1, + offsetX: 0, + offsetY: 0, + }); + } + return transformations[index]; + }; + + const onWheel = ( + index: number, + event: WheelEvent & { currentTarget: HTMLElement }, + ) => { + // This is a de-facto standard for scaling: + // Browsers will simulate ctrl + wheel for two point scaling gesture on trackpad. + if (event.ctrlKey) { + event.preventDefault(); + event.stopPropagation(); + + const { clientX, clientY, currentTarget, deltaY } = event; + + const offset = -deltaY; // not reversed wheel: wheel up = scale +, wheel down = scale - + const scaleOffset = offset / currentTarget.clientHeight; + + // Map the screen scale to the image viewport scale + const userOriginX = clientX - currentTarget.clientLeft; + const userOriginY = clientY - currentTarget.clientTop; + setTransformations(index, ({ scale, offsetX, offsetY }) => { + const nscale = scale + scaleOffset; + return { + offsetX: offsetX + (userOriginX * nscale - userOriginX), + offsetY: offsetY + (userOriginY * nscale - userOriginX), + scale: nscale, + }; + }); + } + }; + + const [isMoving, setIsMoving] = createSignal(false); + let movOriginX: number = 0, + movOriginY: number = 0; + + const onMouseDown = (event: MouseEvent) => { + event.preventDefault(); + setIsMoving(true); + movOriginX = event.clientX; + movOriginY = event.clientY; + }; + + const onMouseMove = (index: number, event: MouseEvent) => { + if (!isMoving()) { + return; + } + const dx = movOriginX - event.clientX; + const dy = movOriginY - event.clientY ; + + setTransformations(index, ({ offsetX, offsetY }) => { + return { + offsetX: offsetX + dx, + offsetY: offsetY + dy, + }; + }); + + movOriginX = event.clientX; + movOriginY = event.clientY; + }; + + const onMouseUp = (event: MouseEvent) => { + setIsMoving(false); + }; + return ( { @@ -132,7 +211,7 @@ const MediaQuickview: Component = (props) => { }); }} class="MediaQuickview" - classList={{ lightout: lightOut() }} + classList={{ lightout: lightOut(), moving: isMoving() }} onClose={props.onClose} onCancel={props.onClose} onClick={onDialogClick} @@ -140,7 +219,11 @@ const MediaQuickview: Component = (props) => { - root.close()}> + root.close()} + disableFocusRipple + > @@ -160,10 +243,22 @@ const MediaQuickview: Component = (props) => { {(item, index) => { return ( -
+
- +
From 352cda0a740f4943cceba585d7853ca97e473721 Mon Sep 17 00:00:00 2001 From: thislight Date: Sat, 7 Dec 2024 21:21:02 +0800 Subject: [PATCH 3/8] MediaQuickview: stop grabbing if mouse leaved --- src/platform/MediaQuickview.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/platform/MediaQuickview.tsx b/src/platform/MediaQuickview.tsx index 74fabd2..e06cf0c 100644 --- a/src/platform/MediaQuickview.tsx +++ b/src/platform/MediaQuickview.tsx @@ -249,6 +249,7 @@ const MediaQuickview: Component = (props) => { onMouseDown={onMouseDown} onMouseMove={[onMouseMove, index]} onMouseUp={onMouseUp} + onMouseLeave={onMouseUp} > From a720f5d9c42042d376b146efe361c751a6cc89a6 Mon Sep 17 00:00:00 2001 From: thislight Date: Sat, 7 Dec 2024 21:31:14 +0800 Subject: [PATCH 4/8] MediaQuickview: add recenter --- src/platform/MediaQuickview.css | 2 - src/platform/MediaQuickview.tsx | 66 ++++++++++++++++++++++++++++++--- 2 files changed, 61 insertions(+), 7 deletions(-) diff --git a/src/platform/MediaQuickview.css b/src/platform/MediaQuickview.css index 0161fcf..3ad798c 100644 --- a/src/platform/MediaQuickview.css +++ b/src/platform/MediaQuickview.css @@ -47,8 +47,6 @@ max-width: 100vw; max-height: 100vh; contain: strict; - display: grid; - place-items: center; cursor: grab; diff --git a/src/platform/MediaQuickview.tsx b/src/platform/MediaQuickview.tsx index e06cf0c..c4b2cde 100644 --- a/src/platform/MediaQuickview.tsx +++ b/src/platform/MediaQuickview.tsx @@ -56,19 +56,39 @@ export function createMediaQuickview() { return createCallback(renderIsolateMediaQuickview); } +type VisualMediaMeta = { + width: number; + height: number; +}; + function ImagePage(props: { src: string; alt?: string; scale: number; offsetX: number; offsetY: number; + + onMetadata?(metadata: VisualMediaMeta): void; }) { + const [loaded, setLoaded] = createSignal(false); + return ( { + const { naturalHeight, naturalWidth } = currentTarget; + + props.onMetadata?.({ + width: naturalWidth, + height: naturalHeight, + }); + + setLoaded(true); + }} src={props.src} alt={props.alt} style={{ transform: `scale(${props.scale}) translateX(${-props.offsetX}px) translateY(${-props.offsetY}px)`, + opacity: loaded() ? 1 : 0, }} > ); @@ -88,10 +108,6 @@ export type MediaQuickviewProps = { onClose?(): void; }; -function clamp(value: T, min: T, max: T) { - return Math.max(Math.min(value, max), min); -} - const MediaQuickview: Component = (props) => { let root: HTMLDialogElement; @@ -126,6 +142,11 @@ const MediaQuickview: Component = (props) => { * positive = the top edge move towards top */ offsetY: number; + + size?: { + width: number; + height: number; + }; }[], ); @@ -185,7 +206,7 @@ const MediaQuickview: Component = (props) => { return; } const dx = movOriginX - event.clientX; - const dy = movOriginY - event.clientY ; + const dy = movOriginY - event.clientY; setTransformations(index, ({ offsetX, offsetY }) => { return { @@ -202,6 +223,40 @@ const MediaQuickview: Component = (props) => { setIsMoving(false); }; + const recenter = (index: number) => { + const sz = transformations[index].size; + if (!sz) return; + const { width, height } = sz; + + const xscale = Math.min(window.innerWidth / width, 1); + const yscale = Math.min(window.innerHeight / height, 1); + + const finalScale = Math.min(xscale, yscale); + + const nheight = height * finalScale; + const top = (window.innerHeight - nheight) / 2; + + const nwidth = width * finalScale; + const left = (window.innerWidth - nwidth) / 2; + + setTransformations(index, { + scale: finalScale, + offsetX: -left, + offsetY: -top, + }); + }; + + const onMetadata = (index: number, { width, height }: VisualMediaMeta) => { + setTransformations(index, { + size: { + width, + height, + }, + }); + + recenter(index); + }; + return ( { @@ -254,6 +309,7 @@ const MediaQuickview: Component = (props) => { onMetadata(index, m)} src={item().src} alt={item().alt} scale={transformationGetOrSetDefault(index).scale} From 9a307d640ae6d7e7443d0f984fc26c0fb84a0129 Mon Sep 17 00:00:00 2001 From: thislight Date: Wed, 12 Mar 2025 21:52:26 +0800 Subject: [PATCH 5/8] package: added edgedriver to trustedDependencies --- bun.lockb | Bin 522868 -> 522924 bytes package.json | 5 ++++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bun.lockb b/bun.lockb index 247b2325729f9b123f579e864df977d9b9c10912..c81ea7852575d0ea8fcce229a5e60f6507b26a59 100755 GIT binary patch delta 71 zcmezJMSjg!`3ZhZGQS!FS_2qc1DIL^m|Fu_S_4>H1K73(uuu6ZToP0oT;l4IBJqoz a0R&`zu}?1-WL0Fjyf@(A^pDG!CjbD Date: Wed, 12 Mar 2025 21:53:16 +0800 Subject: [PATCH 6/8] gitignore: added DS_Store --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 6db7081..39eb3cd 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ dist/ dev-dist/ .env.local .env.*.local +.DS_Store From 8f7d28d52529b167a856c1e2b3bb2dd1290f9f4e Mon Sep 17 00:00:00 2001 From: thislight Date: Sat, 15 Mar 2025 14:12:40 +0800 Subject: [PATCH 7/8] suid: workaround vite-plugin import problem --- bun.lockb | Bin 522924 -> 523184 bytes package.json | 5 ++++- patches/@suid%2Fvite-plugin@0.3.1.patch | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 patches/@suid%2Fvite-plugin@0.3.1.patch diff --git a/bun.lockb b/bun.lockb index c81ea7852575d0ea8fcce229a5e60f6507b26a59..5b0c885bd2ce76161460779d4840220ec3c2b272 100755 GIT binary patch delta 11209 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 delta 11001 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 diff --git a/package.json b/package.json index 23eb8af..c9c04c1 100644 --- a/package.json +++ b/package.json @@ -76,5 +76,8 @@ "packageManager": "bun@1.1.34", "trustedDependencies": [ "edgedriver" - ] + ], + "patchedDependencies": { + "@suid/vite-plugin@0.3.1": "patches/@suid%2Fvite-plugin@0.3.1.patch" + } } diff --git a/patches/@suid%2Fvite-plugin@0.3.1.patch b/patches/@suid%2Fvite-plugin@0.3.1.patch new file mode 100644 index 0000000..1464609 --- /dev/null +++ b/patches/@suid%2Fvite-plugin@0.3.1.patch @@ -0,0 +1,15 @@ +diff --git a/index.mjs b/index.mjs +index 2cf42b9506e130fcc9c1ca166d03d3d8b9b5781c..7dc283602ff09b94c6300f45eac223125eebeb46 100644 +--- a/index.mjs ++++ b/index.mjs +@@ -2,8 +2,8 @@ import $generate from "@babel/generator"; + import { parse } from "@babel/parser"; + import $traverse from "@babel/traverse"; + import * as types from "@babel/types"; +-const traverse = $traverse.default; +-const generate = $generate.default; ++const traverse = $traverse.default ?? $traverse; ++const generate = $generate.default ?? $generate; + const defaultOptions = { + disableOptimizeDeps: [ + "@suid/base", From c41a8e31d1b85a2bcd6d9c0805ddd15d131ccf7f Mon Sep 17 00:00:00 2001 From: thislight Date: Sat, 15 Mar 2025 14:46:43 +0800 Subject: [PATCH 8/8] reduce ResizeObserver number --- bun.lockb | Bin 523184 -> 524152 bytes package.json | 1 + src/App.tsx | 3 + src/material/Scaffold.tsx | 2 +- src/platform/Masonry.tsx | 2 +- src/platform/resize-observer.tsx | 158 ++++++++++++++++++++ src/timelines/toots/MediaAttachmentGrid.tsx | 5 +- 7 files changed, 165 insertions(+), 6 deletions(-) create mode 100644 src/platform/resize-observer.tsx diff --git a/bun.lockb b/bun.lockb index 5b0c885bd2ce76161460779d4840220ec3c2b272..6d0a7e4f2b579bb24eb8338d9b4934263245f0f8 100755 GIT binary patch delta 102991 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 import("./accounts/SignIn.js")); const AccountMastodonOAuth2Callback = lazy( @@ -157,6 +158,7 @@ const App: Component = () => { }} > + { + ); diff --git a/src/material/Scaffold.tsx b/src/material/Scaffold.tsx index a2c7b69..603c1e8 100644 --- a/src/material/Scaffold.tsx +++ b/src/material/Scaffold.tsx @@ -1,4 +1,4 @@ -import { createElementSize } from "@solid-primitives/resize-observer"; +import { createElementSize } from "~platform/resize-observer"; import { JSX, Show, diff --git a/src/platform/Masonry.tsx b/src/platform/Masonry.tsx index ab9f002..8176889 100644 --- a/src/platform/Masonry.tsx +++ b/src/platform/Masonry.tsx @@ -10,7 +10,7 @@ import { } from "solid-js"; import { Dynamic, type DynamicProps } from "solid-js/web"; import MasonryLayout from "masonry-layout"; -import { createElementSize } from "@solid-primitives/resize-observer"; +import { createElementSize } from "~platform/resize-observer"; import "./Masonry.css"; type MasonryContainer = diff --git a/src/platform/resize-observer.tsx b/src/platform/resize-observer.tsx new file mode 100644 index 0000000..fcc5808 --- /dev/null +++ b/src/platform/resize-observer.tsx @@ -0,0 +1,158 @@ +import { + createContext, + createEffect, + onCleanup, + sharedConfig, + useContext, + type JSX, +} from "solid-js"; +import { isDev, isServer } from "solid-js/web"; +import { createStaticStore } from "@solid-primitives/static-store"; + +export type ObserveCallback = ( + entry: ResizeObserverEntry & { readonly target: E }, +) => void; +export type ObserveElement = ( + element: E, + callback: ObserveCallback, +) => () => void; + +const ResizeObserverContext = /* @__PURE__ */ createContext(); + +export function useResizeObserver() { + const observe = useContext(ResizeObserverContext); + + if (isDev && !observe) { + throw new TypeError( + "ObserverElement is not found, this function must be called in ", + ); + } + + return observe!; +} + +function ResizeObserverBoundaryClient(props: { children: JSX.Element }) { + const map = new Map< + Element, + ObserveCallback | ObserveCallback[] + >(); + + const observer = new ResizeObserver((entries) => { + for (const entry of entries) { + const callback = map.get(entry.target); + if (!callback) return; + if (Array.isArray(callback)) { + for (const f of callback) { + f(entry); + } + } else { + callback(entry); + } + } + }); + + onCleanup(() => { + observer.disconnect(); + }); + + const observe: ObserveElement = ( + element: Element, + callback: ObserveCallback, + ) => { + const callbacks = map.get(element); + if (!callbacks) { + map.set(element, callback); + observer.observe(element); + } else if (Array.isArray(callbacks)) { + callbacks.push(callback); + } else { + map.set(element, [callbacks, callback]); + } + + return () => { + const callbacks = map.get(element); + if (callbacks === null) { + observer.unobserve(element); + } else if (Array.isArray(callbacks)) { + const idx = callbacks.indexOf(callback); + if (idx !== -1) { + callbacks.splice(idx, 1); + } + + if (callbacks.length === 0) { + observer.unobserve(element); + map.delete(element); + } + } else { + observer.unobserve(element); + map.delete(element); + } + }; + }; + + return ( + + {props.children} + + ); +} + +function ResizeObserverBoundaryServer(props: { children: JSX.Element }) { + return ( + {}) as unknown as ObserveElement} + > + {props.children} + + ); +} + +export const ResizeObserverBoundary = isServer + ? ResizeObserverBoundaryServer + : ResizeObserverBoundaryClient; + +const ELEMENT_SIZE_FALLBACK = { width: null, height: null }; + +function getElementSize(target: Element) { + if (isServer || !target) { + return { ...ELEMENT_SIZE_FALLBACK }; + } + const { width, height } = target.getBoundingClientRect(); + return { width, height }; +} + +export type NullableSize = {width: number | null, height: number | null} + +export function createElementSize( + target: Element | (() => Element | undefined | null | false), +): Readonly { + if (isServer) { + return ELEMENT_SIZE_FALLBACK; + } + const isFn = typeof target === "function"; + const [size, setSize] = createStaticStore( + sharedConfig.context || isFn + ? ELEMENT_SIZE_FALLBACK + : getElementSize(target), + ); + const callback: ObserveCallback = (entry) => { + setSize(getElementSize(entry.target)); + }; + const observe = useResizeObserver(); + if (isFn) { + createEffect(() => { + const el = target(); + if (el) { + setSize(getElementSize(el)); + const unobserve = observe(el, callback); + onCleanup(unobserve); + } + }); + } else { + const unobserve = observe(target, callback); + onCleanup(unobserve); + } + return size; +} + +export { useWindowSize } from "@solid-primitives/resize-observer"; diff --git a/src/timelines/toots/MediaAttachmentGrid.tsx b/src/timelines/toots/MediaAttachmentGrid.tsx index 4b22564..be5f7d8 100644 --- a/src/timelines/toots/MediaAttachmentGrid.tsx +++ b/src/timelines/toots/MediaAttachmentGrid.tsx @@ -12,10 +12,7 @@ import { } from "solid-js"; import MediaViewer from "../MediaViewer"; import { render } from "solid-js/web"; -import { - createElementSize, - useWindowSize, -} from "@solid-primitives/resize-observer"; +import { createElementSize, useWindowSize } from "~platform/resize-observer"; import { useStore } from "@nanostores/solid"; import { $settings } from "../../settings/stores"; import { averageColorHex } from "~platform/blurhash";