|
@@ -11,6 +11,7 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@
|
|
|
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table';
|
|
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table';
|
|
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
|
|
import { toast } from 'sonner';
|
|
import { toast } from 'sonner';
|
|
|
|
|
+import { LoadingSpinner } from '@/components/ui/spinner';
|
|
|
import {
|
|
import {
|
|
|
BarChart3,
|
|
BarChart3,
|
|
|
Users,
|
|
Users,
|
|
@@ -414,7 +415,7 @@ export default function ReportsPage() {
|
|
|
<TabsContent value="overview">
|
|
<TabsContent value="overview">
|
|
|
{loading ? (
|
|
{loading ? (
|
|
|
<div className="flex items-center justify-center py-8">
|
|
<div className="flex items-center justify-center py-8">
|
|
|
- <div className="text-muted-foreground">Cargando reporte...</div>
|
|
|
|
|
|
|
+ <LoadingSpinner size="lg" />
|
|
|
</div>
|
|
</div>
|
|
|
) : overviewData ? (
|
|
) : overviewData ? (
|
|
|
<div className="space-y-6">
|
|
<div className="space-y-6">
|
|
@@ -499,7 +500,7 @@ export default function ReportsPage() {
|
|
|
<TabsContent value="students">
|
|
<TabsContent value="students">
|
|
|
{loading ? (
|
|
{loading ? (
|
|
|
<div className="flex items-center justify-center py-8">
|
|
<div className="flex items-center justify-center py-8">
|
|
|
- <div className="text-muted-foreground">Cargando reporte...</div>
|
|
|
|
|
|
|
+ <LoadingSpinner size="lg" />
|
|
|
</div>
|
|
</div>
|
|
|
) : studentsData ? (
|
|
) : studentsData ? (
|
|
|
<div className="space-y-6">
|
|
<div className="space-y-6">
|
|
@@ -576,7 +577,7 @@ export default function ReportsPage() {
|
|
|
<TabsContent value="teachers">
|
|
<TabsContent value="teachers">
|
|
|
{loading ? (
|
|
{loading ? (
|
|
|
<div className="flex items-center justify-center py-8">
|
|
<div className="flex items-center justify-center py-8">
|
|
|
- <div className="text-muted-foreground">Cargando reporte...</div>
|
|
|
|
|
|
|
+ <LoadingSpinner size="lg" />
|
|
|
</div>
|
|
</div>
|
|
|
) : teachersData ? (
|
|
) : teachersData ? (
|
|
|
<div className="space-y-6">
|
|
<div className="space-y-6">
|
|
@@ -647,7 +648,7 @@ export default function ReportsPage() {
|
|
|
<TabsContent value="attendance">
|
|
<TabsContent value="attendance">
|
|
|
{loading ? (
|
|
{loading ? (
|
|
|
<div className="flex items-center justify-center py-8">
|
|
<div className="flex items-center justify-center py-8">
|
|
|
- <div className="text-muted-foreground">Cargando reporte...</div>
|
|
|
|
|
|
|
+ <LoadingSpinner size="lg" />
|
|
|
</div>
|
|
</div>
|
|
|
) : attendanceData ? (
|
|
) : attendanceData ? (
|
|
|
<div className="space-y-6">
|
|
<div className="space-y-6">
|
|
@@ -726,7 +727,7 @@ export default function ReportsPage() {
|
|
|
<TabsContent value="enrollments">
|
|
<TabsContent value="enrollments">
|
|
|
{loading ? (
|
|
{loading ? (
|
|
|
<div className="flex items-center justify-center py-8">
|
|
<div className="flex items-center justify-center py-8">
|
|
|
- <div className="text-muted-foreground">Cargando reporte...</div>
|
|
|
|
|
|
|
+ <LoadingSpinner size="lg" />
|
|
|
</div>
|
|
</div>
|
|
|
) : enrollmentsData ? (
|
|
) : enrollmentsData ? (
|
|
|
<div className="space-y-6">
|
|
<div className="space-y-6">
|
|
@@ -808,7 +809,7 @@ export default function ReportsPage() {
|
|
|
<TabsContent value="classes">
|
|
<TabsContent value="classes">
|
|
|
{loading ? (
|
|
{loading ? (
|
|
|
<div className="flex items-center justify-center py-8">
|
|
<div className="flex items-center justify-center py-8">
|
|
|
- <div className="text-muted-foreground">Cargando reporte...</div>
|
|
|
|
|
|
|
+ <LoadingSpinner size="lg" />
|
|
|
</div>
|
|
</div>
|
|
|
) : classesData ? (
|
|
) : classesData ? (
|
|
|
<div className="space-y-6">
|
|
<div className="space-y-6">
|