PhoenixKitCRM.Web.MediaComponent (PhoenixKitCRM v0.2.4)

Copy Markdown View Source

The Files and Images tabs for a CRM record (a contact or a company), parameterized by :resource_type (:contact | :company), the :resource struct, and :kind (:files | :images). Media is folder-scoped via core PhoenixKit.Modules.Storage (see PhoenixKitCRM.Attachments): a crm-<resource>-<uuid> root folder for :files, a nested Images subfolder for :images.

Upload/browse is delegated to core's MediaSelectorModal (scoped to the folder; the modal owns its own allow_upload). The modal notifys its result back; we attach each file and refresh. Removal soft-trashes a sole-owner file or unlinks a shared one. Every add/remove is activity-logged so it surfaces on the Events tab. The Images tab can set the record's avatar (contact photo / company logo). On the contact Files tab, files attached to that contact's interactions roll up read-only.