Merge pull request #90 from johndoe6345789/codex/add-use-component-binding-dialog-hook

Add useComponentBindingDialog hook and refactor ComponentBindingDialog to use it
This commit is contained in:
2026-01-18 01:25:16 +00:00
committed by GitHub
2 changed files with 47 additions and 13 deletions

View File

@@ -1,10 +1,10 @@
import { useState } from 'react'
import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from '@/components/ui/dialog'
import { Button } from '@/components/ui/button'
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'
import { BindingEditor } from '@/components/molecules/BindingEditor'
import { DataSource, UIComponent } from '@/types/json-ui'
import { Link } from '@phosphor-icons/react'
import { useComponentBindingDialog } from '@/hooks/use-component-binding-dialog'
interface ComponentBindingDialogProps {
open: boolean
@@ -21,18 +21,12 @@ export function ComponentBindingDialog({
onOpenChange,
onSave,
}: ComponentBindingDialogProps) {
const [editingComponent, setEditingComponent] = useState<UIComponent | null>(component)
const handleSave = () => {
if (!editingComponent) return
onSave(editingComponent)
onOpenChange(false)
}
const updateBindings = (bindings: Record<string, any>) => {
if (!editingComponent) return
setEditingComponent({ ...editingComponent, bindings })
}
const { editingComponent, handleSave, updateBindings } = useComponentBindingDialog({
component,
open,
onOpenChange,
onSave,
})
if (!editingComponent) return null