avatar.stories.js 1.7 KB

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