// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {nativeApplicationVersion, nativeBuildVersion} from 'expo-application';
import React, {useEffect} from 'react';
import {Keyboard, StyleSheet, type TextStyle, View} from 'react-native';
import Animated, {useAnimatedStyle, useSharedValue, withTiming} from 'react-native-reanimated';
import FormattedText from '@components/formatted_text';
import {t} from '@i18n';
const style = StyleSheet.create({
info: {
position: 'absolute',
bottom: 0,
marginLeft: 20,
marginBottom: 12,
},
version: {
fontSize: 12,
},
});
type AppVersionProps = {
isWrapped?: boolean;
textStyle?: TextStyle;
}
const AppVersion = ({isWrapped = true, textStyle = {}}: AppVersionProps) => {
const opacity = useSharedValue(1);
const animatedStyle = useAnimatedStyle(() => {
return {
opacity: withTiming(opacity.value, {duration: 250}),
};
});
useEffect(() => {
const willHide = Keyboard.addListener('keyboardDidHide', () => {
opacity.value = 1;
});
const willShow = Keyboard.addListener('keyboardDidShow', () => {
opacity.value = 0;
});
return () => {
willHide.remove();
willShow.remove();
};
}, []);
const appVersion = (
);
if (!isWrapped) {
return appVersion;
}
return (
{appVersion}
);
};
export default AppVersion;