Files
webstudio/apps/builder/app/shared/client-supports.ts
Ivan Starkov dfb1d45802 chore: Advanced properties performance (chrome only) (#4238)
## 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
2024-10-07 17:14:01 +03:00

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;
};