aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/ui/src/main.tsx
diff options
context:
space:
mode:
author苏向夜 <46275354+fu050409@users.noreply.github.com>2026-02-25 02:06:07 +0800
committerGitHub <noreply@github.com>2026-02-25 02:06:07 +0800
commit78ac61904d78d558d092eff08c9f261cbdb187e8 (patch)
tree96f68d1f1554ee3a0532793afaaa52b0c73dcbec /packages/ui/src/main.tsx
parent8ff3af6cb908fd824b512379dd21ed4f595ab6bb (diff)
parent329734b23957b84cde2af459fa61c7385fb5b5f1 (diff)
downloadDropOut-78ac61904d78d558d092eff08c9f261cbdb187e8.tar.gz
DropOut-78ac61904d78d558d092eff08c9f261cbdb187e8.zip
feat(ui): partial react rewrite (#77)
## Summary by Sourcery Export backend data structures to TypeScript for the new React-based UI and update CI to build additional targets. New Features: - Generate TypeScript definitions for core backend structs and enums used by the UI. - Now use our own Azure app(_DropOut_) to finish the authorize process. Enhancements: - Annotate existing Rust models with ts-rs metadata to control exported TypeScript shapes, including tagged enums and opaque JSON fields. Build: - Add ts-rs as a dependency for generating TypeScript bindings from Rust types. CI: - Extend the Semifold CI workflow to run on the dev branch and build additional Linux musl and Windows GNU targets using cross where needed.
Diffstat (limited to 'packages/ui/src/main.tsx')
-rw-r--r--packages/ui/src/main.tsx38
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/ui/src/main.tsx b/packages/ui/src/main.tsx
new file mode 100644
index 0000000..a3157bd
--- /dev/null
+++ b/packages/ui/src/main.tsx
@@ -0,0 +1,38 @@
+import { StrictMode } from "react";
+import { createRoot } from "react-dom/client";
+import "./index.css";
+import { createHashRouter, RouterProvider } from "react-router";
+import { Toaster } from "./components/ui/sonner";
+import { HomeView } from "./pages/home-view";
+import { IndexPage } from "./pages/index";
+import { InstancesView } from "./pages/instances-view";
+import { SettingsPage } from "./pages/settings";
+
+const router = createHashRouter([
+ {
+ path: "/",
+ element: <IndexPage />,
+ children: [
+ {
+ index: true,
+ element: <HomeView />,
+ },
+ {
+ path: "instances",
+ element: <InstancesView />,
+ },
+ {
+ path: "settings",
+ element: <SettingsPage />,
+ },
+ ],
+ },
+]);
+
+const root = createRoot(document.getElementById("root") as HTMLElement);
+root.render(
+ <StrictMode>
+ <RouterProvider router={router} />
+ <Toaster />
+ </StrictMode>,
+);