---
id: w5/m12/t003
title: Key Value list page + sidebar navigation entry
worker: worker5
status: done
estimate: 45m
depends_on: [w5/m12/t002]
---

## Objective

The `/keyvalue` route: sidebar entry ("Key Value", after Databases), summary stat cards, and a Render-consistent table (name, plan, status chip, created, actions) with the captured empty state — the Databases page (`databases.index.tsx`) cloned to the KV data source, columns per the t001 capture.

## Context

- `dashboard/src/routes/databases.index.tsx` + `features/databases/components/` — the m8 pattern to mirror.
- Sidebar: same nav list the Databases entry lives in.
- i18n: `features/keyvalue/locales/{en,zh}.ts`.

## Steps

1. Route + page skeleton from the databases page; wire the t002 list hook.
2. Sidebar entry + icon; active-state routing.
3. Empty state + status chips per capture; row links to detail.

## Files

- `dashboard/src/routes/keyvalue.index.tsx` (new)
- `dashboard/src/features/keyvalue/components/` (new), sidebar nav component
- `dashboard/src/features/keyvalue/locales/{en,zh}.ts`

## Acceptance criteria

- [ ] List renders stub stores with correct chips; empty state matches capture; nav highlights.
- [ ] en+zh strings; lint/typecheck green.

## Out of scope

- Create flow (t004); detail (t005).
