avatar.stories.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import React from 'react';
  2. import {withInfo} from '@storybook/addon-info';
  3. import {boolean} from '@storybook/addon-knobs';
  4. import Avatar from 'app/components/avatar';
  5. const USER = {
  6. id: 1,
  7. name: 'Jane Bloggs',
  8. email: 'janebloggs@example.com',
  9. };
  10. export default {
  11. title: 'UI/Avatar',
  12. };
  13. export const Letters = withInfo('This is the default avatar')(() => {
  14. const hasTooltip = boolean('Display a tooltip', false);
  15. const user = Object.assign({}, USER);
  16. return <Avatar user={user} hasTooltip={hasTooltip} />;
  17. });
  18. export const Gravatar = withInfo('Avatar source from gravatar')(() => {
  19. const hasTooltip = boolean('Display a tooltip', false);
  20. const user = {
  21. id: 2,
  22. name: 'Ben Vinegar',
  23. email: 'ben@benv.ca',
  24. avatar: {
  25. avatarType: 'gravatar',
  26. avatarUuid: '2d641b5d-8c74-44de-9cb6-fbd54701b35e',
  27. },
  28. };
  29. return <Avatar user={user} hasTooltip={hasTooltip} />;
  30. });
  31. export const UploadedImage = withInfo('Uploaded image')(() => {
  32. const hasTooltip = boolean('Display a tooltip', false);
  33. const user = Object.assign({}, USER, {
  34. avatar: {
  35. avatarType: 'upload',
  36. avatarUuid: '51e63edabf31412aa2a955e9cf2c1ca0',
  37. },
  38. });
  39. return <Avatar user={user} hasTooltip={hasTooltip} />;
  40. });
  41. export const TeamAvatar = withInfo('Avatar for teams')(() => {
  42. const hasTooltip = boolean('Display a tooltip', false);
  43. const team = {
  44. name: 'Captain Planet',
  45. slug: 'captain-planet',
  46. };
  47. return <Avatar team={team} hasTooltip={hasTooltip} />;
  48. });