mattermost-mobile-upstream/app/components/block_renderer/context.tsx
Daniel Espino García 84ea188366
Mattermost Blocks (#9764)
* Mattermost Blocks

* Move block renderer to its own components folder

* Sync translation layer

* UX fixes

* Refactor button to use the button component

* Code review

* Fix CI

* Add animations to collapse blocks

* Add unit tests

* Add e2e tests and related fixes

* Address coderabbit comments

* Address UX comments

* Address feedback

* Address coderabbit comments

* Fix snapshots

* Sync with webapp translation

* Add node limit to button markdown node

* Address feedback

* i18n-extract

* Fix test

* Move image utils to the utils folder

* Remove unneeded style

* Revert build script change

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2026-06-29 18:42:16 +02:00

27 lines
1.0 KiB
TypeScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {createContext} from 'react';
import type {AvailableScreens} from '@typings/screens/navigation';
/** Post-level cookie and format for mmaction:// links inside MM blocks text blocks. */
export type MmBlocksInlineMarkdownActions = {
mmBlocksActionCookie?: string;
integrationFormat?: PostActionIntegrationFormat;
};
export type MmBlocksRenderContextValue = {
channelId: string;
location: AvailableScreens;
postId: string;
imagesMetadata?: Record<string, PostImage>;
inlineMarkdownActions: MmBlocksInlineMarkdownActions;
};
/** Post-level render context for MM blocks children (markdown, gallery, autocomplete, images). */
export const MmBlocksRenderContext = createContext<MmBlocksRenderContextValue | undefined>(undefined);
/** Measured inner width of the nearest ancestor `container` block (for image sizing). */
export const MmBlocksLayoutWidthContext = createContext<number | undefined>(undefined);