Updated the data table component to only reset the page index to 0 when it is not already at 0, improving user experience during data updates. Additionally, refactored the module selection logic to prune invalid selected module IDs more efficiently, enhancing the overall functionality of the module management interface.
EvoBGP WebUI (@evobgp/web)
SvelteKit-панель управления EvoBGP. Monorepo: apps/web + packages/ui + packages/shared.
Правила: .cursor/rules/web-shadcn.mdc, frontend-monorepo.mdc.
Структура
| Путь | Назначение |
|---|---|
packages/ui/src/components/ |
shadcn-svelte примитивы (@evobgp/ui) |
src/lib/components/ |
PageShell, QueryState, SectionCards, domain |
src/lib/components/patterns/ |
AppDataTable, FormField, ConfirmDialog |
src/lib/ui/app/ |
PageHeader, nav, toast |
src/lib/queries/ |
TanStack Query factories |
packages/shared/ |
API types + Zod contracts |
Разработка
Из корня репозитория:
pnpm install
pnpm --filter @evobgp/web dev
pnpm --filter @evobgp/web check
pnpm --filter @evobgp/web lint
pnpm --filter @evobgp/web build
Добавление shadcn-svelte (из apps/web/):
pnpm dlx shadcn-svelte@latest add <component> -y -o
Тема: packages/ui/src/styles/globals.css → импорт в src/routes/layout.css.
Проверка перед PR
pnpm --filter @evobgp/web check и lint — exit 0 (WEB-19).