Refactor frontend structure and update dependencies
Publish Docker image / build-and-push (push) Successful in 2m6s

- Changed the main entry point from main.jsx to main.tsx for TypeScript support.
- Removed Tabler JS import and integrated Tailwind CSS for styling.
- Updated package.json and package-lock.json to include new dependencies such as @fontsource-variable/geist and tailwindcss, while removing unused ones.
- Enhanced Vite configuration with path aliasing for improved import management.
- Deleted unused App.css and App.jsx files to streamline the project structure.

Made-with: Cursor
This commit is contained in:
2026-04-26 14:56:48 +07:00
parent fe7acd655e
commit b0c8a0a4bb
109 changed files with 9800 additions and 2816 deletions
+42
View File
@@ -0,0 +1,42 @@
# SHADCN Migration Audit
## Scope
- Frontend path: `frontend/src`
- Goal: full replacement of Tabler UI with shadcn/ui + Tailwind tokens.
## Findings
- Direct Tabler dependencies are present in `frontend/package.json`:
- `@tabler/core`
- `@tabler/icons-react`
- Tabler runtime imports are used in `frontend/src/main.jsx`:
- `@tabler/core/dist/css/tabler.min.css`
- `@tabler/core/dist/js/tabler.min.js`
- Bootstrap/Tabler data API is used in layout and modal flows (`data-bs-*`, `show.bs.*`, `hide.bs.*`).
- `frontend/src/index.css` contains a large Tabler-coupled style layer (`--tblr-*`, `.navbar-*`, `.btn-*`, `.card-*`, `.table-*` patterns).
## Migration Priority (Feature-first with platform dependencies)
1. **App shell and navigation**
- `App.jsx`
- routing shell + sidebar/topbar behavior
2. **Core UI and design tokens**
- `components/ui` generation via shadcn
- theme provider + global token CSS
3. **High traffic features**
- `Dashboard`, `ServerManager`, `FilterManager`
4. **Cross-feature shared components**
- modal, table, command/alerts/feedback components
5. **Remaining pages**
- all managers/tools pages not covered in p3
## Hotspots (high coupling)
- `frontend/src/App.jsx` (layout, routing, theme, i18n in one file)
- `frontend/src/index.css` (global overrides and hardcoded values)
- `frontend/src/components/*` (large number of Tabler class usages)
## Enforcement Checklist
- No `@tabler/*` imports or dependencies.
- No `data-bs-*` attributes or Bootstrap event listeners.
- No hardcoded color/radius/spacing values in components.
- shadcn primitives generated through plugin/CLI only.
- `components/ui` treated as base layer; composition happens in `components/shared`.