idBadge.stories.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import React from 'react';
  2. import {withInfo} from '@storybook/addon-info';
  3. import styled from '@emotion/styled';
  4. import IdBadge from 'app/components/idBadge';
  5. const Item = styled('div')`
  6. padding: 8px;
  7. background-color: white;
  8. border: 1px dashed #fcfcfc;
  9. margin-bottom: 30px;
  10. `;
  11. Item.displayName = 'Item';
  12. const Header = styled('h2')`
  13. font-size: 18px;
  14. margin-bottom: 4px;
  15. `;
  16. Header.displayName = 'Header';
  17. export default {
  18. title: 'UI/IdBadge',
  19. };
  20. export const All = 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. const member = {
  39. name: 'Pending Member',
  40. email: 'member@example.org',
  41. };
  42. return (
  43. <React.Fragment>
  44. <Header>User Badge</Header>
  45. <Item>
  46. <IdBadge user={user} />
  47. </Item>
  48. <Header>Member Badge</Header>
  49. <Item>
  50. <IdBadge member={member} />
  51. </Item>
  52. <Header>Team Badge</Header>
  53. <Item>
  54. <IdBadge team={team} />
  55. </Item>
  56. <Header>Project Badge</Header>
  57. <Item>
  58. <IdBadge project={project} />
  59. </Item>
  60. <Header>Organization Badge</Header>
  61. <Item>
  62. <IdBadge organization={organization} />
  63. </Item>
  64. </React.Fragment>
  65. );
  66. });
  67. All.story = {
  68. name: 'all',
  69. };