You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: PR_NOTES.md
+12-1Lines changed: 12 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ This PR implements and refines the **Ticket Management System (TMS)** and the **
11
11
## 3. Core Implementation
12
12
-**Data Table (`TicketDataTable.tsx`)**: High-density table with multi-column sorting, real-time search, and semantic filtering (Status, Priority, Assigned To).
13
13
-**Preview Sidebar (`TicketPreviewSidebar.tsx`)**: A non-modal, slides-in panel for granular ticket management without losing context of the table.
14
-
-**Server Actions (`actions.ts`)**: Full CRUD for ticket lifecycle (`getTickets`, `updateTicketStatus`, `updateTicketPriority`, `updateTicketAssignment`, `deleteTicket`).
14
+
-**Server Actions (`actions.ts`)**: Full CRUD for ticket lifecycle (`getTickets`, `updateTicketStatus`, `updateTicketPriority`, `updateTicketAssignment`, `deleteTicket`, `archiveTicket`, `unarchiveTicket`).
15
15
-**Dynamic Routing**: SSR implementation utilizing Next.js `router.refresh()` for high-integrity data syncing.
16
16
17
17
---
@@ -32,6 +32,14 @@ This PR implements and refines the **Ticket Management System (TMS)** and the **
32
32
-**UI Consistency**: Forced dropdown behavior (`side="bottom"`, `position="popper"`) across all platforms to prevent accidental upward overflows on mobile.
33
33
-**Visual Mapping**: The assignment dropdown and table now display support staff **profile pictures** (or initial avatars) next to names for faster visual recognition.
34
34
35
+
### **D. Archive/Unarchive Lifecycle Management**
36
+
-**Boolean Architecture**: Implemented a dedicated `is_archived` boolean column. This preserves the ticket's original status (e.g., "Resolved") while hiding it from active views, avoiding DB constraint conflicts.
37
+
-**Exclusive View-Switching**: The "Show Archived" toggle acts as a folder switcher. Turning it ON hides all active tickets and shows *only* archived ones, providing a dedicated cleanup workspace.
38
+
-**Action-Based UI**:
39
+
-**Archive**: Represented by a Purple Folder icon with a "Confirm Archive?" safety check.
40
+
-**Unarchive**: Represented by a Green Restore icon with an immediate restoration flow.
41
+
-**Visual Feedback**: Added a purple "Archived" badge in the preview sidebar for clear state identification.
42
+
35
43
---
36
44
37
45
## 5. UI/UX Refinement & Layout Fixes
@@ -55,3 +63,6 @@ This PR implements and refines the **Ticket Management System (TMS)** and the **
55
63
-[x]**Navigation**: Verify left sidebar closes when a ticket row is clicked and re-opens when the preview is closed.
56
64
-[x]**Updates**: Change a ticket's status; verify the table status badge updates immediately.
57
65
-[x]**Search**: Verify search bar filters by ID, Subject, and Submitter Name.
66
+
-[x]**Archiving**: Archive a ticket; verify it disappears from the main list. Toggle "Show Archived"; verify it appears there.
67
+
-[x]**Unarchiving**: Restore a ticket; verify it moves back to the main list immediately.
68
+
-[x]**Database**: Verify `is_archived` column exists in the `ticket_support` table.
0 commit comments