| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import { ReactNode } from 'react'
- import Icon from '../../../../shared/components/icon'
- type Status = 'pending' | 'success' | 'error'
- type LinkingStatusProps = {
- status: Status
- description: string | ReactNode
- }
- export default function LinkingStatus({
- status,
- description,
- }: LinkingStatusProps) {
- return (
- <span>
- <StatusIcon status={status} />
- <span className="small"> {description}</span>
- </span>
- )
- }
- type StatusIconProps = {
- status: Status
- }
- function StatusIcon({ status }: StatusIconProps) {
- switch (status) {
- case 'success':
- return (
- <Icon
- type="check-circle"
- fw
- className="settings-widget-status-icon status-success"
- />
- )
- case 'error':
- return (
- <Icon
- type="times-circle"
- fw
- className="settings-widget-status-icon status-error"
- />
- )
- case 'pending':
- return (
- <Icon
- type="circle"
- fw
- className="settings-widget-status-icon status-pending"
- spin
- />
- )
- default:
- return null
- }
- }
|