mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-11-06 21:02:28 +00:00
34 lines
1.7 KiB
Markdown
34 lines
1.7 KiB
Markdown
# Decisions Log
|
|
|
|
**Date:** 2026-02-16
|
|
**Agent:** bitvid-decompose-agent
|
|
**File:** `js/ui/profileModalController.js`
|
|
|
|
## Decisions
|
|
|
|
### 1. Extract DM Relay Logic
|
|
**Decision:** Extracted DM relay management logic into `ProfileDmRelayController`.
|
|
**Rationale:** The relay logic (add, remove, publish, refresh) was cluttering the main controller and is distinct from core profile management.
|
|
**Implementation:** Created `js/ui/profileModal/ProfileDmRelayController.js` and delegated calls from `ProfileModalController`.
|
|
|
|
### 2. Extract Attachment Logic
|
|
**Decision:** Extracted attachment handling logic into `ProfileDmAttachmentController`.
|
|
**Rationale:** Attachment uploading, rendering queue, and file selection are a separate concern from the main profile UI.
|
|
**Implementation:** Created `js/ui/profileModal/ProfileDmAttachmentController.js` and delegated calls from `ProfileModalController`.
|
|
|
|
### 3. Move Helper Methods
|
|
**Decision:** Moved pure helper methods (`generateAttachmentId`, `resolveLatestDirectMessageForRecipient`, etc.) to `ProfileDirectMessageHelper`.
|
|
**Rationale:** Keeps the main controller focused on orchestration rather than utility logic.
|
|
|
|
### 4. Move Rendering Logic
|
|
**Decision:** Moved rendering methods (`renderAttachmentQueue`, `setMessagesUnreadIndicator`) to `ProfileDirectMessageRenderer`.
|
|
**Rationale:** Separates DOM manipulation from business logic.
|
|
|
|
### 5. Move Action Logic
|
|
**Decision:** Moved action handlers (`handleSendDmRequest`, `handleSendProfileMessage`, etc.) to `ProfileDirectMessageActions`.
|
|
**Rationale:** Groups user interaction handlers together.
|
|
|
|
## Impact
|
|
- `js/ui/profileModalController.js`: Reduced by ~405 lines.
|
|
- Improved separation of concerns for Direct Messages within the Profile Modal.
|