formatters.stories.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import React from 'react';
  2. import {storiesOf} from '@storybook/react';
  3. // import {action} from '@storybook/addon-actions';
  4. import {withInfo} from '@storybook/addon-info';
  5. import FileSize from 'app/components/fileSize';
  6. import Duration from 'app/components/duration';
  7. import DateTime from 'app/components/dateTime';
  8. import Count from 'app/components/count';
  9. storiesOf('Utility|Formatters', module)
  10. .add(
  11. 'DateTime',
  12. withInfo('Formats number (in ms or seconds) into a datetime string')(() => (
  13. <div>
  14. <div>
  15. <DateTime date={1500000000000} />
  16. </div>
  17. <div>
  18. <DateTime seconds={false} date={1500000000000} />
  19. </div>
  20. <div>
  21. <DateTime dateOnly date={1500000000000} />
  22. </div>
  23. <div>
  24. <DateTime timeOnly date={1500000000000} />
  25. </div>
  26. </div>
  27. ))
  28. )
  29. .add(
  30. 'FileSize',
  31. withInfo('Formats number of bytes to filesize string')(() => (
  32. <div>
  33. <div>
  34. <FileSize bytes={15} />
  35. </div>
  36. <div>
  37. <FileSize bytes={15000} />
  38. </div>
  39. <div>
  40. <FileSize bytes={1500000} />
  41. </div>
  42. <div>
  43. <FileSize bytes={15000000000} />
  44. </div>
  45. <div>
  46. <FileSize bytes={15000000000000} />
  47. </div>
  48. <div>
  49. <FileSize bytes={15000000000000000} />
  50. </div>
  51. </div>
  52. ))
  53. )
  54. .add(
  55. 'Duration',
  56. withInfo('Formats number of seconds into a duration string')(() => (
  57. <div>
  58. <div>
  59. <Duration seconds={15} />
  60. </div>
  61. <div>
  62. <Duration seconds={60} />
  63. </div>
  64. <div>
  65. <Duration seconds={15000} />
  66. </div>
  67. <div>
  68. <Duration seconds={86400} />
  69. </div>
  70. <div>
  71. <Duration seconds={186400} />
  72. </div>
  73. <div>
  74. <Duration seconds={604800} />
  75. </div>
  76. <div>
  77. <Duration seconds={1500000} />
  78. </div>
  79. </div>
  80. ))
  81. )
  82. .add(
  83. 'Count',
  84. withInfo('Formats numbers into a shorthand string')(() => (
  85. <div>
  86. <div>
  87. 5000000 =
  88. <Count value="5000000" />
  89. </div>
  90. <div>
  91. 500000000 =
  92. <Count value="500000000" />
  93. </div>
  94. <div>
  95. 50000 =
  96. <Count value="50000" />
  97. </div>
  98. </div>
  99. ))
  100. );