diff --git a/src/components/planes/AddAsignaturaButton.tsx b/src/components/planes/AddAsignaturaButton.tsx
index 17f5754..d5e639b 100644
--- a/src/components/planes/AddAsignaturaButton.tsx
+++ b/src/components/planes/AddAsignaturaButton.tsx
@@ -50,8 +50,6 @@ export function AddAsignaturaButton({ planId, onAdded }: { planId: string; onAdd
if (error) { alert(error.message); return }
setOpen(false)
onAdded?.()
- qc.invalidateQueries({ queryKey: asignaturaKeys.preview(planId) })
- qc.invalidateQueries({ queryKey: asignaturaKeys.count(planId) })
}
async function createWithAI() {
@@ -69,8 +67,8 @@ export function AddAsignaturaButton({ planId, onAdded }: { planId: string; onAdd
confetti({ particleCount: 120, spread: 80, origin: { y: 0.6 } })
setOpen(false)
onAdded?.()
- qc.invalidateQueries({ queryKey: asignaturaKeys.preview(planId) })
- qc.invalidateQueries({ queryKey: asignaturaKeys.count(planId) })
+ // qc.invalidateQueries({ queryKey: asignaturaKeys.preview(planId) })
+ // qc.invalidateQueries({ queryKey: asignaturaKeys.count(planId) })
} catch (e: any) {
alert(e?.message ?? "Error al generar la asignatura")
} finally { setSaving(false) }
diff --git a/src/components/planes/CreatePlanDialog.tsx b/src/components/planes/CreatePlanDialog.tsx
index f9b409f..fde48b5 100644
--- a/src/components/planes/CreatePlanDialog.tsx
+++ b/src/components/planes/CreatePlanDialog.tsx
@@ -90,7 +90,7 @@ export function CreatePlanDialog({ open, onOpenChange }: { open: boolean; onOpen
try {
const { data, error } = await supabase
.from("documentos")
- .select("documentos_id, titulo_archivo, s3_file_path, fecha_subida, tags")
+ .select("documentos_id, titulo_archivo, fecha_subida, tags")
.ilike("titulo_archivo", `%${debouncedSearchTerm}%`)
.range((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage - 1);
diff --git a/src/components/planes/academic-sections.tsx b/src/components/planes/academic-sections.tsx
index 441c844..e143526 100644
--- a/src/components/planes/academic-sections.tsx
+++ b/src/components/planes/academic-sections.tsx
@@ -109,6 +109,7 @@ function SectionPanel({ title, icon: Icon, color, children, id }: { title: strin
===================================================== */
export function AcademicSections({ planId, color }: { planId: string; color?: string | null }) {
const qc = useQueryClient()
+ if(!planId) return
Cargando…
const { data: plan } = useSuspenseQuery(planTextOptions(planId))
const [editing, setEditing] = useState(null)
@@ -175,17 +176,18 @@ export function AcademicSections({ planId, color }: { planId: string; color?: st
>
Copiar
-
+ {s.key !== "prompt" &&
+ ()}
)
diff --git a/src/routes/_authenticated/plan/$planId.tsx b/src/routes/_authenticated/plan/$planId.tsx
index af8ed4b..61d0b47 100644
--- a/src/routes/_authenticated/plan/$planId.tsx
+++ b/src/routes/_authenticated/plan/$planId.tsx
@@ -21,7 +21,7 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
import { DeletePlanButton } from "@/components/planes/DeletePlan"
import { AddAsignaturaButton } from "@/components/planes/AddAsignaturaButton"
-type LoaderData = { planId: string }
+type LoaderData = { plan: PlanFull; asignaturas: AsignaturaLite[] }
export const Route = createFileRoute("/_authenticated/plan/$planId")({
component: RouteComponent,
@@ -34,24 +34,24 @@ export const Route = createFileRoute("/_authenticated/plan/$planId")({
loader: async ({ params, context: { queryClient } }): Promise => {
const { planId } = params
- await Promise.all([
+ if (!planId) throw new Error("planId is required")
+ console.log("Cargando planId", planId)
+ const [plan, asignaturas] = await Promise.all([
queryClient.ensureQueryData(planByIdOptions(planId)),
- queryClient.ensureQueryData(asignaturasCountOptions(planId)),
+ // queryClient.ensureQueryData(asignaturasCountOptions(planId)),
queryClient.ensureQueryData(asignaturasPreviewOptions(planId)),
])
- return { planId }
+
+ return { plan, asignaturas }
},
})
// ...existing code...
function RouteComponent() {
const qc = useQueryClient()
- const { planId } = Route.useLoaderData() as LoaderData
+ const { plan, asignaturas: asignaturasPreview } = Route.useLoaderData() as LoaderData
const auth = useSupabaseAuth()
-
- const { data: plan } = useSuspenseQuery(planByIdOptions(planId))
- const { data: asignaturasCount } = useSuspenseQuery(asignaturasCountOptions(planId))
- const { data: asignaturasPreview } = useSuspenseQuery(asignaturasPreviewOptions(planId))
+ const asignaturasCount = asignaturasPreview.length
const showFacultad = auth.claims?.role === 'lci' || auth.claims?.role === 'vicerrectoria'
const showCarrera = auth.claims?.role === 'secretario_academico'