mirror of
https://github.com/webstudio-is/webstudio.git
synced 2026-10-30 08:37:56 +09:00
## Description 1. What is this PR about (link the issue and add a short description) ## Steps for reproduction 1. click button 2. expect xyz ## Code Review - [ ] hi @kof, I need you to do - conceptual review (architecture, feature-correctness) - detailed review (read every line) - test it on preview ## Before requesting a review - [ ] made a self-review - [ ] added inline comments where things may be not obvious (the "why", not "what") ## Before merging - [ ] tested locally and on preview environment (preview dev login: 5de6) - [ ] updated [test cases](https://github.com/webstudio-is/webstudio/blob/main/apps/builder/docs/test-cases.md) document - [ ] added tests - [ ] if any new env variables are added, added them to `.env` file
13 lines
523 B
TypeScript
13 lines
523 B
TypeScript
import { useSyncExternalStore } from "react";
|
|
|
|
const subscribe = () => () => {};
|
|
|
|
// https://react.dev/reference/react/useSyncExternalStore#subscribing-to-a-browser-api
|
|
// Get a value from the browser API on the first (non hydration) render (without using useEffect or similar methods)
|
|
// Ensures the value is consistent between server and client (hydration)
|
|
export const useClientSupports = (isSupported: () => boolean) => {
|
|
const result = useSyncExternalStore(subscribe, isSupported, () => false);
|
|
|
|
return result;
|
|
};
|