From bf009718758cf34e33d6ce89f7bca46ee9e0c482 Mon Sep 17 00:00:00 2001 From: nicolaschapur <95246792+nicolaschapur@users.noreply.github.com> Date: Tue, 25 Jun 2024 11:53:41 -0300 Subject: [PATCH] [NC]: Recoding state content fixes (#75) --- apps/mocksi-lite/content/ContentApp.tsx | 51 ++++++++++++++----------- apps/mocksi-lite/content/content.tsx | 8 +++- 2 files changed, 35 insertions(+), 24 deletions(-) diff --git a/apps/mocksi-lite/content/ContentApp.tsx b/apps/mocksi-lite/content/ContentApp.tsx index e13d6c28..45b49196 100644 --- a/apps/mocksi-lite/content/ContentApp.tsx +++ b/apps/mocksi-lite/content/ContentApp.tsx @@ -1,4 +1,4 @@ -import { useEffect, useState } from "react"; +import { useState } from "react"; import useShadow from "use-shadow-dom"; import { MOCKSI_RECORDING_STATE, RecordingState } from "../consts"; import { setRootPosition } from "../utils"; @@ -9,32 +9,23 @@ import PlayToast from "./Toast/PlayToast"; import RecordingToast from "./Toast/RecordingToast"; interface ContentProps { + initialState: RecordingState; isOpen?: boolean; email: string | null; } -function ShadowContentApp({ isOpen, email }: ContentProps) { +function ShadowContentApp({ isOpen, email, initialState }: ContentProps) { const [isDialogOpen, setIsDialogOpen] = useState(isOpen || false); const [state, setState] = useState( - RecordingState.UNAUTHORIZED, + initialState ?? RecordingState.UNAUTHORIZED, ); - useEffect(() => { - // Load initial state from chrome storage - chrome.storage.local.get([MOCKSI_RECORDING_STATE], (result) => { - const initialState = result[ - MOCKSI_RECORDING_STATE - ] as RecordingState | null; - setState(initialState ?? RecordingState.UNAUTHORIZED); - }); - }, []); - const onChangeState = (newState: RecordingState) => { chrome.storage.local .set({ [MOCKSI_RECORDING_STATE]: newState }) .then(() => { setState(newState); - setRootPosition(newState); + // setRootPosition(newState); }); }; @@ -52,22 +43,24 @@ function ShadowContentApp({ isOpen, email }: ContentProps) { ); case RecordingState.EDITING: - return ; + return ; case RecordingState.PLAY: - return ; + return ; case RecordingState.HIDDEN: - return ; + return ( + + ); default: return ( ); } @@ -96,9 +89,21 @@ const extractStyles = (): string => { return styles; }; -export default function ContentApp({ isOpen, email }: ContentProps) { +export default function ContentApp({ + isOpen, + email, + initialState, +}: ContentProps) { const styles = extractStyles(); - return useShadow(, [], { - styleContent: styles, - }); + return useShadow( + , + [], + { + styleContent: styles, + }, + ); } diff --git a/apps/mocksi-lite/content/content.tsx b/apps/mocksi-lite/content/content.tsx index 1629c39e..959759a3 100644 --- a/apps/mocksi-lite/content/content.tsx +++ b/apps/mocksi-lite/content/content.tsx @@ -55,7 +55,13 @@ chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => { window.open(SignupURL); } setRootPosition(state); - root.render(); + root.render( + , + ); }); }); }