Add support for hiding videos (#29496)
* start hide * Move useSettingsValueWithSetter to useSettings * Add new setting showMediaEventIds * Add a migration path * Add an action button to hide settings. * Tweaks to MImageBody to support new setting. * Fixup and add tests * add description for migration * docs fixes * add type * i18n * appese prettier * Add tests for HideActionButton * lint * lint * First pass at support for previewing/hiding images. * Add a test for video files. * First pass at supporting hiding video files. * Use a hook for media visibility. * Drop setting hook usage. * Fixup MImageBody test * Fixup tests * Support functional components for message body rendering. * Add a comment * Move props into IProps * Use new wrapping logic * lint * fixup * allow for a delay for the image to render * remove .only * lint * Fix jest test * Fixup tests. * make tests happy * Improve comments * review fixes * unbreak test
This commit is contained in:
@@ -113,4 +113,18 @@ export class MediaEventHelper implements IDestroyable {
|
||||
// Finally, it's probably not media
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the media event in question supports being hidden in the timeline.
|
||||
* @param event Any matrix event.
|
||||
* @returns `true` if the media can be hidden, otherwise false.
|
||||
*/
|
||||
public static canHide(event: MatrixEvent): boolean {
|
||||
if (!event) return false;
|
||||
if (event.isRedacted()) return false;
|
||||
const content = event.getContent();
|
||||
const hideTypes: string[] = [MsgType.Video, MsgType.Image];
|
||||
if (hideTypes.includes(content.msgtype!)) return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user