diff --git a/site/src/components/ServiceBanner/ServiceBanner.tsx b/site/src/components/ServiceBanner/ServiceBanner.tsx index 23b113989e030..a8d7068d1693b 100644 --- a/site/src/components/ServiceBanner/ServiceBanner.tsx +++ b/site/src/components/ServiceBanner/ServiceBanner.tsx @@ -1,15 +1,23 @@ import { useActor } from "@xstate/react" -import { useContext } from "react" +import { useContext, useEffect } from "react" import { XServiceContext } from "xServices/StateContext" import { ServiceBannerView } from "./ServiceBannerView" export const ServiceBanner: React.FC = () => { const xServices = useContext(XServiceContext) - const [appearanceState] = useActor(xServices.appearanceXService) - + const [appearanceState, appearanceSend] = useActor( + xServices.appearanceXService, + ) + const [authState] = useActor(xServices.authXService) const { message, background_color, enabled } = appearanceState.context.appearance.service_banner + useEffect(() => { + if (authState.matches("signedIn")) { + appearanceSend("GET_APPEARANCE") + } + }, [appearanceSend, authState]) + if (!enabled) { return null } diff --git a/site/src/xServices/appearance/appearanceXService.ts b/site/src/xServices/appearance/appearanceXService.ts index 610e3ff55e3c0..1fa0b9c8235d7 100644 --- a/site/src/xServices/appearance/appearanceXService.ts +++ b/site/src/xServices/appearance/appearanceXService.ts @@ -50,7 +50,7 @@ export const appearanceMachine = createMachine( appearance: emptyAppearance, preview: false, }, - initial: "gettingAppearance", + initial: "idle", states: { idle: { on: {