QrcodeStatus.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. "use client";
  2. import React from 'react';
  3. import ReloadOutlined from "@ant-design/icons/es/icons/ReloadOutlined";
  4. import Button from '../button';
  5. import Spin from '../spin';
  6. const defaultSpin = /*#__PURE__*/React.createElement(Spin, null);
  7. export default function QRcodeStatus({
  8. prefixCls,
  9. locale,
  10. onRefresh,
  11. statusRender,
  12. status
  13. }) {
  14. const defaultExpiredNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", {
  15. className: `${prefixCls}-expired`
  16. }, locale === null || locale === void 0 ? void 0 : locale.expired), onRefresh && (/*#__PURE__*/React.createElement(Button, {
  17. type: "link",
  18. icon: /*#__PURE__*/React.createElement(ReloadOutlined, null),
  19. onClick: onRefresh
  20. }, locale === null || locale === void 0 ? void 0 : locale.refresh)));
  21. const defaultScannedNode = /*#__PURE__*/React.createElement("p", {
  22. className: `${prefixCls}-scanned`
  23. }, locale === null || locale === void 0 ? void 0 : locale.scanned);
  24. const defaultNodes = {
  25. expired: defaultExpiredNode,
  26. loading: defaultSpin,
  27. scanned: defaultScannedNode
  28. };
  29. const defaultStatusRender = info => defaultNodes[info.status];
  30. const mergedStatusRender = statusRender !== null && statusRender !== void 0 ? statusRender : defaultStatusRender;
  31. return mergedStatusRender({
  32. status,
  33. locale,
  34. onRefresh
  35. });
  36. }