mirror of
https://github.com/johndoe6345789/low-code-react-app-b.git
synced 2026-05-01 00:54:55 +00:00
Migration complete for: - 5 atoms: Accordion, CopyButton, FileUpload, FilterInput, Image, Input, PasswordInput, Popover (8 total) - 1 molecule: BindingEditor Changes: - Deleted 9 legacy TSX files that have complete JSON equivalents - Exported BindingEditor from json-components.ts with useBindingEditor hook - Registered useBindingEditor in hooks-registry.ts - Updated all imports across codebase to use JSON-based components - Fixed build errors: schema-loader dynamic import, DataSourceGroupSection - Cleaned up component index exports Build status: ✅ PASSING - 0 TypeScript errors - All 9,408 modules transformed successfully - No blocking build warnings Next steps: - 3 organisms still need conversion: DataSourceManager, NavigationMenu, TreeListPanel - 120+ additional components have TSX versions (need individual migration) - 22 JSON components now available for use throughout the app Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
26 lines
667 B
TypeScript
26 lines
667 B
TypeScript
import { CheckCircle, CloudCheck } from '@phosphor-icons/react'
|
|
|
|
interface StatusIconProps {
|
|
type: 'saved' | 'synced'
|
|
size?: number
|
|
animate?: boolean
|
|
}
|
|
|
|
export function StatusIcon({ type, size = 14, animate = false }: StatusIconProps) {
|
|
const baseClassName = type === 'saved' ? 'text-accent' : ''
|
|
const animateClassName = animate ? 'animate-in zoom-in duration-200' : ''
|
|
const className = [baseClassName, animateClassName].filter(Boolean).join(' ')
|
|
|
|
if (type === 'saved') {
|
|
return (
|
|
<CheckCircle
|
|
size={size}
|
|
weight="fill"
|
|
className={className}
|
|
/>
|
|
)
|
|
}
|
|
|
|
return <CloudCheck size={size} weight="duotone" />
|
|
}
|