| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
							- 'use client'
 
- import { RiAlertFill, RiCheckboxCircleFill, RiErrorWarningFill, RiInformation2Fill } from '@remixicon/react'
 
- import type { FC } from 'react'
 
- import React from 'react'
 
- import cn from '@/utils/classnames'
 
- import Divider from '@/app/components/base/divider'
 
- type Status = 'success' | 'error' | 'warning' | 'info'
 
- type Props = {
 
-   type?: Status
 
-   description: string
 
-   actionText: string
 
-   onAction: () => void
 
-   disabled?: boolean
 
- }
 
- const IconMap = {
 
-   success: {
 
-     Icon: RiCheckboxCircleFill,
 
-     color: 'text-text-success',
 
-   },
 
-   error: {
 
-     Icon: RiErrorWarningFill,
 
-     color: 'text-text-destructive',
 
-   },
 
-   warning: {
 
-     Icon: RiAlertFill,
 
-     color: 'text-text-warning-secondary',
 
-   },
 
-   info: {
 
-     Icon: RiInformation2Fill,
 
-     color: 'text-text-accent',
 
-   },
 
- }
 
- const getIcon = (type: Status) => {
 
-   return IconMap[type]
 
- }
 
- const StatusAction: FC<Props> = ({
 
-   type = 'info',
 
-   description,
 
-   actionText,
 
-   onAction,
 
-   disabled,
 
- }) => {
 
-   const { Icon, color } = getIcon(type)
 
-   return (
 
-     <div className='relative flex items-center h-[34px] rounded-lg pl-2 pr-3 border border-components-panel-border bg-components-panel-bg-blur shadow-xs'>
 
-       <div className={`absolute inset-0 opacity-40 rounded-lg ${(type === 'success' && 'bg-[linear-gradient(92deg,rgba(23,178,106,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
 
-         || (type === 'warning' && 'bg-[linear-gradient(92deg,rgba(247,144,9,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
 
-         || (type === 'error' && 'bg-[linear-gradient(92deg,rgba(240,68,56,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
 
-         || (type === 'info' && 'bg-[linear-gradient(92deg,rgba(11,165,236,0.25)_0%,rgba(255,255,255,0.00)_100%)]')
 
-       }`}
 
-       />
 
-       <div className='relative z-10 flex h-full items-center space-x-2'>
 
-         <Icon className={cn('w-4 h-4', color)} />
 
-         <div className='text-[13px] font-normal text-text-secondary'>{description}</div>
 
-         <Divider type='vertical' className='!h-4' />
 
-         <div onClick={onAction} className={cn('text-text-accent font-semibold text-[13px] cursor-pointer', disabled && 'text-text-disabled cursor-not-allowed')}>{actionText}</div>
 
-       </div>
 
-     </div>
 
-   )
 
- }
 
- export default React.memo(StatusAction)
 
 
  |