error-message.stories.jsx 2.4 KB

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