MCPcopy Create free account
hub / github.com/bernaferrari/FigmaToCode / App

Function App

apps/plugin/ui-src/App.tsx:42–178  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

40};
41
42export default function App() {
43 const [state, setState] = useState<AppState>({
44 code: "",
45 selectedFramework: "HTML",
46 isLoading: true,
47 htmlPreview: emptyPreview,
48 settings: null,
49 colors: [],
50 gradients: [],
51 warnings: [],
52 });
53
54 const rootStyles = getComputedStyle(document.documentElement);
55 const figmaColorBgValue = rootStyles
56 .getPropertyValue("--figma-color-bg")
57 .trim();
58
59 useEffect(() => {
60 window.onmessage = (event: MessageEvent) => {
61 const untypedMessage = event.data.pluginMessage as Message;
62 console.log("[ui] message received:", untypedMessage);
63
64 switch (untypedMessage.type) {
65 case "conversionStart":
66 setState((prevState) => ({
67 ...prevState,
68 code: "",
69 isLoading: true,
70 }));
71 break;
72
73 case "code":
74 const conversionMessage = untypedMessage as ConversionMessage;
75 setState((prevState) => ({
76 ...prevState,
77 ...conversionMessage,
78 selectedFramework: conversionMessage.settings.framework,
79 isLoading: false,
80 }));
81 break;
82
83 case "pluginSettingsChanged":
84 const settingsMessage = untypedMessage as SettingsChangedMessage;
85 setState((prevState) => ({
86 ...prevState,
87 settings: settingsMessage.settings,
88 selectedFramework: settingsMessage.settings.framework,
89 }));
90 break;
91
92 case "empty":
93 // const emptyMessage = untypedMessage as EmptyMessage;
94 setState((prevState) => ({
95 ...prevState,
96 code: "",
97 htmlPreview: emptyPreview,
98 warnings: [],
99 colors: [],

Callers

nothing calls this directly

Calls 1

isDarkFigmaBackgroundFunction · 0.85

Tested by

no test coverage detected