diff --git a/CLAUDE.md b/CLAUDE.md index 3cb51b1..96948a3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -5,6 +5,8 @@ - Orion is the api server which lives in the `go/` folder - `cpp/` points to our prototype of a C++ Qt widgets client +Whenever implementing anything, make sure to take into account best practices without over-engineering. + ## Electron App ### Quality We care about overall architectural quality and keeping consistent patterns according to best practices. @@ -16,3 +18,8 @@ As an example, we have as high of a bar as a product team like Linear, which out ### Design system Whenever possible, we should use the design system components. If we need to add a new component from the available ones in [shadcn](https://ui.shadcn.com/docs/components), we should add it to the design system (using `shadcn add _`) and use it in the app. + +### Implementation completeness +When adding a feature on the client side, make sure that the api actually supports it by just checking orion implementation all the way through. + +IF you find that the API is poorly designed, please suggest changes to improve the client experience. diff --git a/js/src/App.tsx b/js/src/App.tsx index cfcb70d..c372cd3 100644 --- a/js/src/App.tsx +++ b/js/src/App.tsx @@ -1,10 +1,40 @@ import { useEffect } from "react"; import { HashRouter, Routes, Route } from "react-router-dom"; +import { TooltipProvider } from "@/components/ui/tooltip"; +import { useAppStore } from "@/stores/app-store"; import { useAuthStore } from "@/stores/auth-store"; import { LoginPage } from "@/features/auth/login-page"; import { StreamsPage } from "@/pages/streams-page"; import { StreamPlayerPage } from "@/pages/stream-player-page"; +function AuthenticatedApp() { + const fetchStartup = useAppStore((s) => s.fetchStartup); + const isLoading = useAppStore((s) => s.isLoading); + + useEffect(() => { + fetchStartup(); + }, [fetchStartup]); + + if (isLoading) { + return ( +
Loading...
+{ack.email}
+- {data.content} -
-+ {data.content} +
+No particles yet. Hold ` to record the first one.
End of stream
Loading...
-