diff --git a/.changeset/huge-baths-remain.md b/.changeset/huge-baths-remain.md new file mode 100644 index 00000000..38448dee --- /dev/null +++ b/.changeset/huge-baths-remain.md @@ -0,0 +1,5 @@ +--- +"@lynx-example/main-thread": patch +--- + +chore: main-thread remove global-bind usage, to preview this example in the future diff --git a/examples/main-thread/lynx.config.ts b/examples/main-thread/lynx.config.ts index a2349e6d..f48ad230 100644 --- a/examples/main-thread/lynx.config.ts +++ b/examples/main-thread/lynx.config.ts @@ -16,4 +16,9 @@ export default defineConfig({ pluginReactLynx(), pluginTypeCheck(), ], + environments: { + lynx: {}, + // can open when web supports querySelector + // web: {}, + }, }); diff --git a/examples/main-thread/src/background-draggable/App.tsx b/examples/main-thread/src/background-draggable/App.tsx index 3ca674fe..f8451f5d 100644 --- a/examples/main-thread/src/background-draggable/App.tsx +++ b/examples/main-thread/src/background-draggable/App.tsx @@ -1,6 +1,18 @@ +import { useState } from "@lynx-js/react"; +import type { ScrollEvent } from "@lynx-js/types"; import { BackgroundDraggable } from "./BackgroundDraggable.jsx"; export function App() { + const [posStyle, setPosStyle] = useState({ x: 0, y: 500 }); + const onScroll = (event: ScrollEvent) => { + const detail = event.detail.scrollTop; + const newPos = { + x: 0, + y: 500 - detail, + }; + setPosStyle(newPos); + }; + return ( {}} + bindscroll={onScroll} scroll-y style="display:linear;linear-direction:row;width:50%;height:100%" > @@ -22,7 +34,7 @@ export function App() { - + diff --git a/examples/main-thread/src/background-draggable/BackgroundDraggable.tsx b/examples/main-thread/src/background-draggable/BackgroundDraggable.tsx index 876deb10..24f9a3dc 100644 --- a/examples/main-thread/src/background-draggable/BackgroundDraggable.tsx +++ b/examples/main-thread/src/background-draggable/BackgroundDraggable.tsx @@ -1,22 +1,7 @@ -import { useState } from "@lynx-js/react"; -import type { ScrollEvent } from "@lynx-js/types"; - -export function BackgroundDraggable({ size }: { size: number }) { - const [posStyle, setPosStyle] = useState({ x: 0, y: 500 }); - - let onScroll = (event: ScrollEvent) => { - const detail = event.detail.scrollTop; - const newPos = { - x: 0, - y: 500 - detail, - }; - setPosStyle(newPos); - }; - +export function BackgroundDraggable({ size, posStyle }: { size: number; posStyle: { x: number; y: number } }) { return ( { + const detail = event.detail.scrollTop; + const newPos = { + x: 0, + y: 500 - detail, + }; + setPosStyle(newPos); + }; + + const onMtsScroll = (event: any) => { + "main thread"; + const detail = event.detail.scrollTop; + const newPos = { + x: 0, + y: 500 - detail, + }; + lynx.querySelector("#intro")?.setStyleProperty("transform", `translate(${newPos.x}px, ${newPos.y}px)`); + }; + return ( {}} + bindscroll={onBtsScroll} + main-thread:bindscroll={onMtsScroll} scroll-y style="display:linear;linear-direction:row;width:50%;height:100%" > @@ -24,7 +47,7 @@ export function App() { - + diff --git a/examples/main-thread/src/main-thread-draggable/BackgroundDraggable.tsx b/examples/main-thread/src/main-thread-draggable/BackgroundDraggable.tsx index 876deb10..24f9a3dc 100644 --- a/examples/main-thread/src/main-thread-draggable/BackgroundDraggable.tsx +++ b/examples/main-thread/src/main-thread-draggable/BackgroundDraggable.tsx @@ -1,22 +1,7 @@ -import { useState } from "@lynx-js/react"; -import type { ScrollEvent } from "@lynx-js/types"; - -export function BackgroundDraggable({ size }: { size: number }) { - const [posStyle, setPosStyle] = useState({ x: 0, y: 500 }); - - let onScroll = (event: ScrollEvent) => { - const detail = event.detail.scrollTop; - const newPos = { - x: 0, - y: 500 - detail, - }; - setPosStyle(newPos); - }; - +export function BackgroundDraggable({ size, posStyle }: { size: number; posStyle: { x: number; y: number } }) { return ( { - "main thread"; - const detail = event.detail.scrollTop; - const newPos = { - x: 0, - y: 500 - detail, - }; - event.currentTarget.setStyleProperty( - "transform", - `translate(${newPos.x}px, ${newPos.y}px)`, - ); - }; - return (