/* eslint-disable import/no-extraneous-dependencies */
import React from 'react';
import { StyleSheet } from 'react-native';
import { storiesOf } from '@storybook/react-native';

import Avatar from '../../app/containers/Avatar/Avatar';
import Status from '../../app/containers/Status/Status';
import sharedStyles from '../../app/views/Styles';

const styles = StyleSheet.create({
	custom: {
		padding: 16
	}
});

const server = 'https://open.rocket.chat';

const _theme = 'light';

const stories = storiesOf('Avatar', module);

stories.add('Avatar by text', () => (
	<Avatar
		text='Avatar'
		server={server}
		size={56}
	/>
));

stories.add('Avatar by roomId', () => (
	<Avatar
		type='p'
		rid='devWBbYr7inwupPqK'
		server={server}
		size={56}
	/>
));

stories.add('Avatar by url', () => (
	<Avatar
		avatar='https://user-images.githubusercontent.com/29778115/89444446-14738480-d728-11ea-9412-75fd978d95fb.jpg'
		server={server}
		size={56}
	/>
));

stories.add('Avatar by path', () => (
	<Avatar
		avatar='/avatar/diego.mello'
		server={server}
		size={56}
	/>
));

stories.add('With ETag', () => (
	<Avatar
		type='d'
		text='djorkaeff.alexandre'
		avatarETag='5ag8KffJcZj9m5rCv'
		server={server}
		size={56}
	/>
));

stories.add('Without ETag', () => (
	<Avatar
		type='d'
		text='djorkaeff.alexandre'
		server={server}
		size={56}
	/>
));

stories.add('Emoji', () => (
	<Avatar
		emoji='troll'
		getCustomEmoji={() => ({ name: 'troll', extension: 'jpg' })}
		server={server}
		size={56}
	/>
));

stories.add('Direct', () => (
	<Avatar
		text='diego.mello'
		server={server}
		type='d'
		size={56}
	/>
));

stories.add('Channel', () => (
	<Avatar
		text='general'
		server={server}
		type='c'
		size={56}
	/>
));

stories.add('Touchable', () => (
	<Avatar
		text='Avatar'
		server={server}
		onPress={() => console.log('Pressed!')}
		size={56}
	/>
));

stories.add('Static', () => (
	<Avatar
		avatar='https://user-images.githubusercontent.com/29778115/89444446-14738480-d728-11ea-9412-75fd978d95fb.jpg'
		server={server}
		isStatic
		size={56}
	/>
));

stories.add('Avatar by roomId', () => (
	<Avatar
		type='p'
		rid='devWBbYr7inwupPqK'
		server={server}
		size={56}
	/>
));

stories.add('Custom borderRadius', () => (
	<Avatar
		text='Avatar'
		server={server}
		borderRadius={28}
		size={56}
	/>
));

stories.add('Children', () => (
	<Avatar
		text='Avatar'
		server={server}
		size={56}
	>
		<Status
			size={24}
			style={[sharedStyles.status, styles.status]}
			theme={_theme}
		/>
	</Avatar>
));

stories.add('Wrong server', () => (
	<Avatar
		text='Avatar'
		server='https://google.com'
		size={56}
	/>
));

stories.add('Custom style', () => (
	<Avatar
		text='Avatar'
		server={server}
		size={56}
		style={styles.custom}
	/>
));