
* [skip ci] tRPC shared package * [skip ci] tRPC shared package - fix * [skip ci] shared package - app sections * [skip ci] segment - implement shared components * [skip ci] extract theme synchronizer * extract components and implement them in apps * cms - extract shared packages * Fix imports * remove urql from peer deps
24 lines
574 B
TypeScript
24 lines
574 B
TypeScript
import { useAppBridge } from "@saleor/app-sdk/app-bridge";
|
|
import { useTheme } from "@saleor/macaw-ui/next";
|
|
import { useEffect } from "react";
|
|
|
|
export function ThemeSynchronizer() {
|
|
const { appBridgeState } = useAppBridge();
|
|
const { setTheme } = useTheme();
|
|
|
|
useEffect(() => {
|
|
if (!setTheme || !appBridgeState?.theme) {
|
|
return;
|
|
}
|
|
|
|
if (appBridgeState.theme === "light") {
|
|
setTheme("defaultLight");
|
|
}
|
|
|
|
if (appBridgeState.theme === "dark") {
|
|
setTheme("defaultDark");
|
|
}
|
|
}, [appBridgeState?.theme, setTheme]);
|
|
|
|
return null;
|
|
}
|