import { ComponentType } from "../../types/component";
import { FiEdit3, FiGrid, FiSquare, FiType } from "react-icons/fi";
interface AddComponentMenuProps {
addComponent: (type: ComponentType) => void
}
export function AddComponentMenu({addComponent}: AddComponentMenuProps) {
return (
<div className="p-4 bg-white">
<div className="mb-4">
<h3 className="text-lg font-semibold text-gray-900">コンポーネントを追加</h3>
<p className="text-sm text-gray-500 mt-1">画面に追加するコンポーネントを選択してください</p>
</div>
<div className="space-y-2">
<button
onClick={() => {addComponent(ComponentType.Button)}}
className="w-full flex items-center p-3 text-left bg-white border border-gray-200 rounded-lg hover:border-blue-300 hover:bg-blue-50 transition-all duration-200 group"
>
<div className="flex items-center justify-center w-10 h-10 bg-gray-100 group-hover:bg-blue-100 rounded-lg mr-3 transition-colors">
<FiSquare size={18} className="text-gray-600 group-hover:text-blue-600" />
</div>
<div className="flex-1 min-w-0">
<div className="font-medium text-sm text-gray-900 group-hover:text-blue-900">
ボタン
</div>
</div>
</button>
<button
onClick={() => {addComponent(ComponentType.Text)}}
className="w-full flex items-center p-3 text-left bg-white border border-gray-200 rounded-lg hover:border-blue-300 hover:bg-blue-50 transition-all duration-200 group"
>
<div className="flex items-center justify-center w-10 h-10 bg-gray-100 group-hover:bg-blue-100 rounded-lg mr-3 transition-colors">
<FiType size={18} className="text-gray-600 group-hover:text-blue-600" />
</div>
<div className="flex-1 min-w-0">
<div className="font-medium text-sm text-gray-900 group-hover:text-blue-900">
テキスト
</div>
</div>
</button>
<button
onClick={() => {addComponent(ComponentType.TextField)}}
className="w-full flex items-center p-3 text-left bg-white border border-gray-200 rounded-lg hover:border-blue-300 hover:bg-blue-50 transition-all duration-200 group"
>
<div className="flex items-center justify-center w-10 h-10 bg-gray-100 group-hover:bg-blue-100 rounded-lg mr-3 transition-colors">
<FiEdit3 size={18} className="text-gray-600 group-hover:text-blue-600" />
</div>
<div className="flex-1 min-w-0">
<div className="font-medium text-sm text-gray-900 group-hover:text-blue-900">
テキストフィールド
</div>
</div>
</button>
<button
onClick={() => {addComponent(ComponentType.Table)}}
className="w-full flex items-center p-3 text-left bg-white border border-gray-200 rounded-lg hover:border-blue-300 hover:bg-blue-50 transition-all duration-200 group"
>
<div className="flex items-center justify-center w-10 h-10 bg-gray-100 group-hover:bg-blue-100 rounded-lg mr-3 transition-colors">
<FiGrid size={18} className="text-gray-600 group-hover:text-blue-600" />
</div>
<div className="flex-1 min-w-0">
<div className="font-medium text-sm text-gray-900 group-hover:text-blue-900">
テーブル
</div>
</div>
</button>
</div>
</div>
)
}