From 134abbba2c627e3dfb0c4bc2f763781fe9f85386 Mon Sep 17 00:00:00 2001 From: Ben C Date: Sat, 21 Jun 2025 11:05:02 -0400 Subject: [PATCH] Fix top-level await --- frontend/src/components/App.tsx | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/App.tsx b/frontend/src/components/App.tsx index 9464639..4c7f653 100644 --- a/frontend/src/components/App.tsx +++ b/frontend/src/components/App.tsx @@ -1,4 +1,5 @@ import React from "react"; +import useSWR from "swr"; import { AppScreen, commands } from "@/bindings"; import { useTauriEvent } from "@/lib/hooks"; import { unwrapResult } from "@/lib/result"; @@ -22,12 +23,18 @@ function ScreenRouter({ screen }: { screen: AppScreen }) { } } -const startingScreen = unwrapResult(await commands.getCurrentScreen()); - export default function App() { - const [screen, setScreen] = React.useState(startingScreen); + const { data: screen, mutate } = useSWR( + "fetch-screen", + async () => { + return unwrapResult(await commands.getCurrentScreen()); + }, + { suspense: true, dedupingInterval: 100 } + ); - useTauriEvent("changeScreen", setScreen); + useTauriEvent("changeScreen", (newScreen) => { + mutate(newScreen); + }); return ( <> -- 2.51.2