mirror of
https://github.com/vector-im/element-web.git
synced 2026-05-04 19:56:45 +02:00
* init MVideoBody to shared components, including test, stories and view * fix prettier and other warnings * move video message body to shared view + app viewmodel * Fix prettier warnings and masking spinner for tests * stabilize VideoBodyView screenshots with local media asset * Disable spinner from changing image all the time * Added mask over video spinner to prevent issues with new generated images on playwright tests * Update prettier fix * Update snapshot * Add tests to cover different states of Video * Update code to prevent the previous component Hack fix regarding jumps on the timeline. * Update snapshot * Update code to improve code quality for Sonar + update snapshot * adde documentation snippets * refactor: move m.video rendering into body factory * docs: add tsdoc for video body view model * docs: add thumbnail tsdoc for video body view model * docs: add content-url tsdoc for video body view model * docs: add dimensions tsdoc for video body view model * docs: add aspect-ratio tsdoc for video body view model * docs: add tsdoc for video body view state * refactor: replace video body view state enum * refactor: remove duplicate video body state init * refactor: drop unused video body view state attribute * Fix Prettier * Update snapshot screenshot * test: restore video story screenshot mask * chore: refresh PR head * Add mask to screenshot to pass CI tests * test: narrow video story mask hook * Fix easy Sonar warnings in video body components * Move shared message body views into event-tile layout * Move shared message body visual baselines * Revert unrelated shared message body moves
55 lines
2.0 KiB
TypeScript
55 lines
2.0 KiB
TypeScript
/*
|
|
Copyright 2026 Element Creations Ltd.
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
Please see LICENSE files in the repository root for full details.
|
|
*/
|
|
|
|
import * as a11yAddonAnnotations from "@storybook/addon-a11y/preview";
|
|
import { setProjectAnnotations } from "@storybook/react-vite";
|
|
import { vis, visAnnotations } from "storybook-addon-vis/vitest-setup";
|
|
|
|
import * as projectAnnotations from "./preview.tsx";
|
|
|
|
// This is an important step to apply the right configuration when testing your stories.
|
|
// More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
|
|
setProjectAnnotations([a11yAddonAnnotations, projectAnnotations, visAnnotations]);
|
|
|
|
vis.setup({
|
|
async auto() {
|
|
const style = document.createElement("style");
|
|
style.setAttribute("type", "text/css");
|
|
style.appendChild(
|
|
document.createTextNode(`
|
|
/* Inhibit all animations for the screenshot to be more stable */
|
|
*, *::before, *::after {
|
|
animation: none !important;
|
|
}
|
|
/*
|
|
* Mask spinner for video overlay during screenshot generation on playwright tests.
|
|
*/
|
|
[data-video-body-mask-target] {
|
|
position: relative;
|
|
}
|
|
[data-video-body-mask-target]::after {
|
|
content: "";
|
|
position: absolute;
|
|
inset-inline-start: 50%;
|
|
inset-block-start: 50%;
|
|
width: 112px;
|
|
height: 112px;
|
|
transform: translate(-50%, -50%);
|
|
border-radius: 999px;
|
|
background: #ff4fcf;
|
|
pointer-events: none;
|
|
}
|
|
/* Hide all storybook elements */
|
|
.sb-wrapper {
|
|
visibility: hidden !important;
|
|
}
|
|
`),
|
|
);
|
|
document.head.appendChild(style);
|
|
},
|
|
});
|