Se corrigen bugs sobre crear carreras, filtrado y que aparezcan las materias cuando se crean
This commit is contained in:
@@ -126,6 +126,17 @@ function RouteComponent() {
|
||||
const [detail, setDetail] = useState<CarreraRow | null>(null)
|
||||
const [editCarrera, setEditCarrera] = useState<CarreraRow | null>(null)
|
||||
const [createOpen, setCreateOpen] = useState(false)
|
||||
const [deleteTarget, setDeleteTarget] = useState<CarreraRow | null>(null)
|
||||
|
||||
// ✅ Se declara UNA SOLA VEZ
|
||||
const { setOpen: setDeleteOpen, dialog: deleteDialog } = useDeleteCarreraDialog(
|
||||
deleteTarget?.id ?? "",
|
||||
async () => {
|
||||
await qc.invalidateQueries({ queryKey: carrerasKeys.root })
|
||||
router.invalidate()
|
||||
setDeleteTarget(null)
|
||||
}
|
||||
)
|
||||
|
||||
const filtered = useMemo(() => {
|
||||
const term = q.trim().toLowerCase()
|
||||
@@ -198,10 +209,7 @@ function RouteComponent() {
|
||||
const border = tint(fac?.color, 0.28)
|
||||
const chip = tint(fac?.color, 0.1)
|
||||
const IconComp = (fac?.icon && (Icons as any)[fac.icon]) || Icons.Building2
|
||||
const { setOpen: setDeleteOpen, dialog: deleteDialog } = useDeleteCarreraDialog(c.id, async () => {
|
||||
await qc.invalidateQueries({ queryKey: carrerasKeys.root })
|
||||
router.invalidate()
|
||||
})
|
||||
|
||||
return (
|
||||
<ContextMenu key={c.id}>
|
||||
<ContextMenuTrigger onClick={(e) => openContextMenu(e)}>
|
||||
@@ -233,7 +241,10 @@ function RouteComponent() {
|
||||
<ContextMenuItem onClick={() => setEditCarrera(c)}>
|
||||
<Icons.Pencil className="w-4 h-4 mr-2" /> Editar
|
||||
</ContextMenuItem>
|
||||
<ContextMenuItem onClick={() => setDeleteOpen(true)}>
|
||||
<ContextMenuItem onClick={() => {
|
||||
setDeleteTarget(c)
|
||||
setDeleteOpen(true)
|
||||
}}>
|
||||
<Icons.Trash className="w-4 h-4 mr-2" /> Eliminar
|
||||
</ContextMenuItem>
|
||||
</ContextMenuContent>
|
||||
|
||||
@@ -49,7 +49,10 @@ export const Route = createFileRoute("/_authenticated/plan/$planId")({
|
||||
// ...existing code...
|
||||
function RouteComponent() {
|
||||
const qc = useQueryClient()
|
||||
const { plan, asignaturas: asignaturasPreview } = Route.useLoaderData() as LoaderData
|
||||
//const { plan, asignaturas: asignaturasPreview } = Route.useLoaderData() as LoaderData
|
||||
const { plan } = Route.useLoaderData() as LoaderData
|
||||
|
||||
const { data: asignaturasPreview } = useSuspenseQuery(asignaturasPreviewOptions(plan.id))
|
||||
const auth = useSupabaseAuth()
|
||||
const asignaturasCount = asignaturasPreview.length
|
||||
|
||||
|
||||
Reference in New Issue
Block a user