ViteReact后台作品集

edgerunner-terminal — Vite 后台模板

作者 moyger

Edgerunner Terminal 是一个数据密集的交易组合仪表盘模板,使用 Vite、React 19、TypeScript、Tailwind CSS v4 构建,内置加载、空和错误状态,仅使用模拟数据,无后端。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-15查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

五个完整页面:Overview、Markets、Orders、Billing、Settings

02

所有异步区块统一处理加载、空、错误和内容四种状态

03

状态模拟器支持通过开发工具栏或 URL 参数强制切换状态

04

深色和浅色主题,图表和 SVG 通过 CSS 变量跟随主题

05

使用 TypeScript 严格模式和令牌化设计系统,无原始十六进制颜色

06

响应式布局:侧边栏折叠为抽屉,表格使用列优先级和水平滚动

模板详细介绍

Edgerunner Terminal 是一个交易组合仪表盘模板,包含 Overview、Markets、Orders、Billing、Settings 五个页面。其核心特点是所有异步区块都通过统一的 QuerySection 组件处理四种状态:骨架屏、错误加重试、空状态加行动号召、内容。模板内置状态模拟器,可通过开发工具栏或 URL 参数(如 ?state=error&domain=positions)强制任何数据域进入指定状态。主题支持深色(默认)和浅色,通过 data-theme 属性切换,图表和 SVG 使用 CSS 变量跟随主题。项目使用 TypeScript 严格模式,设计系统以 vendor/ui-next 形式内嵌,仓库自包含。数据为确定性种子生成的模拟数据,包含模拟延迟和故障注入,无需搭建后端。README 未说明生产环境部署、真实数据接入或性能表现。

ViteReact后台作品集

适合你的项目吗?

适用场景

  • 展示交易组合仪表盘在加载、空和错误状态下的表现
  • 作为开发交易类仪表盘的前端起点,替换模拟数据为真实数据
  • 演示如何统一管理异步数据状态和主题切换
  • 用于教学或演示 React、TanStack Query 和 Tailwind CSS 的集成

适合人群

  • 需要交易组合仪表盘模板的前端开发者
  • 希望参考数据状态处理模式的项目
  • 使用 React、TypeScript 和 Tailwind CSS 的团队
  • 需要快速搭建仪表盘原型并自定义主题的开发者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    需要 Node.js 环境,使用 pnpm 安装依赖

  2. 2

    克隆仓库后运行 pnpm install,然后 pnpm dev 启动开发服务器

  3. 3

    设计系统已内嵌在 vendor/ui-next,无需额外配置

  4. 4

    可通过 pnpm build 进行类型检查和生产构建

  5. 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 原文

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.

README 原文
https://github.com/moyger/edgerunner-terminal/blob/main/LICENSEhttps://github.com/moyger/edgerunner-terminal/blob/main/README.md

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: MIT](https://img.shields.io/badge/License-MIT-111111.svg)](LICENSE)
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/moyger/edgerunner-terminal)

![Edgerunner Terminal — overview, dark theme](docs/assets/overview-dark.png)

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:

| | |
|---|---|
| ![Error state](docs/assets/state-error.png) | ![Empty state](docs/assets/state-empty.png) |
| `?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.

![Overview in the light theme](docs/assets/overview-light.png)

## 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.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。