import React, { useState } from 'react'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@/components/ui/select'; import { Sheet, SheetClose, SheetContent, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, } from '@/components/ui/sheet'; import { CellType, Column, useTableStore } from '@/store/tableStore'; const AddColumn: React.FC<{ tableId: string }> = ({ tableId }) => { const { addColumn } = useTableStore(); const [newOption, setNewOption] = useState(''); const [columnName, setColumnName] = useState(''); const [columnType, setColumnType] = useState('text'); const [selectOptions, setSelectOptions] = useState([]); const handleAddOption = () => { if (newOption.trim()) { setSelectOptions([...selectOptions, newOption.trim()]); setNewOption(''); } }; const handleRemoveOption = (indexToRemove: number) => { setSelectOptions( selectOptions.filter((_, index) => index !== indexToRemove) ); }; const handleSave = () => { if (columnName && columnType) { const newColumn: Column = { name: columnName, type: columnType, options: columnType === 'select' ? selectOptions : undefined, }; addColumn(tableId, newColumn); setColumnName(''); setColumnType('text'); setSelectOptions([]); setNewOption(''); } }; return ( Add Column
setColumnName(e.target.value)} className="col-span-3" />
{columnType === 'select' && ( <>
setNewOption(e.target.value)} className="col-span-2" />
    {selectOptions.map((option, index) => (
  • {option}
  • ))}
)}
); }; export default AddColumn;