import { View, Text, TouchableOpacity } from 'react-native'; import React, { ReactNode } from 'react'; import { ViewProps } from 'react-native'; import { classNames } from '../utils'; export enum SnackbarTypeEnum { SUCCESS = 'SUCCESS', ERROR = 'ERROR', WARNING = 'WARNING', INFO = 'INFO', } export interface SnackbarProps extends ViewProps { type: string; message: string; rightText?: string; accessoryLeft?: ReactNode; accessoryRight?: ReactNode; onPress?: () => void; } export const Snackbar: React.FC = ({ type = SnackbarTypeEnum.INFO, message = 'message for user', rightText, accessoryLeft, accessoryRight, onPress, className, ...restOfProps }) => { const getBackgroundColor = () => { switch (type) { case SnackbarTypeEnum.SUCCESS: return 'bg-success-50'; case SnackbarTypeEnum.ERROR: return 'bg-error-50'; case SnackbarTypeEnum.WARNING: return 'bg-warning-50'; default: return 'bg-info-50'; } }; return ( {accessoryLeft} {message} onPress?.()} > {rightText} {accessoryRight} ); };