Site-imp1
This commit is contained in:
51
frontend/src/components/sites/SiteTypeBadge.tsx
Normal file
51
frontend/src/components/sites/SiteTypeBadge.tsx
Normal file
@@ -0,0 +1,51 @@
|
||||
/**
|
||||
* Site Type Badge Component
|
||||
* Displays site type indicator (Site Builder or WordPress)
|
||||
*/
|
||||
import React from 'react';
|
||||
import { Wand2, Globe } from 'lucide-react';
|
||||
import Badge from '../ui/badge/Badge';
|
||||
|
||||
interface SiteTypeBadgeProps {
|
||||
hostingType: string;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
export default function SiteTypeBadge({ hostingType, className = '' }: SiteTypeBadgeProps) {
|
||||
const getTypeInfo = () => {
|
||||
switch (hostingType) {
|
||||
case 'igny8_sites':
|
||||
return {
|
||||
label: 'Site Builder',
|
||||
color: 'primary' as const,
|
||||
icon: <Wand2 className="w-3 h-3" />,
|
||||
};
|
||||
case 'wordpress':
|
||||
return {
|
||||
label: 'WordPress',
|
||||
color: 'info' as const,
|
||||
icon: <Globe className="w-3 h-3" />,
|
||||
};
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
const typeInfo = getTypeInfo();
|
||||
|
||||
if (!typeInfo) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<Badge
|
||||
variant="soft"
|
||||
color={typeInfo.color}
|
||||
startIcon={typeInfo.icon}
|
||||
className={className}
|
||||
>
|
||||
{typeInfo.label}
|
||||
</Badge>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user