From 895b42f00eb3a65c8f4ebf02ef797773d70d38f6 Mon Sep 17 00:00:00 2001 From: mx <1669547593@qq.com> Date: Tue, 27 Jan 2026 19:16:29 +0800 Subject: [PATCH] feat: build orbit api studio --- .gitignore | 6 + README.md | 11 +- index.html | 12 ++ package.json | 28 +++ postcss.config.cjs | 6 + src/App.tsx | 35 +++ src/components/commands/CommandPalette.tsx | 96 +++++++++ src/components/layout/AppLayout.tsx | 60 ++++++ src/components/layout/TopBar.tsx | 136 ++++++++++++ src/components/request/CodeSnippetPanel.tsx | 54 +++++ src/components/request/KeyValueTable.tsx | 107 ++++++++++ src/components/request/RequestBuilder.tsx | 74 +++++++ src/components/request/RequestTabs.tsx | 39 ++++ src/components/request/RequestWorkspace.tsx | 202 ++++++++++++++++++ src/components/request/auth/AuthEditor.tsx | 87 ++++++++ src/components/request/body/BodyEditor.tsx | 108 ++++++++++ .../request/scripts/ScriptEditor.tsx | 30 +++ src/components/response/ResponseBody.tsx | 71 ++++++ src/components/response/ResponseHeaders.tsx | 31 +++ src/components/response/ResponsePanel.tsx | 93 ++++++++ src/components/response/TestResults.tsx | 32 +++ src/components/sidebar/EnvironmentEditor.tsx | 180 ++++++++++++++++ src/components/sidebar/Sidebar.tsx | 154 +++++++++++++ src/components/ui/button.tsx | 38 ++++ src/components/ui/input.tsx | 12 ++ src/components/ui/select.tsx | 18 ++ src/components/ui/tabs.tsx | 26 +++ src/components/ui/textarea.tsx | 15 ++ src/components/ui/toast.tsx | 78 +++++++ src/index.css | 58 +++++ src/main.tsx | 13 ++ src/store/useAppStore.ts | 174 +++++++++++++++ src/store/useThemeStore.ts | 16 ++ src/types/index.ts | 132 ++++++++++++ src/utils/cn.ts | 2 + src/utils/id.ts | 1 + src/utils/request.ts | 145 +++++++++++++ src/utils/sandbox.ts | 115 ++++++++++ src/utils/snippets.ts | 40 ++++ src/utils/storage.ts | 84 ++++++++ src/utils/variables.ts | 36 ++++ tailwind.config.ts | 43 ++++ tsconfig.json | 24 +++ vite.config.ts | 9 + 44 files changed, 2730 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 index.html create mode 100644 package.json create mode 100644 postcss.config.cjs create mode 100644 src/App.tsx create mode 100644 src/components/commands/CommandPalette.tsx create mode 100644 src/components/layout/AppLayout.tsx create mode 100644 src/components/layout/TopBar.tsx create mode 100644 src/components/request/CodeSnippetPanel.tsx create mode 100644 src/components/request/KeyValueTable.tsx create mode 100644 src/components/request/RequestBuilder.tsx create mode 100644 src/components/request/RequestTabs.tsx create mode 100644 src/components/request/RequestWorkspace.tsx create mode 100644 src/components/request/auth/AuthEditor.tsx create mode 100644 src/components/request/body/BodyEditor.tsx create mode 100644 src/components/request/scripts/ScriptEditor.tsx create mode 100644 src/components/response/ResponseBody.tsx create mode 100644 src/components/response/ResponseHeaders.tsx create mode 100644 src/components/response/ResponsePanel.tsx create mode 100644 src/components/response/TestResults.tsx create mode 100644 src/components/sidebar/EnvironmentEditor.tsx create mode 100644 src/components/sidebar/Sidebar.tsx create mode 100644 src/components/ui/button.tsx create mode 100644 src/components/ui/input.tsx create mode 100644 src/components/ui/select.tsx create mode 100644 src/components/ui/tabs.tsx create mode 100644 src/components/ui/textarea.tsx create mode 100644 src/components/ui/toast.tsx create mode 100644 src/index.css create mode 100644 src/main.tsx create mode 100644 src/store/useAppStore.ts create mode 100644 src/store/useThemeStore.ts create mode 100644 src/types/index.ts create mode 100644 src/utils/cn.ts create mode 100644 src/utils/id.ts create mode 100644 src/utils/request.ts create mode 100644 src/utils/sandbox.ts create mode 100644 src/utils/snippets.ts create mode 100644 src/utils/storage.ts create mode 100644 src/utils/variables.ts create mode 100644 tailwind.config.ts create mode 100644 tsconfig.json create mode 100644 vite.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e39f0d9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +node_modules +.dist +.dist-ssr +coverage +.vite +.env diff --git a/README.md b/README.md index 9184765..ab158b2 100644 --- a/README.md +++ b/README.md @@ -1 +1,10 @@ -# note \ No newline at end of file +# Orbit API Studio + +## Run + +```bash +pnpm install +pnpm dev +``` + +Open http://localhost:5173 in your browser. diff --git a/index.html b/index.html new file mode 100644 index 0000000..319c467 --- /dev/null +++ b/index.html @@ -0,0 +1,12 @@ + + +
+ + +Page not found.
++ Tip: Cmd/Ctrl+Enter to send request. Esc to close. +
+Orbit API Studio
+Modern API workspace
+
+ {current.code}
+
+ )}
+ {hint}
} +No authentication will be attached.
+ )} +Supports text + file placeholders.
+{description}
+
+ {renderedChunks.join("")}
+
+ )}
+ {chunks.length > chunkCount && (
+
+ )}
+ {result.name}
+ {result.message &&{result.message}
} +{toast.title}
+ {toast.description && ( +{toast.description}
+ )} +