antd
Version:
An enterprise-class UI design language and React components implementation
37 lines (36 loc) • 1.18 kB
JavaScript
"use client";
import React from 'react';
import ReloadOutlined from "@ant-design/icons/es/icons/ReloadOutlined";
import Button from '../button/Button';
import Spin from '../spin';
const defaultSpin = /*#__PURE__*/React.createElement(Spin, null);
export default function QRcodeStatus({
prefixCls,
locale,
onRefresh,
statusRender,
status
}) {
const defaultExpiredNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", {
className: `${prefixCls}-expired`
}, locale?.expired), onRefresh && (/*#__PURE__*/React.createElement(Button, {
type: "link",
icon: /*#__PURE__*/React.createElement(ReloadOutlined, null),
onClick: onRefresh
}, locale?.refresh)));
const defaultScannedNode = /*#__PURE__*/React.createElement("p", {
className: `${prefixCls}-scanned`
}, locale?.scanned);
const defaultNodes = {
expired: defaultExpiredNode,
loading: defaultSpin,
scanned: defaultScannedNode
};
const defaultStatusRender = info => defaultNodes[info.status];
const mergedStatusRender = statusRender ?? defaultStatusRender;
return mergedStatusRender({
status,
locale,
onRefresh
});
}