* Gallery screen (ground work) * Open the gallery from posts * Open the gallery from post draft * feedback review * Feedback review 2 * do not remove dm channel names and localization fix * update to the latest network-client * do not override file width, height and imageThumbail if received file does not have it set * bring back ScrollView wrapper for message component * Remove Text wrapper for markdown paragraph * Fix YouTube play icon placeholder * Make video file play button container round * Add gif image placeholder * Save images & videos to camera roll * Feedback review 3 * load video thumbnail when post is in viewport * simplify prefix
37 lines
892 B
TypeScript
37 lines
892 B
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import React from 'react';
|
|
import {Freeze} from 'react-freeze';
|
|
import {View} from 'react-native';
|
|
|
|
import useFreeze from '@hooks/freeze';
|
|
|
|
type FreezePlaceholderProps = {
|
|
backgroundColor: string;
|
|
};
|
|
|
|
type FreezeScreenProps = {
|
|
children: React.ReactNode;
|
|
}
|
|
|
|
const FreezePlaceholder = ({backgroundColor}: FreezePlaceholderProps) => {
|
|
return <View style={{flex: 1, backgroundColor}}/>;
|
|
};
|
|
|
|
const FreezeScreen = ({children}: FreezeScreenProps) => {
|
|
const {freeze, backgroundColor} = useFreeze();
|
|
|
|
const placeholder = (<FreezePlaceholder backgroundColor={backgroundColor}/>);
|
|
|
|
return (
|
|
<Freeze
|
|
freeze={freeze}
|
|
placeholder={placeholder}
|
|
>
|
|
{children}
|
|
</Freeze>
|
|
);
|
|
};
|
|
|
|
export default FreezeScreen;
|