251211:1622 Frontend: refactor Dashboard (not finish)
This commit is contained in:
36
specs/09-history/2025-12-11-admin-ux-refactor.md
Normal file
36
specs/09-history/2025-12-11-admin-ux-refactor.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Admin Panel UX Refactoring (2025-12-11)
|
||||
|
||||
**Objectives:**
|
||||
- Standardize UX across Admin modules (Loading Skeletons, Alert Dialogs).
|
||||
- Fix specific display bugs in Reference Data.
|
||||
- Improve Admin Dashboard.
|
||||
|
||||
**Achievements:**
|
||||
1. **Dashboard Upgrade:**
|
||||
- Replaced `/admin` redirect with a proper Dashboard page showing stats and quick links.
|
||||
- Added `Skeleton` loading for stats.
|
||||
|
||||
2. **Consistency Improvements:**
|
||||
- **Modules:** Organizations, Users, Projects, Contracts.
|
||||
- **Changes:**
|
||||
- Replaced "Loading..." text with `Skeleton` rows.
|
||||
- Replaced `window.confirm()` with `AlertDialog` (Shadcn UI).
|
||||
- Fixed `any` type violations in Users, Projects, Contracts.
|
||||
|
||||
3. **Reference Data Overhaul:**
|
||||
- Refactored `GenericCrudTable` to include Skeleton loading and AlertDialogs natively.
|
||||
- Applied to all reference pages: Correspondence Types, Disciplines, Drawing Categories, RFA Types, Tags.
|
||||
- **Fixed Bug:** Missing "Drawing Categories" link in Reference Dashboard.
|
||||
- **Fixed Bug:** "Drawing Categories" page displaying incorrect columns (fixed DTO matching).
|
||||
|
||||
**Modified Files:**
|
||||
- `frontend/app/(admin)/admin/page.tsx`
|
||||
- `frontend/app/(admin)/admin/organizations/page.tsx`
|
||||
- `frontend/app/(admin)/admin/users/page.tsx`
|
||||
- `frontend/app/(admin)/admin/projects/page.tsx`
|
||||
- `frontend/app/(admin)/admin/contracts/page.tsx`
|
||||
- `frontend/app/(admin)/admin/reference/page.tsx`
|
||||
- `frontend/app/(admin)/admin/reference/drawing-categories/page.tsx`
|
||||
- `frontend/components/admin/organization-dialog.tsx` (Minor)
|
||||
- `frontend/components/admin/reference/generic-crud-table.tsx`
|
||||
- `frontend/components/ui/skeleton.tsx` (New)
|
||||
39
specs/09-history/2025-12-11-correspondence-refactor.md
Normal file
39
specs/09-history/2025-12-11-correspondence-refactor.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Correspondence Module Refactoring Report
|
||||
|
||||
**Date:** 2025-12-11
|
||||
**Objective:** Fix data display issues and align Correspondence Module with user requirements (Revision-based List).
|
||||
|
||||
## 🛠 Fixes & Changes
|
||||
|
||||
### 1. Revision-Based List View
|
||||
- **Issue:** The Correspondence List was displaying one row per Document, hiding revision history.
|
||||
- **Fix:** Refactored `CorrespondenceService.findAll` to query `CorrespondenceRevision` as the primary entity.
|
||||
- **Outcome:** The list now displays every revision (e.g., Doc-001 Rev A, Doc-001 Rev B) as separate rows. Added "Rev" column to the UI.
|
||||
|
||||
### 2. Correspondence Detail Page
|
||||
- **Issue:** Detail page was not displaying Subject/Description correctly (showing "-") because it wasn't resolving the `currentRevision` correctly or receiving unwrapped data.
|
||||
- **Fix:**
|
||||
- Updated `CorrespondenceDetail` to explicitly try finding `isCurrent` revision or fallback to index 0.
|
||||
- Updated `useCorrespondence` (via `correspondence.service.ts`) to correctly unwrap the NestJS Interceptor response `{ data: { ... } }`.
|
||||
- **Outcome:** Detail page now correctly shows Subject, Description, and Status from the current revision.
|
||||
|
||||
### 3. Edit Functionality
|
||||
- **Issue:** Clicking "Edit" led to a 404/Blank page.
|
||||
- **Fix:**
|
||||
- Created `app/(dashboard)/correspondences/[id]/edit/page.tsx`.
|
||||
- Refactored `CorrespondenceForm` to accept `initialData` and supporting "Update" mode (switching between `createMutation` and `updateMutation`).
|
||||
- **Outcome:** Users can now edit existing DRAFT correspondences.
|
||||
|
||||
## 📂 Modified Files
|
||||
- `backend/src/modules/correspondence/correspondence.service.ts`
|
||||
- `frontend/types/correspondence.ts`
|
||||
- `frontend/components/correspondences/list.tsx`
|
||||
- `frontend/components/correspondences/detail.tsx`
|
||||
- `frontend/components/correspondences/form.tsx`
|
||||
- `frontend/lib/services/correspondence.service.ts`
|
||||
- `frontend/app/(dashboard)/correspondences/[id]/edit/page.tsx` (Created)
|
||||
|
||||
## ✅ Verification
|
||||
- Validated List View shows revisions.
|
||||
- Validated Detail View loads data.
|
||||
- Validated Edit Page loads data and submits updates.
|
||||
Reference in New Issue
Block a user