error-message.stories.jsx 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. import ErrorMessage from '../../../js/features/file-tree/components/file-tree-create/error-message'
  2. import { FetchError } from '../../../js/infrastructure/fetch-json'
  3. import {
  4. BlockedFilenameError,
  5. DuplicateFilenameError,
  6. InvalidFilenameError,
  7. } from '../../../js/features/file-tree/errors'
  8. import { bsVersionDecorator } from '../../../../.storybook/utils/with-bootstrap-switcher'
  9. export const KeyedErrors = () => {
  10. return (
  11. <>
  12. <ErrorMessage error="name-exists" />
  13. <ErrorMessage error="too-many-files" />
  14. <ErrorMessage error="remote-service-error" />
  15. <ErrorMessage error="rate-limit-hit" />
  16. {/* <ErrorMessage error="not-logged-in" /> */}
  17. <ErrorMessage error="something-else" />
  18. </>
  19. )
  20. }
  21. export const FetchStatusErrors = () => {
  22. return (
  23. <>
  24. <ErrorMessage
  25. error={
  26. new FetchError(
  27. 'There was an error',
  28. '/story',
  29. {},
  30. new Response(null, { status: 400 })
  31. )
  32. }
  33. />
  34. <ErrorMessage
  35. error={
  36. new FetchError(
  37. 'There was an error',
  38. '/story',
  39. {},
  40. new Response(null, { status: 403 })
  41. )
  42. }
  43. />
  44. <ErrorMessage
  45. error={
  46. new FetchError(
  47. 'There was an error',
  48. '/story',
  49. {},
  50. new Response(null, { status: 429 })
  51. )
  52. }
  53. />
  54. <ErrorMessage
  55. error={
  56. new FetchError(
  57. 'There was an error',
  58. '/story',
  59. {},
  60. new Response(null, { status: 500 })
  61. )
  62. }
  63. />
  64. </>
  65. )
  66. }
  67. export const FetchDataErrors = () => {
  68. return (
  69. <>
  70. <ErrorMessage
  71. error={
  72. new FetchError('Error', '/story', {}, new Response(), {
  73. message: 'There was an error!',
  74. })
  75. }
  76. />
  77. <ErrorMessage
  78. error={
  79. new FetchError('Error', '/story', {}, new Response(), {
  80. message: {
  81. text: 'There was an error with some text!',
  82. },
  83. })
  84. }
  85. />
  86. </>
  87. )
  88. }
  89. export const SpecificClassErrors = () => {
  90. return (
  91. <>
  92. <ErrorMessage error={new DuplicateFilenameError()} />
  93. <ErrorMessage error={new InvalidFilenameError()} />
  94. <ErrorMessage error={new BlockedFilenameError()} />
  95. <ErrorMessage error={new Error()} />
  96. </>
  97. )
  98. }
  99. export default {
  100. title: 'Editor / Modals / Create File / Error Message',
  101. component: ErrorMessage,
  102. argTypes: {
  103. ...bsVersionDecorator.argTypes,
  104. },
  105. }