五个完整页面:Overview、Markets、Orders、Billing、Settings
edgerunner-terminal — Vite 后台模板
作者 moyger
Edgerunner Terminal 是一个数据密集的交易组合仪表盘模板,使用 Vite、React 19、TypeScript、Tailwind CSS v4 构建,内置加载、空和错误状态,仅使用模拟数据,无后端。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
所有异步区块统一处理加载、空、错误和内容四种状态
状态模拟器支持通过开发工具栏或 URL 参数强制切换状态
深色和浅色主题,图表和 SVG 通过 CSS 变量跟随主题
使用 TypeScript 严格模式和令牌化设计系统,无原始十六进制颜色
响应式布局:侧边栏折叠为抽屉,表格使用列优先级和水平滚动
模板详细介绍
Edgerunner Terminal 是一个交易组合仪表盘模板,包含 Overview、Markets、Orders、Billing、Settings 五个页面。其核心特点是所有异步区块都通过统一的 QuerySection 组件处理四种状态:骨架屏、错误加重试、空状态加行动号召、内容。模板内置状态模拟器,可通过开发工具栏或 URL 参数(如 ?state=error&domain=positions)强制任何数据域进入指定状态。主题支持深色(默认)和浅色,通过 data-theme 属性切换,图表和 SVG 使用 CSS 变量跟随主题。项目使用 TypeScript 严格模式,设计系统以 vendor/ui-next 形式内嵌,仓库自包含。数据为确定性种子生成的模拟数据,包含模拟延迟和故障注入,无需搭建后端。README 未说明生产环境部署、真实数据接入或性能表现。
适合你的项目吗?
适用场景
- 展示交易组合仪表盘在加载、空和错误状态下的表现
- 作为开发交易类仪表盘的前端起点,替换模拟数据为真实数据
- 演示如何统一管理异步数据状态和主题切换
- 用于教学或演示 React、TanStack Query 和 Tailwind CSS 的集成
适合人群
- 需要交易组合仪表盘模板的前端开发者
- 希望参考数据状态处理模式的项目
- 使用 React、TypeScript 和 Tailwind CSS 的团队
- 需要快速搭建仪表盘原型并自定义主题的开发者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
需要 Node.js 环境,使用 pnpm 安装依赖
- 2
克隆仓库后运行 pnpm install,然后 pnpm dev 启动开发服务器
- 3
设计系统已内嵌在 vendor/ui-next,无需额外配置
- 4
可通过 pnpm build 进行类型检查和生产构建
- 5
数据为模拟数据,无后端,如需真实数据需自行接入
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 模板仅使用模拟数据,无后端;如需真实持仓或实时价格数据,需自行接入外部数据源。
- 数据为确定性种子生成的模拟数据,包含模拟延迟和故障注入,不包含真实交易或行情数据。
- 如需接入真实持仓或实时价格 API,需参考 docs/REUSE.md 自行配置外部服务。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
Vite + React 19 + TypeScript + Tailwind v4, on a token-strict design system. Mock data only, no backend — clone it and run it.
README 原文
- **Typed mock data** — deterministic seeded generators with simulated latency and failure injection. No backend to stand up.
README 原文
https://github.com/moyger/edgerunner-terminal/blob/main/LICENSEhttps://github.com/moyger/edgerunner-terminal/blob/main/README.mdSee [`docs/REUSE.md`](docs/REUSE.md) — how to stand it up, point it at real holdings (your own positions or a live price API), and re-skin it for a different domain.
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-15。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 85 / 100
- 技术栈
- Vite · React
- 网站类型
- 后台 · 作品集
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-06-18
- 截图检查日期
- 2026-10-15
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Vite。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: codex-user-requested-batch-review-20261017 · 2026-10-16
查看当时使用的来源资料
SHA-256: 758c62fd39c9c293fec1a6ea43711999f65dfa3328d83621cc3d970b08807135
2026-10-15T09:00:51.355Z
来源文件 / 仓库# Edgerunner Terminal
A data-dense **trading-portfolio dashboard template** with first-class loading, empty, and error states — built to be judged by its worst moment, not its populated screenshot.
[](LICENSE)
[](https://vercel.com/new/clone?repository-url=https://github.com/moyger/edgerunner-terminal)

Vite + React 19 + TypeScript + Tailwind v4, on a token-strict design system. Mock data only, no backend — clone it and run it.
**Live demo: [edgerunner.karloestrada.com](https://edgerunner.karloestrada.com)** — or spin up your own in one click with the button above.
---
## Why this one is different
Most dashboard templates are sold on a screenshot where everything is populated and calm. That is the state a real dashboard is rarely in. This one treats **loading, empty, and error** as first-class: every async section on every screen renders through one gate (`QuerySection`) with four outcomes — skeleton, error + retry, empty + call to action, or content.
Every state is inspectable. A floating dev toolbar forces any data domain into any state live, and the states are addressable by URL:
| | |
|---|---|
|  |  |
| `?state=error&domain=positions` | `?state=empty&domain=all` |
## Features
- **Five screens** — Overview (KPIs, portfolio chart, allocation, positions), Markets, Orders, Billing, Settings.
- **Every state, everywhere** — loading skeletons, retryable errors, and empty states with CTAs, on every async block.
- **State simulator** — force any domain into any state from the dev toolbar or via URL params.
- **Dark + light themes** — one attribute flip; charts and SVGs retheme via CSS variables. Both palettes audited for WCAG AA contrast at build time.
- **Token-strict** — no raw hex, no off-grid spacing; colors and a strict 4px grid come from the design system.
- **Responsive** — sidebar collapses to a drawer, tables use column-priority + horizontal scroll, KPI grid reflows.
- **Typed mock data** — deterministic seeded generators with simulated latency and failure injection. No backend to stand up.
## Quick start
```bash
git clone https://github.com/moyger/edgerunner-terminal.git
cd edgerunner-terminal
pnpm install
pnpm dev # http://localhost:5173
```
That's it. The design system is **vendored into `vendor/ui-next`**, so the repo is self-contained — no linked sibling packages, no extra setup.
```bash
pnpm build # type-check + production build
pnpm typecheck
```
## Simulating states
The whole point of the template. Drive states three ways:
- **Dev toolbar** (bottom-right) — per-domain normal / empty / error, plus a latency dial (0–4s).
- **URL params** — `?state=error&domain=positions`, `?state=empty&domain=all`, `?latency=3000`.
- **TanStack Query** — every section is a real query; the toolbar invalidates and refetches live.
## Theming
Dark is the default (`:root`); light is a `data-theme="light"` override. Toggle in the topbar or in Settings → Appearance; preference persists with a FOUC guard. Charts bind to `var(--color-*)`, so they follow the theme too.

## The design system
This template is built on the **Edgerunner design system** ([repo](https://github.com/moyger/design-system-kit)), vendored into [`vendor/ui-next`](vendor/ui-next). Tokens come from a single source of truth (`design.md`) and are generated, not hand-edited. To re-sync the vendored copy from a local checkout of the kit:
```bash
pnpm sync:kit
```
Generic UI primitives (Table, Tabs, Dialog, Tooltip, Skeleton, EmptyState, Card, …) live in the kit. This repo holds only app-specific composites: the layout shell, charts, `StatCard`, and the `QuerySection` data-state wrapper.
## Project structure
```
src/
├── data/ # typed models, seeded generators, fake client, query hooks, sim config
├── components/
│ ├── layout/ # AppShell, Sidebar, Topbar, MobileNav
│ ├── data-state/ # QuerySection, ErrorState, skeletons
│ ├── charts/ # Recharts wrappers (token-bound)
│ └── dev-toolbar.tsx
├── features/ # overview, markets, orders, billing, settings
└── theme/ # theme provider + persistence
vendor/ui-next/ # vendored Edgerunner design system
```
## Stack
Vite 6 · React 19 · TypeScript (strict) · React Router 7 · TanStack Query 5 · Tailwind CSS v4 · Recharts 3 · lucide-react.
## Customize / reuse
See [`docs/REUSE.md`](docs/REUSE.md) — how to stand it up, point it at real holdings (your own positions or a live price API), and re-skin it for a different domain.
## The story
A short write-up on the thinking behind it lives in [`docs/article-the-states-are-the-product.md`](docs/article-the-states-are-the-product.md).
## License
[MIT](LICENSE) © Karlo Estrada. The data is mock; the portfolio persona ("Alex Rivera") is fictional.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

kiaalap
Free admin dashboard template focused on education, online course and school management. Build using Bootstrap…
Vite · 后台

react-vite-admin
This Starter utilizes React, Recoil, React Query, React Hooks, Typescript, Axios And Vite. 全新技术栈的后台管理系统
Vite · 后台

admin-antd-react
React + Ant Design Admin template
Vite · 后台

arco-admin-template
🔥基于 vite构建的react后台模版 使用: acro-design + react-router-dom v6 + mockjs + less,支持国际化,亮色暗色切换等
Vite · 后台

super-admin
React Admin template with multiple cached tabs 🔨... 管理后台多tab缓存标签页解决方案,正在建设中 🔨...
Vite · 后台

react-vite-tailwind-typescript-firebase-auth-template
Good starting point for your next application with React.JS, TypeScript, TailwindCSS, Firebase Auth and Vite.
Vite · 后台
