Updated to v1.0.4, fixed admin global page and overall speed

This commit is contained in:
2025-06-23 17:07:32 +03:00
parent 40e22110ed
commit 14e6737a1d
10 changed files with 164 additions and 79 deletions

View File

@@ -1,5 +1,6 @@
"use client"
//export const dynamic = 'force-dynamic'
//export const revalidate = 0
import type React from "react"
import { useState, useEffect } from "react"
import { useRouter } from "next/navigation"
@@ -189,7 +190,7 @@ export default function AdminPage() {
if (data.lastReset.timestamp) {
const resetTime = new Date(data.lastReset.timestamp).getTime()
const now = new Date().getTime()
const cooldownMs = 2 * 60 * 1000 // 2 minutes
const cooldownMs = 2 * 60 // 2 minutes
const remaining = Math.max(0, cooldownMs - (now - resetTime))
setGlobalResetCooldown(Math.ceil(remaining / 1000))
}
@@ -315,13 +316,6 @@ export default function AdminPage() {
setUser(parsedUser)
}, [router])
// Add this right after the existing useEffect that sets the user
useEffect(() => {
// Force initial fetch when user changes
if (user?.national_id) {
refetchGlobal()
}
}, [user?.national_id, refetchGlobal])
useEffect(() => {
if (globalResetCooldown > 0) {
const timer = setTimeout(() => setGlobalResetCooldown(globalResetCooldown - 1), 1000)
@@ -364,7 +358,7 @@ export default function AdminPage() {
if (response.ok) {
setMessage(data.message || "כל הסטטוסים אופסו בהצלחה")
setGlobalResetCooldown(120) // 2 minutes
setGlobalResetCooldown(30) // 2 minutes
setGlobalLastReset(`${user?.name} - ${new Date().toLocaleString("he-IL")}`)
refetchGlobal()
refetchTeam() // Also refresh team data
@@ -642,13 +636,16 @@ export default function AdminPage() {
setFieldModalOpen(true)
}
const handleManualRefresh = () => {
const handleManualRefresh = async () => {
setIsRefreshing(true)
refetchGlobal()
refetchTeam()
refetchDepartment()
refetchField()
setTimeout(() => setIsRefreshing(false), 500)
try {
await Promise.all([refetchGlobal(), refetchTeam(), refetchDepartment(), refetchField()])
} catch (error) {
console.error("Manual refresh failed:", error)
setMessage("שגיאה ברענון הנתונים")
} finally {
setTimeout(() => setIsRefreshing(false), 500)
}
}
const handleReportOnBehalf = async (userId: string, status: string) => {
@@ -952,7 +949,10 @@ export default function AdminPage() {
<AlertDescription>
<strong>Debug Info:</strong>
<div className="text-xs mt-2 bg-gray-100 p-2 rounded space-y-1">
<div>User: {user?.name} ({user?.role})</div>
<div>Team: {teamName}</div>
<div>Global Users: {globalUsers.length}</div>
<div>Global Connected: {globalConnected ? "Yes" : "No"}</div>
<div>Global Reset Cooldown: {globalResetCooldown} seconds</div>
<div>Team Reset Cooldown: {teamResetCooldown} seconds</div>
<div>Department Reset Cooldown: {departmentResetCooldown} seconds</div>