Files
bitvid/todo/TODO_2026-02-19_19-58-00.md

1.2 KiB

Decomposition Todo

  • Create js/ui/profileModal/ProfileBlockListController.js
    • Import dependencies (devLogger, userLogger, FALLBACK_PROFILE_AVATAR).
    • Implement cacheDomReferences.
    • Implement registerEventListeners.
    • Move populateBlockedList logic.
    • Move mutateBlocklist logic.
    • Move helper methods (ensureBlockListStatusElement, setBlockListLoadingState).
  • Create js/ui/profileModal/ProfileEditController.js
    • Import dependencies (buildProfileMetadataEvent, buildPublicUrl, buildR2Key).
    • Implement cacheDomReferences.
    • Implement registerEventListeners.
    • Move populateEditPane logic.
    • Move handleSaveProfile logic.
    • Move handleUpload logic.
  • Update js/ui/profileModalController.js
    • Import new controllers.
    • Instantiate in constructor.
    • Call cacheDomReferences and registerEventListeners.
    • Delegate method calls (wrappers or direct usage).
    • Remove extracted code.
  • Verification
    • npm run lint
    • node scripts/run-targeted-tests.mjs tests/profile-modal-controller.test.mjs
    • Verify line count reduction.