idBadge.stories.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import React from 'react';
  2. import {storiesOf} from '@storybook/react';
  3. import {withInfo} from '@storybook/addon-info';
  4. import styled from '@emotion/styled';
  5. import IdBadge from 'app/components/idBadge';
  6. const Item = styled('div')`
  7. padding: 8px;
  8. background-color: white;
  9. border: 1px dashed #fcfcfc;
  10. margin-bottom: 30px;
  11. `;
  12. Item.displayName = 'Item';
  13. const Header = styled('h2')`
  14. font-size: 18px;
  15. margin-bottom: 4px;
  16. `;
  17. Header.displayName = 'Header';
  18. storiesOf('UI|IdBadge', module).add(
  19. 'all',
  20. withInfo({
  21. text:
  22. 'These are identification badges for certain models in Sentry: Organization, Project, Team, and User.',
  23. propTablesExclude: [Item, Header, React.Fragment],
  24. })(() => {
  25. const user = {
  26. name: 'Chrissy',
  27. email: 'chris.clark@sentry.io',
  28. };
  29. const team = {
  30. slug: 'team-slug',
  31. };
  32. const project = {
  33. slug: 'project-slug',
  34. };
  35. const organization = {
  36. slug: 'organization-slug',
  37. };
  38. return (
  39. <React.Fragment>
  40. <Header>User Badge</Header>
  41. <Item>
  42. <IdBadge user={user} />
  43. </Item>
  44. <Header>Team Badge</Header>
  45. <Item>
  46. <IdBadge team={team} />
  47. </Item>
  48. <Header>Project Badge</Header>
  49. <Item>
  50. <IdBadge project={project} />
  51. </Item>
  52. <Header>Organization Badge</Header>
  53. <Item>
  54. <IdBadge organization={organization} />
  55. </Item>
  56. </React.Fragment>
  57. );
  58. })
  59. );