Files
discord-decomp/modules/media_keyboard/native/components/MediaKeyboardEmptyState.tsx
T
2026-11-01 12:12:55 +02:00

50 lines
2.7 KiB
TypeScript

// Metro module 9696 (f9697).
import { Image as Image2, View } from "react-native";
import { NativePermissionStatus } from "../../../native_permissions/NativePermissionConstants";
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
import Module712 from "../../../../_bundle/Module712";
import { Text } from "../../../../design/components/Text/native/Text";
import { Button } from "../../../../design/components/Button/native/Button.native";
import { SettingsIcon } from "../../../../design/components/Icon/native/redesign/generated/SettingsIcon";
import { intl, t } from "../../../../intl/index.native";
import Module9697 from "../../../../_bundle/Module9697";
import { CameraIcon } from "../../../../design/components/Icon/native/redesign/generated/CameraIcon";
import Module9698 from "../../../../_bundle/Module9698";
let useStyles;
const MediaKeyboardEmptyState = function MediaKeyboardEmptyState(props) {
const { actionIcon, actionLabel, actionPress, imageSource, label } = props;
const styles = useStyles();
return <View style={styles.container}>
<Image2 source={imageSource} />
<Text variant="text-sm/semibold" color="text-muted" style={styles.label}>{label}</Text>
<Button icon={actionIcon} size="sm" text={actionLabel} onPress={actionPress} />
</View>;
};
useStyles = createStyles({
container: {
marginHorizontal: Module712.space.PX_8,
marginVertical: Module712.space.PX_32,
justifyContent: "center",
alignItems: "center"
},
label: {
textAlign: "center",
marginVertical: Module712.space.PX_16
}
});
export default MediaKeyboardEmptyState;
export function getMediaEmptyStateComponentOrNull({ photoPermissionStatus, photosEmpty, showCameraButton = true, onPressCamera, onManageLimited, onPressPrivacySettings }) {
if (photoPermissionStatus !== NativePermissionStatus.DENIED && photoPermissionStatus !== NativePermissionStatus.RESTRICTED) {
if (photosEmpty) {
if (photoPermissionStatus === NativePermissionStatus.LIMITED) {
return <MediaKeyboardEmptyState actionIcon={<SettingsIcon color="white" size="sm" />} actionLabel={intl.string(t.JuXTi6)} actionPress={onManageLimited} imageSource={Module9697} label={intl.string(t["5g7NcN"])} />;
}
if (showCameraButton) {
return <MediaKeyboardEmptyState actionIcon={<CameraIcon color="white" size="sm" />} actionLabel={intl.string(t.tpoWUd)} actionPress={onPressCamera} imageSource={Module9698} label={intl.string(t.YOvRBZ)} />;
}
}
return void 0;
}
return <MediaKeyboardEmptyState actionIcon={<SettingsIcon color="white" size="sm" />} actionLabel={intl.string(t["457oeG"])} actionPress={onPressPrivacySettings} imageSource={Module9697} label={intl.string(t["8p9jGu"])} />;
}